# Guide de Démarrage Rapide
Commencez à utiliser **PrimeFaces Freya Extension** en 5 minutes ! ⚡
## 📦 Étape 1 : Installation
### Option A : Projet Quarkus existant
Ajoutez la dépendance dans votre `pom.xml` :
```xml
dev.lions
primefaces-freya-extension-runtime
1.0.0-SNAPSHOT
```
### Option B : Nouveau projet Quarkus
```bash
# Créer un nouveau projet Quarkus
mvn io.quarkus:quarkus-maven-plugin:3.15.1:create \
-DprojectGroupId=com.example \
-DprojectArtifactId=my-app \
-Dextensions="resteasy-reactive,quarkus-undertow,quarkus-myfaces"
cd my-app
# Ajouter PrimeFaces Freya Extension
# Éditer pom.xml et ajouter la dépendance ci-dessus
```
## ⚙️ Étape 2 : Configuration
### application.properties
```properties
# PrimeFaces Configuration
quarkus.faces.project-stage=Development
quarkus.faces.state-saving-method=server
# PrimeFaces Settings
primefaces.THEME=freya
primefaces.FONT_AWESOME=true
primefaces.CLIENT_SIDE_VALIDATION=true
primefaces.MOVE_SCRIPTS_TO_BOTTOM=true
```
## 📄 Étape 3 : Créer votre première page
### src/main/resources/META-INF/resources/index.xhtml
```xml
Mon Application
```
## 🎯 Étape 4 : Créer le Bean
### src/main/java/com/example/UserBean.java
```java
package com.example;
import jakarta.enterprise.context.SessionScoped;
import jakarta.faces.application.FacesMessage;
import jakarta.faces.context.FacesContext;
import jakarta.inject.Named;
import java.io.Serializable;
import java.time.LocalDate;
@Named
@SessionScoped
public class UserBean implements Serializable {
private String nom;
private String email;
private String password;
private LocalDate birthdate;
private String country;
private boolean acceptTerms;
public String register() {
// Validation
if (!acceptTerms) {
FacesContext.getCurrentInstance().addMessage(null,
new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Erreur", "Vous devez accepter les conditions"));
return null;
}
// Logique d'inscription
FacesContext.getCurrentInstance().addMessage(null,
new FacesMessage(FacesMessage.SEVERITY_INFO,
"Succès", "Inscription réussie pour " + nom));
return null;
}
// Getters et Setters
public String getNom() { return nom; }
public void setNom(String nom) { this.nom = nom; }
public String getEmail() { return email; }
public void setEmail(String email) { this.email = email; }
public String getPassword() { return password; }
public void setPassword(String password) { this.password = password; }
public LocalDate getBirthdate() { return birthdate; }
public void setBirthdate(LocalDate birthdate) { this.birthdate = birthdate; }
public String getCountry() { return country; }
public void setCountry(String country) { this.country = country; }
public boolean isAcceptTerms() { return acceptTerms; }
public void setAcceptTerms(boolean acceptTerms) { this.acceptTerms = acceptTerms; }
}
```
## 🚀 Étape 5 : Lancer l'application
```bash
mvn quarkus:dev
```
Ouvrez votre navigateur : **http://localhost:8080**
## 🎉 C'est tout !
Vous avez maintenant une application fonctionnelle avec :
- ✅ Formulaire complet avec validation
- ✅ Design moderne Freya
- ✅ Composants réutilisables
- ✅ 80% moins de code qu'avec PrimeFaces standard
## 📚 Prochaines étapes
### Ajouter un Dialog
```xml
```
### Ajouter un DataTable
```xml
```
## 🔧 Personnalisation
### Changer le thème
```xml
```
### Utiliser PrimeFlex pour le layout
```xml
```
## 📖 Documentation complète
- [README.md](README.md) - Documentation principale
- [Liste des composants](README.md#-composants-disponibles-43-au-total)
- [Guide d'accessibilité](ACCESSIBILITY.md)
- [Guide de contribution](CONTRIBUTING.md)
## 💡 Exemples
Consultez la page de démonstration complète :
```bash
cd integration-tests
mvn quarkus:dev
# Ouvrir http://localhost:8080/components-demo.xhtml
```
## ❓ Besoin d'aide ?
- 📧 Email : contact@lions.dev
- 💬 GitHub Discussions : https://github.com/lions-dev/primefaces-freya-extension/discussions
- 🐛 Issues : https://github.com/lions-dev/primefaces-freya-extension/issues
Bon développement ! 🚀