Nous adorons entendre les idées de nos utilisateurs ! C’est ce qui rend cette plateforme si excellente et polyvalente. Si vous avez une idée pour contribuer, veuillez prendre un moment pour la partager avec nous !
Le projet accueille et dépend des contributions des développeurs et des utilisateurs de la communauté du logiciel libre. Les contributions peuvent se faire de plusieurs façons :
- Correctifs de code via des demandes de tirage
- Améliorations de la documentation
- Rapports de bugs et révisions de correctifs
Premières Étapes
- Lisez cette page complète “de haut en bas”.
- Assurez-vous d’avoir un compte GitHub.
- Présentez-vous dans le chat des développeurs sur Discord.
- Consultez la page Problèmes Ouverts. Nous avons facilité ces pour les débutants avec le label good first issue — ce sont des problèmes qui devraient être relativement faciles à résoudre.
- Amusez-vous !
Configuration de l’Environnement de Développement
Démarrage Rapide (Recommandé)
🚀 GitHub Codespaces (Le Plus Simple) :
- Cliquez sur “Code” → “Codespaces” → “Create codespace on [branch]”
- Attendez 2-3 minutes pour la configuration automatique
- Ouvrez
http://localhostet connectez-vous avecadmin/changeme
🐳 Conteneurs de Développement VS Code :
- Installez l’extension “Dev Containers” dans VS Code
- Ouvrez ce référentiel dans VS Code
- Cliquez sur “Reopen in Container” lorsque demandé
- Attendez la fin de la configuration
🔧 DDEV (Docker Local) :
- Installez DDEV et Docker
- Clonez le référentiel et exécutez :
git clone https://github.com/ChurchCRM/CRM.git churchcrm cd churchcrm ddev start ddev setup-churchcrm - Ouvrez https://churchcrm.ddev.site et connectez-vous avec
admin/changeme
Voir Configuration DDEV ci-dessous pour plus de détails et dépannage.
Configuration Manuelle
Si vous préférez installer manuellement ou si les options automatiques ne fonctionnent pas :
Installer les Prérequis :
- Git ou GitHub Desktop
- Node.js version 20+
- Docker
- PHP 8.4+ avec extensions :
bcmath,curl,gd,gettext,iconv,mbstring,mysqli,pdo_mysql,sodium,zip,zlib - Composer (gestionnaire de dépendances PHP)
Cloner et Configurer :
git clone https://github.com/votre-utilisateur/ChurchCRM.git cd ChurchCRM ./scripts/setup-dev-environment.shAccéder au Site Web :
- ChurchCRM : http://localhost/ (
admin/changeme) - MailHog : http://localhost:8025 (test d’email)
- Adminer : http://localhost:8088 (admin base de données)
- ChurchCRM : http://localhost/ (
Dépannage
Problèmes Courants :
- Conflits de port 80 : Arrêtez d’autres serveurs web ou changez le mappage de ports Docker
- Échec de la compilation Docker : Assurez-vous que Docker dispose d’au moins 4 Go de mémoire
- Services ne commençant pas : Exécutez
npm run docker:dev:logspour vérifier les journaux - Tests échouant localement : Utilisez
npm run docker:test:rebuildpour un environnement de test propre - Extensions PHP manquantes : Utilisez les conteneurs Docker — ne compilez pas localement
- Schéma de base de données obsolète : Exécutez
npm run docker:test:restart:dbpour actualiser
Configuration DDEV
DDEV est un environnement de développement local basé sur Docker qui fournit PHP, MariaDB, Node.js, HTTPS et test d’email avec une seule commande.
Prérequis
- Docker Desktop
- DDEV v1.22+
Démarrage Rapide
git clone https://github.com/ChurchCRM/CRM.git churchcrm
cd churchcrm
ddev start
ddev setup-churchcrm
ddev launch
Connexion : admin / changeme
URLs des Services
| Service | URL |
|---|---|
| ChurchCRM | https://churchcrm.ddev.site |
| Mailpit | https://churchcrm.ddev.site:8025 |
| MySQL | ddev mysql |
Flux de Travail Quotidien
ddev start # Démarrer les services
ddev stop # Arrêter les services
ddev ssh # Accès shell
ddev logs # Afficher les journaux
Dépannage DDEV
| Problème | Solution |
|---|---|
ddev start échoue | Assurez-vous que Docker s’exécute : docker info |
| Config.php non créé | Exécutez ddev exec cp /var/www/html/.ddev/Config.ddev.php /var/www/html/src/Include/Config.php |
| Base de données vide | Réimportez : ddev import-db --file=cypress/data/seed.sql |
Documentation complète de DDEV : https://ddev.readthedocs.io
Normes de Développement
Interface Utilisateur
ChurchCRM utilise le framework AdminLTE pour l’interface utilisateur. Suivez ces directives :
- Familiarisez-vous avec AdminLTE
- Gardez les changements d’interface utilisateur alignés avec les principes de conception d’AdminLTE
- Créez des fichiers CSS modulaires et organisés pour les styles personnalisés
- Assurez un design réactif sur tous les appareils
Architecture Slim MVC
Pour les nouvelles APIs et pages, suivez l’architecture Slim MVC (Model-View-Controller).
Tests avec Cypress
Utilisez Cypress pour les tests de bout en bout :
npm run test # Exécuter tous les tests
npm run test:ui # Test interactif
Structure des tests :
- Tests API :
cypress/e2e/api/private/[feature]/[endpoint].spec.js - Tests UI :
cypress/e2e/ui/[feature]/
Flux de Travail de Développement
Embranchement :
git checkout -b nom-featureNormes de Code :
- Suivez les normes de codage existantes
- Respectez le guide de style dans
.github/copilot-instructions.md - Utilisez des messages de commit descriptifs
Tests :
- Écrivez des tests pour vos modifications avec Cypress
- Mettez à jour la documentation si nécessaire
Processus de Demande de Tirage :
git pull origin master git rebase master git push origin nom-feature
Normes de Codage
ChurchCRM maintient des normes strictes de qualité du code :
- ✅ Base de Données : ORM Propel obligatoire (pas de SQL brut)
- ✅ HTML5 : Uniquement CSS Bootstrap 4.6.2
- ✅ Services : Logique métier dans les classes Service
- ✅ PHP 8.4+: Types nullables explicites
- ✅ i18n : Enveloppez le texte de l’interface utilisateur avec
gettext()oui18next.t()
Pour des normes complètes, voir .github/copilot-instructions.md
Code de Conduite
Veuillez respecter le Code de Conduite dans toutes les interactions.
Merci pour votre contribution !