Ces derniers temps, je m’applique à créer un Framework (oui, il parait que c’est la mode…) Php pour mon utilisation personnelle (pour l’instant…). Celui-ci est entièrement codé en PHP5 via l’utilisation de classes. Le but de ce framework est de me permettre de creer rapidement toute sorte d’applications ayant ces besoins :
- Gestion des identités utilisateurs (securité principalement)
- Gestion des bases de données
- Gestion de thèmes faciles à modifier
- Gestion de l’internationalisation des pages
Pour l’heure ces quatres classes sont déjà codées et m’ont permis, pour des raisons de tests, de créer un frontend de blog en 2 jours design inclus.
Une petite presentation de chaque classes s’impose :
- La classe de Securité permet d’identifier de maniere sure un utilisateur tout au long de sa navigation, elle se base sur divers principe que je n’exposerais evidement pas ;)
- La classe de Gestion des bases gère pour l’heure de maniere transparente MySQL et SQLite, en attendant de mettre la main sur une base postgres et une base oracle afin de valider les classes potentielles. Je dit transparente car seul l’instanciation de la classe est spécifique et l’ensemble des méthodes apellables repondent de la même maniere, ce qui permet de coder une application avec une base d’un certain type et de l’exploiter sur une base différente.
- La classe de gestion des themes est on ne peux plus simple a utilisée, elle s’appuie en réalité sur un modele de type HTML avec des “keywords” qui seront remplacés par des fonctions utilisateurs. Typiquement, pour le moteur de blog, le mot clé [[POST_TITLE]] Affichera la titre du post en cours de traitement. Cela permet surtout de “designer” les pages de manieres transparante et de les integrer dans le systeme par la suite (pour preuve, sur les 2 jours de création du systeme complet, j’ai déjà paramétré 4 themes différents).
- La classe d’internationalisation est elle aussi on ne peux plus simple, il suffit de créer des fichierde type csv de de le remplir avec les correspondance, par exemple : “Login”,”Connexion”
Cette façon de travailler permet surtout une traduction hyper rapide d’un systeme entier, pour peu que toutes les chaines affichées passent bien par la moulinette
J’ai aussi bien l’intention de créer tout un tas d’autres classes utiles pour mes futurs développements et ne suis pas non plus entré dans les possibilité du DNA Framework tel qu’il existe actuellement, mais après tout, j’ai commencé le developpement de celui-ci il n’y a que 4 jours.
A Noter toutefois, pour me simplifier la vie, j’ai ajouté dans la classe de BDD une possibilité d’importer/exporter les données en csv, cela me permet de tester plus rapidement le frontend sans avoir encore codé le backend :D








