Contribuer à un projet open source en Python.

Résolu
yamawi Messages postés 13 Date d'inscription lundi 28 février 2022 Statut Membre Dernière intervention 8 février 2024 - 6 févr. 2024 à 15:02
yamawi Messages postés 13 Date d'inscription lundi 28 février 2022 Statut Membre Dernière intervention 8 février 2024 - 8 févr. 2024 à 09:28

Bonjour,

J'aimerais contribuer à un projet open source en Python. Ça fait un moment que je programme, et j'ai réalisé plusieurs programmes assez complexes, notamment en Python, le langage que je maîtrise le mieux. Cependant, je n'ai jamais participé à un gros projet collaboratif. J'ai toujours réalisé mes projets de manière autonome et ils se composaient généralement de deux ou trois fichiers au maximum.

Je me suis donc renseigné sur la meilleure façon de faire ma première contribution et j'ai appris qu'il était préférable de résoudre une "issue", en particulier celles étiquetées "good first issue". J'ai donc commencé à chercher des projets auxquels je pourrais contribuer, mais je me suis heurté à un obstacle : je ne sais pas comment programmer dans de gros projets. Ces projets sont constitués de plusieurs dossiers avec des noms qui semblent conventionnels tels que "dev", "clients", "tests", "docs", etc. qui contiennent une multitude de fichiers.

Je n'ai jamais travaillé dans une telle structure arborescente. Est-ce que quelqu'un saurait où je pourrais apprendre?


Linux / Chrome 121.0.0.0

A voir également:

1 réponse

mamiemando Messages postés 33088 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 30 avril 2024 7 751
6 févr. 2024 à 15:14

Bonjour,

Généralement tests contient la suite de test (typiquement réalisée avec pytest) et docs tout ce qui est lié à la documentation (généralement générée avec sphinx). Souvent on trouve aussi un dossier src qui contient les sources. Les autres dossiers dont tu parles semblent spécifique aux projets que tu as examiné. dev laisse penser que c'est quelque chose en rapport avec un device, et clients avec un client au sens réseau.

Il existe de nombreux outils pour démarrer un projet. Le plus simple est sans doute de créer ton projet avec poetry (plus précisément la commande poetry init), mais il existe de nombreux modules (cookiecutter, package helper, etc.) qui servent à créer des squelettes de projets.

Si tu te greffes sur un projet, il faudra proposer une pull request (PR). Généralement, il est de bon ton quand tu ajoutes une classe de la tester un minimum en ajoutant quelques tests dans la suite de test.

À noter aussi que généralement, les projets suivent des conventions de nommage et d'écriture (typiquement PEP8), que tu peux contrôler avec flake8.

Généralement, la documentation du projet donne des éléments pour guider les nouveaux arrivants, mais tu peux aussi rentrer en contact avec les responsables du projets pour voir comment tu peux aider et comment faire en sorte que ta contribution soit appréciée.

Un bon endroit, comme tu le soulignes, c'est par exemple dans l'onglet "Issues", où des bugs ou des demandes de nouvelles fonctionnalités peuvent être ouvertes. Tu peux alors déposer un message en annonçant que tu es prêt(e) à contribuer mais que tu as besoin de quelques lignes directrices pour t'insérer dans le projet.

Bonne chance

1
yamawi Messages postés 13 Date d'inscription lundi 28 février 2022 Statut Membre Dernière intervention 8 février 2024
Modifié le 8 févr. 2024 à 15:08

Merci beaucoup pour votre réponse, vos précisions sur les convention de nommage sur les dossiers me seront très utiles. Je vais faire des recherches sur poetry pour mieux comprendre cet outils.

0