Hoa

Manuel d'apprentissage

Installation

Dans ce chapitre, nous nous intéressons à l'installation de Hoa, ainsi qu'à l'installation de PHP (normalement pas nécessaire sur tout système digne de ce nom).

Table des matières

  1. Installer Hoa
    1. Confort maximal
    2. Depuis un dépôt Mercurial
    3. Depuis une archive compressée
    4. Depuis une archive Phar
  2. Tester l'installation
  3. Installer PHP
  4. Architecture de Hoa
  5. Hoa en ligne de commande

Installer Hoa

Nous nous intéressons à l'installation de Hoa à travers de multiples mécanismes.

Confort maximal

Pour les systèmes respectants le Filesystem Hierarchy Standard (dans sa version 2.2 minimum), Hoa préfèrera s'installer dans le dossier /usr/local/lib/hoa. Pour les autres systèmes, comme par exemple Windows, Hoa préfèrera s'installer dans le dossier C:\Program Files\Hoa.

Depuis un dépôt Mercurial

Mercurial est un logiciel puissant pour gérer les sources. C'est le choix qu'a fait Hoa pour gérer ses sources et ses outils. Tous les dépôts, ainsi que leur description, sont visibles sur l'index des dépôts.

Pour installer Hoa à partir de Mercurial, il suffit de faire :

$ hg clone http://hg.hoa-project.net/Central /usr/local/lib/hoa

Et c'est terminé !

Pour mettre à jour Hoa, deux commandes suffisent :

$ cd /usr/local/lib/hoa
$ hg pull
$ hg update

Depuis une archive compressée

Hoa propose des archives compressées sous plusieurs formats : 7z, tar.bz2, tar.gz et zip. Ces archives sont accessibles de deux manières :

Les archives sont rangées suivant l'ordre établit par les dépôts. Les archives en *.next.format contiennent le tronc, sinon elles correspondent à une version étiquettées. Plusieurs archives sont produites par jours concernant le tronc.

Depuis une archive Phar

PHP fournit son propre système d'archive : PHP Archive (Phar), afin de distribuer plus uniformément ses programmes écrits en PHP (ou avec d'autres langages). Ce format est devenu standard avant PHP5.3, qui est la version minimum pour utiliser Hoa. Il est donc naturel de le proposer.

Ce format d'archive est disponible aux mêmes endroits que les archives compressées, toutefois, l'archive est exécutable :

$ mkdir -p /usr/local/lib/hoa
$ cd !!$
$ wget http://download.hoa-project.net/Central/Hoa.next.phar
$ php Hoa.next.phar
Usage   : Hoa.next.phar <options>
Options :
    -m, - -metadata  : Print all metadata.
    -t, - -test      : Test if Hoa is in this Phar.
    -s, - -signature : Print signature.
    -p, - -phar      : Phar informations.
    -e, - -extract   : Extract Hoa in the current directory.
    -h, - -help      : This help.
    -?, - -help      : This help.

Si le résultat obtenu n'est pas celui escompté, il faudra modifier le paramètre detect_unicode dans votre fichier php.ini pour le passer à 0. Ou sinon, directement :

$ php -d detect_unicode=0 Hoa.next.phar
Usage   : Hoa.next.phar <options>
Options :
    …

Il est conseillé d'extraire Hoa avec l'option -e ou --extract. Cela va extraire Hoa au même niveau que l'archive :

$ php Hoa.next.phar --extract
Extracted in /usr/local/lib/hoa

Tester l'installation

Pour tester l'installation de Hoa, rien de plus simple :

<?php

require '/usr/local/lib/hoa/Core/Core.php';
var_dump(HOA);

ou directement en ligne de commande :

$ php -r "require '/usr/local/lib/hoa/Core/Core.php'; var_dump(HOA);"

À l'exécution, nous devons voir bool(true). Si c'est le cas, c'est que Hoa est correctement installé.

Installer PHP

Toutes les informations sont présentes dans le manuel de PHP : Installation and Configuration.

Architecture de Hoa

L'architecture de Hoa est très simple :

Hoa est conçu selon le principe un ensemble de bibliothèques pour plusieurs applications, i.e. nous plaçons le dossier Hoa a un seul endroit et toutes les applications vont travailler dessus.

Nous allons ainsi commencer par explorer un peu les fonctionnalités du noyau avant d'installer notre première application.

Hoa en ligne de commande

Lorsque nous exécutons le script hoa (ou hoa.bat), un écran d'accueil apparaît :

$ cd Bin/
$ ./hoa
// Homescreen.

Sur toutes les commandes, nous trouverons les options -h, --help ou encore -?, pour obtenir de l'aide. Ainsi, nous apprendrons que les commandes sont constituées d'un groupe et d'un nom en exécutant :

$ ./hoa --help

Par exemple, pour afficher l'arbre du protocole hoa://, nous ferons :

$ ./hoa protocol:tree
hoa://
  Application
    Public
  Bin
  Data
    Etc
      Configuration
      Locale
    …

Il sera plus confortable de placer le script hoa (ou hoa.bat) dans le $PATH afin qu'il soit accessible depuis n'importe où sur le disque. En effet, comme Hoa s'installe une fois pour être utilisé plusieurs fois, il est logique que son script soit accessible partout. Pour cela, sous Unix, il faudra modifier la variable $PATH dans ~/.shellrc (par exemple : ~/.bashrc, ~/.zshrc etc.) :

export PATH=/usr/local/lib/hoa/Bin:$PATH

Nous rechargeons notre profil et le script sera disponible partout :

$ source ~/.zshrc
$ hoa
// Homescreen.

Pour Windows, il faudra consulter Microsoft TechNet car la manipulation est moins triviale.