Horde

Fiche logiciel validé
  • Création ou MAJ importante : 19/10/09
  • Correction mineure : 16/07/10
Mots-clés
Pour aller plus loin
  • Fiches logiciel PLUME connexes :

Horde : socle d'applications (internet, travail coopératif...)

Description
Fonctionnalités générales
  • Horde est un "cadre d'application" ou "socle" (framework) permettant de développer rapidement des applications internet et de groupe de travail basées sur les standards et largement internationalisées. Il est développé en PHP.
  • Horde utilise les classes PEAR ou PECL qui permettent de mettre en oeuvre certains protocoles réseaux comme SOAP, XML_RPC, en plus des librairies PHP traditionnelles (LDAP, IMAP, SQL)
    • webmail dans trois versions : IMP, MIMP (PDA, mobiles), DIMP (avec Ajax) avec gestion des règles de filtrage (Ingo)
    • organisation : carnet d'adresses (Turba), agenda (Kronolith), tâches et notes (Nag et Mnemo) ainsi qu'un gestionnaire de fichiers (Gollem)
  • Les principales applications modulaires et interopérables sont :
    Horde propose aussi un ensemble de ces applications packagées pour l'organisation de groupes de travail : Horde Groupware et Horde Groupware Webmail Edition. On peut partager de nombreuses données (agenda, carnet d'adresses, fichiers), gérer des rendez-vous communs... Ces versions sont a préconiser car elle intègrent les fonctionnalités générales, sont basées sur la dernière versions stable de Horde et permettent naturellement l'ajout d'autres modules. C'est un gain de temps dans le déploiement de Horde.

Autres fonctionnalités
  • Horde se déploie assez facilement, chaque application s'installe suivant le même principe et se configure à travers l'interface de Horde
  • Le projet propose un ensemble de recommandations pour développer rapidement de nouvelles applications, par exemple il est possible de s'appuyer sur le socle pour gérer l'authentification, la gestion des préférences, la configuration, la gestion des erreurs, etc.
  • Les scripts de mise à jour des bases selon les différentes versions (passage de 3.0 à 3.1 puis 3.2, etc. puis évolution par module) fonctionnent assez bien
  • Tout comme Horde, Horde Groupware et Horde Groupware Webmail Edition proposent tout ce qui est nécessaire à sa mise à jour.
  • Horde Groupware Webmail Edition intègre d'office les trois interfaces d'accès à la messagerie (IMP, DIMP et MIMP) sélectionnables à la connexion
Interopérabilité
  • Horde propose un grand nombre de mécanismes d'authentification (IMAP, LDAP, SQL, PAM, Shibboleth, Kerberos, Radius, etc.) On trouve par ailleurs des implémentations pour CAS
  • La gestion de tâches (Nag) et l'agenda (Kronolith) peuvent interopérer comme applications serveur (WebDAV ou CalDAV) pour le partage de tâches ou d'agendas depuis des applications tierces
  • Néanmoins, le projet Horde préconise Kolab comme serveur groupware si aucun des services n'est déjà installé
  • Le carnet d'adresse(Turba) supporte aussi le protocole IMSP
  • Le projet IMP (webmail) propose une déclinaison pour les clients mobiles (MIMP)
  • Horde peut, de façon non encore naturelle, interopérer avec les PDA via le protocole SyncML et synchroniser le carnet, l'agenda les notes et tâches
Contexte d'utilisation dans mon laboratoire/service

Horde a été déployé au sein du laboratoire (environ 400 comptes) et pour la plate-forme en ligne Mathrice (1500 comptes). Sa souplesse et grande réutilisabilité a permis l'ajout rapide d'applications "maison" comme un accès VNC, une gestion de carnets d'adresses itinérants (maintenant intégré à Turba) ou un proxy pour journaux électroniques (ces développements nécessitant assez peu de programmation supplémentaire).
Note du relecteur :
Dans le cadre des environnements numériques de travail (ENT), il est le logiciel préconisé par le consortium ESUP. Nous le déployons pour le personnel et les étudiants de l'université (plus de 25000 comptes)

Limitations, difficultés, fonctionnalités importantes non couvertes

Débuggage complexe car le mode debug est trop bavard. Etant écrit en objet, il est difficile de relier une URL à un bout de code particulier (nombreuses redirections HTTP).
Très riche, l'interface d'administration est parfois moins intuitive que le fichier de configuration généré à plat.
Il n'existe pas d'outils pour purger dans la base de données les données d'un utilisateur.
Suite à un changement dans les numéro de versions, on a un peu de mal à s'y retrouver, chaque outil ayant son numéro de version, indépendamment de la distribution (ex groupware edition 1.1 avec IMP 4.2 et Turba 2.2)

La facilité dépend de l'échelle du déploiement. Pour de vastes communautés, l'outil devient rapidement complexe, mais son aspect open source et modulaire (hooks) permet de l'adapter à son environnement.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

linux debian, ubuntu, fedora

Plates-formes

Serveur web (de préférence Apache, mais aussi IIS, Sun Web Sphere, etc.) et PHP (4.3 ou plus récent) sur Unix-like , Windows ou Mac OS X.

Autres logiciels aux fonctionnalités équivalentes

eGroupware, Zimbra, open-Xchange

Environnement de développement
Type de structure associée au développement
Eléments de pérennité
Références d'utilisateurs institutionnels
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur