Le meilleur endroit pour commencer n'importe quelle contribution à l'open source est celui qui correspond à vos connaissances, votre expérience, et vos centres d'intérêts.
Avant de commencer
Avant de commencer à contribuer, cela peut aider d'avoir un ressenti du projet dans son ensemble. Si vous n'avez pas encore complété le tutoriel BeeWare, commencez par là. Cela vous donnera un aperçu des outils BeeWare les plus importants, vous pourrez ainsi voir comment ils s'imbriquent.
Une fois le tutoriel complété, vous serez prêt à choisir un aspect sur lequel travailler. Si vous vous heurtez à un problème en suivant le tutoriel – si vous rencontrez un bogue, ou si le language utilisé n'est pas clair – c'est un bon endroit pour commencer! Si vous pouvez faire de votre expérience une amélioration du tutoriel, la prochaine personne qui suivra le tutoriel n'aura pas le même problème.
En revanche, si votre expérience du tutoriel était satisfaisante, (et nous espérons qu'elle l'était !), voici quelques idées d'où vous engager, selon vos compétences et vos intérêts.
Programmation Python
Briefcase
Si vous aimeriez contribuer à un outil dont l'énoncé de problème est clairement défini, mais nécessite la correction de bogues et l'ajout de fonctionnalités, Briefcase peut être le projet pour vous. Briefcase est un outil pour empaqueter un projet Python en une application autonome avec interface utilisateur graphique. Il prend le fichier de configuration pyproject.toml, et s'en sert pour générer des installeurs ou des ensembles d'applications distribuables.
Le suivi des problèmes de Briefcase contient une collection de suggestions de fonctionnalités (ainsi qu'un plus petit nombre de bogues). Si c'est votre première contribution, cherchez un ticket marqué [good first issue] – ce sont des problèmes choisis spécialement pour ceux qui contribuent pour la première fois car ils devraient êtres relativement directs à implémenter. Vous pourriez aussi trouver pratique de filtrer les tickets pour la plateforme que vous utilisez pour développer – il sera difficile de résoudre un problèmes lié à Linux si vous n'avez pas de machine Linux pour les essais !
Choisissez un ticket, laissez un commentaire disant que vous jetez un œil au problème, et essayez de développer une "pull request" implémentant une solution !
Colosseum
Si l'idée d'un problème très bien spécifié mais complexe vous intéresse, Colosseum est un bon endroit pour contribuer. Colosseum est une implémentation en pur Python de l'algorithme de mise en page CSS, conçue comme un navigateur. BeeWare l'utilise pour disposer les widgets à l'écran d'une application. La spécification CSS dispose d'une suite de tests étendue ; Colosseum doit réussir tous ces tests.
La documentation de Colosseum a un guide de contribution pour vous mener à travers votre première contribution à Colosseum.
Programmation avec interface graphique
Si vous avez de l'expérience avec une bibliothèque de widgets natifs — Cocoa sur macOS, GTK+ sur Linux, Windows Forms, ou les bibliothèques natives iOS ou Android, vous pourriez aider avec Toga. Toga est une boîte à outils de widgets multiplateforme – elle offre interface commune pour des éléments d'interface utilisateur comme des boutons et des arbres.
Toga dispose déjà d'une gamme d'interfaces définies ; cependant, l'implémentation de ces interfaces n'est pas complète sur toutes les plateformes. Choisissez un élément graphique et implémentez-le pour la plateforme de votre choix !
Même si vous ne connaissez pas de bibliothèque de widgets native, vous pouvez tout de même aider avec Toga. Coder de nouveaux widgets est bien moins compliqué qu'il n'y paraît. Chaque plateforme a de la documentation sur l'utilisation de leurs APIs, et le processus de traduction de la documentation de la plateforme depuis un autre language (e.g., Objective C ou C#) est relativement direct. Le code existant devrait vous donner des indications sur la manière dont cela peut être fait, et l'équipe BeeWare sera ravie de vous aider si vous en avez besoin. Rejoignez le Discord BeeWare et nous ferons tout ce que nous pourrons pour vous aider !
Si vous n'êtes pas prêt à transformer du code d'un language à un autre, il reste toujours la suite de tests. La bibliothèque principale de Toga dispose également d'une suite de tests, mais sa couverture n'est pas très bonne. Choisissez une interface graphique, et voyez si vous pouvez écrire un test pour celle-ci !
Documentation
Une bonne documentation est essentielle pour tout projet réussi. Nous savons que Toga et Briefcase nécessitent tous deux des améliorations significatives à leur documentation. Vous avez complété le tutoriel ; maintenant regardez la documentation pour Toga et Briefcase et voyez si vous pouvez trouver un moyen d'améliorer les tutoriels, les références et les guides sur les sujets qui y sont.
Tutoriels
Une des meilleures manières de contribuer est de s'assurer que notre guide d'introduction et notre tutoriel sont en béton. Choisissez un projet de la suite BeeWare qui vous intéresse, et essayez de suivre le guide d'introduction et le tutoriel. Si vous ne trouvez pas ce guide – alors c'est la première chose à signaler !
A mesure que vous avancez dans le tutoriel, prenez en note tout ce qui ne fait pas sens, ou ne fonctionne pas. Puis ouvrez un signalement de bogue pour ces problèmes.
Windows
Si vous utilisez Windows, BeeWare peut vraiment bénéficier de votre aide. Les membres de l'équipe principale utilisent tous Linux et macOS pour développer au quotidien, il est donc facile pour les incompatibilités avec Windows de passer à la trappe. C'est presque toujours dû à un oubli. Identifier – et peut-être même résoudre – les problèmes avec l'exécution des outils BeeWare sur Windows est une aide immense.
Languages
Parlez-vous une autre langue que l'anglais ? Pour le moment, les membres de l'équipe principale sont tous anglophones natifs. Proposer des traductions de la documentation, de nouveaux tutoriels ou guides dans votre langue maternelle est un excellent moyen de contribuer. Prenez un projet ayant déjà de la documentation, et traduisez ce texte. Alternativement, partez de rien et écrivez un tutoriel complètement nouveau.
Si vous parlez une langue comprenant des caractères non latins (e.g., Russe ou Chinois), ou une langue s'écrivant de droite à gauche (e.g., Hébreu or Arabe) vous pourrez alors signaler tous les endroits où nous avons supposé un simple encodage ASCII ou des conventions d'écriture de gauche à droite. Prenez n'importe quel projet BeeWare actif, et essayez de l'utiliser dans votre langue. Si vous rencontrez des problèmes, signalez-les comme des bogues ; si vous êtes téméraire, voyez si vous trouvez comment résoudre le bogue.
Utilisation pratique
Un des meilleurs moyens pour nous de déterminer où sont nos lacunes – tant dans la documentation que les APIs – est que des gens utilisent réellement BeeWare pour construire quelque chose. Donc si aucune des idées précédentes ne vous attire, pourquoi ne pas essayer de faire quelque chose par vous-même ? Utilisez la suite BeeWare pour créer l'application que vous avez toujours voulue – une visualisation d'une source de données, ou une application mobile pour enregistrer vos activités – quoi que ce soit, essayez de le construire.
Nous pouvons pratiquement garantir que vous rencontrerez des problèmes. BeeWare est encore un projet très jeune. Mais les problèmes que vous rencontrez nous donneront une bonne indication de ce qui doit être abordé. Cela indiquera de quels widgets nous avons besoin, et de quelle documentation doit être améliorée. A mesure que vous rencontrerez des problèmes en créant votre propre application, signalez-les avec les projets qui les ont causés. Cela nous permettra d'identifier ce que nous devons améliorer – et cela peut même devenir une source d'inspiration pour vous pour contribuer !