Le guide ultime pour démarrer votre parcours de contribution Drupal

Publié: 2022-08-23

Introduction

En tant que système de gestion de contenu open source, Drupal encourage les contributions de la communauté des développeurs et des utilisateurs du monde entier sous diverses formes. Cela peut prendre la forme d'un code qui inclut des correctifs pour les projets principaux et contribués, de manière non codée, y compris le marketing, la documentation, l'organisation d'événements ou en soutenant financièrement le projet. Cet article vous guidera à travers tout ce que vous devez savoir pour commencer votre parcours de contribution au code Drupal à partir de zéro.

Pourquoi contribuer à Drupal

Bien sûr, redonner à un projet qui prend en charge votre façon de travailler et probablement de vivre au quotidien peut être une raison suffisante pour que vous contribuiez et amélioriez volontairement le projet open source. Mais si vous recherchez un peu plus d'incitation à contribuer, voici quelques-uns des avantages que nous avons constatés :

  • Vos contributions aident Drupal à rester pertinent et à jour avec les progrès qui se produisent dans toutes ses dépendances au fil du temps
  • Vous pouvez acquérir plus de connaissances sur Drupal, ce qui vous permettra de créer de meilleures applications pour vos clients.
  • Cela donne un avantage concurrentiel aux organisations qui parrainent du temps pour la contribution à mesure que leurs développeurs acquièrent plus de compétences et de connaissances et en se présentant comme un expert
  • Collaborez et rencontrez des personnes qui partagent les mêmes intérêts que vous

Comment contribuer

Pour commencer, créez-vous un compte sur drupal.org et mettez à jour votre profil avec les détails requis.

Création de compte

Création de compte sur Drupal.org

Rechercher un problème

Une fois le compte créé, la prochaine étape serait de trouver le bon problème. Cela peut varier en fonction de vos intérêts :

1. Vous pouvez trouver un problème dans la file d'attente des problèmes - https://www.drupal.org/project/issues. Pour une recherche plus précise, vous pouvez cliquer sur 'Recherche avancée' et utiliser les filtres.

  • Balises de problème - Les problèmes sont associés à différentes balises. La balise "novice" indique que le problème nécessite une solution simple et que tout débutant peut la choisir, la balise "Needs documentation" indique que ce problème nécessite une modification de la documentation, etc.
  • Statut du problème - Une fois le problème créé, il passe par différents états. En fonction de l'état actuel du problème, vous pouvez décider des prochaines étapes nécessaires pour avancer.
  • Priorité du problème - Il définit la priorité du problème, qu'il s'agisse d'un bogue critique ou d'un correctif mineur.
  • Catégorie de problème - Indique la catégorie du problème, qu'il s'agisse d'un bogue ou d'une tâche, ou encore d'une demande de nouvelle fonctionnalité au projet.
  • Projet spécifique - Ici, vous pouvez spécifier directement le projet qui vous intéresse.
Filtre de problème

Filtres des problèmes

2. Ou commencez par le projet sur lequel vous avez toujours voulu travailler, en visitant la page module/theme/profile - https://www.drupal.org/project/<project_name> . Dans la barre latérale de droite, recherchez le lien "Tous les problèmes" - https://www.drupal.org/project/issues/<project_name>?categories=All

3. Ou travaillez sur un bogue que vous avez rencontré dans le noyau, ou sur tout module/thème/profil contribué en travaillant sur un projet. C'est aussi la bonne façon de contribuer. Il faut toujours s'entraîner à garder son "mode contributeur" activé même en travaillant sur des projets, cela donne l'occasion d'explorer et de contribuer à résoudre les problèmes cachés !

Cycle de vie d'un problème Drupal

