# Hoa (informatique)

Hoa est un ensemble de bibliothèques PHP modulaires, extensibles et structurées. De plus, Hoa souhaite être un pont entre le monde de la recherche et de l'industrie. Le projet est sous licence New BSD.

## Historique

Hoa se prononce /hoa/ (prononcé en anglais : [ˌhoa]) et est un rétro-acronyme récursif signifiant Hoa, Open Accessibility. Né en 2007 dans la chambre de Ivan Enderlin, le projet a longtemps été un prétexte pour apprendre et approfondir plusieurs domaines de l'Informatique. Ce n'est qu'en 2010 que le projet a réellement commencé avec une communauté, des utilisateurs, des événements etc. Voici quelques étapes importantes :
* 2007, Pré-naissance du projet ;
* 2010, Naissance du projet ;
* 7 nov. 2011, Première conférence scientifique (ICTSS) ;
* 24 nov. 2011, Première conférence développeur (PHPTour) ;
* 24 aout 2012, Publication sur Github ;
* 15 déc. 2012, Premier sponsor (VeryLastRoom) ;
* 23 mars 2013, Premier événement communautaire (Apex, première édition) ;
* 3 avr. 2013, 10 000 téléchargements ;
* 20 mai 2013, Awecode, une nouvelle forme d'apprentissage ;
* 25 aout 2013, Création de l'association ;
* 20 juil. 2014, Communauté large de plus de 800 personnes ;
* 16 aout 2014, Deuxième événement communautaire (Apex, deuxième édition) ;
* 8 nov. 2014, 200 000 téléchargements ;
* 12 déc. 2014, 300 000 téléchargements;
* 30 aout 2017, le projet est abandonné.

## Liste des bibliothèques

* Acl
* Bench
* Cache
* Compiler
* Console
* Core
* Database
* Devtools
* Dispatcher
* Dns
* Eventsource
* Fastcgi
* File
* Filter
* Graph
* Http
* Iterator
* Json
* Locale
* Log
* Mail
* Math
* Memory
* Mime
* Model
* Notification
* Praspel
* Promise
* Prototype
* Realdom
* Regex
* Registry
* Router
* Ruler
* Serialize
* Session
* Socket
* Stream
* String
* Stringbuffer
* Translate
* Tree
* View
* Visitor
* Websocket
* Worker
* Xml
* Xmlrpc
* Xyl
* Zombie

## Système de releases

Hoa utilise un système de release appelé Rush Release, pour Rolling Und ScHeduled Release.
À l'origine, Hoa utilise un cycle appelé Rolling Release. Cela signifie que la branche principale de développement master contient en permanence la dernière version. Pas besoin d'attendre la sortie d'une nouvelle version pour avoir les derniers correctifs de sécurité, de performances ou les dernières nouveautés : la branche principale les propose tout de suite, sans attente. (Détail : Hoa applique du part- et true-rolling release).
Toutefois, certains logiciels permettant d'installer Hoa ne comprennent pas cette approche, ou alors elle ne convient pas à tous les environnements de développement ou contextes d'utilisation. C'est pourquoi, Hoa utilise également un autre cycle de release appelé Scheduled-based Release. Régulièrement des snapshots (à travers des tags) sont créés selon des règles précises.

## Pont entre recherche et industrie

Hoa inclut des contributions scientifiques. La plus notable est Praspel, un langage de spécification pour PHP. Plusieurs articles ont été publiés, ainsi que des rapports de recherche, thèse, journaux etc.
Un des objectifs de Hoa est d'être un pont entre le monde de la recherche et de l'industrie. La recherche profite du champ d'action que lui offre l'industrie pour valider ses expérimentations, et l'industrie, quant à elle, bénéficie d'avancées majeures et d'une innovation. Cette approche a été saluée et validée par les deux parties à plusieurs reprises et a des répercussions intéressantes. Les bibliothèques Hoa\Compiler, Hoa\Json, Hoa\Math, Hoa\Praspel, Hoa\Regex ont été développées dans le cadre de la recherche, et la bibliothèque Hoa\Ruler par exemple profite de ces avancées pour apporter une solution innovante à l'industrie.

## Communauté

La communauté comprend 4 co-gérants. Elle est constituée de plusieurs centaines de personnes (de récentes estimations annoncent plus de 800 personnes) et de dizaines de contributeurs, répartis autour du globe.
La communauté de Hoa se veut accueillante et chaleureuse. Un endroit où apprendre et partager.

### Hoa Apex

Depuis mars 2013, des événements communautaires appelés Hoa Apex s'organisent tous les 1,5 an environ. C'est un événement itinérant dédié à la communauté, où se retrouvent tous les contributeurs, les utilisateurs et les développeurs principaux. C'est un moment unique pour partager des idées et des projets ensemble.
Liste des éditions :
* Hoa Apex 2013, 1re édition ;
* Hoa Apex 2014, 2e édition.

## Association

En 2013, la communauté annonce la création d'une association. Hoa Project est une association à but non lucratif (loi 1901). Elle a pour objectif de soutenir le projet Hoa en développant, déployant et faisant la promotion des logiciels libres issus de Hoa Project, de ses produits dérivés et des projets associés.