TITRE ====== Workflow de développement des scripts Seedbox (ChatGPT → GitHub → Laptop MX → OMV → Synology) Version : 2025-11-16 Auteur : Mousse + ChatGPT Périmètre : scripts Seedbox (data/scripts sur OMV) 1. OBJECTIF ============ Décrire le flux réel de développement et de déploiement des scripts Seedbox, en assumant : - Développement assisté par ChatGPT. - GitHub comme dépôt de code (historique et versioning). - Tests réalisés directement sur OMV (environnement de production maîtrisé). - Synchronisation et sauvegarde derrière (OMV → Synology → HyperBackup). But : avoir une trace claire du “qui fait quoi où”, pour pouvoir retrouver une version, comprendre un incident, ou reprendre le projet après une pause. 2. CHAÎNE LOGIQUE GLOBALE ========================== Chaîne simplifiée : 1) ChatGPT : aide à la rédaction/correction du script. 2) GitHub : dépôt du script (commit + push). 3) Laptop MX : récupération du script depuis GitHub (pull). 4) OMV : copie du script dans data/scripts + tests “en prod”. 5) Synology : miroir des scripts via Rsync OMV → Synology. 6) HyperBackup : sauvegarde longue durée côté Synology. Source-of-Truth : - Code : GitHub (versions officielles). - Code opérationnel : OMV (/data/scripts). - Copie d’archivage : Synology + HyperBackup. 3. RÔLE DE CHAQUE ÉLÉMENT ========================== ChatGPT : - Co-auteur du script. - Sert à : - générer le script complet, - le commenter, - le corriger par itérations. - Ne stocke pas le script final : la version canonique est sur GitHub. GitHub : - Dépôt de référence pour les scripts Seedbox. - Permet : - historique par commit, - retour en arrière, - diffs entre versions, - consultation depuis n’importe quelle machine. Laptop MX Linux : - Poste de travail principal pour la partie “dev”. - Clône local du repository GitHub (git pull / git push). - Installation de l’appli Git (interface graphique) pour simplifier les opérations. - Monte les répertoires NFS pour naviguer et contrôler : - OMV : /mnt/t500/data/scripts - Synology : /mnt/synology/chatgpt, /mnt/synology/data OMV (seedbox) : - Environnement d’exécution réel des scripts (prod). - Disque T500 : /srv/dev-disk-by-uuid-167c3d64-0b12-412d-9453-f941e78f8f6e/ - Répertoire des scripts actifs : /srv/dev-disk-by-uuid-167c3d64-0b12-412d-9453-f941e78f8f6e/data/scripts/ - C’est là que les scripts sont testés, en conditions réelles. Synology : - Ne sert pas au dev ni aux tests. - Sert d’espace d’archivage : /volume1/chatgpt/seedbox/seedbox_scripts/ - Reçoit une copie miroir des scripts via Rsync depuis OMV. - Est ensuite sauvegardé via HyperBackup. 4. FLUX DÉTAILLÉ DE DÉVELOPPEMENT ================================== Étape 1 – Conception / rédaction avec ChatGPT --------------------------------------------- 1. L’utilisateur décrit le besoin (nouveau script ou évolution). 2. ChatGPT propose un script complet ou un patch. 3. L’utilisateur ajuste/valide la version proposée avec ChatGPT : - commentaires, - options, - dry-run éventuel, - messages de log, - sécurisation (pas de rm -rf sauvage, etc.). 4. Une fois la version jugée satisfaisante, le script est récupéré pour être intégré dans le dépôt GitHub. Étape 2 – Intégration dans GitHub ---------------------------------- 1. Sur le laptop MX : - git pull (pour mettre à jour le repo local par rapport à GitHub). 2. Le script fourni par ChatGPT est copié ou collé dans le repo local (dans le dossier approprié). 3. Commit : - message clair : nom du script + version + nature du changement. 4. git push : - envoie la nouvelle version vers GitHub. 5. GitHub devient ainsi la référence de cette version du script. Étape 3 – Récupération sur OMV et déploiement ---------------------------------------------- Actuellement, le flux est : 1. Sur le laptop MX, après git push : - le script est présent sur le laptop (dans le repo cloné). 2. L’utilisateur “push” le script vers OMV, typiquement en le copiant dans : /mnt/t500/data/scripts/ (ce qui correspond côté OMV à /data/scripts/ sur le T500). 3. OMV possède désormais : - la version à jour du script dans /data/scripts. 4. L’utilisateur exécute le script directement sur OMV (connecté en SSH) : - tests en environnement réel, - observation des logs, - corrections éventuelles à reprendre dans GitHub au besoin. Remarque : - OMV est utilisé comme “prod + test”. - Le laptop est utilisé pour éditer, committer, et centraliser les scripts via GitHub. 5. SYNCHRONISATION ET SAUVEGARDE ================================= Étape 4 – Rsync OMV → Synology ------------------------------- 1. Une tâche Rsync est configurée dans l’interface OMV. 2. Elle réplique : Source : /srv/dev-disk-by-uuid-167c3d64-0b12-412d-9453-f941e78f8f6e/data/scripts/ Vers la destination : /srv/remotemount/syno_remote_chatgpt/seedbox/seedbox_scripts/ (ce qui correspond côté Synology à : /volume1/chatgpt/seedbox/seedbox_scripts/) 3. Paramètres Rsync spécifiques : - récursif : OUI - supprimer les fichiers obsolètes (delete) : OUI - pas de préservation des propriétaires/groupes/permissions/dates : (le Synology décide de ses propres métadonnées). 4. L’intervalle d’exécution est configuré via cron dans OMV (ex. une fois par nuit, plus lancement manuel possible). Étape 5 – HyperBackup (Synology) -------------------------------- 1. HyperBackup est configuré sur le Synology pour inclure : /volume1/chatgpt/seedbox/seedbox_scripts/ 2. Les scripts Seedbox sont ainsi sauvegardés avec le reste des données gouvernance : - gestion de versions, - sauvegardes externes éventuelles, - possibilité de restauration en cas de problème sur OMV. 6. POINTS DE VIGILANCE / AMÉLIORATIONS FUTURES ============================================== - Tester en “prod” (OMV) : - Acceptable dans ce contexte, mais : - Toujours garder des .bak datés pour les scripts sensibles. - Intégrer autant que possible des modes “dry-run” dans les scripts. - Ajouter des messages de log clairs pour faciliter le débogage. - Cohérence GitHub ↔ OMV : - Après correction d’un script directement sur OMV (en urgence), penser à répercuter la correction dans GitHub via le laptop. - Sinon, GitHub peut finir avec une version en retard. - À formaliser plus tard : - Un workflow plus standardisé : “GitHub → git pull sur OMV → déploiement automatique” - Par exemple, utiliser un clone du repo GitHub directement sur OMV, puis copier les scripts depuis ce clone vers /data/scripts. - Pour l’instant, l’approche manuelle est suffisante compte tenu de la complexité déjà en place. 7. RÉSUMÉ EN UNE LIGNE ======================= - ChatGPT aide à écrire les scripts, - GitHub stocke et versionne, - le laptop sert d’atelier Git, - OMV exécute et teste en conditions réelles, - Synology + HyperBackup sauvegardent le tout derrière. Fin du document.