Nouveaux développeurs

This page is a translated version of the page New Developers and the translation is 95% complete.
Outdated translations are marked like this.

Cette page explique comment démarrer en tant que développeur qui souhaite contribuer aux projets techniques de Wikimedia.

Bienvenue !

Participants du Wikimedia Hackathon 2019 (Prague)

La communauté technique de Wikimedia accueille toujours de nouveaux contributeurs !

Faites partie d'une communauté mondiale et contribuez à faciliter l'accès à la connaissance gratuite plus facile pour chacun !

Comment commencer à contribuer

Les étapes suivantes sont un aperçu général sur la manière de commencer à contribuer :

  1. Apprenez les bases du fonctionnement des projets logiciels open source Wikimedia.
  2. Lisez les directives de communication.
  3. Configurer les comptes: créer un compte développeur. Selon le type de contribution que vous souhaitez apporter, vous devrez peut-être également créer des comptes dans Phabricator, et configurer Git et Gerrit.
  4. Choisir un projet logiciel
  5. Choisir et résoudre une tâche (écrire et tester votre code)
  6. Soumettez vos modifications de code pour relecture. Suivez le guide pour faire relire votre code et soumettez un patch.

Le reste de ce guide fournit des détails supplémentaires à propos du processus.

Bases du fonctionnement des projets logiciels Wikimedia

Wikimedia a des projets logiciels dans de nombreux domaines différents.

Les mainteneurs de chaque projet logiciel choisissent l'infrastructure qu'ils préfèrent. En général, la plupart des projets logiciels ont :

  • Un outil de suivi des tâches où les bogues logiciels et les demandes d'amélioration sont signalés, gérés et discutés. Les exemples sont Wikimedia Phabricator, GitHub, ou Wikimedia GitLab.
  • un dépôt de code où le code source peut être extrait par chacun. Les exemples sont Wikimedia Gerrit, GitHub, ou Wikimedia GitLab.
  • Un outil de révision de code où les changements de code proposés (les "patches") sont discutés et améliorés. Des exemples sont Wikimedia Git/Gerrit, GitHub, ou GitLab. Une fois que le patch proposé est approuvé et fusionné dans le dépôt de code, vos modifications de code deviennent disponibles pour tout le monde.
  • Des lieux de discussion généraux sur le projet de logiciel, ainsi que des lieux d'aide et de soutien. Ces endroits peuvent être des listes de diffusion, des canaux de discussion IRC, des pages wiki ou d'autres endroits. Les endroits exacts dépendent de chaque projet.

À tout moment, si vous rencontrez des problèmes ou avez besoin d'aide, n'hésitez pas à demander. Pour poser les bonnes questions aux bons endroits, suivez les "conseils de communication".

Aperçu des domaines techniques

Pour un aperçu de la technologie Wikimedia et des exemples de domaines dans lesquels des développeurs peuvent contribuer, visitez l'Introduction à l'écosystème technique de Wikimedia.

Contribuer au logiciel dans MediaWiki

Êtes-vous un utilisateur de MediaWiki voulant ajouter une fonctionnalité ou corriger un bogue ? Voyez Comment devenir un hackeur de MediaWiki pour apprendre comment trouver et contribuer à la partie du projet logiciel de MediaWiki que vous cherchez.

Choisir un projet logiciel

Les projets suivants offrent des ressources, des tutorats, et cherchent de nouveaux développeurs pour contribuer. Choisissez l'un des projets suivants et suivez la documentation du projet pour configurer votre environnement de développement, choisir une tâche sur laquelle travailler, résoudre la tâche et soumettre vos modifications de code pour examen. Vous êtes libres de contribuer à ces projets ou à n'importe quel autre qui vous intéresse et qui est lié à Wikimedia. La plupart peuvent être trouvés en cherchant sur Phabricator ou en ligne.

 

 

Un lecteur hors ligne pour les personnes qui n'ont pas d'accès internet

Applications Commons pour Android

 

application pour les appareils Android permettant de téléverser vos images sur Wikimedia Commons

Tableau de bord Wiki enseignement

 

Une application web qui prend en charge la logistique Wikipedia pour l'enseignement, fournit les données et la gestion des cours pour les instructeurs et les étudiants.

  • Compétences requises : Ruby, JavaScript
  • Contact : #wikimedia-ed connecter sur irc.libera.chat
  • Obtenir le code source : GitHub
  • Lire la documentation
  • Voir les tâches recommandées sur lesquelles travailler : GitHub
  • Mentor(s) : Sage Ross

  Pywikibot

 

Une bibliothèque Python et une collection de scripts qui automatisent le travail sur les sites MediaWiki.

  Scribe

 

Scribe fournit des claviers basés sur wikidata pour ceux qui apprenent une seconde langue. Les fonctionnalités incluent la traduction, la conjugaison des verbes, et l'annotation nom-genre. Ce projet est très ouvert à ceux qui veulent apprendre les langues nécessaires et comment travailler avec Wikidata !

  VideoCutTool

 

Un outil pour éditer les vidéos sur Wikimedia Commons.

  SignIt Firefox Extension

 

L'extension du navigateur web Lingua Libre SignIt traduit un mot écrit sélectionné, via une pop-up élégante pour que vous appreniez le langage des signes en lisant en ligne. Vous pouvez ajouter une vidéo en langue des signes utilisant [$url Lingualibre.org] en sélectionnant une langue signée, et en enregistrant la vidéo de votre interprétation.

Vous assurez la maintenance de votre projet et vous voulez qu'il soit inclus dans la liste des projets logiciels ci-dessus ? Voir ici et rejoignez-nous !

Programmes de sensibilisation et tâches uniques

