PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Progi1984 : Réussir son développement avec Github

lundi 14 avril 2014 à 10:30

Cet article est une traduction de l’article « Successful GitHub Development » publié par Randall Degges. J’ai jugé intéressant de traduire cet article suite à un partage par Nicolargo. Pour note :

Octocat : la mascotte de GitHub

J’utilise GitHub depuis plusieurs années maintenant, et cela a drastiquement changé ma manière de développer, mon état d’esprit et mes efforts de participation. Au fil du temps, j’ai utilisé GitHub, j’ai contribué à de nombreux projets, débuté plusieurs de ma propre iniative, et eu l’opportunité d’échanger avec un large panel de développeurs (du novice au professionnel).

Cet article est ma tentative d’expliquer les meilleurs pratiques pour Github que vous pourrez appliquer dans votre développement quotidien, et qui fera de vous :

Pour de la clarté, cet article est divisé en deux parties séparées : les mainteneurs et les contributeurs.

La section sur les mainteneurs explique les meilleurs pratiques pour faire tourner votre projet open source sur GitHub. Si vous avez déjà publié votre propre librairie, vous devriez y jeter un coup d’oeil.

La section sur les contributeurs explique comment contribuer au mieux à des projets open source existants.

Je vous recommande, quelque soit si vous maintenez ou si vous contribuer, de lire les deux sections. Le développement open source est une des bases de notre société moderne, et afin d’assurer que l’éco-système open source reste accueillant, ouvert et efficace, nous – les développeurs, avons besoin de faire tout ce que nous pouvons pour promouvoir les meilleurs pratiques et une collaboration efficace.

Mainteneurs

Maintenir des projets open source est dur — cela requiert du temps, de l’énergie et une bonne communication. Les principes soulignés ici devraient être appliqués à tous les projets open-source (petits et grands), car ils feront en sorte que votre vie (et la vie de vos contributeurs) soit aussi simple que possible.
Toutes les pratiques mentionnées ci-dessous s’appliquent seulement aux projets une fois qu’ils ont une leur première release. Si vous êtes encore en train de travailler sur l’implémentation des fonctionnalités de base de votre logiciel, vous pouvez choisir d’ignorer l’une de ces règles et travailler de la manière la plus efficace pour vous.
J’ai essayé de lister ces règles par ordre d’importance, donc en tant que mainteneur de projet, vous pouvez utiliser cette liste comme une sorte de checklist pour vos nouveaux projets que vous barrerez au fur et à mesure jusqu’à ce que votre projet soit pleinement conforme.

1. Ecrire une documentation officielle

La première exigence pour tout projet opensource est d’avoir une bonne documentation pour tous les utilisateurs potentiels. Il n’y a absolument aucune excuse pour ne pas avoir une bonne documentation.
Votre documentation officielle devrait inclure, au minimum :

Avoir une bonne documentation est probablement la seule chose la plus importante que vous devez faire (en tant que mainteneur) pour assurer le succès à long terme de votre projet. Une bonne documentation encourage les nouveaux utilisateurs à utiliser votre code, encourage les contributeurs à contribuer à votre projet, et vous donner une réputation positive dans la communauté des développeurs.

Quelques notes à prendre en compte :

2. Utiliser Git Flow

git-flow est un workflow populaire de Git (et un add-on) qui fournit une manière simple de fonctionner avec des projets stables. L’idée derrière git-flow est que chaque projet devrait avoir deux branches tout le temps : une branche master qui contiendrait la version stable, prête pour la production du code, et une branche develop qui contiendrait la dernière version du code en développement.
En utilisant git-flow, cela devrait inciter à :

En acceptant un modèle de workflow Git, vous pouvez vous assurer que vos utilisateurs ne confondront pas :

Pour en apprendre plus au sujet de git-flow, voici quelques articles à lire (dans l’ordre) :

3. Publier vos résultats de tests

Si vous n’écrivez pas de tests pour votre code, lisez ceci avant d’aller plus loin. Comme je suis sûr que vous le savez, les tests sont sans valeurs si vous ne les lancez pas — après tout, quel est l’intérêt d’avoir des tests si personne ne s’en inquiète ?
Pour les projets open source, simplement lancer vos tests n’est pas assez. En plus de les lancer, vous devez aussi publier vos résultats de tests pour que vos utilisateurs et contributeurs connaissent le statut de la suite de tests.
Bien que ce ne soit pas une pratique courante, publier les résultats de tests est une bonne manière de :

Si possible, vous devriez toujours utiliser Travis CI pour lancer des tests sur votre projet. Travis CI est “un service hébergé d’intégration continue pour la communauté open source”. Au moment où j’écris, Travis CI supporte une large gamme de langages de programmation, frameworks, bases de données, services de cache, et d’autres composants d’infrastructure qui vous permettent de lancer votre suite de tests avec succès, indépendamment de la complexité.
Pour débuter avec Travis CI, lisez leur documentation officielle
NOTE : Si vous utilisez Travis CI pour lancer vos tests, soyez sûr que vous utilisez leur fonctionnalité de partage en embarquant le statut du build de votre projet dans votre documentation officiel. La manière recommandée pour le faire est d’embarquer le code Markdown de Travis CI dans le fichier README.md de votre projet. De cette manière, GitHub l’aaffichera en évidence sur la page de votre projet.
Si vous n’utilisez pas Travis CI pour une autre raison, vous pouvez utilisez Jenkins. Jenkins est un simple serveur d’intégration continue qui peut facilement être configuré pour lancer vos projets. Si vous utilisez Jenkins, soyez sûr de diriger les utilisateurs (de votre documentation) vers la page web de Jenkins afin qu’ils puissent voir vos résultats de tests.

