Manuel d’utilisation — gestionnaireMDP
Manuel d’utilisation — Application gestionnaireMDP
Introduction
Ce document décrit les procédures d’exploitation de l’application gestionnaireMDP. Il couvre :
- La gestion des conteneurs Docker (développement et production)
- L’utilisation des scripts d’automatisation
- Les étapes de mise à jour du code et du site
L’objectif est de fournir un guide clair et directement exploitable.
1. Gestion des conteneurs
L’application repose sur des conteneurs Docker orchestrés par docker compose.
La variable d’environnement APP_ENV définit l’environnement en cours :
APP_ENV=dev→ utilisation de.env.devetdocker-compose.dev.ymlAPP_ENV=prod→ utilisation de.env.prodetdocker-compose.prod.yml
1.1 Démarrage des conteneurs
En développement
docker compose --env-file .env.dev -f docker-compose.dev.yml up -dEn production
docker compose --env-file .env.prod -f docker-compose.prod.yml up -d1.2 Arrêt des conteneurs
En développement
docker compose --env-file .env.dev -f docker-compose.dev.yml downEn production
docker compose --env-file .env.prod -f docker-compose.prod.yml down1.3 Consultation des logs
Backend (développement)
docker compose --env-file .env.dev -f docker-compose.dev.yml logs -f backendBackend (production)
docker compose --env-file .env.prod -f docker-compose.prod.yml logs -f backend1.4 Exécution d’une requête SQL dans le conteneur PostgreSQL
Exemple : lister les titres des entrées de mots de passe.
En développement
docker compose --env-file .env.dev -f docker-compose.dev.yml exec -T db \
sh -lc 'psql "postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:${DB_PORT:-5432}/${POSTGRES_DB}" -c "SELECT title FROM api_passwordentry ORDER BY title LIMIT 100;"'En production
docker compose --env-file .env.prod -f docker-compose.prod.yml exec -T db \
sh -lc 'psql "postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:${DB_PORT:-5432}/${POSTGRES_DB}" -c "SELECT title FROM api_passwordentry ORDER BY title LIMIT 100;"'2. Scripts disponibles
Les scripts situés dans le répertoire scripts/ facilitent les opérations courantes.
2.1 Description des scripts
backup-db.sh: effectue un dump de la base dans./backups/, en utilisant automatiquement l’environnement courant (APP_ENV).restore-db.sh: restaure une base à partir d’un dump, selon l’environnement courant (APP_ENV).deploy-frontend.sh: construit et déploie les fichiers statiques du frontend (Vite).push-backup-to-prod.sh: copie un dump local vers l’environnement de production.pull-backup-from-prod.sh: récupère le dernier dump depuis la production vers la machine locale.prod-restore.sh: restaure la base directement en production à partir d’un dump.
2.2 Exemples d’utilisation
Effectuer un dump (dev ou prod)
./scripts/backup-db.shRestaurer le dernier dump (dev ou prod)
./scripts/restore-db.sh latestRestaurer un dump spécifique (dev ou prod)
./scripts/restore-db.sh backups/dump-2025-08-25.sql3. Mise à jour du site et de l’application
3.1 En développement
- Mettre à jour le dépôt :
git pull --ff-only- Ajouter et publier vos modifications :
git add .
git commit -m "Description des changements"
git push3.2 En production
- Arrêter les conteneurs si nécessaire :
docker compose --env-file .env.prod -f docker-compose.prod.yml down- Récupérer les dernières modifications :
git pull --ff-only- Redémarrer les conteneurs (avec reconstruction si nécessaire) :
docker compose --env-file .env.prod -f docker-compose.prod.yml up -d --build- Mettre à jour les fichiers statiques du site (déploiement frontend) :
./scripts/deploy-frontend.sh- Vérifier le bon fonctionnement du serveur web :
systemctl status apache2Conclusion
Ce manuel centralise les opérations essentielles d’exploitation de gestionnaireMDP.
Il est recommandé de :
- Toujours vérifier l’environnement actif (
APP_ENV) avant toute opération sensible - Effectuer des sauvegardes régulières avant les restaurations
- Contrôler les logs après chaque déploiement en production
TODO: Ajouter une section de dépannage (erreurs courantes et solutions).