GestionnaireMDP – Guide de déploiement
Gestionnaire MDP
GestionnaireMDP est une application modèle (template) pour des projets React + Django REST avec authentification JWT.
Ce dépôt sert de base standardisée : conteneurs Docker, gestion des ports, variables d’environnement et définition claire du contrat entre le frontend et le backend.
Introduction
L’objectif de ce template est de fournir une structure cohérente et reproductible pour accélérer le démarrage de nouveaux projets tout en garantissant :
- Une configuration homogène entre les environnements
- Une séparation claire des responsabilités front/back
- Une gestion sécurisée des variables sensibles
- Une dérivation prévisible des ports à partir d’un identifiant d’application
Démarrage rapide (DEV)
1) Cloner le dépôt
git clone https://github.com/<votre_org>/<APP_DEPOT>.git
cd <APP_DEPOT>2) Préparer l’environnement
Deux fichiers sont requis :
.env.dev→ sans secrets.env.dev.local→ secrets uniquement (ignoré par Git)
Les formats attendus et les variables obligatoires sont décrits dans :
docs/INVARIANTS.md3) Lancer l’environnement de développement
docker compose -f docker-compose.dev.yml \
--env-file .env.dev \
--env-file .env.dev.local \
up -d --buildAccès aux services
-
Frontend (Vite) :
http://localhost:${DEV_VITE_PORT} -
API (Django REST) :
http://localhost:${DEV_API_PORT}
Invariants & Contrat
Le document source de vérité est :
docs/INVARIANTS.mdCe document définit les règles non négociables garantissant la cohérence du système.
Dérivation des ports (DEV)
Les ports sont déterminés à partir de la variable :
APP_NOFormules utilisées :
DEV_DB_PORT = 5432 + APP_NODEV_API_PORT = 8000 + 2*APP_NODEV_VITE_PORT = 5172 + 2*APP_NO
Exemple :
APP_NO=1
→ DEV_DB_PORT=5433
→ DEV_API_PORT=8002
→ DEV_VITE_PORT=5174Ce mécanisme permet d’exécuter plusieurs applications en parallèle sans conflit de ports.
Gestion des secrets
Règle stricte :
-
❌ Aucun secret dans
.env.dev -
❌ Aucun secret dans
docs/ -
✅ Secrets uniquement dans :
.env.dev.local.env.prod.local
Ces fichiers doivent être ignorés par Git.
Scripts utiles
Vérification des invariants
Script disponible :
scripts/vérifier_invariants.shObjectif : vérifier la conformité de la configuration avec les règles définies dans INVARIANTS.md.
TODO: Documenter le détail des vérifications effectuées par le script.
Licence
Licence : MIT (ou à préciser si différente).
Conclusion
GestionnaireMDP fournit un socle technique standardisé pour les applications React et Django REST conteneurisées.
En respectant les invariants définis et la séparation stricte des secrets, il garantit un environnement de développement prévisible, sécurisé et facilement reproductible.