Manuel de référence → Introduction

Chapitre 1. Introduction

Présentation

Hoa est un framework complet, orienté objet, basé sur la technologie PHP 5. Il permet d'écrire des applications Web rapidement, de manière flexible et professionnelle. Hoa utilise les dernières technologies et manœuvres existantes dans le domaine de la programmation orientée objet (comme par exemple l'utilisation des design patterns).

Hoa fonctionne en utilisant une multitude de paquetages — au maximum — simples, qui peuvent être assemblés pour développer n'importe quel type de module. Le système d'application est basé sur le design pattern MVC. Cela assure une meilleure organisation des projets, et permet à chacun de travailler avec le maximum de confort.

Hoa est un rétro-acronyme récursif de : Hoa Open Accessibility. Il se lit /hɔa˦/, soit o-a (et non h-o-a). Hoa fait référence à une fleur, la beauté, l'amour ou signifie être aimé.

Pourquoi Hoa ?

Simplicité

Hoa est tout d'abord penser pour l'utilisateur. On tente donc d'être le plus complet possible tout en étant le plus intuitif possible. Chaque cas, chaque action est vue et revue pour faciliter le travail de l'utilisateur.

Légèreté

Chaque paquetage de Hoa est toujours écrit de façon minutieuse de façon à avoir un système le plus léger, mais le plus performant possible.

Performances

On s'applique à utiliser les solutions les plus pointues pour résoudre la plupart des problèmes. Cela passe par l'utilisation de nombreux design patterns par exemple.

Chaque action est pensée pour économiser des ressources, de la mémoire, du temps de calcul, de la complexité etc., afin d'avoir un système optimal dans toutes les situations.

Hoa tente également d'améliorer les performances de l'application en s'appuyant sur un système de cache performant. Ce qui aura pour effet d'économiser encore des calculs pour les bases de données par exemple.

Standards et pérennité

Hoa met un point d'honneur sur l'utilisation des normes et standards. Ces derniers nous offrent plusieurs choses :

  • bon fonctionnement et cohérence des applications ;
  • interopérabilité des opérations avec d'autres applications ;
  • pérennité des projets et ressources créées.

Hoa est très respectueux des normes, standards et recommandations, tels que ceux du W3C, RFC, ISO etc., et se base sur des fonctionnements similaires qui ont fait leur preuve ou qui sont reconnus comme étant une référence (on pense par exemple à Gettext).

Indépendance des paquetages et réutilisabilité

Un framework a pour vocation de fournir un environnement de développement le plus large possible afin de répondre à toutes les situations. Toutefois, on peut n'avoir besoin que d'une partie du framework. C'est pourquoi le couplage/dépendance entre les paquetages sont le plus faible possible afin de pouvoir réutiliser tout ou partie du framework et de l'intégrer dans n'importe quel projet.

Licence permissive

Hoa est placé sous licence GNU GPL. Cette licence est suffisament permissive pour intégrer Hoa dans la plupart des projets.

Installation

Hoa est construit sur la version 5 de PHP, il est donc nécessaire d'avoir la version 5.1.4 ou plus. Pour plus d'informations sur la configuration minimale requise, on peut consulter l'Annexe A, Configuration requise.

Télécharger Hoa

Une fois le système installé et à jour, on peut télécharger Hoa. Pour cela, plusieurs solutions vous sont proposées.

Subversion

Subversion est une application de gestion de version. Il permet une gestion simplifiée des téléchargements et mises à jour des applications. Hoa a un serveur SVN public sur SourceForge. On peut parcourir les sources à l'aide de ViewVC [1] ou télécharger les sources directement.

Dans la terminologie SVN, on parle d'extraire (checkout) les sources du dépôt (repository). Un dépôt est organisé selon 3 catégories. La catégorie à laquelle on s'intéresse présentement est la version principale (trunk version) contenant les dernières corrections de bugs et améliorations. On souhaite que cette version soit placée dans le dossier Hoa_Framework. On se place à la racine de notre application, puis on prépare l'extraction. On aura alors une ligne de commande qui ressemblerait sensiblement à : $ svn co https://hoa-project.svn.sf.net/svnroot/hoa-project/Trunk Hoa_Framework On doit accepter le certificat (temporairement ou de façon permanente) pour pouvoir tout télécharger.

Une fois Hoa Framework téléchargé, vous pouvez l'utiliser normalement. Si — à l'avenir — on souhaite se mettre à jour, rien de plus simple. On se place dans le dossier racine (selon l'exemple précédent : Hoa_Framework), et on entre la ligne de commande suivante : $ svn update Les fichiers vont se mettre à jour seuls, i.e. sans que l'on doive intervenir, et le terminal renverra le numéro de révision du projet.

Archive

Si on n'est pas très à l'aise avec SVN, des archives sont mises à notre disposition : zip, tar.bz2, tar.gz, 7z etc.

L'installation se fait en 3 étapes :

  • on télécharge une archive sur la page de téléchargement de Hoa ;
  • une fois l'archive téléchargée, on décompresse ou on désarchive Hoa avec notre outil préféré ;
  • on rentre dans le dossier Hoa_Framewor_v-xxx, et on trouve le dossier Hoa_Framework. On place ce dossier dans notre application, et l'installation est terminée.

Si — à l'avenir — on souhaite se mettre à jour, il va falloir réitérer l'opération.

Modifier les chemins d'inclusion

Maintenant, il est préférable de reconfigurer un minimum PHP pour faciliter l'utilisation du framework.

On va simplement modifier le paramètre include-path de façon à créer un chemin évident vers le framework, puis d'inclure son fichier principal. Cette modification se fait dans votre fichier d'amorçage, généralement index.php :

<?php
 
/**
 * On redéfinit le chemin des inclusions de fichiers.
 */
set_include_path('./'              . PATH_SEPARATOR .
                 './Hoa_Framework' . PATH_SEPARATOR .
                 get_include_path());
 
/**
 * On appelle le fichier principal du framework.
 */
require_once 'Framework.php';
 
/**
 * C'est parti ;-).
 */
echo 'Je suis installé, merci !';

Hoa est maintenant prêt à l'utilisation.

Cette redéfinition simplifie l'appel des fichiers, car quand on appelle un fichier, le système va tenter le premier chemin. Si c'est un échec, il tentera le second, puis le suivant etc., jusqu'à un succès, i.e.trouver le fichier. C'est donc une simplification.

Dans tous les exemples qui vont suivre, on ne répétera pas la redéfinition du chemin d'inclusion ; on se contentera d'appeler le fichier principal Framework.php.


[1] ViewVC fait partie de la suite des logiciels proposés par Collabnet sur Trigris et permet la visualisation d'un dépôt CVS ou SVN. Ce dernier faisant parti de cette suite de logiciel est distribué sous licence Apache/BSD-Style.