Le Pitou Framework

Projet 31 déc. 2020

Aujourd'hui je vais vous parler Programmation, et plus précisément de mon Framework PHP personnel, le #PitouFW !

Tout a commencé comme je pense tous les frameworks, par un dossier dans lequel je gardais quelques fichiers utiles que je réutilisais à travers mes projets. Puis ces ensembles de fonctions sont devenues des classes, puis tout ce petit monde a fini par s'articuler en un mini-framework.

Comme je suis de nature partageuse, j'ai très vite décider de mettre mon travail en ligne sur GitHub. Je ne l'ai jamais documenté mais je m'en occupe en 2021, promis !

Bref, ce framework gère :

  1. Un système d'alerte visuelle (succès, attention, erreur...) grâce à des composants Bootstrap et dont les infos sont stockées en session. Vous n'avez jamais eu le problème de devoir afficher un message à vos visiteurs mais aussi devoir les rediriger vers une autre page ? Moi oui, tout le temps ! Alors j'ai essayé de passer le message dans l'url de mille manière, mais cela ne m'a jamais satisfait, alors j'ai décidé de passer par les variables de session, et c'est bougrement efficace ! Je ne soucie plus du tout des Alertes désormais ^^
  2. Une classe permettant de créer des appels API et de les exécuter. Oui c'est une version low-cost de GuzzleHTTP, et je l'assume totalement.
  3. Le routage vers l'API du projet, en JSON, sous la route /api/. Des helpers sont disponibles pour rendre facilement des succès ou des erreurs API
  4. Le rendu de vues HTML (classique)
  5. La structure MVC (les controlleurs sont des fichiers et non des classes, parce que je trouve ça plus pratique)
  6. Le chiffrement symétrique et asymétrique ainsi que la signature numérique, le tout avec openssl
  7. La connexion à une BDD MySQL
  8. Un système d'entités qui intègre un mini ORM maison (ça aussi j'assume)
  9. Le logging personnalisé de tous un tas de trucs
  10. Du mailing maison (Privacy first !) grâce à un Mailer intégré et à une cron task
  11. Une surcouche de Redis permettant de set et de get facilement des données de tous type
  12. Le routage grâce à un fichier unique routes.php
  13. La traduction en un nombre infini de langues grâce à i18n
  14. Tous un tas de petits trucs relous du quotidient fourrés dans la classe Utils

Ce framework n'est pas parfait, mais j'y ai réuni ce dont moi j'ai le plus besoin quand je crée un nouveau projet web. J'ai pré-codé tout un système d'espace membre, compatible avec JustAuthMe (pas fou le bougre), pour que je n'ai pas à tout refaire à chaque projet. Inscription, connexion, validation par e-mail, mot de passe oublié, page de profil, tout y est.

Je suis hyper productif depuis que je tourne sur ce petit outil. Je n'ai pas la prétention de le faire devenir le prochain Laravel, je suis juste fier de vous le présenter !

Le projet est disponible sur github à l'adresse suivante : https://github.com/phpitou/pitoufw, vous pouvez le forker pour votre usage personnel mais il est très peu probable que j'y accepte les contributions, aux vues du caractère personnel de ce projet, ce qui sera utile à quelqu'un ne me le sera pas forcément.

Je vous souhaite une bonne et heureuse année 2021, passez un bon réveillon confiné et on se revois l'année prochaine sur ce blog pour parler DIY, Tech, Finances, boulot et j'espère sport !

Cheers ✌🏼

Mots clés

Peter Cauty

Passionné de technologie et d'automobile depuis ma tendre enfance, je me suis plongé dans le le développement web à mes 12 ans. Ingénieur de formation, aujourd'hui Indépendant.