• 4 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 19/02/2020

Découvrez l'administration système

Bienvenue dans ce cours !

Vous allez y découvrir l'univers fabuleux des Ops, ou Administrateurs Systèmes en français (les fameux SysAdmins) ! Ils sont responsables du bon fonctionnement des sites sur Internet. C'est une grande mission !

Qu'est-ce qu'un SysAdmin ?

Un SysAdmin prend le code d'un développeur et s'occupe de tout mettre en oeuvre pour qu'il fonctionne sur un serveur. Le développeur donne un projet terminé et le SysAdmin s'occupe de le mettre en production.

C'est pour cela que le SysAdmin est considéré comme le pompier ! Une erreur serveur ? On appelle le SysAdmin. Le site est trop lent ? Le SysAdmin. Les utilisateurs n'arrivent plus à télécharger les fichiers ? ... Vous avez compris l'idée.

Vous pensez peut-être que ce sont des êtres détestant la lumière et vivant dans une cave ? Détrompez-vous ! Leur métier est passionnant et vous découvrirez pourquoi dans ce cours !

Le Cloud, ce nuage paradisiaque

Pourquoi perdre du temps à configurer des serveurs lorsque l'on peut passer par Heroku ?

Bonne question, jeune padawan !

En effet, les plateformes en tant que service sont extrêmement utiles pour mettre en production rapidement. Leur immense avantage est d'automatiser la mise en production de telle sorte que le développeur n'ait pas réellement besoin de savoir ce qui se passe sur les serveurs.

Tout est parfait dans le meilleur des mondes lorsque l'application est petite et assez standard. Mais petit poisson deviendra grand ! Il aura besoin d'un bocal plus vaste, de nourriture spéciale et de compagnons.

Plus votre application grandira, plus vous voudrez en modifier l'infrastructure. Il devient alors moins intéressant d'utiliser une plateforme en tant que service. Leur prix dépend souvent du nombre de serveurs dont vous avez besoin, de la bande passante, de la mémoire... Plus votre application deviendra gourmande en ressources, plus cela sera cher.

La seconde raison est la maîtrise de l'environnement. Par exemple, utiliser une base MySQL sur Heroku est plus cher qu'une base PostgreSQL lorsque vous démarrez un projet. Vous êtes donc tenté d'utiliser ce second système de gestion de bases de données pour les mauvaises raisons !

Maintenir une infrastructure est coûteux et ardu. Il faut s'occuper des ordinateurs, s'assurer qu'aucune coupure de courant n'intervienne, que le réseau soit efficace, que les données soient protégées, etc.

Imaginez que vous souhaitiez héberger le site de votre tante sur votre ordinateur. C'est possible ! Vous le transformez en serveur, vous vous assurez qu'il est toujours connecté à Internet et effectuez quelques configurations basiques. TADA ! 🎉 Il est accessible.

Il est tard, vous éteignez l'ordinateur. C'est fini : plus personne ne peut réserver des cookies faits maison. Tristesse. Vous redémarrez votre ordinateur et vous vous résignez à voir la vérité en face : vous avez désormais de grandes responsabilités. Vous devez vous assurer des éléments suivants :

  • Votre ordinateur ne tombera jamais en panne. JAMAIS !

  • Toutes les données du site web seront toujours accessibles. Aucun virus ne les effacera jamais.

  • Le disque dur sera toujours en service.

  • Il n'y aura jamais de coupure de courant (adieu les orages !).

  • Votre ordinateur sera toujours connecté à Internet en très haut débit.

  • Vous ne renverserez jamais de café sur le ventilateur, votre nièce ne téléchargera jamais ce documentaire vérolé sur Justin Bieber et votre frère n'ouvrira jamais ce mail alléchant qui finira par effacer tous vos dossiers.

À présent, placez votre ordinateur dans un contexte professionnel et imaginez que vous devez en gérer une dizaine, évidemment accessibles par vos collègues. Non, vous n'avez pas envie d'être responsable de tout cela. Pas tout de suite en tous cas.

C'est pourquoi de nombreuses plateformes sous-traitent la gestion de l'infrastructure. C'est ce que nous appelons le Cloud ! Les ressources informatiques étant accessibles par Internet uniquement, et non plus en physique, les développeurs ont inventé Le Nuage. Avant, vous aviez des clés USB. Mais ça, c'était avant ! Aujourd'hui, vous utilisez Dropbox.

En vérité, il existe plusieurs types de Cloud différents, selon la latitude de configuration que vous souhaitez :

  • SAAS (Software as a Service) : une plateforme web avec laquelle vous interagissez via un site web. Vous n'avez aucun moyen de connaître l'état des serveurs. Exemples : Google Drive, One Drive, Dropbox...

  • PAAS (Plateform as a Service) : une plateforme web à qui vous confiez votre code et qui configure les serveurs pour vous de manière automatique. Vous avez plus ou moins de maîtrise sur les serveurs. Exemple : Heroku, Clever Cloud.

  • IAAS (Infrastructure as a Service) : une entreprise qui s'occupe de l'infrastructure pour vous. Vous avez loué un espace sur un serveur et vous y installez ce que vous souhaitez. Rien n'est fait pour vous, sauf si vous le souhaitez. Exemples : Amazon Web Services, Openstack...

Dans ce cours, vous découvrirez comment configurer un serveur virtuel dans une infrastructure en tant que service. Nous utiliserons Digital Ocean pour illustrer les différentes étapes du cours mais vous pouvez choisir un autre hébergeur.

Un serveur virtuel ? Quelle est la différence avec un serveur dédié ?

Un ordinateur peut contenir plusieurs serveurs virtuels. Si vous désirez contrôler l'intégralité d'une machine physique, il faut choisir un serveur dédié, mais c'est bien plus cher.

Projet exemple

Pour les besoins de ce cours, nous développerons progressivement le projet suivant.

Vous venez juste de découvrir l'administration système et vous n'avez qu'une envie : mettre en pratique ce que vous avez appris ! Cela tombe bien, vous avez mis en production une application pour disquaire il y a peu. Vous étiez alors passé par Heroku. Vous décidez de migrer cette application pour l'héberger sur votre propre serveur.

Voici les fichiers source.

Créez un fork du projet dès maintenant en cliquant sur le bouton "Fork".

Exemple de certificat de réussite
Exemple de certificat de réussite