Schools16 semaines25 h par semaine

Ingénieur DevOps

Quatre mois, huit sprints et un mentor senior pour apprendre à automatiser, déployer et surveiller des applications sur AWS, Azure ou GCP : Linux, Docker, CI/CD, Terraform, Kubernetes et observabilité, sur des cas issus des missions Formuloo.

À la fin du parcours, vous saurez

  • Administrer des serveurs Linux et automatiser les tâches courantes par des scripts
  • Configurer le réseau d'un service web : DNS, pare-feu, proxy inverse et certificats
  • Conteneuriser une application multi-services avec des images sûres et légères
  • Concevoir des pipelines CI/CD qui testent, construisent et déploient sans intervention manuelle
  • Décrire et déployer une infrastructure cloud avec Terraform
  • Déployer et exploiter des applications sur Kubernetes
  • Mettre en place métriques, journaux, traces et alertes pour exploiter un service

Le métier

L'ingénieur DevOps fait le lien entre ceux qui écrivent le code et ceux qui le font tourner. Il automatise la construction, les tests et le déploiement des applications, décrit l'infrastructure sous forme de code, orchestre les conteneurs et met en place la surveillance qui permet de savoir, avant les utilisateurs, que quelque chose ne va pas. Chez les clients de Formuloo, il industrialise des plateformes de commerce, des services de paiement ou des outils internes, sur des clouds publics en Europe comme en Afrique.

Comment se déroule le parcours

Le parcours dure seize semaines, découpées en huit sprints de deux semaines. Vous travaillez sur le fournisseur cloud choisi lors de l'entretien de positionnement : AWS, Azure ou GCP. Les projets sont réalisables sur chacun d'eux ; seuls les noms des services changent.

Du sprint 1 au sprint 7, vous industrialisez « Kiosque », la librairie en ligne d'un réseau de libraires indépendants, composée d'une API, d'une interface web et d'une base de données. Vous partez d'un serveur nu et vous terminez avec une plateforme déployée automatiquement, décrite en code, orchestrée par Kubernetes et entièrement observable. Le sprint 8 vous confie la chaîne de déploiement d'un vrai projet Formuloo.

L'accompagnement

Un mentor senior, ingénieur DevOps en activité, suit au plus dix apprenants. Il vous retrouve chaque semaine, relit vos scripts, vos pipelines et votre code d'infrastructure, et vous transmet les réflexes de l'exploitation : tout automatiser, tout tracer, toujours prévoir le retour arrière. Chaque sprint se termine par une soutenance avec démonstration en direct. Un projet non validé se retravaille avant d'avancer.

Les cours libres recommandés posent les bases ; leur couche renforcée, réservée aux apprenants Schools, ajoute exercices corrigés, cas réels anonymisés et variantes propres à votre fournisseur cloud. Les ressources cloud des projets restent dans des limites de coût annoncées à l'avance.

À la sortie

La soutenance finale, devant un jury, porte sur la mission réelle et sur votre portfolio de huit projets. Sa réussite donne la certification Formuloo, vérifiable par QR code, et ouvre l'accès à Formuloo Labs et au bassin Talents.

Prérequis

Avoir suivi le parcours découverte DevOps ou être déjà à l'aise avec un terminal Linux et Git.

Technologies au choix :AWSAzureGCP

Les huit sprints

Deux semaines par sprint. Chaque sprint se conclut par un projet déposé puis soutenu devant votre mentor ; le suivant s'ouvre quand il est validé.

1Linux et shellLe premier serveur de Kiosque2 semaines

Administrer un serveur Linux avec assurance : utilisateurs et droits, paquets, services, journaux, processus, accès SSH sécurisé, et premiers scripts shell pour ne plus répéter les mêmes manipulations.

Un réseau de librairies indépendantes de Lyon, Bruxelles et Lomé lance « Kiosque », une librairie en ligne commune. L'équipe de développement vous livre une API et une interface web ; elle n'a aucune idée de la façon de les faire tourner. Ce projet vous suivra jusqu'au sprint 7. Vous recevez une machine virtuelle vierge. Vous la sécurisez : comptes nominatifs, connexion SSH par clé uniquement, accès administrateur limité, mises à jour automatiques de sécurité. Vous installez les dépendances de l'application et vous la faites tourner comme un service géré par le système, qui redémarre seul en cas d'arrêt. Vous écrivez ensuite trois scripts shell : préparation complète d'un serveur, vérification de l'état du service, rotation et archivage des journaux. En soutenance, le mentor redémarrera le serveur : l'application doit revenir seule.

À livrer
  • Serveur sécurisé faisant tourner l'application comme un service système
  • Trois scripts shell versionnés et commentés
  • Fiche d'exploitation décrivant le serveur et les opérations courantes
Compétences évaluées
Administrer un serveur LinuxSécuriser un accès SSHGérer des services systèmeAutomatiser par des scripts shell
Cours conseillés
2Réseau, Git et scriptingKiosque accessible en HTTPS2 semaines

