Le framework IRIS-PHP

Ce site propose une présentation et une documentation du framework Iris-PHP.

Caractéristiques actuelles

La version beta (0.900) présente les caractéristiques suivantes (placer la souris sur les titres pour visionner les détails) :

  • Lightweight, compact and fast
    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.
  • API documentation in English
    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.
  • Exclusive support of PHP 5.4, with namespaces and traits
    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". En outre, l'usage des traits et des nouvelles syntaxes simplifiées apporte un réel confort au créateur du framework (et aux développeurs-utilisateurs). Résolument tourné vers l'avenir, le framework ne tourne que sur les serveurs possédant une version de PHP au moins égale à 5.4.

Prochaines versions

La version 1.0 du framework est prévue pour la fin de l'année 2012. Le projet sera sous licence GPL 3.0. Les caractéristiques suivantes seront ajoutées dans le framework.

Bon à savoir...

Gestion des droits d'accès

Dans Iris-PHP, les droits d'accès sont directement implentés dans le mécanisme de recherche de la page. Les principes suivants sont de rigueur:

  1. dans un nouveau projet, toutes les pages sont accessibles
  2. si on décide de gérer les droits, plus aucune page, à l'exception des affichages d'erreur, ne peut être visualisées
  3. préalablement aux privilèges, on peut définir un minimum de deux groupes d'utilisateurs, chaque groupe pouvant hériter des caractéristiques d'un ou plusieurs autres groupes
  4. pour chaque module ou chaque contrôleur ou chaque action, on peut définir quel groupe pourra y accéder (par la même occasion, les menus n'afficheront que les actions autorisées par le groupe auquel appartient l'utilisateur courant
  5. groupes et privilèges sont définis dans un seul fichier de paramètres afin de faciliter une vue d'ensemble
  6. il appartient au développeur de créer les ressources permettant de mémoriser les utilisateurs, leur groupe et leur mot de passe. Cependant, le module d'administration permet de simuler le fonctionnement du site pour un groupe donné, indépendamment de l'implémentation des utilisateurs et des procédures de connexion
  7. si une liste d'utilisateurs existe (base de données ou fichier texte), le module d'administration permet d'usurper une identité sans devoir se connecter dans un site de développement
  8. par sécurité, la session d'un utilisateur est désactivée après un laps de temps d'inactivité (la durée précise est programmable)