https://github.com/cadot-eu/base
Modern Symfony project template with automatic admin dashboard, simple CRUD configuration via entity methods, built-in security, fixtures, and ready-to-use Docker environment. Perfect for quickly starting new Symfony applications.
https://github.com/cadot-eu/base
admin-panel composer dashboard docker fixtures php rapid-development symfony
Last synced: about 2 months ago
JSON representation
Modern Symfony project template with automatic admin dashboard, simple CRUD configuration via entity methods, built-in security, fixtures, and ready-to-use Docker environment. Perfect for quickly starting new Symfony applications.
- Host: GitHub
- URL: https://github.com/cadot-eu/base
- Owner: cadot-eu
- Created: 2025-07-22T06:43:34.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-07-30T10:13:52.000Z (11 months ago)
- Last Synced: 2025-10-25T03:36:37.629Z (8 months ago)
- Topics: admin-panel, composer, dashboard, docker, fixtures, php, rapid-development, symfony
- Language: PHP
- Homepage:
- Size: 297 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.fr.md
Awesome Lists containing this project
README
# Base Project Template (FR)
Ce dépôt est un template de projet Symfony moderne, prêt à l'emploi, avec dashboard automatique pour démarrer rapidement vos nouveaux projets.
## Fonctionnalités principales
- Dashboard automatique intégré
- Base Symfony personnalisable
- Structure prête pour le développement
## Dashboard automatique et gestion des entités
Le dashboard admin est généré automatiquement à partir de vos entités grâce à la commande dédiée :
```bash
php bin/console app:configure-cruds
```
Cette commande scanne vos entités et configure automatiquement les CRUDs nécessaires pour l’admin.
### Méthode cruds() dans vos entités
Pour personnaliser le comportement du dashboard, ajoutez une méthode publique `cruds()` dans chaque entité :
```php
public static function cruds(): array
{
return [
// Exemple :
'fields' => ['nom', 'email', 'dateCreation'],
'labels' => ['nom' => 'Nom', 'email' => 'E-mail'],
// ...
];
}
```
Aucune configuration supplémentaire n’est nécessaire : le dashboard s’adapte automatiquement.
## Sécurité et gestion des rôles
Les routes du dashboard sont protégées par défaut :
- `/admin` est accessible uniquement aux utilisateurs ayant le rôle `ROLE_ADMIN`.
- `/superadmin` (si utilisé) est réservé à `ROLE_SUPERADMIN`.
La configuration de sécurité est déjà prête dans `config/security.yaml` : il suffit d’attribuer les rôles à vos utilisateurs, sans modifier le code ou les routes.
## Création de contrôleurs sécurisés
Pour ajouter un contrôleur d’administration, créez-le simplement avec une route commençant par `/admin` :
```php
#[Route('/admin/mon-module', name: 'admin_mon_module')]
```
Il sera automatiquement protégé par le système de rôles.
## Fixtures pour gagner du temps
Des fixtures sont fournies pour pré-remplir la base de données avec des exemples de données et accélérer le développement :
```bash
php bin/console doctrine:fixtures:load
```
## Docker et environnement de développement
Le projet utilise une image Docker optimisée, générée automatiquement via [generate_docker_image_symfony](https://github.com/cadot-eu/generate_docker_image_symfony). Le fichier `compose.yaml` est prêt à l’emploi pour lancer l’environnement complet (PHP, PostgreSQL, etc.) :
```bash
docker compose up -d
```
---
## Dépôt du projet
## Utilisation avec Composer
Pour créer un nouveau projet basé sur ce template :
```bash
composer create-project cadot-eu/base nom-du-projet --repository='{"type":"vcs","url":"git@github.com:cadot-eu/base.git"}' dev-main
```
## Personnalisation
- Modifiez les fichiers de configuration selon vos besoins.
- Consultez la documentation Symfony pour plus d'options.
## Licence
MIT