Merci de votre intérêt pour AgbleDɔ̀ !
Ce projet vise à développer une solution open source de détection automatique des maladies végétales tropicales à l'aide de l'intelligence artificielle. Toute contribution est la bienvenue : amélioration du code, correction de bugs, documentation, tests, optimisation des modèles ou nouvelles fonctionnalités.
Si vous identifiez un bug, une incohérence ou une amélioration possible :
-
Vérifiez qu'un ticket similaire n'existe pas déjà dans les Issues.
-
Ouvrez une nouvelle Issue en décrivant :
- le problème observé ;
- les étapes permettant de le reproduire ;
- le comportement attendu ;
- votre environnement de travail (OS, Python, versions des dépendances).
Les propositions suivantes sont particulièrement encouragées :
- amélioration des performances du modèle ;
- ajout de nouvelles cultures ou maladies ;
- optimisation du pipeline de traitement des données ;
- amélioration de l'explicabilité (Grad-CAM, visualisations, interprétabilité) ;
- développement de l'API FastAPI ;
- développement de l'interface Streamlit ;
- amélioration de la documentation ;
- ajout de tests automatisés.
- Forkez le dépôt.
- Créez une branche dédiée :
git checkout -b feature/nom-de-la-fonctionnaliteou
git checkout -b fix/description-du-correctif- Effectuez vos modifications.
- Ajoutez ou mettez à jour les tests si nécessaire.
- Vérifiez que les tests passent.
- Commitez vos changements :
git commit -m "feat: ajout de ..."- Poussez votre branche :
git push origin feature/nom-de-la-fonctionnalite- Ouvrez une Pull Request.
Nous utilisons Python 3.14. Pour contribuer efficacement :
- Créez votre environnement virtuel (
python3.14 -m venv venvpuissource venv/bin/activate). - Installez les dépendances (
pip install -r requirements.txt). - Installez les outils de qualité de code (
pip install pytest ruff).
Afin d'assurer une base de code propre et maintenable, nous utilisons Ruff (un linter/formateur ultra-rapide) et Pytest.
Avant de soumettre une Pull Request, exécutez systématiquement :
# Pour formater le code automatiquement
ruff format src/ tests/
# Pour vérifier les standards (linting)
ruff check src/ tests/
# Pour exécuter les tests automatisés
pytest tests/Les contributions qui ajoutent de nouvelles fonctionnalités doivent inclure des tests associés dans le dossier tests/.
Lors de l'ouverture d'une Pull Request, merci d'inclure :
- Un lien vers l'Issue correspondante (si applicable).
- Une description claire du problème résolu ou de la fonctionnalité ajoutée.
- La confirmation que
ruff checketpytestpassent sans erreur localement.
api/ API FastAPI
app/ Interface utilisateur
configs/ Fichiers de configuration
data/ Jeux de données
models/ Modèles entraînés
notebooks/ Expérimentations et analyses
src/ Scripts et Code source
tests/ Tests automatisés
Les contributeurs doivent respecter les licences associées aux jeux de données utilisés.
Les poids du modèle principal sont distribués séparément lorsque nécessaire.
Toute contribution impliquant un nouveau jeu de données doit documenter :
- la source ;
- la licence ;
- la méthode de collecte ;
- les éventuels prétraitements réalisés.
En contribuant à ce projet, vous acceptez que votre contribution soit distribuée sous la même licence que le projet.
Les échanges doivent rester respectueux, constructifs et bienveillants.
Les comportements discriminatoires, insultants ou harcelants ne sont pas tolérés.
Merci à toutes les personnes qui contribuent à rendre les technologies d'IA plus accessibles au service de l'agriculture africaine.