Faire confiance aux services cloud pour héberger nos précieuses données, c'est génial. Que ce soit vos photos, vos documents ou, dans notre cas, votre code source sur GitHub, ces plateformes offrent une tranquillité d'esprit... jusqu'à ce que quelque chose tourne mal. Car oui, le risque de perdre vos données existe bel et bien.

Pourquoi Avoir un Plan B pour GitHub ?

Pourquoi vos données sur GitHub pourraient-elles disparaître ? Il y a trois grands scénarios qui justifient toujours le besoin de sauvegarde :

  1. La Faute de la Plateforme : Une panne catastrophique chez GitHub où leur propre processus de sauvegarde aurait été négligé. Même les géants peuvent faire des erreurs.

  2. La Faute du Compte : Un non-respect des Conditions Générales d'Utilisation (CGU) qui entraîne la suspension ou la suppression de votre compte.

  3. La Faute de l'Utilisateur : Vous avez accidentellement supprimé un dépôt important tel un gros boulet (ça arrive souvent, même aux meilleurs !).

Peu importe la raison, l'enjeu est clair : prévoir le « au cas où... ». C'est le principe fondamental de la sauvegarde. Il peut être très intéressant de faire un backup régulier de tout ce que vous stockez et des repos auxquels vous avez accès.

La Solution Simplissime : github-backup

Heureusement, vous n'avez pas besoin de réinventer la roue pour sécuriser votre code. Pour sauvegarder vos données GitHub régulièrement, il existe le script Python nommé github-backup, parfait pour automatiser ce processus.

1. Installation

Le script s'installe facilement via pip, le gestionnaire de paquets Python :

pip install github-backup

2. Le Prérequis : Un Token GitHub

Pour que le script puisse accéder à vos dépôts, y compris les privés, il nécessite la création d'un token d'accès personnel sur GitHub. Ce token remplace votre mot de passe pour les actions automatisées et doit avoir les permissions nécessaires (principalement repo).

3. Lancer la Sauvegarde Automatisée

Une fois le token créé et le script installé, la commande de base est incroyablement simple. Vous pouvez ensuite la placer dans une crontab pour déclencher un backup programmé et régulier (quotidien, hebdomadaire, etc.).

Voici la commande essentielle :

github-backup VOTRE_USERNAME -t VOTRE_TOKEN -o /chemin/stockage/backup --all

Paramètre

Description

VOTRE_USERNAME

Votre nom d'utilisateur GitHub.

-t VOTRE_TOKEN

Votre Token d'accès personnel GitHub.

-o /chemin/stockage/backup

Le dossier local où vous souhaitez stocker les copies de vos dépôts.

--all

Ce paramètre assure que tout est sauvegardé (vos propres dépôts, les privés auxquels vous avez accès, etc.).

Les Options pour les Pros

Ça c'est la commande de base, qui vous assure d'être peinard !

Sachez toutefois que github-backup est extrêmement souple. Il y a des tas de paramètres pour faire de l'incrémental (qui ne sauvegarde que les changements), ou pour inclure dans votre backup uniquement :

  • les dépôts mis en favoris (starred) ;

  • ceux que vous surveillez (watched) ;

  • les pull requests ;

  • les issues...

Bref, il y a de quoi faire si vous avez des besoins très spécifiques, mais avec le paramètre --all, vous assurez la sauvegarde complète de votre patrimoine numérique.

Si vous voulez explorer toutes les options et contribuer, le projet est open source.

Lien du dépôt : https://github.com/josegonzalez/python-github-backup