Contribuer

Hé, vous, là-bas ! Vous voulez contribuer à Jetpack ?

Oui, vous : saviez-vous que vous pouviez jouer un rôle pour renforcer et sécuriser Jetpack ? Si vous utilisez Jetpack avec plaisir, pourquoi ne pas contribuer au projet ?

(Si vous n’utilisez pas Jetpack avec plaisir, qu’est-ce que vous attendez ? Téléchargez-le tout de suite !)

Comme WordPress lui-même, Jetpack est open-source. Vous pouvez tester des améliorations prévues, consulter le code, envoyer et consulter des rapports de bug, et même soumettre vos propres patchs. La grande force de WordPress et de Jetpack, ce sont les contributions de la communauté.

En contribuant à Jetpack, vous améliorerez la fonctionnalité de millions de sites, tout en acquérant de une expérience pratique de programmation. Le mieux, c’est que vous pouvez vous rendre utile quel que soit votre niveau : que vous sachiez à peine reconnaître un filtre (ou ne sachiez même pas ce que c’est), ou que vous ayez déjà écrit vos propres plugins, il y a des choses à faire si vous voulez donner un coup de main. Décollage :

La contribution pour tous !

Fusée de jardin : les petits nouveaux sur Jetpack

Vous venez de découvrir Jetpack ? Bienvenue !

Tout d’abord, installez Jetpack sur un site de test, et bidouillez : activez des modules, et essayez de les personnaliser. (Vous ne savez pas où commencer ? Essayez donc le thème pour mobile, ou déplacez vos boutons de partage.)

Ensuite, ça vous dirait de vous inscrire pour tester la version bêta ? Les testeurs font faire un tour de piste aux mises à jour, correctifs et nouveaux modules avant leur publication officielle ; ils occupent donc une place importante dans le processus de développement. Si cela vous intéresse de vous joindre au groupe bêta, remplissez ce formulaire pour nous en informer.

Une fois que vous avez une bonne idée du fonctionnement de Jetpack, si vous alliez jeter un œil à GitHub, l’outil que nous utilisons pour suivre les bugs ? En un rien de temps, vous pourrez commencer à soumettre des rapports de bug.

Vol longue distance : les programmeurs de niveau intermédiaire

Si vous n’avez pas de problème pour lire et modifier du code, mais que vous n’en écrivez pas encore à partir de zéro, vous pouvez aider les chasseurs de bugs en soumettant des rapports de bug. Si vous n’avez jamais soumis de rapport de bug, lisez Comment créer un excellent rapport de bug pour vérifier que vos rapports comprennent toutes les informations nécessaires à ce qu’un développeur puisse résoudre le problème vite et bien.

Si vous voulez soumettre des rapports, il vous faudra aussi vous familiariser avec GitHub. Quand vous aurez gagné en aisance pour les rapports, commencez à explorer le code source et préparez-vous à l’étape suivante : soumettre des correctifs.

Voyage inter-galactique : les développeurs avancés

Vous écrivez votre propre code ? Vous avez peut-être écrit votre propre plugin, ou chaussé des lunettes de soleil pour regarder en face le cœur de WordPress. Ça ne vous pose aucun problème de lire le code des autres et de suggérer des améliorations ?

Si vous vous reconnaissez dans cette description, entrez dans la danse, et commencez à soumettre des correctifs. Jetez un œil à ces problèmes non-réglés pour vous faire une idée du genre de choses dont la communauté pense qu’il faudrait s’occuper.

Les rouages de la contribution

S’inscrire au groupe bêta

Notre groupe bêta est composé de personnes intelligentes (une sélection d’utilisateurs et développeurs de WordPress) qui nous disent ce que nous faisons mal (et bien) dans la prochaine version de Jetpack. En tant que testeur, votre mission est de nous aider à tester la prochaine version de Jetpack, et de nous faire connaître votre expérience. Est-ce que l’interface utilisateur est déroutante ? Est-ce qu’un module ne marche pas correctement ?

Si cela vous intéresse de nous aider, contactez-nous pour nous en faire part. Pour participer, il vous faudra télécharger et installer le plugin Jetpack Beta Tester, et vérifier que vous utilisez la dernière version de WordPress. (Note : Vous ne pourrez accéder au plugin Beta Tester que quand on vous aura ajouté au groupe.)

Consulter le code source

Comme la plupart des projets de logiciel, WordPress utilise un système de gestion de versions pour garder trace du code source et des révisions. Jetpack est disponible sur GitHub. Voici les bases pour télécharger Jetpack avec Git.

(Si vous n’avez pas l’habitude de Git ou GitHub, vous pouvez commencer avec les guides vidéo de GitHub.)

Installation de Git

Pour installer Git, le plus facile est d’aller sur le site de Git et de télécharger un fichier exécutable pour votre système d’exploitation. Il y a des fichiers pour la plupart des systèmes d’exploitation : Mac OSX, Windows, plusieurs distributions de Linux, etc.

Pour plus d’informations, consultez la documentation sur le site de Git.