Comprendre et configurer le réseau d'un service web : adresses, ports, DNS, pare-feu, proxy inverse, certificats TLS, et versionner toute la configuration dans Git avec des scripts de déploiement reproductibles.

Kiosque doit être accessible sous son propre nom de domaine, en HTTPS, avec l'interface web et l'API derrière une même adresse. Aujourd'hui, l'application répond sur un port exotique et sans chiffrement. Vous configurez les enregistrements DNS, un pare-feu qui n'ouvre que le strict nécessaire, puis un proxy inverse qui sert l'interface web, transmet les appels à l'API et termine le chiffrement TLS avec un certificat renouvelé automatiquement. Vous ajoutez les en-têtes de sécurité de base et une redirection de HTTP vers HTTPS. Toute la configuration est versionnée dans un dépôt Git, et un script de déploiement récupère la dernière version de l'application, la met en place et redémarre ce qui doit l'être, sans coupure visible. Vous expliquez, schéma à l'appui, le chemin complet d'une requête du navigateur jusqu'à l'API.

À livrer
  • Application servie en HTTPS sous son nom de domaine
  • Dépôt Git de la configuration et script de déploiement reproductible
  • Schéma commenté du chemin d'une requête
Compétences évaluées
Configurer DNS et pare-feuMettre en place un proxy inverseGérer des certificats TLSVersionner une configuration
Cours conseillés
3DockerKiosque en conteneurs2 semaines

Conteneuriser une application multi-services : images construites en plusieurs étapes, légères et sans secret, réseaux et volumes, composition de l'environnement complet et publication des images dans un registre.

Chaque nouveau développeur de Kiosque met deux jours à installer son poste, et le serveur ne ressemble plus à rien après trois mises à jour. L'équipe veut que l'application tourne de la même façon partout. Vous écrivez les fichiers de construction des images de l'API et de l'interface web, en plusieurs étapes, pour obtenir des images légères qui s'exécutent sans droits d'administrateur. Vous décrivez l'environnement complet (API, interface, base de données, proxy) dans un fichier de composition, avec des volumes pour les données et un réseau isolé pour la base. Les paramètres passent par des variables d'environnement, jamais par l'image. Vous publiez les images dans le registre de votre fournisseur cloud, avec une convention de versions claire. Le mentor clonera votre dépôt sur sa machine : tout doit démarrer en une seule commande.

À livrer
  • Fichiers de construction des images et fichier de composition de l'environnement
  • Images versionnées publiées dans le registre du fournisseur cloud
  • Comparatif de la taille des images avant et après optimisation
Compétences évaluées
Construire des images Docker optimiséesComposer un environnement multi-servicesGérer volumes et réseauxPublier dans un registre d'images
Cours conseillés
4CI/CD avec GitHub Actions ou GitLab CILa chaîne de livraison de Kiosque2 semaines

Automatiser le cycle de livraison : pipeline qui vérifie, teste et construit à chaque modification, environnements de recette et de production, déploiement automatisé avec validation et retour arrière en un geste.

Les déploiements de Kiosque se font encore à la main, le vendredi soir, avec une liste de commandes collée dans une messagerie. Le dernier a cassé la page de paiement pendant tout un week-end. Vous construisez un pipeline avec GitHub Actions ou GitLab CI. À chaque pull request, il lance l'analyse du code, les tests et la construction des images. À chaque fusion sur la branche principale, il publie les images et déploie automatiquement en recette. Le passage en production se fait sur validation explicite, avec la même image que celle testée en recette. Vous ajoutez une vérification après déploiement et une procédure de retour arrière à la version précédente. Les identifiants de déploiement sont stockés comme secrets du pipeline. En soutenance, vous introduisez volontairement une erreur : le pipeline doit la bloquer avant la production.

À livrer
  • Pipeline versionné couvrant vérification, tests, construction et déploiement
  • Environnements de recette et de production alimentés par le pipeline
  • Procédure de retour arrière démontrée en soutenance
Compétences évaluées
Écrire un pipeline CI/CDPromouvoir une image entre environnementsGérer les secrets d'un pipelinePrévoir un retour arrière
5Infrastructure as Code avec Terraform sur le cloud choisiL'infrastructure de Kiosque décrite en code2 semaines

Décrire et déployer l'infrastructure sur le fournisseur cloud choisi avec Terraform : réseau, calcul, base managée, stockage, état partagé, modules réutilisables et revue des changements avant application.

Le réseau de libraires veut quitter sa machine virtuelle unique pour une infrastructure cloud plus solide, et pouvoir recréer un environnement complet en cas de besoin. Avec Terraform, vous décrivez sur votre fournisseur cloud l'infrastructure de Kiosque : réseau privé avec sous-réseaux publics et privés, service d'exécution des conteneurs, base de données managée inaccessible depuis Internet, stockage pour les couvertures de livres, équilibreur de charge et certificat. Vous organisez le code en modules réutilisables pour créer à l'identique la recette et la production. L'état Terraform est stocké de façon partagée et verrouillée. Le pipeline du sprint 4 affiche le plan des changements dans chaque pull request et ne les applique qu'après validation. Vous joignez une estimation du coût mensuel de chaque environnement.

