J'ai remarqué que la communauté PureBasic, qu'elle soit francophone ou anglophone, utilisait peu Git. À la place, on se retrouve avec des fichiers zip hébergés sur des services qui finiront irrémédiablement par disparaitre, laissant nombreuses librairies intéressantes tomber dans l'enfer des liens morts.
Je n'ai pas non plus trouvé de tuto sur ce forum et il y a peut-être un rapport entre les deux : quand j'ai commencé à utiliser des outils de versionnage, j'étais un peu effrayé par les fonctionnalités déroutantes et le jargon étrange.
Alors voilà un guide pour débuter avec GitHub. C'est long, mais ça vaut le coup de s'accrocher, juré !
1 - Le versionnage ?
Le versionnage est simplement une méthode de conservation des données : on sauvegarde chaque modification pour pouvoir la retrouver facilement plus tard.
À première vue ça n'a peut-être pas l'air très utile mais, d'après mon expérience, ça apporte plusieurs services inestimables aux programmeurs amateurs comme nous :
- Ca aide à déboguer : quand un bug apparait et qu'on n'arrive pas en identifier la cause, il suffit de revenir en arrière jusqu'au moment où il n'existait pas. On identifie ainsi quel morceau de code est responsable. Plus le projet grandit en taille et en complexité, plus ce genre de situation se rencontre.
- Ca aide à maintenir la motivation : Après une soirée de debug, alors qu'aucune nouvelle fonctionnalité n'a été ajouté, il est normal d'avoir l'impression d'avoir bossé pour rien. Cependant, les commits, les bugs fermés, les compteurs de lignes modifiées, toutes ces mesures objectives sont là pour nous rappeler que les besognes invisibles ont autant de valeur que d'implémenter une nouveauté.
- Ca aide à développer en équipe : git est capable de mélanger des fichiers modifiés à des points différents (il y a des limites, ce n'est pas de la magie non plus), et c'est idéal pour travailler à plusieurs sur le même projet.
GitHub et Git, c'est différent : GitHub est un service propriétaire proposé par Microsoft autour de la techno libre Git. Cependant, à notre niveau, on va se contenter d'utiliser GitHub.
2 - Le jargon
Il va falloir apprendre quelques mots avant de s'y mettre. Ça demande un petit effort, mais ce n'est pas douloureux. Accrochez-vous :
- Repo : Un repos, version abrégée de repository, c'est un dossier géré par Git. On crée un nouveau repo par projet et l'intégralité des fichiers contenus vont être versionnés.
- Commit : c'est l'action de signer à Git qu'il y a une nouvelle version des fichiers dans le repo. Chaque commit est accompagné d'un titre et d'une description pour se souvenir de ce qu'on y a fait en un coup d'œil.
- Fork : forker un repo, c'est créer une copie indépendante d'un repo qui ne vous appartient pas. Ca permet de le modifier et de l'adapter sans devoir changer l'original.
- Pull request : si vous pensez que les modifications que vous avez effectuées sur votre fork peuvent apporter quelque chose au projet d'origine, alors vous créez un pull request : une demande au propriétaire du repo d'origine d'intégrer vos changements.
3 - Maintenir ses projets sur GitHub !
Avant de commencer, il faudra télécharger et installer GitHub Desktop : https://desktop.github.com/
c'est un client Git visuel, très joli et bien intégré avec GitHub. C'est l'outil idéal pour les amateurs puisqu'on n'aura pas besoin de mémoriser les commandes.
Il faudra aussi créer un compte GitHub. C'est gratuit et rapide : https://github.com/signup
Voilà, maintenant on va créer son premier repo. Sur la page d'accueil, cliquez sur le bouton vert "Create repository".
On choisit un nom, on écrit une description rapide.
Vous pouvez choisir entre publique et privé : les repos publics sont accessibles à tous pendant que les repos privés ne seront visibles que par vous. Vous pourrez changer ça plus tard, donc vous pouvez tout à fait commencer privé avant de basculer si vous décidez d'ouvrir vos sources plus tard.
Ignorez le reste des options, c'est sans importance pour le moment.
Le repos est désormais créé ! Il est temps de le cloner en local sur votre pc. Cliquez sur le bouton « ouvrir avec GitHub Desktop ».
Ce dernier va automatiquement s'ouvrir avec toutes les informations préremplies. Choisissez l'emplacement sur votre disque dur et validez.
La suite se fait dans PureBasic : programmez comme d'habitude en enregistrant votre projet dans le dossier créé.
Quand vous avez assez avancé, il est temps de commit : ouvrez GitHub Desktop, il va détecter les modifications apportées au projet. Trouvez un titre pour votre commit (1) puis cliquez sur le bouton bleu (2) pour valider le commit. Enfin, cliquez sur le bouton en haut (3) pour synchroniser votre repos local avec GitHub.
Félicitations, vous faites maintenant partie des programmeurs d'élites, les meilleurs des meilleurs : comme les ingés de Google ou le créateur de Linux, votre projet est versionné avec Git !
4 - Interagir avec les projets des autres
GitHub propose beaucoup d'outils pour participer de près ou de loin à un projet.
- Le plus simple, c'est le système d'étoile qui permet de signaler qu'on aime le projet. C'est comme un pouce bleu sur YouTube, ça ne vous coute rien et ça fait vraiment plaisir d'en recevoir. Aussi, pensez à coller une étoile aux projets sympas que vous voyez (comme, par exemple, ma bibliothèque de gadgets modernes sous PB... Je dis ça, je dis rien, hein. Mais, maintenant que vous avez un compte GitHub...)
- Souvent, plutôt que de compiler vous-même un outil, vous pouvez télécharger une release compilée avec soin par le développeur. Dans cette même section, vous trouverez aussi les sources dans l'état exact de leur compilation, ça évite d'utiliser une version en cours de dev qui ne fonctionne peut-être pas du tout.
- Si vous voulez juste essayer du code, sans le modifier, alors vous pouvez simplement ouvrir le projet directement via GitHub Desktop. Pour cela, cliquez sur le bouton Code (1), puis Ouvrir avec GitHub Desktop (2).
- Vous avez trouvé un bug ? Vous avez une suggestion ? Postez-le dans l'onglet Issue (après avoir vérifié qu'il ne s'y trouvait pas déjà, bien sûr). C'est infiniment plus pratique à gérer qu'un message sur le forum par exemple.
- Vous voulez modifier le projet de quelqu'un d'autre. Il faut alors fork. Et ça tombe bien parce que, sur GitHub, ça se fait en un bouton, ici :
Voilà. C'était long et il vous faudra du temps pour bien vous y habituer, mais c'est un outil vraiment pratique et nous y gagnerons tous si vous l'utilisez : quand un utilisateur héberge son projet open source sur GitHub, c'est la communauté qui est garantie de le retrouver dans 5 ans et c'est la communauté qui peut participer à son amélioration.