Ce guide contient des templates d'issues pour votre projet. Les templates d'issues aident les contributeurs à fournir les informations nécessaires.
Pour utiliser ces templates automatiquement sur GitHub, créez ces fichiers :
.github/
└── ISSUE_TEMPLATE/
├── bug_report.md
├── feature_request.md
├── documentation.md
└── question.md
Fichier : .github/ISSUE_TEMPLATE/bug_report.md
---
name: Bug Report
about: Signaler un bug pour nous aider à améliorer le projet
title: "[BUG] "
labels: "bug"
assignees: ""
---
## Description du Bug
<!-- Décrivez clairement et de manière concise le bug -->
## Étapes pour Reproduire
<!-- Étapes pour reproduire le comportement -->
1. Aller sur '...'
2. Cliquer sur '...'
3. Scroller jusqu'à '...'
4. Observer l'erreur
## Comportement Attendu
<!-- Décrivez ce qui devrait se passer normalement -->
## Comportement Actuel
<!-- Décrivez ce qui se passe actuellement (le bug) -->
## Captures d'Écran
<!-- Si applicable, ajoutez des captures d'écran pour illustrer le problème -->
## Environnement
**Desktop (complétez les informations suivantes) :**
- OS: [ex: Windows 11, macOS 13, Ubuntu 22.04]
- Navigateur: [ex: Chrome, Firefox, Safari]
- Version: [ex: 119.0]
**Smartphone (complétez les informations suivantes) :**
- Device: [ex: iPhone 14, Samsung Galaxy S23]
- OS: [ex: iOS 17.1, Android 13]
- Navigateur: [ex: Safari, Chrome]
- Version: [ex: 17.1]
## Contexte Additionnel
<!-- Ajoutez tout autre contexte pertinent à propos du problème -->
## Logs/Messages d'Erreur
<!-- Si applicable, collez les messages d'erreur ou logs -->[Coller les logs ici]
## ⚠️ Impact
<!-- Quelle est la sévérité du bug ? -->
- [ ] Bloquant (impossible de continuer)
- [ ] Majeur (fonctionnalité principale impactée)
- [ ] Mineur (petit problème mais contournable)
- [ ] Cosmétique (problème visuel uniquement)
## 💡 Solution Proposée (optionnel)
<!-- Si vous avez une idée de comment corriger ce bug, partagez-la -->
Fichier : .github/ISSUE_TEMPLATE/feature_request.md
---
name: Feature Request
about: Suggérer une nouvelle fonctionnalité pour ce projet
title: "[FEATURE] "
labels: "enhancement"
assignees: ""
---
## Résumé de la Fonctionnalité
<!-- Résumez en une phrase la fonctionnalité proposée -->
## Problème à Résoudre
<!-- Décrivez le problème que cette fonctionnalité résoudrait -->
<!-- Ex: "Je suis toujours frustré quand [...]" -->
**Qui est affecté par ce problème ?**
- [ ] Utilisateurs finaux
- [ ] Développeurs
- [ ] Administrateurs
- [ ] Tous
## Solution Proposée
<!-- Décrivez la solution que vous aimeriez voir implémentée -->
### Comportement Attendu
1. L'utilisateur peut...
2. Le système fait...
3. Le résultat est...
### Interface Utilisateur (si applicable)
<!-- Décrivez ou dessinez l'interface que vous imaginez -->
## Alternatives Considérées
<!-- Décrivez les solutions alternatives que vous avez envisagées -->
## Cas d'Usage
<!-- Donnez des exemples concrets d'utilisation -->
**Scénario 1 :**En tant que [type d'utilisateur] Je veux [action] Afin de [bénéfice]
**Scénario 2 :**
En tant que [type d'utilisateur] Je veux [action] Afin de [bénéfice]
## 🎨 Mockups/Designs (optionnel)
<!-- Si vous avez des mockups, dessins ou liens Figma, ajoutez-les ici -->
## 📈 Priorité Suggérée
<!-- Quelle importance a cette feature pour vous ? -->
- [ ] Critique (bloque mon utilisation)
- [ ] Haute (amélioration significative)
- [ ] Moyenne (ce serait bien d'avoir)
- [ ] Basse (nice to have)
## 🔗 Fonctionnalités Liées
<!-- Listez les issues ou features liées -->
- Related to #
- Depends on #
## 📝 Contexte Additionnel
<!-- Ajoutez tout autre contexte, screenshots ou informations pertinentes -->
## 💰 Volonté de Contribuer
<!-- Seriez-vous prêt à implémenter cette feature ? -->
- [ ] Je peux implémenter cette feature
- [ ] Je peux aider à la tester
- [ ] Je peux aider à la documenter
- [ ] J'aimerais juste la suggérer
Fichier : .github/ISSUE_TEMPLATE/documentation.md
---
name: Documentation
about: Améliorer ou corriger la documentation
title: "[DOCS] "
labels: "documentation"
assignees: ""
---
## Type de Demande
- [ ] Documentation manquante
- [ ] Documentation incorrecte
- [ ] Documentation obsolète
- [ ] Documentation peu claire
- [ ] Traduction
- [ ] Autre
## Localisation
<!-- Où se trouve (ou devrait se trouver) cette documentation ? -->
**Fichier/Page :** [ex: README.md, docs/installation.md]
**Section :** [ex: "Installation", "API Reference"]
**Lien :** [si applicable]
## Problème Actuel
<!-- Qu'est-ce qui ne va pas avec la documentation actuelle ? -->
**Citation actuelle (si applicable) :**[Coller le texte actuel ici]
## ✅ Amélioration Proposée
<!-- Comment devrait être la documentation ? -->
**Texte proposé :**
[Proposer le nouveau texte ici]
## 🎯 Public Cible
<!-- Qui bénéficiera de cette amélioration ? -->
- [ ] Débutants
- [ ] Utilisateurs intermédiaires
- [ ] Utilisateurs avancés
- [ ] Développeurs contributeurs
## 📚 Ressources Additionnelles
<!-- Liens vers d'autres ressources qui pourraient aider -->
- [Lien 1]
- [Lien 2]
## 💡 Exemples
<!-- Si applicable, donnez des exemples de ce qui devrait être documenté -->
[Exemple de code ou d'utilisation]
## ✍️ Volonté de Contribuer
- [ ] Je peux écrire cette documentation
- [ ] J'ai besoin d'aide pour l'écrire
- [ ] Je signale juste le problème
Fichier : .github/ISSUE_TEMPLATE/question.md
---
name: Question
about: Poser une question sur le projet
title: "[QUESTION] "
labels: "question"
assignees: ""
---
## Votre Question
<!-- Posez votre question clairement -->
## Contexte
<!-- Expliquez le contexte de votre question -->
### Ce que vous essayez de faire
<!-- Décrivez ce que vous essayez d'accomplir -->
### Ce que vous avez déjà essayé
<!-- Listez ce que vous avez déjà tenté -->
1.
2.
3.
## Recherches Effectuées
<!-- Où avez-vous déjà cherché la réponse ? -->
- [ ] J'ai lu la documentation
- [ ] J'ai cherché dans les issues existantes
- [ ] J'ai cherché sur Google/Stack Overflow
- [ ] J'ai lu le code source
**Liens consultés :**
- [Lien 1]
- [Lien 2]
## Environnement (si applicable)
- OS: [ex: Windows, macOS, Linux]
- Version du projet: [ex: 1.2.3]
- Langage/Framework: [ex: Node.js 18, React 18]
## Code ou Exemple (si applicable)
<!-- Partagez un extrait de code qui illustre votre question -->
```javascript
// Votre code ici
```
---
## 🔧 Template : Configuration/Setup Issue
**Fichier :** `.github/ISSUE_TEMPLATE/setup_issue.md`
```markdown
---
name: Setup/Configuration Issue
about: Problème lors de l'installation ou de la configuration
title: '[SETUP] '
labels: 'setup, help wanted'
assignees: ''
---
## 🔧 Type de Problème
- [ ] Installation
- [ ] Configuration
- [ ] Dépendances
- [ ] Environnement
- [ ] Build
- [ ] Déploiement
## 📋 Étapes Suivies
<!-- Listez les étapes que vous avez suivies -->
1.
2.
3.
## ❌ Erreur Rencontrée
<!-- Décrivez l'erreur ou le problème -->
**Message d'erreur :**
[Coller le message d'erreur complet ici]
**Screenshot (si applicable) :**
<!-- Ajoutez une capture d'écran -->
## 💻 Environnement
**Système d'exploitation :**
- [ ] Windows [version: ]
- [ ] macOS [version: ]
- [ ] Linux [distribution: ]
**Versions :**
- Node.js: [ex: v18.16.0]
- npm/yarn: [ex: npm 9.5.1]
- Git: [ex: 2.40.0]
- Autre: [si applicable]
**Installation :**
- [ ] Installation globale
- [ ] Installation locale
- [ ] Via Docker
- [ ] Via binaire
## 📝 Configuration
<!-- Partagez votre fichier de configuration (sans infos sensibles) -->
```json
{
"config": "here"
}
[Coller les logs ici]
---
## 🎨 Template : UI/UX Issue
**Fichier :** `.github/ISSUE_TEMPLATE/ui_ux_issue.md`
```markdown
---
name: UI/UX Issue
about: Signaler un problème d'interface ou d'expérience utilisateur
title: '[UI/UX] '
labels: 'ui, ux, design'
assignees: ''
---
## 🎨 Type de Problème
- [ ] Problème visuel/style
- [ ] Problème d'utilisabilité
- [ ] Problème d'accessibilité
- [ ] Problème de responsive
- [ ] Problème de performance UI
- [ ] Amélioration de l'expérience
## 📍 Localisation
**Page/Composant :** [ex: Page d'accueil, Bouton de connexion]
**URL (si applicable) :** [lien]
## ❌ Problème Actuel
<!-- Décrivez le problème d'interface ou d'expérience -->
## ✅ Amélioration Proposée
<!-- Comment devrait-ce être ? -->
## 📸 Captures d'Écran
**Avant (actuel) :**
<!-- Ajoutez une capture d'écran du problème -->
**Après (proposé) :**
<!-- Si vous avez un mockup de la solution -->
## 🖥️ Environnement
**Device :**
- [ ] Desktop
- [ ] Tablette
- [ ] Mobile
**Navigateur :**
- [ ] Chrome
- [ ] Firefox
- [ ] Safari
- [ ] Edge
- [ ] Autre: [préciser]
**Résolution d'écran :** [ex: 1920x1080, 375x667]
## ♿ Impact sur l'Accessibilité
- [ ] Problème de contraste
- [ ] Navigation au clavier impossible
- [ ] Pas compatible screen reader
- [ ] Texte trop petit
- [ ] Autre: [préciser]
## 📊 Impact Utilisateur
- [ ] Bloque l'utilisation
- [ ] Frustrant mais contournable
- [ ] Mineur
- [ ] Amélioration esthétique
## 💡 Suggestions de Design
<!-- Si vous avez des idées de solution -->
Fichier : .github/ISSUE_TEMPLATE/performance_issue.md
---
name: Performance Issue
about: Signaler un problème de performance
title: "[PERF] "
labels: "performance"
assignees: ""
---
## Type de Problème de Performance
- [ ] Temps de chargement lent
- [ ] Utilisation excessive de mémoire
- [ ] Utilisation excessive de CPU
- [ ] Lag/Freeze de l'interface
- [ ] Requêtes réseau lentes
- [ ] Autre
## Localisation
**Où se produit le problème ?**
- Page/Composant: [ex: Dashboard, Liste des utilisateurs]
- Fonction/Méthode: [ex: fetchUsers(), calculateTotal()]
## Métriques
**Performance Actuelle :**
- Temps de chargement: [ex: 5 secondes]
- Utilisation mémoire: [ex: 500 MB]
- Temps de réponse API: [ex: 2 secondes]
**Performance Attendue :**
- Temps de chargement: [ex: < 1 seconde]
- Utilisation mémoire: [ex: < 100 MB]
- Temps de réponse API: [ex: < 500ms]
## Étapes pour Reproduire
1.
2.
3.
## Environnement
- OS: [ex: Windows 11]
- Navigateur: [ex: Chrome 119]
- Device: [ex: Desktop, Mobile]
- Connexion: [ex: Wifi, 4G, Fiber]
## Profiling (si disponible)
<!-- Si vous avez fait du profiling, partagez les résultats -->[Résultats du profiling]
## 💡 Solution Proposée
<!-- Si vous avez une idée d'optimisation -->
## 📝 Contexte Additionnel
<!-- Informations supplémentaires -->
Pour personnaliser le sélecteur d'issues sur GitHub, créez :
Fichier : .github/ISSUE_TEMPLATE/config.yml
blank_issues_enabled: false
contact_links:
- name: 💬 Discussions
url: https://github.com/VOTRE-USERNAME/VOTRE-REPO/discussions
about: Pour les questions générales et discussions
- name: 📚 Documentation
url: https://votre-site-docs.com
about: Consultez la documentation complète
- name: 🐦 Twitter
url: https://twitter.com/votre-handle
about: Suivez-nous pour les actualités✅ À FAIRE :
- Chercher si l'issue existe déjà
- Utiliser le bon template
- Fournir toutes les informations demandées
- Être clair et concis
- Ajouter des captures d'écran
- Tester avant de signaler
❌ À ÉVITER :
- Issues vagues ("ça marche pas")
- Dupliquer des issues existantes
- Mélanger plusieurs problèmes dans une issue
- Informations sensibles (mots de passe, tokens)
- Langage inapproprié
✅ À FAIRE :
- Répondre rapidement
- Labelliser les issues
- Assigner les bonnes personnes
- Utiliser des milestones
- Fermer les duplicatas poliment
- Remercier les contributeurs
❌ À ÉVITER :
- Laisser les issues sans réponse
- Fermer sans explication
- Être condescendant
- Ignorer les questions
Créez ces labels sur GitHub :
bug- Quelque chose ne fonctionne pasenhancement- Nouvelle fonctionnalité ou demandedocumentation- Amélioration ou ajout de documentationquestion- Question ou demande d'informationperformance- Problème de performance
priority: critical- Problème critiquepriority: high- Haute prioritépriority: medium- Priorité moyennepriority: low- Basse priorité
status: needs-triage- Besoin d'être évaluéstatus: in-progress- En cours de traitementstatus: blocked- Bloqué par autre chosestatus: waiting-feedback- Attente de retour
good first issue- Bon pour les débutantshelp wanted- Aide demandéeeasy- Facile à résoudrehard- Difficile, nécessite expertise
duplicate- Doublon d'une autre issuewontfix- Ne sera pas corrigéinvalid- Issue invalidesecurity- Problème de sécurité
## Description du Bug
Le bouton "Sauvegarder" dans le formulaire de profil ne répond pas au clic sur Safari iOS.
## Étapes pour Reproduire
1. Aller sur https://app.example.com/profile
2. Modifier le nom d'utilisateur
3. Cliquer sur le bouton "Sauvegarder"
4. Observer que rien ne se passe
## Comportement Attendu
Le profil devrait être sauvegardé et un message de confirmation devrait s'afficher.
## Comportement Actuel
Le bouton ne réagit pas au clic. Aucun message d'erreur n'apparaît.
## Captures d'Écran
[Vidéo du bug](https://example.com/video.mp4)
## Environnement
**Smartphone :**
- Device: iPhone 13
- OS: iOS 17.1
- Navigateur: Safari
- Version: 17.1
## Contexte Additionnel
Le bug se produit uniquement sur Safari iOS. Testé avec succès sur :
- Chrome iOS ✅
- Chrome Android ✅
- Chrome Desktop ✅
- Firefox Desktop ✅
## Logs/Messages d'Erreur
Console Safari (aucune erreur visible):(empty)
## ⚠️ Impact
- [x] Majeur (fonctionnalité principale impactée)
Les utilisateurs iOS/Safari (environ 20% de notre base) ne peuvent pas modifier leur profil.
## 💡 Solution Proposée
Cela pourrait être lié au event handler. Suggère de vérifier si :
1. L'event `touchend` est bien géré sur iOS
2. Le bouton n'a pas de conflits CSS qui bloquent les interactions
Avant de soumettre votre issue :
- J'ai cherché si cette issue existe déjà
- J'ai utilisé le bon template
- Le titre est clair et descriptif
- J'ai fourni toutes les informations demandées
- J'ai ajouté des captures d'écran (si applicable)
- J'ai testé dans plusieurs environnements
- J'ai inclus les logs d'erreur complets
- J'ai vérifié qu'il n'y a pas d'infos sensibles
- Le ton est respectueux et professionnel
Des issues bien rédigées = Résolution plus rapide ! ⚡