# Guide de Contribution
Merci de votre intérêt pour contribuer à **PrimeFaces Freya Extension** ! 🎉
## 📋 Table des matières
- [Code de conduite](#code-de-conduite)
- [Comment contribuer](#comment-contribuer)
- [Structure du projet](#structure-du-projet)
- [Développement](#développement)
- [Standards de code](#standards-de-code)
- [Processus de Pull Request](#processus-de-pull-request)
## 🤝 Code de conduite
Ce projet adhère à un code de conduite. En participant, vous vous engagez à respecter ce code.
- Soyez respectueux et inclusif
- Acceptez les critiques constructives
- Concentrez-vous sur ce qui est le mieux pour la communauté
## 🚀 Comment contribuer
### Signaler un bug
1. Vérifiez que le bug n'a pas déjà été signalé dans les [Issues](https://github.com/lions-dev/primefaces-freya-extension/issues)
2. Créez une nouvelle issue avec le template "Bug Report"
3. Incluez :
- Description claire du problème
- Étapes pour reproduire
- Comportement attendu vs comportement actuel
- Version de Java, Quarkus, PrimeFaces
- Extrait de code minimal
### Proposer une fonctionnalité
1. Créez une issue avec le template "Feature Request"
2. Décrivez :
- Le problème que cela résout
- La solution proposée
- Des alternatives envisagées
- Des exemples d'utilisation
### Ajouter un nouveau composant
1. Créez une issue pour discuter du composant
2. Suivez la structure des composants existants
3. Ajoutez la documentation
4. Ajoutez des exemples dans `components-demo.xhtml`
## 📁 Structure du projet
```
primefaces-freya-extension/
├── runtime/ # Module principal
│ └── src/main/resources/
│ └── META-INF/
│ ├── freya.taglib.xml # Déclaration des composants
│ └── resources/
│ └── freya/ # Composants composites (.xhtml)
├── integration-tests/ # Tests et démonstration
│ └── src/main/
│ ├── java/
│ │ └── dev/lions/freya/demo/ # Beans de démonstration
│ └── resources/
│ └── META-INF/resources/ # Pages de démonstration
├── README.md # Documentation principale
├── CONTRIBUTING.md # Ce fichier
└── pom.xml # Configuration Maven parent
```
## 💻 Développement
### Prérequis
- Java 17 ou supérieur
- Maven 3.8+
- Git
- IDE (IntelliJ IDEA, Eclipse, VS Code)
### Configuration de l'environnement
1. **Cloner le repository**
```bash
git clone https://github.com/lions-dev/primefaces-freya-extension.git
cd primefaces-freya-extension
```
2. **Compiler le projet**
```bash
mvn clean install
```
3. **Lancer la démo en mode dev**
```bash
cd integration-tests
mvn quarkus:dev
```
4. **Accéder à la démo**
- Ouvrir http://localhost:8080
- La page se recharge automatiquement lors des modifications
### Créer un nouveau composant
1. **Créer le fichier composite** dans `runtime/src/main/resources/META-INF/resources/freya/`
Exemple : `fieldExample.xhtml`
```xml