# Guide de déploiement BAO ## Vue d'ensemble BAO peut être utilisé de **deux façons** : 1. **Depuis le PC** : Via tunnels SSH vers les containers 2. **Sur les containers** : Connexion directe aux bases maria3/maria4 ## Architecture des bases de données ### Environnement DVA - Container : `IN3/dva-geo` - Base de données : `IN3/maria3:3306` → `dva_geo` - Credentials : `dva_geo_user` / `CBq9tKHj6PGPZuTmAHV7` ### Environnement RCA - Container : `IN3/rca-geo` - Base de données : `IN3/maria3:3306` → `rca_geo` - Credentials : `rca_geo_user` / `UPf3C0cQ805LypyM71iW` ### Environnement PRA - Container : `IN4/pra-geo` - Base de données : `IN4/maria4:3306` → `pra_geo` - Credentials : `pra_geo_user` / `d2jAAGGWi8fxFrWgXjOA` ## Déploiement ### 1. Déployer sur DVA (IN3/dva-geo) ```bash cd /home/pierre/dev/geosector/bao ./deploy-bao.sh ``` **Ce que fait le script :** - Crée une archive `bao-dva-YYYYMMDDHH.tar.gz` dans `/data/backup/geosector/bao` - Transfère l'archive vers `IN3` (195.154.80.116) - Déploie dans le container `dva-geo` → `/var/www/geosector/bao` - Copie `config/.env.container` vers `config/.env` - Configure les permissions (root:root) - Rend tous les scripts exécutables ### 2. Déployer sur RECETTE (IN3/rca-geo) ```bash cd /home/pierre/dev/geosector/bao ./deploy-bao.sh rca ``` **Même processus**, mais vers le container `rca-geo`. ### 3. Déployer sur PRODUCTION (IN4/pra-geo) ```bash cd /home/pierre/dev/geosector/bao ./deploy-bao.sh pra ``` **Même processus**, mais vers le serveur `IN4` (51.159.7.190) et le container `pra-geo`. ## Utilisation après déploiement ### Connexion au container ```bash # Pour RCA (exemple) ssh -i ~/.ssh/id_rsa_mbpi root@195.154.80.116 'incus exec rca-geo -- bash' ``` ### Lancer BAO ```bash cd /var/www/geosector/bao # Menu interactif ./bin/bao # Ou directement un script ./bin/search-user rca dupont ./bin/decrypt-user rca 56930 ./bin/list-operations rca --entite=662 ``` ## Configuration automatique Le fichier `config/.env` est automatiquement créé depuis `config/.env.container` : ```ini # Exemple pour RCA (connexion directe vers maria3) RCA_DB_HOST=13.23.33.4 RCA_DB_PORT=3306 RCA_DB_NAME=rca_geo RCA_DB_USER=rca_geo_user RCA_DB_PASS=UPf3C0cQ805LypyM71iW ``` **Aucune configuration manuelle requise !** ## Sauvegardes Les archives de déploiement sont conservées dans `/data/backup/geosector/bao` : - `bao-dva-*.tar.gz` : Archives DVA - `bao-rca-*.tar.gz` : Archives RCA - `bao-pra-*.tar.gz` : Archives PRA **Rétention** : Les 10 dernières archives par environnement sont conservées. ## Vérifications post-déploiement Le script vérifie automatiquement : - ✓ Présence de `config/.env` - ✓ PHP disponible - ✓ Extensions PHP (PDO, OpenSSL, mbstring) ## Rollback En cas de problème, la sauvegarde est disponible sur le container : ```bash # Se connecter au container ssh -i ~/.ssh/id_rsa_mbpi root@195.154.80.116 'incus exec rca-geo -- bash' # Restaurer depuis la sauvegarde cd /var/www/geosector rm -rf bao mv bao_backup_YYYYMMDD_HHMMSS bao ``` ## Différences PC vs Container | Aspect | PC (local) | Container (distant) | |--------|-----------|---------------------| | Config | `.env.example` | `.env.container` | | Connexion | Via tunnels SSH | Directe maria3/maria4 | | Host DB | 127.0.0.1 | 13.23.33.4 | | Port DB | 3307/3308/3309 | 3306 | | Tunnels | Nécessaires | Non nécessaires | ## Troubleshooting ### Erreur de connexion à la base ```bash # Tester la connexion depuis le container mysql -h 13.23.33.4 -u rca_geo_user -p rca_geo -e "SELECT 1" ``` ### Script non exécutable ```bash cd /var/www/geosector/bao chmod +x bin/* ``` ### Mauvaise configuration ```bash # Vérifier la config cat config/.env # Recopier depuis le template cp config/.env.container config/.env ``` ## Journal des déploiements Tous les déploiements sont journalisés dans `~/.geo_deploy_history` : ```bash tail -f ~/.geo_deploy_history ``` Exemple : ``` 2025-01-18 14:30:00 - BAO deployed to RECETTE (rca-geo) - Archive: bao-rca-2025011814.tar.gz ```