Deux frameworks PHP écrits pour deux besoins opposés : l’un pour porter une application marchande complète, l’autre pour monter un site en quelques jours. Tous deux publiés.
FAD — le framework complexe
Routage, couche de données, gabarits, gestion des droits. Il embarque l’ORM de première génération, datamodel, à typage fort — voir les trois générations d’ORM.
Il a été écrit à une époque où il fallait tout construire soi-même, et il a porté des applications réelles. La plus exigeante : le site marchand d’Opium Racing, agence de roulage moto sur circuits en Europe de l’Est — réservation en ligne de sessions sur circuit, en 8 langues, avec la contrainte propre à ce métier : une place réservée l’est pour une date, une moto et un niveau, et rien ne se rattrape après coup.
fad-framework-php — Framework with strongly typed ORM written in PHP.
Tiny Framework — le framework/CMS simple
L’inverse : le strict nécessaire pour bâtir un site vite, avec l’ORM de deuxième génération, db_object. Il a servi pour plusieurs sites vitrines, et une version améliorée en a été développée pour MatNat, dont le catalogue et les commandes ne tenaient plus dans le modèle d’origine.
framework-tiny-php — Tiny framework written in PHP to create easily small websites.
Et les frameworks des autres
Écrire le sien n’est pas une position de principe. Chez les clients dont la pile est déjà posée, je travaille sous Symfony et Doctrine — c’est le cas de MatNat, pour qui j’ai écrit une surcouche de templates permettant une mise en cache au fragment plutôt qu’à la page, et dont j’ai mené l’application de Symfony 3.4 à 5.4 puis à 7.4. Le bon outil est celui que l’équipe suivante saura reprendre.
- PHPLangage des applications web servies ici : WordPress, PrestaShop, Dolibarr.
- SymfonyFramework PHP, pour les applications sur mesure structurées.
- DoctrineCouche d'accès aux données pour PHP.
- MySQLBase de données relationnelle, socle historique des applications web.
- MariaDBBase de données relationnelle : installation, réglage, réplication, sauvegarde.
- ApacheServeur web ; celui qui sert la plupart des sites hébergés.
La vue d’ensemble est sur Développements ; ce que ça donne en prestation, sur Développement sur mesure.
