Projet DevOps – Letter Box (2025–2026)
Bensaleh Ghita · Bouetel Marie · Detrez Cléo · Bernard Noah · Bouet Grégoire
Filière : Data Science et Intelligence Artificielle
ESIEE Paris – Année académique 2025–2026
Sommaire
- Vue d’ensemble
- Sujet
- Architecture Système
- CD
- Docker & Conteneurisation
- Déploiement Kubernetes
- Sécurité et Qualité
- Perspectives
- Roadmap
1. Contexte académique
Ce projet a été réalisé dans le cadre du module DevOps for Software Engineering à ESIEE Paris.
L’objectif pédagogique est de mettre en œuvre une chaîne DevOps complète, depuis le développement applicatif jusqu’au déploiement automatisé sur un environnement conteneurisé.
2. Présentation du projet
Letter Box est une application web full-stack de gestion de films permettant :
- La consultation d’un catalogue de films
- L’ajout, la modification et la suppression de films
- L’import massif de données via un scraper AlloCiné
- L’exposition d’API REST sécurisées
Le projet démontre l’intégration des pratiques suivantes :
- Intégration Continue (CI) et Livraison Continue (CD) via GitHub Actions
- Conteneurisation de chaque composant avec Docker
- Orchestration multi-services avec Docker Compose et Kubernetes
- Infrastructure déclarative et reproductible
3. Structure du dépôt
Le dépôt est organisé en plusieurs dossiers principaux :
backend/: API FastAPI, logique métier, gestion des migrations, tests unitairesfrontend/: Application React (Vite), gestion des vues et appels APIdb/: Scripts SQL d’initialisation, gestion des schémas et migrationsscraper/: Scrapy pour l’import automatisé de données AlloCiné, export JSON/MongoDBdevops/: Scripts de déploiement, fichiers Kubernetes, automatisation CI/CDsite/: Documentation Quartz, générée et versionnée dans le dépôt
Exemples de fichiers clés :
backend/main.py: point d’entrée de l’APIfrontend/src/api.js: gestion des appels APIdb/init.sql: création du schéma PostgreSQLscraper/integration_pipeline.py: pipeline d’intégration des donnéesdevops/kubernetes-deployment.yaml: manifest Kubernetes complet
Chaque dossier contient un README dédié pour faciliter la prise en main.
4. Objectifs DevOps
Les objectifs techniques du projet sont :
- Automatiser les tests et le build (GitHub Actions)
- Standardiser les environnements via Docker et Docker Compose
- Déployer l’application sur Kubernetes (Minikube)
- Garantir la reproductibilité et la traçabilité des déploiements
- Mettre en place une architecture scalable et modulaire
5. Organisation de la documentation
La documentation du projet est structurée comme suit :
- Architecture système
- CD
- Conteneurisation
- Déploiement Kubernetes
- Sécurité et qualité
- Perspectives d’amélioration
Chaque section détaille les choix techniques réalisés ainsi que leur justification, avec des exemples concrets issus du code et des scripts du projet.