Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant

Conseils pour commencer à contribuer aux projets Open-Source d'Ultralytics

Abirami Vina

4 min de lecture

28 août 2024

Apprenez à contribuer aux projets open-source d'Ultralytics et explorez les meilleures astuces liées à la documentation, à la révision des PRs et à l'utilisation des outils essentiels.

Les logiciels libres reposent sur la collaboration, l'apprentissage et le partage. Les projets open-source sont un excellent moyen pour les gens de se réunir pour construire quelque chose de plus grand qu'eux-mêmes. Chez Ultralytics, les principes de l'open-source nous tiennent à cœur et nous vous encourageons toujours à contribuer à nos projets open-source. 

Si vous êtes enthousiaste à l'idée de contribuer, que ce soit en écrivant de la documentation, en révisant du code ou en traitant des problèmes, mais que vous ne savez pas par où commencer ou que vous êtes confronté à des problèmes, nous sommes là pour vous aider à démarrer. Dans cet article, nous allons vous donner quelques conseils pour commencer à contribuer aux projets open-source d'Ultralytics . Plongeons dans l'aventure !

L'importance des contributions de la communauté Ultralytics

Avant de voir comment contribuer, répondons à la question de savoir pourquoi les contributions sont si cruciales. Nous croyons fermement en l'importance des contributions de la communauté Ultralytics . En participant à nos projets open-source, vous faites plus que nous aider à construire un meilleur logiciel. Les contributeurs jouent un rôle clé en s'assurant que notre technologie reste ouverte, collaborative et en constante évolution. Vos contributions permettent à nos projets de prospérer, d'être accessibles et bénéfiques pour les utilisateurs et les développeurs du monde entier !

Au-delà de la création de logiciels de pointe, la contribution aux projets d'Ultralytics est également une formidable opportunité de développement. Vous pouvez développer vos compétences en matière de codage, de résolution de problèmes et de travail d'équipe tout en travaillant avec des développeurs expérimentés qui peuvent vous donner des conseils et partager les meilleures pratiques. Vos efforts peuvent avoir un impact réel sur des outils utilisés par des milliers de personnes dans le monde. En vous engageant auprès de notre communauté, vous pourrez également élargir votre réseau professionnel, saisir de nouvelles opportunités et enrichir votre portfolio afin de vous démarquer auprès des employeurs.

Fig. 1. Raisons de contribuer. Image de l'auteur.

Comment commencer avec les contributions Open-Source d'Ultralytics

Un bon point de départ est de consulter le guide officiel de contribution à Ultralytics . Il est rempli de bonnes pratiques et de conseils pour vous aider à tirer le meilleur parti de vos contributions. La première étape serait de vous familiariser avec ce qui fait déjà partie du projet en comprenant les directives de contribution et en plongeant dans le code. 

Que vous souhaitiez contribuer au développement ou simplement explorer le dernier code, la prochaine étape consiste à cloner le dépôt Ultralytics . Une fois cela fait, vous pouvez aller dans le répertoire du projet et installer le paquetage en mode éditable, comme le montre l'extrait de code ci-dessous.

Si vous avez besoin d'aide, notre guide de démarrage rapide contient tout ce dont vous avez besoin pour démarrer en douceur.

Différents domaines de contribution

Une fois que vous avez configuré votre environnement et que vous vous êtes familiarisé avec le projet, vous pouvez explorer les différents domaines dans lesquels vous pouvez avoir un impact significatif. Ultralytics propose plusieurs façons de s'impliquer, et vous pouvez choisir comment contribuer en fonction de vos compétences et de vos intérêts. 