A part les projets recommandés ci-dessus, il existe d'autres manières de choisir un projet ou une tâche sur laquelle travailler :

  Programmes de sensibilisation

Wikimedia offre des stages dans des programmes tels que Google Summer of Code et Outreachy.

  Premières tâches pour bien commencer

Il existe de nombreuses tâches indépendantes (dans de nombreux projets logiciels) qui conviennent aux nouveaux arrivants.
Cependant, il se peut qu'il n'y ait pas de tuteurs pour ces tâches, et que les correctifs que vous proposez ne soient pas examinés rapidement.

Conseils de communication

Suivez ces conseils pour communiquer efficacement et obtenir de l'aide de la part des membres de la communauté.

Utiliser efficacement les tâches Phabricator

Si vous envisagez de travailler sur une tâche de Phabricator  :

  • Il est inutile d'en demander la permission : Vous pouvez travailler sur les tâches non assignées sans demander que quelqu'un vous les assigne. Il n'existe aucune autorité qui assigne les tâches ou qui doit être consultée en priorité.
    • Si une tâche possède déjà une correction récente dans Gerrit, choisissez-en une autre à la place, sur laquelle vous allez travailler.
    • Si un patch dans Gerrit n'a pas été fusionné et n'a pas évolué depuis un long moment, vous pouvez l'améliorer en vous basant sur les commentaires qu'il aura reçus dans Gerrit et dans la tâche.
  • Faites d'abord votre recherche : Quand vous aurez décidé de travailler sur une tâche, faites certaines investigations avant de commencer à coder. Analysez le code, essayez de comprendre ce qu'il est supposé faire, lisez la documentation associée et essayez d'identifier les parties de code à modifier.
    • Dans une tâche Phabricator , utilisez les balises du projet dans la barre latérale pour trouver le dépôt de code correspondant à la tâche.
    • Si vous n'avez aucune idée sur la manière de corriger le bogue, essayez d'en trouver un autre, plus simple.
  • Il n'est pas utile de décrire vos plans avant de commencer à travailler sur une tâche, mais au moins signalez votre intention de travailler sur celle-ci.
    • Lorsque vous commencez à travailler, déclarez-vous responsable de la tâche en cliquant sur Edit Task… dans Phabricator, et en entrant votre nom d'utilisateur Phabricator dans la champ Assigned To. Ceci indique aux autres que vous travaillez dessus, afin qu'il n'y ait pas de doublon.
    • Si vous venez à modifier vos plans ou vos centres d'intérêt : Si vous arrêter de travailler sur une tâche, désassignez-vous de cette tâche. Ceci permet aux autres de savoir qu'il peuvent reprendre cette tâche et que vous n'allez plus travailler dessus.
  • Suivez l'étiquette de Phabricator.
    • Dans les tâches Phabricator, ne débatez que des questions spécifiques concernant le sujet de la tâche actuelle. N'utilisez pas Phabricator pour poser des questions d'ordre général, comme sur la façon de configurer un environnement de développement, ou comment corriger des problèmes avec Gerrit.

Rédiger des questions valides

  • Ne demandez pas simplement dans le but de poser une question !.
  • Soyez concis et fournissez le contexte : Au lieu de dire simplement « Pouvez vous me donner d'autres informations ? », « Aidez-moi ! » ou « Pouvez-vous me dire comment commencer ? », ajoutez l'information suivante à votre question :
    • Qu'essayez-vous de faire ?
    • Qu'avez-vous déjà essayé ? Copiez et collez vos commandes avec leurs résultats (si ce n'est pas trop long) au lieu de paraphraser avec vos propres mots.
    • Qu'avez-vous déjà découvert durant vos investigations ? Incluez les liens vers le code, la documentation ou les autres ressources que vous avez déjà consultées.
  • Utilisez les titres spécifiques et les lignes de sujet dans vos communications. Essai de proposition ou Aide demandée n'est pas spécifique.
  • Garder la conversation lisible : Lorsque vous répondez dans Zulip, dans les tâches Phabricator, ou sur les listes de diffusion, ne faites référence qu'aux sections des commentaires précédents qui ont un rapport avec votre réponse. Si vous citez un commentaire antérieur complet, cela peut rendre difficile la lecture des fils de discussion.

Suivre les règles de communication et les meilleures pratiques

Avant d'envoyer ou de publier votre question :

Demander au bon endroit

  • Posez vos questions de manière publique : n'envoyez pas de messages privés si le sujet de votre conversation n'est pas personnel. Les messages privés n'aident pas les autres.
  • Demandez et discutez à l'endroit qui est conçu pour cela :
    • Dans les tâches Phabricator, ne discutez que des questions liées au sujet de la tâche.
    • Posez vos questions générales techniques, comme sur la manière de configurer un environnement de développement ou de corriger les problèmes avec Gerrit, aux endroits indiqués sur Communication .
    • Si vous participez à un programme de sensibilisation, alors Zulip est à utiliser pour discuter des questions concernant les programmes de sensibilisation eux-mêmes.

Soyez patient

Après avoir publié votre question :

  • Ne demandez pas la relecture du code dans un message séparé. Les personnes qui recevront les notifications de Gerrit et de Phabricator y répondront quand elles pourront.
  • Si vous cherchez des réponses ou des commentaires, particulièrement durant les week-ends ou les vacances, il est possible que vous ayez à attendre jusqu'à l'heure d'ouverture des bureaux. Sur les canaux tels que IRC: si personne ne répond, essayez à nouveau à un autre moment; n'abandonnez pas simplement!
  • Si vous n'obtenez pas de réponse même après avoir attendu patiemment, voyez si d'autres canaux de communication ne seraient pas préférables pour poser votre question.

Ressources supplémentaires