Présentation du framework IRIS-PHP
Ce site est réalisé à l'aide du nouveau framework IRIS-PHP, encore en cours de développement. Dans l'état actuel, il dispose déjà d'un module exécutable reprenant les principales fonctionnalités d'un site simple, avec base de données mySQL ou SQLite.
- léger, compact et rapide
(Détails)
La version non compressée du framework occupe actuellement moins de 2Mo d'espace disque. Il est en général trois fois plus rapide, à fonctionnalités égales, que Zend. Il n'offre évidemment pas autant de possibilités.
- documentation en français
(Détails)
Bien que les bibliothèques soient rédigées en anglais, la langue du monde des développeurs, le framework est fourni avec une interface biblingue et un mode d'emploi en français.
- support exclusif de PHP 5.3 et des namespaces
(Détails)
Toutes les classes du framework sont situées dans un namespace prenant place dans une structure exclusive. Ces classes sont automatiquement chargées sans nécessité de réaliser un seul "include". Résolument tourné vers l'avenir, le framework ne tourne que sur les serveurs possédant une version de PHP au moins egale à 5.3.
- possibilité de modification des classes de base
(Détails)
Le programmeur peut apporter les modifications qu'il désire aux principales classes du framework par une sorte de dérivation. La classe telle qu'elle a été modifiée par le programmeur remplace la classe originale dans tout le framework. Il est donc possible de modifier tout ce qu'on veut. Cette caractéristique a été inspirée par le framework Kohana.
- intégration du toolkit javascript Dojo
(Détails)
L'intégralité des formulaires et un grand nombre d'outils fournis par Dojo sont intégrés au framework. Il est possible de développer des aides de vue supplémentaires qui permettent de personnaliser l'utilisation du toolkit. Les outils Dojo sont cependant placés dans une bibliothèque annexe, qui peut être supprimée ou remplacée par une bibliothèque équivalente (un fan de jQuery peut par exemple, écrire son module d'interface en s'inspirant de ce qui a été fait pour Dojo).
- compatibilité avec le framework CSS YAML
(Détails)
YAML est un framework CSS allemand particulièrement tolérent avec les anciens navigateurs. Il permet de réaliser des pages à plusieurs zones très simplement. Il s'intègre sans mal dans le framework, mais son utilisation reste facultative. La nouvelle version 4.0 n'a pas encore été testée.
- fonctions natives HTML5 et CSS3
(Détails)
Des outils d'intégrations des dernières nouveautés HTML 5 et CCS 3 sont prévus, avec des solutions pour afficher la page dans un ancien navigateur avec un minimum de déformations.
- support modulaire des principales bases de données
(Détails)
La version initiale supporte mySQL et SQLite, mais le framework est conçu pour s'étendre facilement à toutes les bases gérées par PDO. Des extensions vers les bases non intégrées à PDO seront ajoutées dans la version 1.0. La gestion des données s'apparente à l'ORM (Object Relational Mapping). Le framework est actuellement prévu pour utiliser une base de données existante. Les classes d'objet sont générées par inspection de la base, tant pour la structure des tables que pour les relations entre elles.
- conception modulaire des applications
(Détails)
Une application se compose au minimum d'un module principal et de modules auxiliaires facultatifs. Bien que le module principal soit sur le même niveau que les autres, les ressources qui y sont définies sont directement exploitables dans les autres modules.
- respect du modèle MVC
(Détails)
Comme la plupart des frameworks, IRIS-PHP intègre une architecture MVC (model-view-controler). Grâce à cela, chaque partie du programme est gérée à sa place.
- les contrôleurs et leurs aides assurent les tâches de logique du site
- les modèles assurent l'interface avec la base de données et le traitement des données
- les layouts, les vues et les aides de vue assurent la présentation du site et sa cohérence
- manipulation aisée des tables
(Détails)
Un ensemble d'outils CRUD permettent les quatre opérations standard en quelques lignes : create/update/read/delete. S'y ajoutent des variantes login et upload. Les formulaires automatiques prévus pour la version 1 rendront ce travail encore plus simple.
- possibilité d'utiliser des bibliothèques externes
(Détails)
Le framework intègre un mécanisme de bibliothèques externes. L'intention est de faciliter l'utilisation de bibliothèques issues d'autres framework. Certains modules de Zend ou de Symfony pourraient compléter le framework sur des points précis. Dans la version actuelle, c'est une potentialité qu'il faudra implémenter concrètement pour chaque cas.
La version 1.0 du framework est prévue pour la fin du premier semestre de 2012. Le projet sera sous licence GPL 3.0. Les caractéristiques suivantes seront ajoutées dans le framework.
- génération automatique des formulaires
(Détails)
Les fonctionnalités CRUD existanttes seront complétées par un générateur automatique de formulaires, tout en autorisant leur personnalisation sans effort.
- aide intégrée
(Détails)
dans le site en développement, une interface d'aide permettra de lister les classes prédéfinies et de voir, avec illustration pratique, comment maîtriser les différents aspects de la création d'un site web à l'aide d'IRIS-PHP.
- module d'administration des projets
(Détails)
Une interface permettra de créer la structure de base d'un projet modulaire complexe. Elle gère la création des classes contrôleurs et des vues, ainsi que les menus et les droits des utilisateurs. Il en est de même pour les classes du modèle. Les ajouts manuels dans le code sont automatiquement intégrés dans les données de l'administration. Pour raison de sécurité, ces fonctions sont désactivées sur un site en production.
Trois sites en cours de création seront disponibles pour les futurs utilisateurs du framework:
- http://irisphp.org contiendra la documentation en anglais sur l'API du framework
- http://www.irisphp.net reprendra un mode d'emploi en français avec de nombreux exemples ainsi qu'une version complète du framework à télécharger.
- http://irisphp.thoorens.net offrira des tutoriels montrant les principales utilisations du framework.