En continuant à naviguer sur mon site, vous consentez à ce que j'utilise des cookies pour collecter les statistiques de visites. En savoir plus

#Informatique Cortical, framework inachevé en PHP

À plusieurs reprises, j'ai voulu me lancer dans la création d'un framework PHP « Cortical », sans trouver assez de motivation pour le terminer. Alors plutôt que de le laisser à l'abandon, autant mettre les sources en public, et on verra bien si ça intéresse quelqu'un de reprendre le travail commencé.

Les motivations principales du projets sont :

  • Une séparation claire et précise des différentes couches de développement
  • Une modularité qui permette aux développeurs de concevoir un site à plusieurs sans que chacun n'empiète sur le travail de l'autre
  • Un framework facile à prendre en main
  • Un système le plus rapide et efficace possible
  • Beaucoup d'outils pour faciliter les développements
  • La contribution entre développeurs mise en avant
  • L'intégration de projets déjà existant plus facile

Un projet relativement ambitieux… surtout quand on veut s'y mettre seul. J'avais voulu développer ce framework après avoir eu beaucoup de mal à me lancer dans des frameworks déjà existants, et dont je n'arrivais pas à comprendre le fonctionnement (à l'époque), comme Symfony, CakePHP, etc.

De plus, je voulais y ajouter un maximum de fonctionnalités que le développeurs n'aurait pas eu à coder lui-même, sans qu'il n'ait besoin de s'en soucier, et qui, de toute manière, ne peut lui apporter que du bénéfice. Je pense notamment à quelques fonctionnalités comme :

  • L’agrégation et injections des sources CSS, Javascript et autres ressources cachées et compressées, dans le rendu de la page HTML (le but étant de s'approcher au plus possible de la requête HTTP unique pour n'afficher qu'une seule page)
  • La mise à jour automatique de Cortical sans que les sources de l'application ne soient impactées (au moins au sein d'une version majeure)
  • Des fichiers de configuration en YML ou JSON pour absolument tout
  • Une base de donnée un peu spéciale : avec des tables comprenant uniquement des clés primaires et étrangères, référençant toutes une table unique comprenant toutes les données (je n'ai pas eu l'occasion d'étudier cette fonctionnalité en terme de performances…)
  • Proposer des plugins facilement utilisables, notamment quelques plugins qui permettraient de créer un mini-CMS orienté création d'objets dynamique (comme Drupal) et gestion d'utilisateurs.

Un de mes autres objectifs principaux était de faire en sorte que l'utilisateur n'ait aucun PHP à coder s'il veut mettre un site simple en place, qu'il n'ait que des fichiers JSON à configurer, des fichiers de template HTML et des styles en CSS à développer.

Je viens de mettre à jour le dépôt GitHub de Cortical. Avis aux intéressés, les commentaires dans le fichier index.php vous seront d'une grande aide quant à la compréhension de la répartition des sources. Le fichier TODO également…

Rédigé le .

Commentaires

comments powered by Disqus