diff --git a/README_SSH_AUTO.md b/README_SSH_AUTO.md new file mode 100644 index 0000000..45ef40c --- /dev/null +++ b/README_SSH_AUTO.md @@ -0,0 +1,142 @@ +# 🔑 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 !** 🚀