Une fois qu'un problème est créé, il passe par différents états. Voici les différents statuts de problème que vous rencontrerez :

  1. Actif - Lorsqu'un nouveau problème est créé, il est dans un état Actif.
  2. Nécessite un examen - Lorsque le problème doit être traité, il est dans un état Nécessite un travail.
  3. Nécessite du travail - Une fois le problème sélectionné, les correctifs soumis avec succès et tous les cas de test réussis, l'état du problème doit être changé en Nécessite une révision.
  4. Examiné et testé par la communauté - Une fois que le problème est examiné par un contributeur, le problème est déplacé vers l'état "Examiné et testé par la communauté" (RTBC) où l'un des membres de l'équipe principale de la communauté examine le problème.
  5. Corrigé - Lorsqu'un problème passe de l'état RTBC, il passe à l'état Corrigé.
  6. Fermé (corrigé) - Après l'état Corrigé, le problème passe automatiquement à Fermé (corrigé) dans les deux semaines. C'est le dernier état d'un problème.
  7. Fermé (duplicata) - Lorsqu'un problème est créé qui est un doublon d'un précédent, il est directement fermé en tant que Fermé (dupliqué).
  8. Fermé (ne sera pas résolu) - Cet état indique qu'un problème n'a pas de solution.
  9. Fermé (fonctionne comme prévu) - Cet état représente qu'un problème soulevé fournit la fonctionnalité ce qu'il était censé faire et donc déplacé vers "fonctionne comme conçu". En d'autres termes, le problème soulevé n'est pas un bug mais une fonctionnalité.
  10. Fermé (ne peut pas se reproduire) - Lorsqu'un problème n'est pas reproductible, il passe à cet état.
  11. Fermé (obsolète) - Lorsqu'un problème est trop ancien pour être résolu ou est résolu dans le cadre d'un problème d'un autre module, l'état peut être Fermé (obsolète) pour ce problème.
  12. Patch (à porter) - Lorsqu'un Patch doit être porté pour d'autres versions du module Drupal/Contributed.
  13. Reporté - Lorsque le problème/la fonctionnalité/le bogue est reporté par l'auteur/la communauté et ne nécessite pas de correctif.
  14. Reporté (le responsable a besoin de plus d'informations) - Lorsqu'un problème est soulevé mais que, selon le responsable du module Contributed, plus d'informations sont nécessaires sur le problème pour le résoudre.

Créer un problème

Pour créer un problème pour le module. Allez dans la file d'attente des problèmes du module https://www.drupal.org/project/issues/<project_name>?categories=All et cliquez sur Créer un nouveau problème .

Diaporama du problème

L'étape suivante consiste à donner des détails sur le problème qui doit être créé.

Synchroniser

1. Titre : ajoutez le titre du problème.
2. Projet : Le nom du projet sera automatiquement sélectionné.
3. Catégorie : Sélectionnez la catégorie du projet. Il y a 5 catégories

  1. Bogue : Un bogue est une erreur fonctionnelle dans le système. Par exemple, erreur php, perte de données, fuite de mémoire, documentation incorrecte ou trompeuse, texte d'interface utilisateur incorrect ou trompeur, etc.
  2. Tâche : il ne s'agit pas d'un bogue fonctionnel mais "doit être fait" avant la publication. Par exemple, refactoriser le code pour le rendre plus lisible et maintenable, ajouter des tests automatisés, mettre à jour le code vers de nouvelles API, améliorer les normes de codage, etc.
  3. Demande de fonctionnalité : il s'agit d'une demande d'ajout de fonctionnalités entièrement nouvelles au module.
  4. Demande d'assistance : si nous avons besoin d'aide sur une partie du module ou si nous voulons en savoir plus sur les fonctionnalités de base de Drupal. Nous pouvons baliser les demandes d'assistance et ajouter la question.
  5. Plan : cette balise est utilisée lorsque vous rencontrez un problème qui ne peut pas être résolu à l'aide d'un seul problème. Les problèmes de plan comporteront souvent plusieurs sous-étapes liées aux problèmes "enfants".

4. Priorité : sélectionnez la priorité du problème. Ici, nous avons Critique, Majeur, Normal et Mineur. Choisissez normal sauf si c'est vraiment grave. Ou vous pouvez le sélectionner comme d'habitude et laisser le responsable ou le réviseur le modifier si nécessaire.

5. Statut : sélectionnez Actif pour les nouveaux problèmes.
6. Version : Sélectionnez la version du projet dans laquelle le problème doit être résolu.
7. Composant : Sélectionnez la correspondance la plus proche du problème. Ceux-ci peuvent être modifiés ultérieurement. Les composants ici sont basés sur le module. Les options diffèrent d'un module à l'autre.
8. Attribué : le problème peut être attribué à n'importe qui. Il n'est pas obligatoire et peut être attribué ultérieurement.
9. Balises : marquez le problème avec les balises appropriées. Cela peut être laissé vide si nous n'avons pas connaissance des balises de problème. Ce n'est pas obligatoire et peut être marqué plus tard.
10. Résumé du problème et relations : développez le champ et nous demandons à l'éditeur d'ajouter les détails du problème. Il existe des en-têtes prédéfinis dans l'éditeur et nous pouvons les remplacer si nous ne les voulons pas dans les détails du problème.

  1. Problème parent : pour marquer le problème parent.
  2. Problème connexe : pour marquer le problème connexe.

11. Fichiers : nous pouvons ajouter les fichiers liés aux problèmes ou nous pouvons télécharger le correctif du problème lors de la création de sous-fichiers. Et enregistrez le problème.

Après avoir enregistré le problème. Le problème créé sera ajouté à la file d'attente des problèmes du module respectif.

Pour créer un problème pour le noyau Drupal https://www.drupal.org/node/add/project-issue/drupal est le lien. Et les étapes seront identiques à celles de la création du problème dans le module. Mais il existe quelques directives pour créer un problème principal qui sera affiché sur le lien ci-dessus.

Image removed.

Ce sont les directives à suivre lors de la création du problème principal.

Créer un correctif

Il y a 2 cas ici

  1. Créer un nouveau patch
  2. Mettez à jour le correctif existant.

Pour créer un nouveau patch

  • Accédez à l'onglet de contrôle de version du module. https://www.drupal.org/project/ <project_name>/git-instructions est le lien vers la page.
  • Sélectionnez la branche à travailler et cliquez sur le bouton Afficher.
Synchronisation des images

En cliquant sur le bouton show, vous obtiendrez la commande git, copiez et exécutez la commande dans votre terminal et changez le répertoire vers le module cloné.

  • Effectuez les modifications pour résoudre le problème.
  • La commande pour créer le patch est :
git diff > <issue-description (optional)>-<issue-number>-<comment-number>.patch
Supprimer le noyau

  1. La description du problème sera le titre du problème, où toutes les lettres doivent être en minuscules et l'espace doit être rempli de traits de soulignement. Ceci est facultatif.
  2. Le numéro du problème sera dans l'URL du problème. Ce sera unique pour les problèmes qui seront obligatoires pour nommer le fichier de correctif.
  3. Le numéro de commentaire est le dernier identifiant de commentaire dans lequel le correctif sera téléchargé.
commentaires

Considérez que vous devez ajouter un nouveau fichier au correctif. Le nouveau fichier ne sera pas suivi et la commande git diff ne suivra pas le fichier.

Pour ajouter un nouveau fichier au patch

  1. Ajoutez le nouveau fichier à l'aide de la commande git add
  2. Courir
 git diff HEAD > <issue-description (optional)>-<issue-number>-<comment-number>.patch

Pour mettre à jour un correctif existant

1. Clonez le projet auquel vous devez ajouter le correctif.
2. Accédez à la page du problème, cliquez avec le bouton droit sur le lien du correctif et cliquez sur le lien Copier l'adresse.
3. Téléchargez le correctif sur votre local à l'aide de la commande curl ou wget.

Pour télécharger le correctif à l'aide de la commande curl :

 curl -O <paste the address link of the patch>


4. Pour appliquer le correctif, exécutez la commande :

 git apply <patch name>


5. Après avoir appliqué le correctif, vous obtiendrez les modifications du correctif dans votre local. Ajoutez les autres modifications requises au correctif et créez un nouveau correctif.

Lorsque nous mettons à jour le correctif existant, nous devons créer un fichier interdiff. Le fichier Interdiff n'est rien d'autre qu'une différence entre l'ancien patch et le nouveau patch. Cela aidera l'examinateur à connaître les modifications apportées dans le nouveau patch.

Voici la commande pour créer un interdiff :

 interdiff <old-patch> <new patch> > interdiff_<old-patch-comment-number>-<new-patch-comment-number>.txt

Considérez que vous avez un ancien correctif de téléchargement 3302030-2.patch et un nouveau correctif mis à jour que vous avez créé 3302030-3.patch. Pour créer l'interdiff entre ces deux fichiers, la commande serait :

 interdiff 3302030-2.patch 3302030-3.patch > interdiff_2-3.txt

Soumettre un correctif

Après avoir créé un correctif, nous devons soumettre le correctif.

Pour soumettre le patch, rendez-vous sur la page du problème.

1. Métadonnées d'émission

Métadonnées

Dans les métadonnées du problème, remplacez le statut par l' examen des besoins. Annulez l'attribution du problème si le problème vous est attribué et ajoutez ou supprimez les balises selon vos besoins.

2. Attribuez cette contribution

Attribut

Cochez les options pertinentes et ajoutez l'organisation si vous travaillez pour une organisation. En ajoutant cela, les crédits seront accordés à l'organisation avec vous lorsque le problème sera résolu.

3. Ajoutez une description des modifications apportées au correctif dans la section des commentaires.
4. Choisissez le fichier de correctif, le fichier interdiff et téléchargez-le sous fichiers.

Des dossiers

Ici, nous avons ajouté les fichiers un par un et cliqué sur le téléchargement après avoir choisi le fichier. En cliquant sur télécharger, le fichier sera téléchargé et ajouté à la liste ci-dessous.

REMARQUE : Interdiff n'est pas nécessaire lors de l'ajout d'un nouveau correctif.

5. Après avoir téléchargé le fichier, cliquez sur le bouton Enregistrer. Cela mettra à jour la page du problème et nous pourrons voir le correctif téléchargé avec un nouveau numéro de commentaire.

Les correctifs pour les problèmes principaux doivent être soumis en suivant la même procédure.

Réviser un patch

Vous savez maintenant comment rechercher un problème, créer un correctif et le télécharger. Et après? Comment pouvons-nous nous assurer que le bon correctif est validé dès que possible ? L'examen d'un correctif est une étape tout aussi importante pour faire avancer le problème. Si vous pensez que l'écriture de lignes de code n'est pas votre truc, pourquoi ne pas essayer de revoir les correctifs existants ?

Avant de commencer, nous vous recommandons vivement d'ajouter l'extension Dreditor à votre navigateur.

Dréditeur

Extension Dreditor

Il vous fournit un bouton "Revoir" pour les fichiers patch/interdiff. Au clic, il affiche les modifications dans un format facile à lire.

Examen

Bouton "Revoir" de Dreditor

Correctif

Modifications du fichier de patch sans Dreditor

Modifications du fichier de correctif

Nous sommes maintenant prêts à trouver un problème à examiner !

  • Filtrez les problèmes avec le statut 'Besoin d'examen'.
  • Faites votre choix dans la liste.
  • Lisez les commentaires et choisissez le dernier correctif téléchargé dans le numéro.
  • Assurez-vous que le patch a réussi les cas de test et est devenu vert.
Réussir le test de patch

Patch qui a réussi les tests

  • Téléchargez le fichier de correctif et appliquez le correctif sur votre local dans votre noyau/module/thème/profil en exécutant :
 git apply <patch-file-downloaded> -v
  • Testez si cela fonctionne selon les attentes / a besoin de quelques travaux.
  • Modifiez l'état du problème et ajoutez des commentaires avec des images/vidéos à l'appui de vos arguments. Votre commentaire doit contenir des détails tels que si le correctif a été appliqué à la dernière version, quelles étapes ont été suivies pour reproduire le problème, le comportement du problème avant et après l'application du correctif, etc.
  • Si tout semble bon, changez le statut en 'RTBC'.
  • S'il y a de la place pour des travaux/modifications supplémentaires, mettez à jour le statut sur "Besoin de travail".

Autres façons de contribuer

Outre les contributions au code, le projet Drupal comporte de nombreux domaines auxquels vous pouvez contribuer, notamment l'amélioration de sa qualité et de sa portée. Vous pouvez choisir votre méthode de contribution à cette communauté en fonction de vos intérêts. Certains des domaines de contribution ::

  • Par le mentorat - Si vous avez de l'expérience en tant que contributeur, vous pouvez aider les autres à démarrer en devenant un mentor, en ligne ou en personne.
  • Vers la documentation - Toute la documentation du projet Drupal est librement fournie par des personnes du monde entier, tout comme vous.
  • Partage des connaissances - Un moyen important de contribuer au projet Drupal est de partager vos connaissances sur Drupal en écrivant des articles de blog, en faisant une présentation lors de la rencontre de votre groupe Drupal local, un DrupalCamp ou un DrupalCon, en devenant formateur, etc.
  • Planification d'événements - En organisant ou en faisant du bénévolat dans des événements Drupal virtuels ou en personne comme des rencontres, des sprints, etc.
  • Par marketing - Vous pouvez travailler avec d'autres équipes marketing du monde entier pour créer des supports marketing et commerciaux de marque Drupal qui peuvent être partagés et utilisés par tous ceux qui vendent des services Drupal.
  • En contribuant à des modules/thèmes - La collaboration sur des projets Drupal, y compris des modules, des distributions et des thèmes, est un moyen intégral de contribuer à la communauté Drupal.

Restez connecté et mis à jour !

• Mou

  • La communauté Drupal dispose d'un espace de travail Slack principal appelé simplement "Drupal" - - http://drupal.slack.com/
  • Vous trouverez une variété de canaux pour différents sujets, comme #support, #bugsmash, #contribute, #drupal10rediness, etc.

• Blogues

  • Les membres de la communauté Drupal écrivent des articles de blog sur Drupal.
  • Même VOUS pouvez être l'un d'entre eux !

• Médias sociaux - Twitter, LinkedIn, etc.

  • Suivre tous les profils liés à Drupal peut vous tenir au courant de tous les changements/événements en cours autour de Drupal.

Code de conduite Drupal

Comme Drupal est une source ouverte et que notre communauté grandit, il est impératif que nous préservions les choses qui nous ont amenés ici. Voici quelques points concernant la conduite.

  • Soyez collaboratif

Comme Drupal a une plus grande communauté, la collaboration est la clé. En travaillant en équipe, nous pouvons apporter le meilleur de la plateforme Drupal.

  • Être respectueux

Comme chacun apporte une contribution précieuse à Drupal, la communauté et ses membres se traitent avec respect.

  • Lorsque nous ne sommes pas sûrs, demandez de l'aide

Personne n'est parfait dans Drupal, et personne n'est censé tout savoir dans la communauté Drupal. Poser des questions peut résoudre de nombreux problèmes, les questions sont donc encouragées.

  • Veuillez contacter vos collègues/l'administrateur de Slack si vous êtes victime ou témoin de harcèlement ou si vous avez besoin d'aide pour l'administration de Slack.

https://www.drupal.org/dcoc est le lien vers le document où vous pouvez trouver le code de conduite en profondeur.

Dernières pensées

En tant qu'organisation qui vit et respire Drupal, nous nous engageons toujours à redonner au projet de toutes les manières possibles. Si vous recherchez une agence Drupal de confiance pour votre prochain projet, nos experts se feront un plaisir de vous aider. Parlez-nous aujourd'hui!