À livrer
  • Code Terraform organisé en modules, avec état partagé et verrouillé
  • Environnements de recette et de production créés depuis le même code
  • Estimation du coût mensuel et procédure de destruction d'un environnement
Compétences évaluées
Décrire une infrastructure avec TerraformConcevoir un réseau cloudOrganiser du code en modulesRelire un plan de changements
Cours conseillés
6KubernetesKiosque sur Kubernetes2 semaines

Déployer et exploiter des applications sur un cluster Kubernetes managé : objets de base, configuration et secrets, sondes de santé, mise à l'échelle automatique, mises à jour progressives et empaquetage des déploiements.

Kiosque grandit : une rentrée littéraire réussie a fait tomber le site deux soirs de suite. Le réseau veut une plateforme qui absorbe les pics et déploie sans interruption. Vous créez un cluster Kubernetes managé sur votre fournisseur cloud, avec Terraform. Vous y déployez l'API et l'interface web : déploiements, services, règles d'entrée avec HTTPS, configuration et secrets séparés du code. Chaque conteneur reçoit des limites de ressources et des sondes de santé. Vous configurez la mise à l'échelle automatique selon la charge et des mises à jour progressives sans coupure. Vous empaquetez le tout pour déployer la recette et la production avec des valeurs différentes, et vous branchez le pipeline sur le cluster. En soutenance, vous lancez un test de charge et montrez le cluster qui ajoute des instances, puis une mise à jour sans interruption.

À livrer
  • Cluster managé créé par Terraform et manifestes ou paquets de déploiement
  • Pipeline qui déploie sur le cluster en recette puis en production
  • Démonstration de la mise à l'échelle sous charge et d'une mise à jour sans coupure
Compétences évaluées
Déployer sur KubernetesConfigurer sondes et ressourcesMettre à l'échelle automatiquementEmpaqueter des déploiements
7Observabilité avec OpenTelemetry, Prometheus, Grafana et SentryKiosque sous surveillance2 semaines

Savoir ce qui se passe en production : métriques, journaux structurés, traces distribuées et suivi des erreurs, tableaux de bord utiles, objectifs de niveau de service, alertes qui méritent un réveil et procédures d'incident.

Un client a signalé qu'il n'arrivait pas à payer depuis trois heures ; personne dans l'équipe ne s'en était aperçu. Le réseau veut être prévenu avant ses clients. Vous instrumentez l'API avec OpenTelemetry pour produire métriques, traces et journaux structurés corrélés. Vous collectez les métriques avec Prometheus, vous centralisez les journaux et vous branchez Sentry pour le suivi des erreurs. Dans Grafana, vous construisez un tableau de bord orienté utilisateur : taux d'erreur, latence, commandes passées. Avec l'équipe, vous fixez des objectifs de niveau de service et vous en déduisez des alertes limitées à ce qui demande une action. Vous rédigez une procédure pour chaque alerte. En soutenance, le mentor provoque une panne : vous devez la détecter, la diagnostiquer avec vos outils et rédiger un court compte rendu d'incident.

À livrer
  • Application instrumentée avec métriques, traces, journaux et suivi des erreurs
  • Tableaux de bord, objectifs de niveau de service et alertes versionnés
  • Procédures d'alerte et compte rendu de l'incident simulé
Compétences évaluées
Instrumenter une applicationConstruire des tableaux de bord utilesDéfinir des objectifs de niveau de serviceDiagnostiquer un incident
8Chaîne de déploiement d'un vrai projet FormulooMission client Formuloo2 semaines

Concevoir et mettre en place la chaîne de déploiement complète d'un projet réel issu d'une mission Formuloo, de l'infrastructure as code à l'observabilité, puis la défendre devant un jury avec l'ensemble de son portfolio.

Ce dernier sprint vous confie un projet réel issu d'une mission Formuloo, par exemple l'application d'une PME, d'une ONG ou d'une plateforme de commerce en ligne, dont la mise en production repose encore sur des opérations manuelles. Vous recevez le code, les contraintes du client (budget, région d'hébergement, exigences de disponibilité) et un accès à un compte cloud dédié. Vous menez la mission comme en entreprise : état des lieux, proposition d'architecture validée avec le client, infrastructure décrite en code, conteneurisation, pipeline de livraison, déploiement, surveillance et alertes, documentation d'exploitation. Le mentor tient le rôle de référent technique et un membre de l'équipe Formuloo celui du client. La soutenance finale, devant un jury, porte sur cette chaîne de déploiement et sur votre portfolio des huit sprints, avec une démonstration de bout en bout.

À livrer
  • Dépôts de l'infrastructure, des pipelines et de la configuration d'observabilité
  • Démonstration d'un déploiement complet et de la surveillance en place
  • Support de soutenance finale présentant la mission et le portfolio des huit sprints
Compétences évaluées
Concevoir une chaîne de déploiement complèteProposer une architecture à un clientMaîtriser coûts et disponibilitéDéfendre ses choix devant un jury