Voici un aperçu de certaines des options :

  • Documentation : Contribuer à la documentation est un excellent moyen de plonger dans le projet tout en perfectionnant vos compétences en rédaction. Vous pouvez aider en améliorant la documentation existante, en ajoutant des détails manquants ou en créant de nouveaux guides qui facilitent la contribution des autres.
  • Corrections de bogues : Si vous avez de l'expérience en codage, envisagez de travailler sur des corrections de bogues. Celles-ci peuvent aller de modifications mineures à des problèmes plus complexes, ce qui vous donne la possibilité d'avoir un impact tangible sur le projet.
  • Améliorations des fonctionnalités : Pour ceux qui sont prêts à approfondir leurs connaissances, travailler sur les améliorations des fonctionnalités peut être à la fois stimulant et gratifiant. Cela peut impliquer l'ajout de nouvelles fonctionnalités, l'amélioration de celles qui existent déjà ou le travail sur la feuille de route du projet.
  • Examen des demandes de tirage : L'examen des demandes de tirage est une autre façon précieuse de contribuer, surtout si vous connaissez les normes et les meilleures pratiques du projet. En fournissant des commentaires et en suggérant des améliorations, vous contribuez à maintenir la qualité et l'intégrité de la base de code.
  • Discussions communautaires : Participer à des discussions communautaires est un excellent moyen de contribuer si vous aimez la collaboration et le partage d'idées. Participez aux conversations en cours, proposez de nouvelles idées ou aidez les autres en offrant vos idées et vos solutions.

Chacun de ces domaines offre une façon unique de contribuer, et vous pouvez choisir celui qui correspond le mieux à vos forces et à vos intérêts. N'oubliez pas que chaque contribution, aussi petite soit-elle, joue un rôle clé dans la croissance et l'évolution d'Ultralytics .

Fig 2. Chaque contribution est valorisée au sein de notre communauté en pleine croissance. Source de l'image : Envato Elements.

Contribuer à la documentation open-source d'Ultralytics

Lorsque vous contribuez à la documentation d'Ultralytics , assurez-vous de passer en revue la documentation existante et de vérifier s'il y a des problèmes ou des discussions qui mettent en évidence des domaines nécessitant des améliorations. Cela permet de s'assurer que vos contributions sont concentrées là où elles sont le plus nécessaires. 

Lorsque vous rédigez ou modifiez du contenu, n'oubliez pas qu'il est essentiel de suivre les directives du projet afin de maintenir une certaine cohérence. Voici quelques conseils de mise en forme :

  • Utilisez toujours le formatageMarkdown .
  • Commencez chaque document par une introduction claire et utilisez un langage simple et accessible. 
  • Utilisez des puces pour les listes, un texte descriptif pour les liens et des images de moins de 1 Mo pour accélérer le chargement des pages.
  • Si vous avez des questions sur la mise en forme, un moyen simple de vérifier votre mise en forme est de contrôler la mise en forme de la documentation précédente.
Fig. 3. Un exemple de formatage Markdown (à gauche) et le document final visualisé (à droite). Image par l'auteur.

Une fois votre brouillon terminé, il est important de le prévisualiser en construisant la documentation localement. Vous pouvez ainsi détecter les problèmes avant de soumettre votre travail. Pour ce faire, commencez par cloner le référentiel et accédez au répertoire du projet :

Ensuite, vous pouvez installer les dépendances nécessaires :

Enfin, servez la documentation localement pour examiner vos modifications :

Vous pouvez consulter les documents créés localement en allant sur `http://127.0.0.1:8000/` dans votre navigateur web. 

Après avoir vérifié la clarté, l'exactitude et la cohérence, vous pouvez soumettre une requête d'extraction (pull request) avec une description claire du document que vous avez créé. Veillez à placer le document dans la section appropriée en fonction de son appartenance et de sa pertinence (guides, solutions, intégrations, etc.). Veuillez également consulter le fichier index.md pour les sections concernées et le fichier mkdocs.yml global, et effectuer les mises à jour nécessaires. Le souci du détail facilitera le processus d'examen et permettra d'intégrer correctement votre contribution au projet.

Éléments à garder à l'esprit lorsque vous contribuez à du code open source

Lorsque vous contribuez au code du projet Ultralytics , il est important de suivre les meilleures pratiques qui garantissent que votre code est propre, maintenable et facile à intégrer. Voici quelques points clés à garder à l'esprit :

  • Évitez la duplication de code : Réutilisez le code existant autant que possible et minimisez les arguments inutiles.
  • Effectuez des modifications plus petites et ciblées : Concentrez-vous sur des modifications plus petites et ciblées plutôt que sur de vastes modifications.
  • Simplifiez ou supprimez le code : Recherchez les possibilités de simplifier le code ou de supprimer les parties inutiles.
  • Rédigez des docstrings efficaces : Expliquez clairement ce que fait votre code et créez des liens vers les ressources pertinentes.
  • Évitez les dépendances inutiles : N'ajoutez des dépendances que si elles sont absolument nécessaires.
