Présentation eGroupWare
Introduction
Contexte et but de ce site
Les étudiants de 3ème année de formation au sein de la filière Informatique et Réseaux
du dispositif Ingénieurs 2000 réalisent
chacun un exposé et un site Web présentant un sujet lié au domaine informatique.
Ce site est le complément de la présentation réalisée le 9 décembre 2004 en cours de système. Il
présente l'outil eGroupWare, application Open Source de GroupWare écrite en php.
L'école Ingénieurs 2000 est une école d'ingénieur par apprentissage en alternance longue (6 mois/6 mois).
Les cours de la filière Informatique et Réseaux sont dispensés au sein de
l'Université de Marne la Vallée.
Les exposés de système sont encadrés par Dominique REVUZ.
Les autres exposés peuvent être concultés sur le site des exposés IR.
Ce site ne décrira pas en détail l'ensemble des fonctionnalités d'eGroupWare, mais vise à donner au lecteur un aperçu du spectre fonctionnel de cet outil ainsi qu'un exemple de sa mise en oeuvre.
Pourquoi eGroupWare ?
eGroupWare est un outil permettant de proposer, via le réseau interne d'une entreprise, un ensemble de fonctionnalités regroupées en un seul point, accessible par un simple navigateur Internet. Ce type d'outil devient de plus en plus fréquent dans les entreprises en raison de l'évolution des besoins des utilisateurs, qui veulent pouvoir être mobiles tout en gardant à disposition leurs données et leurs applications. De nombreuses solutions de ce type existent, et parmis elles eGroupWare présente certaines caractéristiques intéressantes.
Objectifs
1. Répondre aux besoins des utilisateurs
En entreprise, le système d'information est très souvent sollicité pour échanger des données entre utilisateurs.
Les usages se sont multipliés, et avec eux le volume d'information: L'e-mail est l'"outil à tout faire", les besoins en stockage de
données sont en constante augmentation. Parralèllement, les utilisateurs demandent des applications qui cadrent plus leurs usages et faciles d'accès.
Face à cette évolutions ont été crées des outils destinés à faciliter le travail collaboratif, notamment pour proposer des espaces communs d'échanges (forums, agendas partagés) et de stockage (dossiers partagés).
De plus, il a fallu rendre ces outils faciles d'accès, et donc les centraliser: l'ensemble des fonctionnalités doiventêtre accessibles depuis un point d'entrée unique et on doit pouvoir passer de l'une à l'autre facilement.
Enfin, ces outils doivent pouvoir être utilisés depuis n'importe quel poste relié au réseau de l'entreprise. Pour cela, ils se basent sur une architecture à "client léger", qui ne nécessite qu'un navigateur internet sur le poste client, et aucun autré déploiement.
2. Faciliter l'administration
Ces nouveaux outils doivent aussi faciliter la vie des responsables informatiques. Une architecture client léger/serveur Web permet déjà d'éviter des déploiements et des mises à jours sur les postes clients. De plus, l'administration technique de la solution est centralisée sur le serveur, et donc plus facile à gérer
L'architecture logicielle et sa facilité d'utilisation doivent également permettre de déléguer l'administration fonctionnelle des outils à des non-informaticiens.
Enfin, il doit petre possible d'ajouter ou de retirer à la volée telle ou telle fonctionnalité, suivant la demande et les besoins des utilisateur: l'application doit être modulaire
3. Concurrencer l'offre commerciale
Le but ultime d'une telle application est de concurrencer les grosses solutions commerciales type Microsoft Exchange Server et Lotus Notes/Domino, souvent onéreuses et peu adaptées.
Présentation fonctionnelle
1. Le projet eGroupWare
Comme son nom l'indique, eGroupWare est un logiciel de groupware, ce qui signifie:
eGroupWare est écrit en php et distribué en Open Source sous licence LGPL (Lesser General Public License) et est donc gratuitement téléchargeable, modifiable, redistribuable... Il est donc possible d'adapter eGroupWare à un contexte particulier
Le projet eGroupWare est issu de phpGroupware dont deux des développeurs majeurs ont souhaité lancer leur propre projet en 2003, tout en gardant des modules compatibles.
Par rapport à phpGroupWare, le projet eGroupWare se veut plus dynamique (équipe de développeurs, recours à des sponsors), plus stable et plus modulaire. eGroupWare est est également plus soigné visuellement:
2. Modules applicatifs existants
De nombreux modules applicatifs sont livrés par défaut. Ils peuvent bien évidemment être désactivés si besoin, et l'accès aux applications nécessite une authentification préalable. On peut trouver les modules suivants:
Bookmarks | Permet de stocker sur le réseau ses adresses internet préférées, et de les retouver sur un autre poste. | |
Carnet d'adresses | Permet de gérer ses contacts et de les partager (par exemple, pour une équipe de commerciaux) | |
Calendrier | Permet de gérer son agenda et de le partager | |
Client mail | Permet de lire ses mails | |
Forum | Permet d'échanger des messages dans des espaces de discussion | |
Gestionnaire de fichiers | Permet d'avoir un espace de stockage sur le réseau accessible depuis n'importe quel poste | |
Client ftp | Permet de récupérer des fichiers d'un serveur FTP | |
Infolog | Permet de gérer la relation client (CRM) | |
Messagerie interne | Permet d'envoyer des messages instantanés aux autres personnes connectées au système | |
Gestion de projet | Système complet de gestion de projet, avec assignation de tâches, délais, priorités, facturation. | |
Wiki | Espace permettant de travailler en groupe sur un même document. | |
Bug tracker | Système de gestion d'incidents avec émission de tickets, classification des bugs, assignation des bugs à une ou plusieurs personnes... | |
Gestion de site web | Gestion de contenu d'un site web directement depuis eGroupWare. |
3. Interface utilisateur
L'interface utilisateur d'eGroupWare se compose de trois zones:
- La barre d’applications, située en haut de la fenêtre, permet d'accéder aux différents modules en cliquant sur les icones correspondantes
- La zone centrale présente une vue de l'application actuellement consultée, par exemple le calendrier
- Enfin, la zone de menus située à gauche permet à l'utilisateur d'accéder à toutes les actions suivant le contexte dans lequel il se trouve. La partie haute de ce menu est globale et commune pour toutes les applications, alors que la partie basse donne accès à des actions spécifiques à l'application qui est en train d'être utilisée.
L'ensemble de l'interface utilisateur est internationalisée et existe dans de nombreuses langues (plus d'une vingtaine, dont le français).
Présentation technique
1. Architecture technique
eGroupWare est écrit en PHP sous licence LGPL et repose comme de nombreuses applications Web sur une architecture de type LAMP (Linux-Apache-Mysql-Php).
L'installation d'eGroupWare nécessite donc:
-
- un serveur Web (Apache, IIS...)
- la librairie PHP correspondante ( >4.2 )
- une base de données (MySQL, PosGreSQL, MS-SQL ou autre)
L'application eGroupWare est composée d'une API (Application Programming interface) de base, appelée pgpGWapi, et de modules additionnels correspondant aux différentes applications disponibles. L'API phpGWapi met à disposition des développeurs un certain nombre de fonctionnalités indispensables (abstraction des données, sécurité..) qui sont utilisées dans les modules additionnels. Cette architecture modulaire permet d'enrichir facilement et à la demande la couverture fonctionnelle d'eGroupWare. Il est également possible de développer ses propres modules pour adapter eGroupWare à un contexte particulier. Un exemple de module est fourni avec la distribution d'eGroupWare et une documentation développeur existe.
2. Installation d'eGroupWare
Avant de tenter d'installer eGroupWare, il est nécessaire de mettre en place les pré-requis: Apache, PHP, MySQL. Si l'un de ces trois composants est manquant ou ne fonctionne pas, il sera impossible d'installer eGroupWare.
Une fois que le serveur web et la base de donnée sont opérationnels, il suffit d'extraire l’archive eGroupWare dans un répertoire accessible par Apache. Le reste de l'installation se fait normalement via un navigateur Web, en lançant la procédure d'installation située dans le sous répertoire setup du répertoire d'eGroupWare, par exemple http://localhost/egroupware/setup/index.php
La première étape est la procédure de vérification. Cette vérification permet de détecter les éventuels problèmes liés aux composants sur lesquels s'appuie eGroupWare (le serveur web, php et la base de données) ou à leur configuration
Il faut ensuite configurer le "header" php, qui comprend de nombreux paramètres. A cette étape, il faut également définir un compte (nom et mot de passe) pour la configuration du header et un autre pour la configuration "globale"
En utilisant le compte de configuration "globale" défini juste avant, il faut ensuite lancer la configuration d'eGroupWare. La première étape est la création de la base de données qui peut être réalisée automatiquement ou manuellement à l'aide de la suite de commandes indiquée.
Après avoir créé la base, on peut continuer l'installation.
Il faut lancer l'installation des applications eGroupWare. A pertir de ce moment l'instalaltion eGroupWare est fonctionnelle.
Il reste à configurer un compte adminisatrateur eGroupWare (et éventuellement installer plusieurs langues).
Une fois le compte administrateur crée, eGroupWare est accessible à la racine du répertoire, par exemple http://localhost/egroupware/index.php
3. Configuration et administration
Toute fin de la configuration se fait ensuite dans l'application, en mode administrateur. La configuration se fait par l'application eGroupWare d'administration:
L'application d'administration permet de gérer le site dns sa globalité mais aussi de configurer chacune des applications eGroupWare installée. On peut en particulier configurer des comptes utilisateurs, les associer à un groupe et définir quelles applications seront disponibles pour ce groupe.
Conclusion
1. Une application de groupware intéressante
eGroupWare, en particulier de par sa richesse en applications, est une alternative crédible
à des applications commerciales. Le packaging de cette solution et la procédure d'installation
relativement simple permettent de la mettre en oeuvre rapidement. De plus, le caractère "open source"
est un plus indéniable, car la solution eGroupWare peut ainsi être personnalisée pour coller au plus près
au besoin de chacun. Le fait qu'eGroupWare soit écrit en php y contribue car la communauté de développeurs
php est assez large et la connaissance de ce langage très répandue.
2. Des points à surveiller
Certains points limitent cependant l'attrait d'eGroupWare, notamment pour de grandes organisations. Les
documentations utilisateurs et développeurs ne sont pas assez complètes, en particulier les
traductions, ce qui impose une formation obligatoire des utilisateurs et des difficultés pour les développeurs.
Le développement de modules supplémentaires nécessite donc une bonne connaissance de php et éventuellement d'examiner
le code source de l'API. Ce symptome est malheureusement assez courant dans le monde open-source.
Les capacités de montée en charge de cette solution restent assez floues. Même si les capacités d'Apache et MySql
sont connues, le projet eGroupWare est encore jeune et dispose de peu de références où la solution est utilisée à
grande échelle (plus d'une centaine d'utilisateurs)
La mise en place des prérequis (Apache/PHP/MySQL) peut être fastidieuse pour un utilisateur lambda, ce qui rend
l'installation d'eGroupWare plus complexe qu'une solution intégrée.
Enfin, eGroupWare doit faire face à de nombreux concurrents (OpenGroupWare, MoreGroupWare..)
eGroupWare représente donc à ce jour un choix judicieux pour de petites ou moyennes organisations
où la connaissance d'Apache/Mysql est déjà présente.
3. bibliographie
www.egroupware.org, le site officiel
un article de LinuxFrench
Hello World en phpGroupWare