Aller au contenu
Jeremy Prat
Projets personnels et d'étudesTP noté

Livrer une application multi-services reproductible sur n'importe quelle machine, testée automatiquement et déployée sans intervention manuelle. Quatre services, quatre niveaux de tests, une chaîne en cinq étapes. Réalisé seul.

Cadre
TP noté
Période
juin 2026
Rôle
Réalisé seul, de bout en bout
Outils et technologies
  • Docker Compose
  • MySQL
  • FastAPI
  • React
  • nginx
  • Cypress
  • GitHub Actions
Documentation interactive de l'API générée par FastAPI, avec ses six routes

Le problème : livrer une application multi-services reproductible sur n'importe quelle machine, testée automatiquement et déployée sans intervention manuelle. C'est la pièce DevOps du portfolio.

Quatre services orchestrés par Docker Compose

  • MySQL, sur une image construite sur mesure avec ses migrations SQL et son compte administrateur initialisé.
  • Une API Python FastAPI.
  • Un front React servi par nginx, configuré en reverse proxy pour supprimer les problèmes de CORS.
  • Adminer, pour administrer la base.

Fiabiliser l'orchestration

Healthcheck sur la base, démarrage conditionné à son état de santé, volume persistant, variables d'environnement isolées. La stack remonte et fonctionne : un docker compose up suffit, les quatre conteneurs démarrent et la base passe en état sain.

Fonctionnellement : une inscription avec enregistrement en base, une liste publique réduite des inscrits, et un espace administrateur qui donne accès aux informations privées et à la suppression des comptes.

Formulaire d'inscription du front React : e-mail, mot de passe, prénom, nom, date de naissance, ville, code postal
Le formulaire d'inscription, servi par la stack locale.

Quatre niveaux de tests

  • Tests unitaires et d'intégration sur l'API, avec 99 % de couverture.
  • Tests d'infrastructure.
  • Tests de bout en bout Cypress sur le parcours utilisateur.
  • Analyse statique des Dockerfile.

Une chaîne en cinq étapes

Un pipeline GitHub Actions en cinq jobs enchaînés, des tests au déploiement : tests backend et envoi de la couverture, tests de bout en bout, construction et publication des images, déploiement du backend sur une plateforme serverless, déploiement du front.

En amont de ce TP, un parcours d'apprentissage Docker complet : images, volumes, réseaux, secrets, builds multi-étapes, Compose et publication sur registre.

Contact

Un site à créer, une alternance à pourvoir ?

Écrivez-moi directement, ou retrouvez-moi sur LinkedIn.