Fig 4. Meilleures pratiques de documentation du code source.

Il est également essentiel de prendre en compte la maintenabilité à long terme de la base de code. Avant d'apporter des changements, demandez-vous si vos modifications ne risquent pas de casser le code existant de quelqu'un qui utilise Ultralytics. Si c'est le cas, réfléchissez à la manière d'y remédier et assurez-vous que vos modifications sont aussi compatibles que possible.

Une fois que vous avez développé un morceau de code à contribuer, vous devez le tester. Vous pouvez utiliser des frameworks comme pytest pour tester vos modifications avant de les soumettre. Un formatage cohérent du code est un autre aspect très important de votre contribution. Des outils tels que Ruff Formatter peuvent vous aider à maintenir la cohérence stylistique et à detect bogues logiques ou les incohérences dans votre code. 

Examen des requêtes d'extraction (pull requests)

L'examen des demandes d'extraction (PR) est un excellent moyen de contribuer au projet ! Une PR est créée lorsque quelqu'un demande à fusionner ses changements dans le projet principal. Elle aide à maintenir le projet Ultralytics en bon état de marche. Lorsque vous examinez une PR, assurez-vous de comprendre pourquoi les changements ont été effectués. L'auteur doit clairement expliquer le but et les avantages de la mise à jour, et vous devez voir des preuves de tests approfondis dans leur PR. 

Fig 5. Qu'est-ce qu'une demande de tirage (pull request) ?

Passons en revue quelques points clés sur lesquels se concentrer.

  • Vérifiez les tests unitaires : Assurez-vous que la PR inclut des tests pour les nouvelles fonctionnalités ou les modifications afin de confirmer que le code fonctionne comme prévu et n'introduit pas de problèmes.
  • Vérifiez les mises à jour de la documentation : Assurez-vous que la documentation est mise à jour pour refléter les modifications ou les nouvelles fonctionnalités, y compris les exemples, les références API et autres détails pertinents.
  • Évaluez l'impact sur les performances : Déterminez comment les modifications affectent les performances. Si nécessaire, demandez des benchmarks de performance ou des tests supplémentaires.
  • Vérifiez les tests CI : Assurez-vous que tous les tests d'Intégration Continue (CI) sont réussis, y compris les vérifications du formatage du code et les résultats des tests unitaires.
  • Collaborez aux corrections : Si des tests échouent, travaillez avec l'auteur pour résoudre les problèmes avant d'approuver la PR.

En tant qu'examinateur, assurez-vous de fournir un retour d'information spécifique et clair sur tout problème ou préoccupation. Offrez des suggestions d'amélioration et posez des questions qui aident l'auteur à réfléchir aux problèmes potentiels. Encouragez-les à suivre les meilleures pratiques en matière de codage, de test et de documentation, et n'hésitez pas à les orienter vers des ressources qui peuvent les aider. Enfin, et surtout, reconnaissez toujours l'effort que l'auteur a investi dans la PR. Les commentaires positifs contribuent à maintenir une atmosphère amicale et collaborative dans la communauté open-source.

Contribuer, c'est avant tout une question de communauté

Contribuer à des projets open-source comme Ultralytics peut vous donner un sentiment inspirant de communauté. Que vous écriviez du code, révisiez des PR, mettiez à jour de la documentation ou participiez à des discussions, chaque effort contribue à la croissance et à l'évolution du projet. Répondre à des questions ou participer à des conversations, que ce soit sur GitHub, Discord, Subreddit ou d'autres forums, est un moyen précieux de contribuer et de se connecter avec les autres. N'oubliez pas que vos contributions, aussi petites soient-elles, ont un impact significatif et contribuent à créer un environnement de collaboration et de soutien pour toutes les personnes impliquées !

Chez Ultralytics, nous sommes passionnés par l'innovation au sein de la communauté open-source. Restez au courant de nos derniers développements en visitant notre dépôt GitHub. Rejoignez notre communauté dynamique et découvrez l'impact que nous avons sur des secteurs tels que l'agriculture et la fabrication.

Construisons ensemble l'avenir
de l'IA !

Commencez votre parcours avec l'avenir de l'apprentissage automatique

Démarrer gratuitement