CRUD
CRUD est l'acronyme de Create, Read, Update, Delete : les quatre opérations élémentaires que l'on peut effectuer sur une donnée — la créer, la lire, la modifier, la supprimer. Le terme désigne aussi, par extension, une interface qui se limite à ces quatre gestes sur une liste d'objets.
C'est le classeur de fiches clients transposé au numérique : on ajoute une fiche, on la consulte, on la corrige, on la retire. La quasi-totalité des back-offices, des gestionnaires de catalogue et des espaces d'administration ne font, au fond, que cela sur une dizaine de types de fiches différents.
Comment ça marche
Les quatre lettres correspondent presque terme à terme aux instructions SQL — INSERT, SELECT, UPDATE, DELETE — et aux verbes HTTP d'une API REST — POST, GET, PUT ou PATCH, DELETE. Cette correspondance explique pourquoi la plupart des frameworks savent générer ces écrans automatiquement à partir de la description des données : Filament ou EasyAdmin côté PHP, API Platform pour exposer directement une API, l'administration intégrée de Django côté Python.
Le développeur décrit une entité — un produit, un client, une facture — avec ses champs, ses règles de validation et ses relations ; l'outil en déduit le formulaire, la liste paginée, les filtres, la recherche et les actions.
À quoi ça sert concrètement
- Construire un back-office d'administration en quelques jours plutôt qu'en quelques semaines
- Gérer un catalogue, des utilisateurs, des articles, des documents
- Poser rapidement les fondations d'un MVP avant d'y ajouter le métier
- Chiffrer un projet : compter les entités et les croiser avec les rôles donne un ordre de grandeur fiable
Les limites à connaître
Le CRUD ne dit rien du métier, et c'est là que les projets dérapent. Annuler une commande n'est pas la modification d'un champ statut : c'est un processus qui déclenche un remboursement, une remise en stock, un e-mail et une écriture comptable. Raisonner en CRUD pur conduit à confier ces enchaînements à l'utilisateur, qui les oublie.
La suppression pose le même problème. Effacer réellement une ligne casse les historiques et les factures qui y font référence ; on lui préfère presque toujours l'archivage, avec une vraie suppression réservée aux cas où la réglementation l'exige. Enfin, les droits ne se limitent pas à l'entité : un commercial peut souvent lire une fiche client sans avoir le droit d'en modifier le prix négocié.
Quand générer, quand écrire
Générez sans hésiter les écrans d'administration interne : ils sont utilisés par des personnes formées, la sobriété y est une qualité. Écrivez sur mesure tout ce que voient vos clients finaux et tout ce qui correspond à un processus métier plutôt qu'à une fiche.
Termes associés
Laravel
Laravel est un framework PHP open source, créé par Taylor Otwell, conçu pour réduire au maximum le ...
Back-end
Le back-end désigne la partie invisible d'une application web ou mobile : le serveur, la base de do...
Filament PHP
Filament est un ensemble de composants open source pour Laravel qui permet de construire des back-o...
Code coverage
La couverture de code, ou code coverage, est le pourcentage du code source réellement exécuté penda...
Clean Architecture
La Clean Architecture est un principe d'organisation du code qui place les règles métier au centre ...
CI/CD (Intégration et Déploiement Continus)
La CI/CD désigne l'automatisation de la chaîne qui va du code écrit au logiciel livré : l'intégrati...
