TutosLe Potager du Web

Parcours guidé o2switch + GitHub

De GitHub au site live, sans oublier la liaison SSH

Renseigne le projet une fois : le parcours prépare la clé dédiée, le remote GitHub, le clone privé, le dry-run, le live puis le cron. Tes valeurs restent uniquement dans ce navigateur.

À remplir une seule fois

Informations du projet

Les chemins proposés sont calculés, mais la racine publique doit toujours être comparée avec cPanel → Domaines.

À compléter Renseigne au minimum le dépôt, le domaine et le dossier live.
1

Obligatoire

Relier o2switch au bon dépôt GitHub par SSH

Cette étape manque souvent : une clé dédiée + un alias SSH + un test du repository précis.

1.1 — Générer la clé sur o2switch


  

Copie uniquement la ligne publique affichée. Dans GitHub → dépôt → Settings → Deploy keys → Add deploy key, colle-la et garde l’accès en lecture seule pour un déploiement normal.

1.2 — Associer cette clé à un alias GitHub

Ouvre le fichier puis ajoute le bloc généré :


  

  

1.3 — Tester GitHub puis LE dépôt


  
Avant de continuer
  • Le test SSH reconnaît GitHub.
  • git ls-remote renvoie un SHA.
  • Le remote utilise l’alias du dépôt, pas github.com directement.
2

Optionnel

Récupérer un site existant pour l’envoyer sur GitHub

Ignore cette phase si le dépôt GitHub contient déjà la bonne version du site.

Afficher la procédure d’import
Avant Git : fais une sauvegarde et retire tous les secrets, dumps SQL, sauvegardes, données privées et fichiers runtime. Un secret poussé dans Git doit être considéré comme compromis.
  1. Dans GitHub : crée un dépôt privé et vide.
  2. Pour ce premier push seulement : la clé utilisée doit avoir le droit d’écriture ; reviens ensuite à une deploy key de lecture seule.
  3. Dans cPanel → Terminal : travaille sur une copie hors du dossier public.

    

Relis le contenu, complète le .gitignore, puis prévisualise ce qui serait ajouté :


    
Ne continue pas si la liste contient un mot de passe, une clé, un fichier .env, un dump, des données personnelles ou des médias privés.

Après validation, crée le premier commit, relie la copie au remote SSH dédié et pousse-la :


  
3

Obligatoire

Cloner GitHub hors du live puis injecter la version contrôlée

Le clone Git reste séparé du dossier servi au public.

3.1 — Préparer le clone et les dossiers


  

3.2 — Vérifier la racine publique

Dans cPanel → Domaines, compare la racine du document avec la valeur ci-dessous.


  

Puis vérifie le dossier live et crée un marqueur qui empêchera une copie vers une mauvaise destination :


  

3.3 — Sauvegarder avant le premier déploiement


  

3.4 — Créer le script

Ouvre le fichier avec nano, colle le second bloc, puis enregistre avec Ctrl + O, Entrée et Ctrl + X.


  

  

3.5 — Tester sans copier


  
Lis toute la simulation. Si elle veut supprimer ou écraser un fichier serveur utile, ajoute ce chemin dans « Fichiers serveur à préserver » puis recommence.

3.6 — Premier déploiement manuel


  
Avant de passer au cron
  • Le script termine sans erreur.
  • L’accueil, les pages, CSS/JS et éventuelles API fonctionnent.
  • Les secrets, uploads et protections serveur sont encore présents.
  • Le commit affiché est celui attendu.
4

Après un test manuel réussi

Créer la tâche cron pour les futurs changements

Cette partie se fait dans l’outil dédié d’o2switch ; le cron appelle seulement le script déjà testé.

  1. Reviens à l’accueil de cPanel.
  2. Ouvre Avancé → Tâches cron.
  3. Dans Ajouter une nouvelle tâche cron, remplis chaque champ :

Dans le champ Commande, colle uniquement la commande suivante — sans les cinq valeurs de fréquence :


  

Clique sur Ajouter une nouvelle tâche cron. Consulte ensuite le journal depuis le terminal :


  
Test final du circuit
  • Fais une petite modification réversible sur GitHub.
  • Laisse le cron agir sans lancer le script manuellement.
  • Vérifie le nouveau SHA dans le journal et la modification sur le site.

Une seule fiche de référence

Les anciennes fiches séparées pour la deploy key, le premier déploiement, l’import d’un ancien site et le cron ont été fusionnées afin d’éviter quatre procédures qui divergent.

Ouvrir le tuto complet « Créer un site via GitHub puis le mettre en ligne sur o2switch » →