Sychronisation Git

Connexion au serveur distant

ssh -i ~/.ssh/id_ed25519_infomaniak user@xxxxx.ftp.infomaniak.com

# Va dans ton dossier (remplace par le bon chemin)
cd /home/clients/123456789/web/mon_super_projet

# Initialise Git
git init

# Configure ton identité Git (si pas déjà fait)
git config user.name "Ton Nom - Server"
git config user.email "ton-email@exemple.com"

Créer le dépôt sur GitHub

Sur GitHub (depuis ton navigateur) :

  1. Va sur https://github.com
  2. Clique sur le + en haut à droite → New repository
  3. Nom du dépôt : mon_super_projet (ou le nom que tu veux)
  4. Choisis Private (pour ne pas exposer tes clés API)
  5. NE COCHE PAS « Add a README file » (ton dossier existe déjà)
  6. Clique sur Create repository

Connexion du dépôt avec Infomaniak

En SSH sur infomaniak

# Toujours dans le dossier du projet
cd /home/clients/123456789/web/mon_super_projet

# Ajoute GitHub comme remote
git remote add origin git@github.com:ton-username/mon_super_projet.git

# Vérifie que c'est bien configuré
git remote -v

# Retour dans le dossier .ssh principal
cd /home/clients/123456789/.ssh

# Sur ton serveur Infomaniak (en SSH)
ssh-keygen -t ed25519 -C "ton-email@exemple.com"

# Sauvegarde dans : /home/clients/xxxxx/.ssh/id_ed25519_github
# Ajoute une passphrase si tu veux (recommandé)

# Affiche ta clé publique
cat ~/.ssh/id_ed25519_github.pub

Ajouter la clé sur GitHub

Sur GitHub (dans ton navigateur) :

  1. Clique sur ton avatar en haut à droite → Settings
  2. Dans le menu latéral → SSH and GPG keys
  3. Clique sur New SSH key
  4. Titre : Infomaniak Server
  5. Colle ta clé publique
  6. Clique sur Add SSH key

Test de la connexion

# Configure SSH pour utiliser la bonne clé pour GitHub
nano ~/.ssh/config

# Ajoute ces lignes :
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_github

# Sauvegarde : Ctrl+O, Entrée, Ctrl+X

# Change les permissions
chmod 600 ~/.ssh/config

# Teste la connexion
ssh -T git@github.com

Tu devrais voir : Hi ton-username! You've successfully authenticated...

Premier commit et push

Sur Infomaniak (en SSH) :

# Crée un fichier .gitignore pour ne pas versionner les fichiers sensibles
nano .gitignore
```

**Contenu du .gitignore :**
```
config/config.php
vendor/
.env
*.log
```

# Ajoute tous les fichiers
git add .

# Fais ton premier commit
git commit -m "Initial commit - Structure du projet Strava"

# Pousse vers GitHub
git branch -M main
git push -u origin main

Commit et push depuis un PC

git add README.md
git commit -m "Ajout du README"
git push origin main

Pull depuis infomaniak

cd /home/clients/123456789/web/mon_super_projet

git pull origin main