Merci de votre intérêt pour contribuer à Ryvie ! 🎉
Nous accueillons les contributions de tous types : corrections de bugs, nouvelles fonctionnalités, améliorations de documentation, traductions, etc.
- Code de conduite
- Avant de commencer
- Contributor License Agreement (CLA)
- Comment contribuer
- Standards de code
- Process de Pull Request
- Signaler un bug
- Proposer une fonctionnalité
En participant à ce projet, vous vous engagez à maintenir un environnement respectueux et professionnel. Soyez courtois, constructif et bienveillant envers les autres contributeurs.
Assurez-vous d'avoir installé :
- Node.js (v18 ou supérieur)
- Docker et Docker Compose
- Git
- Forkez le repository sur GitHub
- Clonez votre fork :
git clone https://github.com/VOTRE-USERNAME/Ryvie.git cd Ryvie - Ajoutez le repository upstream :
git remote add upstream https://github.com/maisonnavejul/Ryvie.git
- Installez les dépendances :
# Backend cd Ryvie-Back npm install # Frontend cd ../Ryvie-Front npm install
Le CLA protège à la fois :
- Vous : Vous conservez la propriété de votre code
- Ryvie : Nous pouvons maintenir et faire évoluer le projet, y compris d'éventuels changements de licence futurs
- Les utilisateurs : Garantit que toutes les contributions sont correctement licenciées
Lorsque vous soumettrez votre première Pull Request, notre CLA Assistant bot commentera automatiquement avec un lien pour signer électroniquement le CLA via votre compte GitHub.
Processus :
- Soumettez votre Pull Request
- Le bot CLA Assistant commente avec un lien
- Cliquez sur le lien et signez avec votre compte GitHub
- Votre PR sera automatiquement débloquée pour review
📄 Lisez le CLA complet : CLA.md
Si vous contribuez au nom de votre employeur, contactez-nous à contact@ryvie.fr pour un Corporate CLA.
- Consultez les issues existantes
- Cherchez les labels
good first issueouhelp wantedpour débuter - Si vous avez une nouvelle idée, créez d'abord une issue pour en discuter
git checkout -b feature/ma-nouvelle-fonctionnalite
# ou
git checkout -b fix/correction-bug-xyzConvention de nommage des branches :
feature/description: Nouvelle fonctionnalitéfix/description: Correction de bugdocs/description: Documentationrefactor/description: Refactoringtest/description: Ajout de tests
- Écrivez du code clair et maintenable
- Suivez les standards de code
- Ajoutez des tests si applicable
- Mettez à jour la documentation si nécessaire
Utilisez des messages de commit clairs et descriptifs :
git commit -m "feat: ajout du widget météo personnalisable"
# ou
git commit -m "fix: correction du bug de connexion LDAP"Convention de messages de commit (Conventional Commits) :
feat:Nouvelle fonctionnalitéfix:Correction de bugdocs:Documentationstyle:Formatage, points-virgules manquants, etc.refactor:Refactoring de codetest:Ajout de testschore:Maintenance, dépendances, etc.
Avant de soumettre, assurez-vous d'être à jour :
git fetch upstream
git rebase upstream/maingit push origin feature/ma-nouvelle-fonctionnalite- Utilisez TypeScript pour le nouveau code
- Suivez les conventions ESLint configurées
- Documentez les fonctions complexes avec JSDoc
- Gérez les erreurs de manière appropriée (try/catch, error handlers)
- Utilisez des noms de variables descriptifs en anglais
- Utilisez des composants fonctionnels avec hooks
- Suivez la structure de dossiers existante
- Utilisez TailwindCSS pour le styling
- Évitez les inline styles sauf cas exceptionnels
- Optimisez les re-renders (useMemo, useCallback)
- Pas de console.log en production (utilisez un logger approprié)
- Pas de code commenté (utilisez Git pour l'historique)
- Tests : Ajoutez des tests pour les nouvelles fonctionnalités
- Sécurité : Ne committez jamais de secrets, tokens, ou credentials
- Le code compile sans erreurs
- Les tests passent (
npm test) - Le code suit les standards du projet
- La documentation est à jour
- Les commits sont propres et bien nommés
- Le CLA est signé (le bot vous guidera)
-
Allez sur GitHub et créez une Pull Request depuis votre branche
-
Remplissez le template de PR avec :
- Description : Qu'est-ce que cette PR fait ?
- Motivation : Pourquoi ce changement est nécessaire ?
- Type de changement : Bug fix, feature, docs, etc.
- Tests : Comment avez-vous testé ?
- Screenshots : Si changement UI
-
Liez l'issue correspondante (ex:
Closes #123)
- Un mainteneur reviewera votre PR
- Répondez aux commentaires et effectuez les modifications demandées
- Une fois approuvée, votre PR sera mergée ! 🎉
Pour signaler un bug, créez une issue avec :
- Titre clair : Résumé du problème
- Description détaillée :
- Comportement attendu vs comportement observé
- Étapes pour reproduire
- Version de Ryvie
- Environnement (OS, navigateur, etc.)
- Logs d'erreur si disponibles
- Screenshots si applicable
Template :
**Description du bug**
[Description claire du problème]
**Reproduction**
1. Aller sur '...'
2. Cliquer sur '...'
3. Voir l'erreur
**Comportement attendu**
[Ce qui devrait se passer]
**Screenshots**
[Si applicable]
**Environnement**
- OS: [ex: Ubuntu 22.04]
- Version Ryvie: [ex: 1.0.0]
- Navigateur: [ex: Chrome 120]Pour proposer une nouvelle fonctionnalité :
- Vérifiez qu'elle n'existe pas déjà ou n'est pas en cours
- Créez une issue avec le label
enhancement - Décrivez :
- Le problème que cela résout
- La solution proposée
- Les alternatives considérées
- L'impact sur les utilisateurs
Attendez un retour avant de commencer le développement pour éviter le travail inutile.
Ryvie/
├── Ryvie-Back/ # Backend Express + Socket.IO
│ ├── routes/ # Routes API
│ ├── services/ # Logique métier
│ ├── middleware/ # Middlewares Express
│ └── utils/ # Utilitaires
├── Ryvie-Front/ # Frontend React
│ ├── src/
│ │ ├── components/ # Composants React
│ │ ├── pages/ # Pages principales
│ │ ├── hooks/ # Custom hooks
│ │ └── utils/ # Utilitaires frontend
├── docs/ # Documentation
└── scripts/ # Scripts utilitaires
- Documentation : docs/
- Architecture : Voir le README principal
- Sécurité : SECURITY.md
- License : LICENSE (RSAL v1.1)
- Issues GitHub : Pour les questions techniques
- Email : contact@ryvie.fr
- Discussions : Utilisez les GitHub Discussions pour les questions générales
Merci de contribuer à Ryvie ! Chaque contribution, petite ou grande, aide à améliorer le projet pour toute la communauté. ❤️
Fait avec ❤️ par la communauté Ryvie