Compétence RNCP : C2.1.1
- Intégration continue : CI.md
- Manuel de déploiement : DEPLOYMENT.md
- Critères de qualité et de performance : CRITERIA.md
Garantir que l’application LockLite puisse être déployée automatiquement, de manière fiable et traçable, sur les
différents environnements.
Le protocole s’intègre dans le cycle de développement afin d’assurer la qualité, la performance et la stabilité du
logiciel.
Chaque environnement possède une base de données dédiée et indépendante, ce qui permet d’éviter tout conflit de données.
- Développement : déploiements éphémères déclenchés lors de la fusion d'une branche de développement. Utilisé par les développeurs pour valider leur travail en conditions réelles. Accessible uniquement aux membres du projet via authentification Vercel.
- Préproduction : déploiements automatiques de la branche
develop. Permet de valider l’ensemble des fonctionnalités avant une release. Accessible uniquement aux membres du projet via authentification Vercel. - Production : déploiements automatiques de la branche
main. Environnement stable pour les utilisateurs finaux. Accessible publiquement.
- Compilateur / Langage : TypeScript (
tscen mode strict). - Framework / Serveur d’application : Next.js (hébergé sur Vercel).
- Base de données : PostgreSQL (hébergée sur Neon) avec ORM Prisma.
- Gestion des sources : GitHub (branches nommées selon un Gitflow simplifié).
- Intégration / déploiement : Vercel (bot intégré à GitHub).
- Qualité : ESLint, Prettier, Jest (tests unitaires).
- Sécurité : GitGuardian (vérification des secrets).
-
Création de branche : un développeur ouvre une branche à partir de
develop. -
Pull Request vers
develop:- Vérification automatique : lint, tests unitaires, build, déploiement éphémère.
- Si un échec survient, alors des corrections sont réalisées avant le merge.
-
Merge dans
develop:- Déclenche un déploiement automatique sur l’environnement préproduction.
- Tests manuels et recettes utilisateurs exécutés sur cet environnement.
-
Release :
- Rédaction d’une release note.
- Validation finale de toutes les recettes sur préproduction.
- Merge de
developversmain.
-
Déploiement en production :
- Déploiement automatique via Vercel.
- Vérification post-déploiement.
- Publication de la release officielle.
-
Rollback (si nécessaire) :
- Revert Git sur
main. - Redeploiement immédiat de la version précédente sur Vercel.
- Revert Git sur
Ce protocole assure :
- Un cycle complet de CI/CD (tests automatiques + déploiement Vercel).
- La séparation stricte des environnements.
- Une qualité logicielle mesurable (tests, lint, recettes).
- Des garde-fous opérationnels (rollback, contrôle des secrets).