1 line
8.8 KiB
JSON
1 line
8.8 KiB
JSON
[{"uuid":"8ed45b6e-d89b-4ae9-94e2-ed8476c00080","slug":"creer-son-propre-mini-framework-php-from-scratch","title":"Créer son propre mini-framework PHP from scratch","category":"informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2025-11-04 22:07:52","created_at":"2025-11-04 22:07:52","updated_at":"2025-11-04 22:07:52","tags":[],"plain":"Tout commence avec une idée simple : bâtir un système web léger, modulaire et compréhensible, sans dépendre d’un framework externe.\r\nUn framework maison, conçu pour gérer efficacement des posts, des commentaires et des pièces jointes, tout en respectant les principes de l’architecture MVC.\r\n\r\nL’objectif\r\n\r\nDisposer d’une base claire et extensible, où chaque brique du système — du routeur aux modèles — reste transparente et entièrement maîtrisable.\r\n--\r\n\r\nLa structure du projet\r\n\r\nL’application s’organise autour d’une arborescence simple et logique.\r\n\r\nAu sommet, le dossier joue le rôle de porte d’entrée du site, avec un fichier qui orchestre tout : c’est lui qui intercepte chaque requête et la transmet au routeur.\r\n\r\nDans le dossier , on retrouve le cœur de la logique métier :\r\n\r\n contient les fondations : le routeur et la classe de base des contrôleurs.\r\n regroupe les différentes logiques d’action (posts, commentaires, pièces jointes).\r\n gère la persistance des données — ici stockées dans des fichiers JSON pour plus de simplicité.\r\n\r\nChaque couche a un rôle précis, et l’ensemble reste clair, modulaire et facile à maintenir.\r\n--\r\n\r\nLe routeur : le cerveau du système\r\n\r\nAu cœur du projet, le fichier agit comme un chef d’orchestre.\r\nIl écoute les requêtes entrantes, analyse leur méthode (, , , etc.) et les fait correspondre à la bonne route.\r\n\r\nGrâce à un jeu de regex, le routeur reconnaît des chemins dynamiques comme et transmet automatiquement les paramètres au contrôleur concerné.\r\nUne architecture élégante, minimaliste et pourtant très puissante.\r\n--\r\n\r\nL’entrée principale : \r\n\r\nTout commence dans .\r\nAprès avoir chargé les classes nécessaires, on y définit les routes — une à une — comme les règles d’un jeu.\r\n\r\nChaque route associe une méthode HTTP à une action précise :\r\n\r\n Afficher tous les posts\r\n Créer un nouveau post\r\n Mettre à jour, publier ou masquer un post\r\n Ajouter un commentaire ou une pièce jointe\r\n\r\nUne fois toutes les routes enregistrées, le routeur intercepte la requête HTTP réelle et la redirige vers le bon contrôleur.\r\nC’est simple, direct et parfaitement lisible.\r\n--\r\n\r\nLes contrôleurs : la logique métier\r\n\r\nPrenons comme exemple.\r\nChaque méthode correspond à une action concrète du système : afficher la liste des posts, en créer un, le modifier, le publier ou le masquer.\r\n\r\nLes contrôleurs sont stateless : ils reçoivent les données, invoquent le modèle correspondant, puis renvoient une réponse JSON propre et explicite.\r\nAucune dépendance superflue, aucun artifice — le code parle de lui-même.\r\n--\r\n\r\nLes modèles : la mémoire du système\r\n\r\nLes modèles (, , ) assurent la gestion des données.\r\nIci, les informations sont stockées dans des fichiers JSON — un choix volontairement simple, idéal pour le prototypage ou les petits projets.\r\n\r\nMais la structure est pensée pour pouvoir évoluer facilement vers une base de données réelle (MySQL, SQLite, etc.) via PDO.\r\nChaque modèle sait comment lire, créer, modifier et sauvegarder ses propres objets, garantissant ainsi une séparation claire des responsabilités.\r\n--\r\n\r\nUne API claire et RESTful\r\n\r\nLes routes suivent une logique RESTful, simple et cohérente :\r\n\r\n\r\n\r\nL’API est lisible, homogène et prête à être consommée par n’importe quel front-end — qu’il soit en Vue.js, React, ou même une interface HTML minimale.\r\n--\r\n\r\nPourquoi cette approche séduit\r\n\r\nCe mini-framework maison présente plusieurs atouts :\r\n\r\n Zéro dépendance externe : tout est sous ton contrôle.\r\n Architecture claire et didactique : parfaite pour comprendre la mécanique interne d’un framework.\r\n Routing dynamique et élégant : les paramètres d’URL sont gérés naturellement.\r\n Extensibilité : tu peux facilement ajouter l’authentification, des middlewares ou la validation des données.\r\n Légèreté : un cœur minimal, mais robuste et fonctionnel.\r\n--\r\n\r\nEt après ?\r\n\r\nLa prochaine étape : implémenter la gestion complète des fichiers uploadés, avec vérification du type MIME, stockage sécurisé dans , et possibilité de masquer les pièces jointes à la demande.\r\n\r\nPetit à petit, ton framework prend forme — un système MVC léger, propre et totalement maîtrisé.\r\nTu n’utilises plus un framework : tu en construis un."},{"uuid":"c338bb36-94bd-430b-9fb2-42c7ea762413","slug":"6911","title":"6911 - Le mini camion de pompier","category":"Loisirs","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-01-08 01:57:41","created_at":"2023-01-08 01:57:41","updated_at":"2023-01-08 01:57:41","tags":[],"plain":"Article: 6911 Âges : 6-12 ans Année : 2012 Nb de Pièces:69 Devenez un courageux pompier avec ce mini véhicule de secours 3 en 1 ! Menez à bien votre mission ! Répondez aux appels de détresse et devenez un héros avec le mini camion de pompier, équipé d'une échelle mobile et d'une lance à incendie jaune. Transformez-le en tout-terrain du capitaine des pompiers ou en hélicoptère de secours. Vendu dans une canette portable et réutilisable. 3 modèles en 1 : se transforme en tout-terrain du capitaine des pompiers ou en hélicoptère de secours Inclut une canette de rangement réutilisable.\nLevez et faites tourner la grande échelle !\nMesure plus de 7 cm de long"},{"uuid":"dd107c38-c040-4815-8493-2bba7c16d85e","slug":"6912","title":"6912 - L'avion à réaction","category":"Loisirs","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2020-04-17 18:07:12","created_at":"2020-04-17 18:07:12","updated_at":"2020-04-17 18:07:12","tags":[],"plain":"Article:6912 Âges: 6-12 Nb de Pièces:130 Foncez à travers le ciel avec ce formidable avion à réaction 3 en 1 ! Impressionnez la foule avec ce formidable avion à réaction ! Relevez le train d'atterrissage, et c'est parti pour les acrobaties les plus risquées ! Déployez le train d'atterrissage et écoutez la foule en délire ! Transformez-le en hélicoptère puissant avec des hélices rotatives ou en hors-bord ultra-rapide.\n3 modèles en 1 : se transforme en hélicoptère puissant ou en hors-bord ultra-rapide\nDéployez le train d'atterrissage de l'avion à réaction !\nFaites tourner les puissantes hélices de l'hélicoptère !\nMesure plus de 18 cm de long sur 17 cm de large\nL'hélicoptère mesure plus de 21 cm de long\nLe hors-bord mesure plus de 14 cm de long"},{"uuid":"8117cf0e-dc68-4945-95ee-30b23e13f674","slug":"4209","title":"4209 - l'avion des pompiers","category":"Loisirs","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2020-04-17 18:07:07","created_at":"2020-04-17 18:07:07","updated_at":"2020-04-17 18:07:07","tags":[],"plain":"Article: 4209 Âges: 5 et plus Année : 2012 Nb de Pièces: 522 Maîtrisez l'incendie de forêt avec l'avion des pompiers ! Maîtrisez et éteignez le feu de forêt ! Déversez l'eau sur les arbres avec le canadair, puis rendez-vous sur place avec le camion de pompier tout-terrain et sa remorque pour maîtriser et éteindre l'incendie ! Inclut 3 figurines : 2 pilotes et un pompier forestier.\nInclut 3 figurines : 2 pilotes et un pompier forestier\nComprend l'avion des pompiers et un camion de pompier tout-terrain avec sa remorque\nL'avion des pompiers possède des hélices rotatives, des portes qui s'ouvrent et une fonction pour déverser de l'eau\nLe camion de pompier tout-terrain comprend une remorque avec une lance à incendie et un compartiment qui s'ouvre sur un équipement de pompier\nAccessoires : 2 arbres, des flammes, 30 briques d'eau LEGO®, une tronçonneuse, une hache, un talkie-walkie, une lampe torche et une boîte de rangement\nLâchez les briques d'eau LEGO sur l'incendie !\nBranchez la lance à incendie sur l'avion des pompiers !\nMesure plus de 33 cm de long sur 44 cm de large\nREMARQUE : n'est pas conçu pour être utilisé avec de la vraie eau."},{"uuid":"9f5281aa-7d92-472c-bd17-0037c27e69e1","slug":"5761","title":"5761- La Mini Pelleteuse","category":"Loisirs","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2020-04-17 18:07:08","created_at":"2020-04-17 18:07:08","updated_at":"2020-04-17 18:07:08","tags":[],"plain":"Article: 5761 Âges:5-12 Nb de Pièces: 57 Construis cette authentique pelleteuse et amuse toi à faire monter et descendre la pelle !\nModèles alternatifs avec instructions de montage incluses : tout-terrain ou dépanneuse."}] |