Introduction

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-pagination
  • fix/storage-null-handling
  • docs/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 support
  • Fix: NyStorage returning null on first read
  • Update: 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

  1. Verifiez si le probleme existe deja sur GitHub
  2. Assurez-vous d'utiliser la derniere version
  3. Essayez de reproduire le probleme dans un projet vierge

Ou signaler

Signalez les problemes sur le depot approprie :

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