Création d’un compte GitHub, et génération des clés SSH

Le code source de Jetpack est hébergé sur GitHub.com. Même s’il n’est pas nécessaire de créer un compte pour parcourir le code source du plugin, ou même télécharger celui-ci, vous devrez vous inscrire pour contribuer en signalant des bugs ou en proposant des correctifs.

Une fois l’inscription terminée, nous vous conseillons de générer des clés SSH pour établir une connexion sécurisée entre votre ordinateur et GitHub. Ainsi, vous n’aurez pas besoin de saisir votre mot de passe à chaque fois que vous voudrez faire un « pull » du code depuis GitHub ou faire des « push » de correctifs. Pour ajouter des clés SSH à votre ordinateur et à votre compte GitHub, vous pouvez vous aider de ce guide.

Parcourir le dépôt Git de Jetpack

Le code source et les versions sont conservés dans un dépôt. On se connecte au dépôt soit avec l’interface en ligne de commande (CLI, command line interface), soit avec un programme client, ce qui permet de faire un « checkout » du code source, ainsi que le consulter, le modifier et le corriger.

Le dépôt Jetpack est disponible ici et comprend quatre sections importantes :

  • Master : Le code de développement le plus récent.
  • Releases : Des codes qui permettent de savoir la version de Jetpack qu’on est en train de consulter (par ex., 2.3.1). Il y a un « tag » pour toutes les versions de Jetpack officiellement publiées.
  • Branches : Les anciennes versions officielles de Jetpack. Parfois, quand il y a des nouvelles versions officielles majeures de Jetpack, nous assurons la maintenance de la version officielle précédente avec des corrections de bugs (en général, seulement les bugs majeurs et les problèmes de sécurité).
  • Issues : Les bugs, demandes de fonctionnalité, remarques, suggestions, patchs… C’est là que ça se passe !

Faire un checkout

Une fois Git installé, vous devrez faire un checkout du code avant de pouvoir travailler dessus ; en d’autres termes, vous allez télécharger le code depuis un emplacement distant (le dépôt) vers votre ordinateur. Voici comment :

  1. Rendez-vous sur la page GitHub de Jetpack et cliquez sur le bouton « Fork » :
    ForkCe faisant, vous effectuerez sur votre compte GitHub une copie de la version actuelle du développement de Jetpack.
  2. Sur votre ordinateur, ouvrez votre terminal et rendez-vous dans le répertoire où vous voulez mettre Jetpack.
  3. Exécutez la commande clone. Par exemple, pour consulter la copie du dépôt Jetpack que vous venez de créer sur GitHub :
    git clone git@github.com:VOTRE_NOM_DUTILISATEUR_GITHUB/jetpack.git jetpack
  4. Rendez-vous dans le répertoire jetpack : cd jetpack
  5. Ajoutez le dépôt Jetpack d’origine comme nouvelle connexion distante (« remote ») : vous pourrez ainsi faire des « pull » des modifications que nous apportons au dépôt d’origine pour tenir votre copie locale à jour.
    git remote add upstream git@github.com:Automattic/jetpack.git

Si cela fait longtemps que vous avez créé ce « fork », il faudra vérifier que vous utilisez la dernière version de développement de Jetpack : pour appliquer à votre dépôt les dernières modifications apportées à Jetpack sans pour autant perdre vos modifications locales, utilisez les commandes « fetch » et « merge ».

git fetch upstream

git checkout master

git merge upstream/master

Création d’un excellent rapport de bug

L’onglet « Issues » est une base de données de tickets qu’on utilise pour suivre les projets et les bugs. Nous l’utilisons pour gérer les nouvelles fonctionnalités, les rapports de bug, et les tâches générales du projet. Il est conçu pour qu’il soit aussi simple que possible de signaler des bugs et soumettre des patchs de code.

Comment devenir une star de GitHub en trois étapes

1. Vérifiez que le bug en est bien un.

Avant de signaler un bug, vérifiez que ce n’est pas une bête facétie des lutins d’Internet ou un problème de compatibilité. Avant de commencer à y regarder de plus près, vérifiez que vous exécutez bien les dernières versions de WordPress et de Jetpack.

Commencez par désactiver tous vos autres plugins et par passer aux thèmes par défaut TwentyThirteen ou TwentyFourteen. Est-ce que le problème est toujours là ? Si oui, vous avez peut-être trouvé un bug.

Si le problème disparaît, il résultait sans doute d’un conflit avec l’un de vos thèmes ou plugins. Maintenant, testez-les un par un : n’activez que Jetpack et ce thème ou plugin pour éliminer les autres variables. Quand le problème réapparaît, vous avez trouvé le coupable !

2. Regardez s’il n’a pas déjà été signalé.

Pour vérifier si un bug n’a pas déjà été signalé, vous pouvez :

Votre problème n’est mentionné dans aucun de ces endroits ? Il ne résulte pas d’un conflit avec un autre thème ou plugin ? Parbleu, vous avez trouvé un bug ! Il faut maintenant le signaler.

