
Manuel d’utilisation — gestionnaireMDP
Manuel d’utilisation — Application gestionnaireMDP
1. 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
→.env
pointe vers.env.dev
etdocker-compose.dev.yml
est utilisé.APP_ENV=prod
→.env
pointe vers.env.prod
etdocker-compose.prod.yml
est utilisé.
Démarrer les conteneurs (dev)
docker compose --env-file .env.dev -f docker-compose.dev.yml up -d
Arrêter les conteneurs (dev)
docker compose --env-file .env.dev -f docker-compose.dev.yml down
Voir les logs du backend (dev)
docker compose --env-file .env.dev -f docker-compose.dev.yml logs -f backend
Exemple : requête SQL dans le conteneur de la DB (dev)
Lister les titres des entrées de mots de passe :
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;"'
Démarrer les conteneurs (prod)
docker compose --env-file .env.prod -f docker-compose.prod.yml up -d
Arrêter les conteneurs (prod)
docker compose --env-file .env.prod -f docker-compose.prod.yml down
Voir les logs du backend (prod)
docker compose --env-file .env.prod -f docker-compose.prod.yml logs -f backend
Exemple : requête SQL dans le conteneur de la DB (prod)
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 fournis (dans scripts/
) facilitent les opérations courantes.
(Seule une description, sans contenu interne)
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 avec 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.
Exemple : effectuer un dump (dev ou prod)
./scripts/backup-db.sh
Exemple : restaurer le dernier dump (dev ou prod)
./scripts/restore-db.sh latest
Exemple : restaurer un dump spécifique (dev ou prod)
./scripts/restore-db.sh backups/dump-2025-08-25.sql
3. Mise à jour du site et de l’application
En développement
- Mettre à jour avec Git :
git pull --ff-only
- Ajouter vos modifications locales :
git add .
git commit -m "Description des changements"
git push
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 :
docker compose --env-file .env.prod -f docker-compose.prod.yml up -d --build
- Mettre à jour les fichiers statiques du site Hugo (déploiement frontend) :
./scripts/deploy-frontend.sh
- Vérifier le bon fonctionnement du site web via Apache.
systemctl status apache2