Guide du contributeur : Problèmes & PRs¶
Merci de votre intérêt pour l’amélioration de ce projet. Ce projet est open-source sous la GPL-3. sous licence <https://opensource.org/licenses/GPL-3.0>`__. et bienvenue aux contributions sous forme de rapports de bogues, de demandes de fonctionnalités et de demandes de pulling.
Voici une liste des ressources importantes pour les contributeurs :
Comment signaler un bug¶
Signaler les bugs sur le Ticket Tracker.
Lors du dépôt d’un problème, assurez-vous de répondre à ces questions :
Quel système d’exploitation et quelle version de Python utilisez-vous ?
Quelle version de ce projet utilisez-vous ?
Qu’avez-vous fait ?
Qu’est-ce que vous attendiez à voir?
Qu’est-ce que vous avez vu à la place?
La meilleure façon de corriger votre bogue est de fournir un cas de test, et/ou des étapes pour reproduire le problème.
Comment demander une fonctionnalité¶
Les fonctionnalités qui améliorent AMRnet peuvent être suggérées sur le Issue Tracker. C’est une bonne idée de soumettre d’abord la proposition en tant que demande de fonctionnalité avant de soumettre une pull request car cela permet la meilleure coordination des efforts en évitant la duplication du travail, et vous permet de faire des commentaires sur vos idées.
Guide du contributeur : Recherche & Développement¶
Nous vous remercions de votre intérêt à contribuer à AMRnet! 🎉 Nous saluons les contributions des chercheurs, des développeurs et des professionnels de la santé publique du monde entier. Ce projet est open-source sous la licence GPL-3.0 et accueille favorablement les contributions sous la forme de rapports de bogue, de demandes de fonctionnalités et de pull requests.
Voici une liste des ressources importantes pour les contributeurs :
Démarrage rapide¶
Prêt à contribuer ? Voici comment configurer AMRnet pour le développement local :
Forcer le dépôt sur GitHub
Cloner votre fork localement
Créer une branche pour vos modifications
Faitez vos modifications et testez-les
Soumettre une pull request
Types de contributions¶
Rapports de bugs¶
Aidez-nous à améliorer en signalant les bugs en utilisant notre Ticket Tracker.
Avant de signaler un bogue: - Rechercher des problèmes existants pour éviter les doublons - Tester avec la dernière version - Vérifier si le problème se produit dans différents navigateurs
Lorsque vous remplissez un rapport de bogue, veuillez inclure: - Quel système d’exploitation et quel navigateur vous utilisez - Quelle version d’AMRnet vous utilisez - Étapes pour reproduire le problème - Ce que vous attendez de voir se passer - Que s’est-il passé - Captures d’écran le cas échéant
Demandes de fonctionnalités¶
Nous accueillons avec plaisir les suggestions de fonctionnalités qui améliorent la fonctionnalité d’AMRnet pour la surveillance AMR.
Les bonnes demandes de fonctionnalités comprennent : - Une description claire du problème à résoudre - Des cas d’utilisation spécifiques provenant de la santé publique ou du point de vue de la recherche - La prise en compte des différents types d’utilisateurs (chercheurs, décideurs, etc.)
Améliorations de la documentation¶
Les améliorations de la documentation sont toujours les bienvenues, incluant: - Corriger les fautes de frappe ou clarifier les instructions - Ajouter des exemples ou utiliser des cas - Traduire du contenu dans d’autres langues - Créer des tutoriels ou des guides
Comment configurer votre environnement de développement¶
Pré-requis¶
Avant de commencer, assurez-vous que vous avez:
Node.js 18+ avec npm
Python 3.8+ (pour le traitement des données)
MongoDB 6.0+ (local ou Atlas)
Git pour le contrôle de version
Configuration initiale¶
# Clone your fork
git clone https://github.com/YOUR_USERNAME/amrnet.git
cd amrnet
# Install dependencies
npm install
cd client && npm install && cd ..
# Set up environment
cp .env.example .env
# Edit .env with your configuration
# Start development servers
npm run start:dev
L’application sera disponible sur http://localhost:3000 avec l’API à http://localhost:8080.
Normes de qualité du code¶
Liniation et mise en forme¶
AMRnet utilise ESLint et Prettier pour maintenir la qualité du code :
# Lint JavaScript/React code
cd client && npm run lint
# Format code with Prettier
npm run format
# Fix linting issues automatically
cd client && npm run lint:fix
Tests en cours¶
Toujours inclure des tests avec vos contributions:
# Run frontend tests
cd client && npm test
# Run tests with coverage
cd client && npm test -- --coverage
# Run backend tests (if available)
npm run test:backend
Git Hooks¶
Les hooks de pré-commit exécutent automatiquement linting et formatting: - Configuré via .editorconfig et .prettierrc.json - garantit un style de code cohérent pour toutes les contributions
Flux de travail de développement¶
Nom de la branche¶
Utilisez des noms de branches descriptifs : - feature/add-organism-filtering - bugfix/map-rendering-issue - docs/update-installation-guide
Messages de validation¶
Suivez le format de commit conventionnel : - feat: add new Organm filtering capability - fix : resolve map rendering issue on mobile - docs : update installation instructions
Processus de revue de code¶
Toutes les contributions passent par l’examen de code : 1. Créer une pull request avec une description claire 2. Les tests automatisés doivent passer 3. Revue de code par les responsables 4. Adressez les commentaires et mettez à jour au besoin 5. Fusionner une fois approuvée
Zones de contribution spécifiques¶
Développement du frontend¶
Technologies : React 18, Material-UI, Redux, Recharts
Domaines clés de contribution : - Nouveaux composants de visualisation - Améliorations de la réactivité mobile - Améliorations de l’accessibilité - Optimisations des performances
Développement du backend¶
Technologies: Node.js, Express.js, MongoDB
Domaines clés de contribution : - Optimisation des terminaux API - Améliorations des requêtes de la base de données - Validation et traitement des données - Améliorations de la sécurité
Traitement des données¶
Technologies: Python, pandas, NumPy
Domaines clés de contribution : - Nouveaux analyseurs de données pour l’organisme - Validation de la qualité des données - Fonctions d’analyse statistique - Support du format d’exportation
Documentation¶
Zones nécessitant de l’aide: - Guides d’utilisation et tutoriels - Documentation API - Intégration des développeurs - Traductions multilingues
Comment soumettre les modifications¶
Ouvrez une pull request pour soumettre des modifications à ce projet.
Votre pull request devrait : - Inclure une description claire des changements - Passer tous les tests automatisés - Inclure les tests pertinents pour les nouvelles fonctionnalités - Mettre à jour la documentation si nécessaire - Suivre les normes de codage du projet
Le modèle de demande d’ajout comprend : - Description des changements - Type de changement (correction de bugs, fonctionnalité, docs, etc.) - Liste de contrôle de test - Captures d’écran pour les modifications de l’interface utilisateur
Directives de la communauté¶
Soyez respectueux et inclusif
Fournir un feedback constructif
Concentrez-vous sur la mission de santé publique et scientifique
Aidez les nouveaux arrivants à commencer
Follow our Code of Conduct
Obtenir de l’aide¶
**Besoin d’aide ? * - Vérifiez les Issues existants - Rejoignez nos Discussions - Consultez le Guide d’installation :doc: <installation> - Lisez le Guide du Développeur
Pour des problèmes urgents : - vulnérabilités de sécurité : Voir notre politique de sécurité - bogues critiques : utilisez le système de suivi de problèmes avec l’étiquette « urgente »