Manuel d’utilisation — gestionnaireMDP

3 min de lecture

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 et docker-compose.dev.yml est utilisé.
  • APP_ENV=prod.env pointe vers .env.prod et docker-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

  1. Mettre à jour avec Git :

git pull --ff-only
  1. Ajouter vos modifications locales :

git add .
git commit -m "Description des changements"
git push

En production

  1. Arrêter les conteneurs si nécessaire :

docker compose --env-file .env.prod -f docker-compose.prod.yml down
  1. Récupérer les dernières modifications :

git pull --ff-only
  1. Redémarrer les conteneurs :

docker compose --env-file .env.prod -f docker-compose.prod.yml up -d --build
  1. Mettre à jour les fichiers statiques du site Hugo (déploiement frontend) :

./scripts/deploy-frontend.sh
  1. Vérifier le bon fonctionnement du site web via Apache.

systemctl status apache2