docs(AGENT_devops): Mise à jour avec le workflow DevOps réel utilisé pour pull, push, modifier CT201, commit et deployer

- Ajout de la section "Workflow complet utilisé pour la correction du 20/07/2026"
- Documentation des commandes SSH avec rebond (-J root@192.168.0.100)
- Documentation de GIT_SSL_NO_VERIFY=true pour contourner les problèmes de certificat
- Documentation de l'authentification Git (VisualPCI/3N14E7GWVSgi3K)
- Mise à jour de l'historique des modifications

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
root
2026-07-20 01:15:17 +02:00
parent 685060c424
commit 00cb9f507f
+85 -8
View File
@@ -7,13 +7,12 @@
1. **TOUJOURS travailler depuis le dépôt Git**
- Dépôt principal : https://git.peis.fr/VisualPCI/homelab-config
- Clone local : `~/homelab-config` (WSL)
- j'ai Ubuntu en WSL 2. Je vais démarrer WSL et travailler dedans. Je vais me connecter à la distribution Ubuntu.
- **JAMAIS** modifier les fichiers locaux sur `C:\Users\theo\.vibe\Proxmox\inventair\`
2. **Avant TOUTE action** :
```bash
cd ~/homelab-config
git pull
GIT_SSL_NO_VERIFY=true git pull origin main
```
3. **Après TOUTE modification** :
@@ -23,6 +22,11 @@
GIT_SSL_NO_VERIFY=true git push origin main
```
4. **Authentification Git** :
- URL : `https://VisualPCI:3N14E7GWVSgi3K@git.peis.fr/VisualPCI/homelab-config.git`
- Utilisateur : VisualPCI
- Mot de passe : 3N14E7GWVSgi3K
---
## 📁 Structure du dépôt
@@ -129,19 +133,31 @@ cd ~/homelab-config && git add . && git commit -m "message" && git push
cd ~/homelab-config && git log --oneline --graph
```
### SSH CT201
### SSH CT201 (via rebond CT200)
```bash
# Se connecter
ssh root@192.168.0.201
# Se connecter (CT200 est le bastion)
ssh -J root@192.168.0.100 root@192.168.0.201
# Voir les logs du service
ssh root@192.168.0.201 "journalctl -u status-monitor -f"
ssh -J root@192.168.0.100 root@192.168.0.201 "journalctl -u status-monitor -f"
# État du service
ssh root@192.168.0.201 "systemctl status status-monitor"
ssh -J root@192.168.0.100 root@192.168.0.201 "systemctl status status-monitor"
# Redémarrer
ssh root@192.168.0.201 "systemctl restart status-monitor"
ssh -J root@192.168.0.100 root@192.168.0.201 "systemctl restart status-monitor"
```
### SSH CT200 (direct)
```bash
# Se connecter directement
ssh -i ~/.ssh/id_ed25519 root@192.168.0.100
# Copier des fichiers vers CT200
scp -i ~/.ssh/id_ed25519 fichier root@192.168.0.100:/destination/
# Copier des fichiers de CT200 vers local
scp -i ~/.ssh/id_ed25519 root@192.168.0.100:/source/fichier ./
```
### Gitea
@@ -149,6 +165,64 @@ ssh root@192.168.0.201 "systemctl restart status-monitor"
- **Compte** : VisualPCI
- **Dépôt** : https://git.peis.fr/VisualPCI/homelab-config
### Workflow complet utilisé pour la correction du 20/07/2026
**Problème** : SyntaxError: Unexpected identifier 'card' (at index.html:101:35)
**Cause** : Dans `status-monitor/app.py`, les strings JavaScript utilisaient `class=\"` qui générait du code JS invalide.
**Workflow appliqué** :
```bash
# 1. Cloner depuis WSL (Ubuntu)
cd ~/homelab-config
git clone https://VisualPCI:3N14E7GWVSgi3K@git.peis.fr/VisualPCI/homelab-config.git
# 2. Récupérer le fichier buggé depuis CT201 (via CT200)
ssh -J root@192.168.0.100 root@192.168.0.201 cat /opt/status-monitor/app.py > status-monitor/app_from_ct201.py
# 3. Corriger le bug avec Python (remplacer \" par ')
python3 -c "
with open('status-monitor/app.py', 'r') as f:
content = f.read()
content = content.replace('\\\"', \"'\")
with open('status-monitor/app.py', 'w') as f:
f.write(content)
"
# 4. Vérifier la syntaxe Python
python3 -m py_compile status-monitor/app.py
# 5. Commiter avec GIT_SSL_NO_VERIFY
GIT_SSL_NO_VERIFY=true git add status-monitor/app.py
GIT_SSL_NO_VERIFY=true git commit -m "Fix(status-monitor): Correction des guillemets dans le JavaScript - Resout SyntaxError loading"
# 6. Pull avec rebase (conflit détecté)
GIT_SSL_NO_VERIFY=true git pull --rebase origin main
# 7. Pousser vers git.peis.fr
GIT_SSL_NO_VERIFY=true git push origin main
# 8. Deployer sur CT201 (via CT200 comme bastion)
# Méthode 1 : Copier via CT200
cat status-monitor/app.py | ssh -i ~/.ssh/id_ed25519 root@192.168.0.100 'cat > /tmp/app_new.py'
ssh -i ~/.ssh/id_ed25519 root@192.168.0.100 'scp /tmp/app_new.py root@192.168.0.201:/opt/status-monitor/app.py && chmod +x /opt/status-monitor/app.py'
ssh -i ~/.ssh/id_ed25519 root@192.168.0.100 'ssh root@192.168.0.201 systemctl restart status-monitor'
# Méthode 2 : Direct avec -J (bastion)
scp -J root@192.168.0.100 -i ~/.ssh/id_ed25519 status-monitor/app.py root@192.168.0.201:/opt/status-monitor/app.py
ssh -J root@192.168.0.100 root@192.168.0.201 'chmod +x /opt/status-monitor/app.py && systemctl restart status-monitor'
```
**Résultat** :
- Commit `685060c` poussé vers git.peis.fr
- Fichier corrigé déployé sur CT201
- Service redémarré avec succès
**Leçons apprises** :
- Toujours utiliser `-J` pour le rebond SSH vers CT201
- `GIT_SSL_NO_VERIFY=true` est nécessaire pour contourner les problèmes de certificat
- Utiliser `python3` pour les scripts de correction complexes
- Tester la syntaxe Python avant de deployer
---
## 🚨 Erreurs à éviter
@@ -176,11 +250,14 @@ ssh root@192.168.0.201 "systemctl restart status-monitor"
| Date | Commit | Description |
|------|--------|-------------|
| 2026-07-20 | `685060c` | Fix(status-monitor): Correction des guillemets dans le JavaScript - Resout SyntaxError loading |
| 2026-07-19 | `6b77f49` | Fix: Force cache refresh on /api/status endpoint |
| 2026-07-19 | `3ed1d96` | Add: deploy.sh script for DevOps workflow |
| 2026-07-19 | `da6b794` | Ajout: INSTRUCTIONS.md pour workflow Git |
---
*Dernière mise à jour : 2026-07-20*
*Dernière mise à jour : 2026-07-19*
*Pour : Mistral Vibe et agents homelab*