3. Soumettez un rapport de bug précis et détaillé.

Plus votre ticket sera spécifique, plus il sera facile d’exterminer le bug. Connectez-vous à GitHub, ouvrez un nouveau problème, et faites attention à bien remplir toutes les informations pertinentes : il est essentiel de fournir un résumé concis et une description claire. S’il a déjà été mentionné par quelqu’un d’autre (par exemple sur les forums d’aide de Jetpack), mettez un lien.

Voici un échantillon de ce à quoi ressemble un résumé constructif :

Résumé du problème : Le widget Jetpack Image n’affiche pas l’image sélectionnée.

Étapes pour reproduire le problème :

  1.  Activer le module Extra Sidebar Widgets ;
  2.  Inclure le widget Jetpack Image dans la barre latérale, et remplir tous les champs, y compris l’URL de l’image ;
  3.  Enregistrer le widget et consulter le site.

Comportement ou résultat attendu : La barre latérale devrait afficher l’image sélectionnée

Comportement ou résultat observé : Apparition d’une erreur : « Impossible de trouver l’image. »

Lien vers un exemple (le cas échéant) : http://example.com/image-widget/

Captures d’écran : mettre ici les captures d’écran du message d’erreur

Test multi-navigateurs, plus connu sous le nom de « N’oubliez pas Internet Explorer 8 »

Si vous pensez avoir rencontré un bug et que vous avez passé toutes les étapes explicitées ci-dessus, il est important de vérifier qu’on peut reproduire ce bug dans différents navigateurs. On peut trouver des liens de téléchargement vers les versions les plus récentes de chacun des principaux navigateurs sur Browse Happy.

Il faut aussi voir si le bug potentiel est limité à un seul navigateur ; c’est particulièrement important pour les bugs qui peuvent être liés à Javascript ou jQuery, puisque certains navigateurs ont plus de chances que d’autres de connaître ce genre de problème.

Contribuer à des problèmes existants et les commenter

En plus de signaler des bugs et soumettre des patchs, vous pouvez aussi suivre l’évolution d’un problème qui vous intéresse ou ajouter des détails à un problème existant.

Pour suivre un problème, connectez-vous à GitHub, trouvez le problème qui vous intéresse, faites défiler jusqu’en bas, et cliquez sur Subscribe :

S’abonner à un problème

Si vous pouvez ajouter des informations à un ticket existant, sentez-vous libre d’y ajouter un commentaire !

Réparation totale ! Créer et soumettre des patchs

Exterminer les bugs

Si vous corrigez un bug, commencez par faire un « fork » du dépôt de Jetpack et clonez ce nouveau fork de Jetpack sur votre ordinateur. Ensuite, créez une nouvelle branche. Puis faites un « checkout » de cette branche.

git branch nom-de-la-branche

git checkout nom-de-la-branche

Vous pouvez ensuite modifier les fichiers et faire des « commit » des modifications au fur et à mesure.

  • Pour voir la liste des fichiers modifiés, utilisez la commande status :
    git status
  • Pour afficher les modifications que vous avez effectuées dans un format de patch ligne-par-ligne, utilisez la commande diff, pour faire sortir un diff unifié de toutes les modifications que vous avez apportées au code source :
    git diff
  • Pour afficher les différences dans un fichier unique, utilisez la commande diff (ou incluez plusieurs chemins de fichiers pour afficher les différences entre un ensemble de pages) :
    git diff chemin/vers/fichier

Exporter les patchs

Pour partager les modifications que vous avez apportées, il vous faudra faire un « push » de vos modifications sur votre dépôt GitHub, et soumettre une « pull request ».

  1. Commencez par faire des « commit » des modifications que vous avez apportées à votre dépôt local. Pour ce faire, il vous faudra ajouter à la zone d’attente les fichiers modifiés :
    git add .
  2. Faites ensuite un commit de vos modifications :
    git commit

    Vous avez intérêt à ce que la première ligne de votre message de commit soit concise, et donne une explication rapide de vos modifications. Vous pouvez ensuite donner plus de détails dans les lignes suivantes.

  3. Maintenant que vous avez fait un commit de vos modifications, vous pouvez en faire un push sur votre fork GitHub, comme ceci :
    git push origin nom-de-la-branche
  4. La dernière étape consiste à créer une « pull request » pour nous informer de vos modifications. Quand vous accéderez à votre fork, GitHub vous demandera de créer cette pull request :Créer une pull requestPour créer la pull request, cliquez sur « Compare & Pull Request » !

Bonnes pratiques de développement pour tout le monde

Pour les bonnes pratiques, veuillez vous référer aux informations du codex de WordPress.org. Vous y trouverez plus d’informations sur les normes de développement en PHP, HTML, CSS et JavaScript.

Avez-vous une question ?

Les commentaires sont fermés pour cet article mais nous restons disponibles au besoin pour vous aider ! Visitez le forum d’assistance. Nous nous ferons un plaisir de répondre à vos questions.

Voir le forum d’assistance