Générer un CRUD
Workflow à suivre pour créer un nouveau CRUD admin ou métier.
Étapes
1. Définir le nom de la table et les clés FK en id_*
2. Créer la migration (soft deletes si données historiques)
3. Créer le modèle (casts, fillable, relations, SoftDeletes)
4. Créer les Form Requests (Store + Update)
5. Créer la Policy
6. Créer le Service
7. Créer le Controller
8. Créer les vues Blade (index + modale detail/add)
9. Ajouter les routes et entrées de menu
10. Écrire les tests (feature + unit)
Checklist CRUD
- ✅ Autorisation pour chaque action (index, create, edit, delete)
- ✅ Validation couvre toutes les entrées
- ✅ Le service possède les mutations
- ✅ Logs pour les changements sensibles
- ✅ Les vues ne contiennent pas de logique métier
- ✅ Soft delete si données historiques
- ✅ Colonnes triables dans le tableau
- ✅ Filtre et export CSV
- ✅ Lignes cliquables → modale Détail
Exemple de migration
Schema::create('elevage_operateurs', function (Blueprint $table) {
$table->id();
$table->string('nom', 100);
$table->string('prenom', 100)->nullable();
$table->boolean('is_active')->default(true);
$table->unsignedBigInteger('id_service')->index();
$table->foreign('id_service')->references('id_service')->on('services');
$table->softDeletes();
$table->timestamps();
});