# 🔑 Automatisation SSH pour ihm_client ## 🚀 Démarrage rapide ### Initialisation automatique ```bash ./scripts/init-ssh-env.sh ``` ### Push automatique ```bash # Push rapide ./scripts/auto-ssh-push.sh quick # Push avec message ./scripts/auto-ssh-push.sh message "feat: nouvelle fonctionnalité" # Alias Git git quick-push git ssh-push "Mon message" ``` ## 📋 Fonctionnalités ✅ **Configuration SSH automatique** - Plus besoin de configurer SSH manuellement ✅ **Push automatique** - Ajout, commit et push en une commande ✅ **Alias Git** - Commandes raccourcies pour les push ✅ **Vérification SSH** - Test automatique de la connexion SSH ✅ **Gestion des branches** - Support des branches personnalisées ✅ **Workflow CI/CD** - Intégration avec Gitea Actions ## 🛠️ Scripts disponibles ### `scripts/init-ssh-env.sh` Script d'initialisation complet de l'environnement SSH : - Configuration Git pour SSH - Vérification des clés SSH - Test de connexion SSH - Configuration des alias Git - Vérification des remotes ### `scripts/auto-ssh-push.sh` Script de push automatique avec plusieurs modes : - `quick` - Push rapide avec message automatique - `message "texte"` - Push avec message personnalisé - `branch nom-branche` - Push sur une branche spécifique - `merge source target` - Push et préparation merge - `status` - Status et push conditionnel ### `scripts/setup-ssh-ci.sh` Script de configuration SSH pour CI/CD : - Configuration SSH pour Gitea Actions - Support des variables d'environnement - Test de connexion SSH ## 🔧 Alias Git ### `git quick-push` Push rapide avec message automatique : ```bash git quick-push ``` ### `git ssh-push "message"` Push avec message personnalisé : ```bash git ssh-push "feat: nouvelle fonctionnalité" ``` ## 📚 Documentation complète - **[Documentation SSH](docs/SSH_SETUP.md)** - Configuration SSH détaillée - **[Documentation Push Auto](docs/AUTO_SSH_PUSH.md)** - Guide complet des push automatiques ## 🎯 Workflow recommandé ### Développement quotidien ```bash # 1. Faire vos modifications # 2. Push rapide ./scripts/auto-ssh-push.sh quick ``` ### Développement de fonctionnalités ```bash # 1. Créer une branche git checkout -b feature/nouvelle-fonctionnalite # 2. Développer # 3. Push sur la branche ./scripts/auto-ssh-push.sh branch feature/nouvelle-fonctionnalite # 4. Préparer le merge ./scripts/auto-ssh-push.sh merge feature/nouvelle-fonctionnalite main ``` ## 🔍 Dépannage ### Vérifier la configuration SSH ```bash ssh -T git@git.4nkweb.com ``` ### Reconfigurer l'environnement ```bash ./scripts/init-ssh-env.sh ``` ### Vérifier les remotes ```bash git remote -v ``` ## 🚨 Problèmes courants ### Échec d'authentification SSH ```bash # Générer une nouvelle clé SSH ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_4nk # Ajouter à l'agent SSH ssh-add ~/.ssh/id_ed25519_4nk # Ajouter la clé publique à Gitea cat ~/.ssh/id_ed25519_4nk.pub ``` ### Configuration Git manquante ```bash # Reconfigurer Git pour SSH git config --global url."git@git.4nkweb.com:".insteadOf "https://git.4nkweb.com/" ``` ## 🎉 Résultat L'automatisation SSH élimine complètement la nécessité de : - Configurer manuellement SSH pour chaque push - Saisir des mots de passe - Gérer les URLs HTTPS vs SSH - Configurer les remotes manuellement **Tous les push utilisent maintenant automatiquement SSH !** 🚀