Aller au contenu

Contribuer

Nous accueillons les contributions à Wails ! Que vous corrigiez des bugs, ajoutiez des fonctionnalités ou amélioriez la documentation, votre aide est appréciée.

Vous avez trouvé un bug ? Ouvrez un ticket avec :

  • Une description claire
  • Les étapes pour reproduire le problème
  • Le comportement attendu vs le comportement actuel
  • Les informations système
  • Des extraits de code

Les améliorations de la documentation sont toujours les bienvenues :

  • Corriger les fautes de frappe et les erreurs
  • Ajouter des exemples
  • Clarifier les explications
  • Traduire le contenu

Contribuez au code via des pull requests :

  • Corrections de bugs
  • Nouvelles fonctionnalités
  • Améliorations des performances
  • Tests
Fenêtre de terminal
# Forker le dépôt sur GitHub
# Puis cloner votre fork
git clone https://github.com/VOTRE_NOM_UTILISATEUR/wails.git
cd wails
# Ajouter le dépôt distant amont
git remote add upstream https://github.com/wailsapp/wails.git
Fenêtre de terminal
# Installer les dépendances
go mod download
# Compiler Wails CLI
cd v3/cmd/wails3
go build
# Tester votre compilation
./wails3 version
Fenêtre de terminal
# Exécuter tous les tests
go test ./...
# Exécuter les tests d'un package spécifique
go test ./v3/pkg/application
# Exécuter avec couverture de code
go test -cover ./...
Fenêtre de terminal
# Mettre à jour main
git checkout main
git pull upstream main
# Créer une branche de fonctionnalité
git checkout -b feature/ma-fonctionnalite
  1. Écrire du code en suivant les conventions Go
  2. Ajouter des tests pour les nouvelles fonctionnalités
  3. Mettre à jour la documentation si nécessaire
  4. Exécuter les tests pour s’assurer que rien ne se casse
  5. Valider les modifications avec des messages clairs
Fenêtre de terminal
# Bons messages de validation
git commit -m "fix: résoudre le problème de focus de fenêtre sur macOS"
git commit -m "feat: ajouter le support du chrome de fenêtre personnalisé"
git commit -m "docs: améliorer la documentation des bindings"
# Utiliser les commits conventionnels :
# - feat: Nouvelle fonctionnalité
# - fix: Correction de bug
# - docs: Documentation
# - test: Tests
# - refactor: Refactorisation du code
# - chore: Maintenance
Fenêtre de terminal
# Pousser vers votre fork
git push origin feature/ma-fonctionnalite
# Ouvrir une pull request sur GitHub
# Fournir une description claire
# Référencez les tickets associés
## Description
Brève description des modifications
## Modifications
- Ajout de la fonctionnalité X
- Correction du bug Y
- Mise à jour de la documentation
## Tests
- Testé sur macOS 14
- Testé sur Windows 11
- Tous les tests passent
## Tickets associés
Fixes #123
  • Le code suit les conventions Go
  • Tests ajoutés/mis à jour
  • Documentation mise à jour
  • Tous les tests passent
  • Pas de changements cassants (ou documentés)
  • Messages de validation clairs
// ✅ Bien : Clair, documenté, testé
// ProcessData traite les données d'entrée et retourne le résultat.
// Elle retourne une erreur si les données sont invalides.
func ProcessData(data string) (string, error) {
if data == "" {
return "", errors.New("les données ne peuvent pas être vides")
}
result := process(data)
return result, nil
}
// ❌ Mal : Pas de docs, pas de gestion d'erreurs
func ProcessData(data string) string {
return process(data)
}
func TestProcessData(t *testing.T) {
tests := []struct {
name string
input string
want string
wantErr bool
}{
{"entrée valide", "test", "traite", false},
{"entrée vide", "", "", true},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := ProcessData(tt.input)
if (err != nil) != tt.wantErr {
t.Errorf("ProcessData() error = %v, wantErr %v", err, tt.wantErr)
return
}
if got != tt.want {
t.Errorf("ProcessData() = %v, want %v", got, tt.want)
}
})
}
}

La documentation utilise Starlight (Astro) :

Fenêtre de terminal
cd docs
npm install
npm run dev
  • Utiliser l’orthographe de l’anglais international
  • Commencer par le problème
  • Fournir des exemples fonctionnels
  • Inclure le dépannage
  • Faire des références croisées avec le contenu associé

Soyez respectueux, inclusif et professionnel. Nous sommes tous ici pour construire un excellent logiciel ensemble.

Les contributeurs sont reconnus dans :

  • Les notes de version
  • La liste des contributeurs
  • Les statistiques GitHub

Merci de contribuer à Wails ! 🎉