4. Utiliser les tickets de GitHub

Les tickets de GitHub sont la meilleur manière pour suivre les tickets de votre projet, et vous devriez encorager vos utilisateurs (et contributeurs) à les utiliser pour :

Avoir tous les tickets d’un projet à un seul endroit rend cela plus facile que ce soit pour les utilisateurs ou pour les contributeurs pour soumettre des problèmes, commenter les problèmes des autres, trouver des choses à faire, et en général rester organisé.
Assurer que votre gestionnaire de tickets est toujours à jour et bien maintenu encorage fortement aussi les nouveaux contributeurs à travailler sur le projet, comme ils peuvent facilement trouver des bugs et les corriger pour vous.

Contributeurs

Contribuer au code de projets open source peut être difficile, excitant, effrayant et une récompense. Cette section a pour but de vous aider à contribuer avec succès au code de projets que vous aimez, tout en minimisant les chances d’échecs le long du chemin.
Si vous respectez ces conseils, cela devrait aller. Comme avec la section sur les mainteneurs, les astuces ci-dessous sont ordonnées par importance et peuvent être suivies comme une checklist.

1. Lire la documentation du projet

Si le projet auquel vous voulez contribuer a une documentation officielle, soyez sûre de la lire de bout en bout avant de soumettre du code. Souvent, le code que vous voulez soumettre et que vous avez à l’esprit fait déjà partie du projet et peut être trouvé quelque part dans la documentation.
Lire toute la documentation officielle vous donnera généralement une bonne idée sur le but, l’étendue et les idéaux du projet. Cela peut être incroyablement important, puisque le facteur critique pour que votre code soit accepté dans projet soit qu’il s’intégre bien avec la base du code existant. Il est hautement improbable, par exemple, que le mainteneur d’un bot IRC accepte un pull request contenant du code qui ajoute le support de Skype, puisque le projet se concentre entièrement sur IRC.

2. Regarder le gestionnaire de tickets

Avant d’écrire votre première ligne de code, assurez-vous de parcourir le gestionnaire de tickets du projet.
Si vous planifiez de corriger un bug, et que vous ne le voyez pas pour l’instant lister dans le gestionnaire de ticket, créez un nouveau ticket pour cela ! Le meilleur type de code est le code qui n’a jamais été écrit. Le bug que vous vous apprêtiez à corriger peut être un autre problème non-relatif au projet, donc remplir un ticket avant de soumettre du code est généralement une bonne idée puisque cela sauvera à vous (et au gestionnaire du projet) beaucoup de temps et de trouble.
Si vous souhaitez soumettre une nouvelle fonctionnalité au projet, créez un ticket en premier, et expliquez la fonctionnalité que vous aimeriez soumettre et pourquoi vous pensez que cela peut être utile. Cela donne au gestionnaire du projet la possibilité de discuter avec vous de la fonctionnalité, et de trouver la meilleure manière de l’implémenter. Souvent, avoir des discussions sur les fonctionnalités avant de soumettre du code augmente grandement les chances que votre code soit accepté, puisque le mainteneur attend que vous soumettiez le code, et aura une idée d’où chercher et quoi inspecter.

3. Se conformer aux règles

Presque chaque projet a un style de code distinct. Chaque fois que vous soumettez du code à un projet, soyez sûr que votre code se conforme aux règles de code pré-existantes.
Non seulement l’écriture du code dans le même style que celui du projet rendra le code plus facile à comprendre pour vous, cela le rendra plus facile pour le mainteneur de projet pour l’examiner, l’accepter et le publier !
Peu importe si vous aimez ou non le style du code existant, se conformer aux styles de l’auteur rend tout le monde plus content puisque tout le code sera uniforme, plus facile à parcourir, plus facile à débugguer, et plus facile à maintenir dans le temps.

4. Incertain ? Demandez !

Si vous n’êtez pas sûr à propos de quelque chose — que ce soit du style de code, du workflow de développement, d’une formulation ou quoique ce soit — n’essayez pas de faire des suppositions, demandez !
Probablement le plus grand des bénéfice dans les logiciels open source est qu’il rassemble les gens pour créer des choses étonnantes. Si vous n’êtes pas sûr à propos de quelque chose, discutez avec un des mainteneurs du projet — ils vont probablement être content de discuter avec vous.
Les mainteneurs de projet ne veulent pas gâcher de temps (que ce soit le leur ou le vôtre), et seront généralement plus content d’expliquer pourquoi telle chose est une bonne idée (ou pas). Discuter des questions avant de soumettre le code est une excellente manière de se faire de nouveaux amis, apprendre de nouvelles choses, et généralement profiter encore plus de votre expérience dans l’open source.

Amusez vous

Maintenir et contribuer à des projets open source apporte beaucoup de plaisir. Il n’y a rien d’identique à l’élan que vous avez en créant quelque chose de nouveau, et en le partageant avec le monde. Si vous commencez un projet ou contribuez à un autre, savourez votre travail, rencontrez de nouvelles personnes, et amusez-vous.
Si vous vous trouvez dans une situation où vous ne vous amusez pas, arrêtez ce que vous êtes en train de refaire et re-pensez les choses.
J’espère que ces lignes directrices ci-dessus vous ont été utiles. Si vous avez des questions ou des suggestions, n’hésitez pas à laisser un commentaire et je mettrez à jour l’article au besoin.

Cet article Réussir son développement avec Github est apparu en premier sur RootsLabs.

Gravatar de Progi1984
Original post of Progi1984.Votez pour ce billet sur Planet Libre.

Articles similaires