Contribuer a Nylo Website
Introduction
Merci d'envisager de contribuer a Nylo Website !
Ce guide vous aidera a comprendre comment contribuer au micro-framework. Que vous corrigiez des bugs, ajoutiez des fonctionnalites ou amelioriez la documentation, vos contributions sont precieuses pour la communaute Nylo Website.
Nylo Website est divise en trois depots :
| Depot | Objectif |
|---|---|
| nylo | L'application modele |
| framework | Classes principales du framework (nylo_framework) |
| support | Bibliotheque de support avec widgets, helpers, utilitaires (nylo_support) |
Pour commencer
Forker les depots
Forkez les depots auxquels vous souhaitez contribuer :
Cloner vos forks
git clone https://github.com/YOUR-USERNAME/nylo
git clone https://github.com/YOUR-USERNAME/framework
git clone https://github.com/YOUR-USERNAME/support
Environnement de developpement
Prerequis
Assurez-vous d'avoir les elements suivants installes :
| Prerequis | Version minimale |
|---|---|
| Flutter | 3.24.0 ou superieur |
| Dart SDK | 3.10.7 ou superieur |
Lier les paquets locaux
Ouvrez le modele Nylo dans votre editeur et ajoutez des surcharges de dependances pour utiliser vos depots locaux du framework et du support :
pubspec.yaml
dependency_overrides:
nylo_framework:
path: ../framework # Path to your local framework repository
nylo_support:
path: ../support # Path to your local support repository
Executez flutter pub get pour installer les dependances.
Les modifications que vous apportez aux depots du framework ou du support seront maintenant refletees dans le modele Nylo.
Tester vos modifications
Lancez l'application modele pour tester vos modifications :
flutter run
Pour les modifications de widgets ou de helpers, envisagez d'ajouter des tests dans le depot approprie.
Directives de developpement
Style de code
- Suivez le guide de style Dart officiel
- Utilisez des noms de variables et de fonctions significatifs
- Ecrivez des commentaires clairs pour la logique complexe
- Incluez de la documentation pour les API publiques
- Gardez le code modulaire et maintenable
Documentation
Lors de l'ajout de nouvelles fonctionnalites :
- Ajoutez des commentaires dartdoc aux classes et methodes publiques
- Mettez a jour les fichiers de documentation pertinents si necessaire
- Incluez des exemples de code dans la documentation
Tests
Avant de soumettre des modifications :
- Testez sur les appareils/simulateurs iOS et Android
- Verifiez la retrocompatibilite dans la mesure du possible
- Documentez clairement tout changement incompatible
- Executez les tests existants pour vous assurer que rien n'est casse
Soumettre des modifications
Discuter d'abord
Pour les nouvelles fonctionnalites, il est preferable d'en discuter d'abord avec la communaute :
Creer une branche
git checkout -b feature/your-feature-name
Utilisez des noms de branches descriptifs :
feature/collection-view-paginationfix/storage-null-handlingdocs/update-networking-guide
Valider vos modifications
git add .
git commit -m "Add: Your feature description"
Utilisez des messages de commit clairs :
Add: CollectionView grid mode supportFix: NyStorage returning null on first readUpdate: Improve router documentation
Pousser et creer une Pull Request
git push origin feature/your-feature-name
Creez ensuite une pull request sur GitHub.
Directives pour les Pull Requests
- Fournissez une description claire de vos modifications
- Referencez les issues associees
- Incluez des captures d'ecran ou des exemples de code le cas echeant
- Assurez-vous que votre PR ne traite qu'un seul sujet
- Gardez les modifications concentrees et atomiques
Signaler des problemes
Avant de signaler
- Verifiez si le probleme existe deja sur GitHub
- Assurez-vous d'utiliser la derniere version
- Essayez de reproduire le probleme dans un projet vierge
Ou signaler
Signalez les problemes sur le depot approprie :
- Problemes du modele : nylo/issues
- Problemes du framework : framework/issues
- Problemes de la bibliotheque de support : support/issues
Modele de signalement
Fournissez des informations detaillees :
### Description
Brief description of the issue
### Steps to Reproduce
1. Step one
2. Step two
3. Step three
### Expected Behavior
What should happen
### Actual Behavior
What actually happens
### Environment
- Flutter: 3.24.x
- Dart SDK: 3.10.x
- nylo_framework: ^7.0.0
- OS: macOS/Windows/Linux
- Device: iPhone 15/Pixel 8 (if applicable)
### Code Example
```dart
// Minimal code to reproduce the issue
### Obtenir les informations de version
``` bash
# Flutter and Dart versions
flutter --version
# Check your pubspec.yaml for Nylo version
# nylo_framework: ^7.0.0