Le schéma organisationnel des entreprises qui était plutôt de type hiérarchique et rigide il y a quelques années tend à s'aplatir et se doter de nombreuses fonctionnalités transversales.
Cette évolution implique donc un remaniement des modes de communication et d'organisation, ainsi que du système d'information. Un des outils clé de ce changement est le groupware qui dote l'entreprise de moyens simples et efficaces pour permettre à l'ensemble de ses collaborateurs d'y parvenir : partage de l'information à travers de multiples calendriers privés ou non, de forums, d'outils collaboratifs (de type wiki), de gestionnaire de contacts...
Les quatre membres fondateurs d'eGroupWare sont issus du projet phpGroupWare. Celui-ci n'évoluant pas selon eux dans la bonne direction et ne collant pas assez aux besoins exprimés par les utilisateurs d'un groupware, ils décidèrent de forker (partir et refaire) le projet et d'initier ainsi eGroupWare.
L'objectif clairement annoncé est de concurrencer des solutions commerciales comme Notes et Exchange tout en respectant les principes de l'Open Source. à cet effet l'équipe d'eGroupWare a donc orienté son outil en fonction de ce que doit apporter un logiciel de groupware dans une entreprise, une association,...
Selon Reiner Jung, chef de projet eGroupWare : "Souvent les gens définissent le groupware comme un regroupement de fonctions comme le mail, une todo liste, des notes et un calendrier. Celà n'est pas notre définition. Un groupware devrait offrir un espace de travail partagé. Cet espace doit mettre à disposition un ensemble de modules pour le travail de tous les jours. Dans mon activité quotidienne, je partage aussi des fichiers, gère mes projets, les développeurs ont besoin d'un wiki, d'un forum pour les discussions... Quand je peux exécuter la plupart de mes tâches quotidiennes à travers un groupware, alors c'en est un véritablement. Nous sommes sur la voie de ce genre de réalisation."
"Dans de nombreux projets, les développeurs et/ou les entreprises créent une road map et décident des besoins des utilisateurs pour la version suivante. Celà n'est pas la bonne façon de procéder. Nous voulons obtenir un groupware qui remplisse les besoins d'utilisateurs dans le monde professionnel. Selon moi, ce sont les utilisateurs qui développent eGroupWare. Ils ont souvent des connaissances plus importantes que nous sur le fonctionnement d'un groupware et savent pertinemment ce dont ils ont besoin. Le projet doit réaliser, coordonner les demandes, s'assurer de sa viabilité, sa stabilité et sa sécurité."
Particularité de fonctionnement : le groupe propose à des entreprises qui souhaitent voir une ou plusieurs fonctionnalités aboutir plus rapidement de financer des heures de développement.. La méthode est de plus en plus courante et gage d'adéquation du développement aux besoins réels.
Un des avantages d'eGroupWare est sa simplicité de mise en place. Elle ne doit toutefois pas occulter la complexité que représente la mise à plat du circuit de l'information dans une organisation. En effet, le groupware ne sera finalement que le reflet de ce schéma organisationnel. L'objet de cet article est de montrer pas à pas la solution technique. Nous n'aborderons pas l'étape préalable indispensable qui consiste à partir de l'organigramme de l'entreprise pour mettre en place des groupes d'utilisateurs et organiser les différents niveaux d'accès à l'information.
eGroupWare est constitué d'un ensemble de modules présentant les fonctionnalités suivantes :
Chacun de ces modules, on le verra, peut être partagé avec tout ou partie des utilisateurs accédant à eGroupWare. Passons aux choses concrètes : les pré-requis. Passons maintenant à l'installation de la plate-forme qui va supporter eGroupWare. Nous avons fait le choix d'une Mandrake 10.0 pour supporter cette plate-forme.
L'application nécessite au moins un serveur web, PHP et une base de données. Il est possible de l'installer sur IIS, mais pour une raison on ne peut plus partisane, nous choisirons Apache sur Linux. L'ensemble des informations du groupware et notamment le système d'ACL (Access control List) est stocké dans une base de donnée, qui peut être MySQL ou PostgreSQL. Nous allons décrire ci-dessous les modalités d'installation de cette plate-forme LAMP (Linux, Apache, MySQL, PHP). La première étape consiste à installer Apache :
# urpmi apache2 Pour satisfaire les dépendances, les paquetages suivants vont être installés (1 Mo): apache-conf-2.0.48-2mdk.i586 apache2-2.0.48-6mdk.i586 apache2-common-2.0.48-6mdk.i586 apache2-modules-2.0.48-6mdk.i586 Est-ce correct ? (O/n) Préparation... ################################################## 1:apache-conf ################################################## 2:apache2-modules ################################################## 3:apache2-common ################################################## 4:apache2 ##################################################
Le fichier de configuration est /etc/httpd/conf/httpd.conf. (Mandrake a délocalisé une partie de ce fichier dans /etc/httpd/conf/commonhttpd.conf). La configuration par défaut permet de lancer dès maintenant le service Apache :
# service httpd start Starting httpd: [ OK ]
La plate-forme nécessite également l'installation de PHP :
# urpmi php Un des paquetages suivants est nécessaire : 1- apache2-mod_php-2.0.48_4.3.4-1mdk.i586 2- mod_php-4.3.4-1mdk.i586 3- php-cli-4.3.4-4mdk.i586 4- php-cgi-4.3.4-4mdk.i586 Que choisissez-vous ? (1-4)1 Préparation... ################################################## 1:apache2-mod_php ################################################## Shutting down httpd2: [ OK ] Checking configuration sanity for Apache 2.0: [ OK ] Starting httpd2: [ OK ]
Là encore la configuration proposée permet un fonctionnement immédiat de PHP. Il nous reste enfin à installer le serveur MySQL :
# urpmi mysql Un des paquetages suivants est nécessaire : 1- MySQL-4.0.18-1.1.100mdk.i586 2- MySQL-Max-4.0.18-1.1.100mdk.i586 Que choisissez-vous ? (1-2)1 Pour satisfaire les dépendances, les paquetages suivants vont être installés (18 Mo): MySQL-4.0.18-1.1.100mdk.i586 MySQL-client-4.0.18-1.1.100mdk.i586 MySQL-common-4.0.18-1.1.100mdk.i586 libmysql12-4.0.18-1.1.100mdk.i586 perl-Mysql-1.22_19-9mdk.i586 Est-ce correct ? (O/n) Préparation... ################################################## 1:libmysql12 ################################################## 2:MySQL-client ################################################## 3:perl-Mysql ################################################## 4:MySQL-common ################################################## 5:MySQL ################################################## 040512 12:40:46 /usr/sbin/mysqld: Shutdown Complete
On procède ensuite au démarrage du service :
# service mysql start Starting mysql: [ OK ]
L'installation nécessite enfin un certain nombre de modules pour Apache, nécessaires au bon fonctionnement d'eGroupWare.
# urpmi php-mysql php-xml php-imap php-ldap Préparation... ################################################## 1:php-imap ################################################## 2:php-xml ################################################## 3:php-mysql ################################################## 4:php-ldap ##################################################
Voilà votre plate-forme prête à fonctionner !
Il est également possible d'adosser le groupware à un annuaire LDAP (site officiel : http://openldap.org). Avantage de la méthode : il va permettre de centraliser . C'est l'option qui sera présentée ici car elle permet d'utiliser de manière optimale les fonctionnalités d'eGroupWare. L'installation du serveur LDAP est simple :
# urpmi openldap-servers openldap-client Préparation... ################################################## 1:openldap-servers ################################################## 2:openldap-client ##################################################
Le recours à un annuaire LDAP présuppose deux choses : l'installation du module php-ldap pour Apache (ce que nous avons fait dans le paragraphe précédent) et l'intégration d'une classe nécessaire pour inclure des paramètres eGroupWare dans la définition des comptes de groupes et d'utilisateurs. Pour ce faire, copiez les schémas fournis dans les sources (les schémas seront ajoutés dès la prochaine version du RPM Mandrake), phpgwaccount.schema et phpgwcontact.schema dans l'arborescence LDAP. Comme leurs noms l'indiquent, l'un permet de définir les comptes de groupes et d'utilisateurs, l'autre permet de définir le stockage des contacts dans l'annuaire. Pour finir, déclarez l'utilisation de ces schémas dans slapd.conf et redémarrez le serveur.
Nous allons utiliser également un serveur SMTP et un serveur POP/IMAP. Les choix réalisés par l'équipe d'eGroupWare privilégient Postfix d'un côté et Cyrus-IMAP de l'autre. Il est tout à fait envisageable d'utiliser d'autres produits mais ceux-ci ont l'avantage de permettre ensuite la gestion du compte de messagerie à travers l'interface du groupware (gestion des boites mail, alias de mail, forwards, et bientôt les absences). Attention : les requêtes sur les utilisateurs eGroupWare concernant la messagerie se basent sur la classe qmailUser et l'attribut mailAlternateAddress. Ci-dessous un extrait du fichier de configuration de Postfix main.cf concernant la construction de la requête LDAP à effectuer :
On pourra bien sur affiner cette configuration mais ce n'est pas l'objet de l'article. Consulter Postfix-Cyrus-Web-cyradm-HOWTO, un bon point de départ.
L'installation peut se faire à partir des sources :
Comme nous travaillons sur une Mandrake, nous utiliserons les packages prévu à cet effet. Il est possible de télécharger le package édité par l'équipe d'eGoupWare (eGroupWare-all-apps-0.9.99.015-1.noarch.rpm). Toutefois dans un soucis de cohérence, nous utiliserons les packages fournis par la source contrib de Mandrake. Pour installer eGroupWare et tous ses modules :
Par défaut les fichiers s'installent dans /var/www/html/egroupware. Le processus d'installation d'eGroupWare prévoit la création de la base de donnée pour MySQL et PostgreSQL. Nous reprenons ci-dessous les étapes qui permettent la création en ligne de commande de la base et d'un utilisateur qui aura les droits sur cette base pour MySQL.
Voilà , nous laissons de côté maintenant la ligne de commande pour passer à l'installeur web d'eGroupWare. L'installation va alors se faire en 3 étapes à partir de l'URL suivante dans notre cas : http://localhost/egroupware/setup.
Ce fichier contient les paramètres de base d'eGroupWare comme les paramètres de connexion à la base de données mais aussi la possibilité d'en générer plusieurs instances en définissant des domaines. Cette notion peut être utile si l'on souhaite par exemple définir deux interfaces distinctes d'eGroupWare, par exemple, l'Intranet et les clients.
Vous allez également créer deux utilisateurs clés : l'un vous servira à rééditer cette page, l'autre à poursuivre la procédure d'installation.
Il est recommandé de conserver une sauvegarde de ce fichier.
Connectez-vous comme demandé.
L'étape suivante consiste à valider l'installation des différents applications du groupware et créer les tables correspondantes dans votre base de données.
La configuration se présente ensuite comme une série de champs à renseigner. L'installation d'eGroupWare nécessite la création d'un répertoire, de préférence hors de l'arborescence Apache qui contiendra notamment les fichiers uploadés par l'intermédiaire du gestionnaire de fichiers. Ce répertoire devra être accessible à l'utilisateur exécutant l'instance Apache (le répertoire est créé par défault, vérifiez qu'il existe, sinon tapez le code ci desous).
Vous devrez également spécifier l'IP ou le nom de votre serveur FTP si vous souhaitez utiliser le module FTP du groupware.
Nous voilà maintenant arrivés à la configuration de l'authentification et des comptes utilisateurs. Plusieurs options s'offrent à vous. Si vous ne disposez pas d'annuaire LDAP, choisissez de stocker les comptes dans la base de données. Dans notre cas, ayant recours à LDAP, nous allons donc compléter les éléments nécessaires. Ils sont classiques pour ceux qui ont l'habitude de manipuler ce service : home directory à utiliser, shell, contexte des OU (Organizational Units) d'utilisateurs et de groupes, manager de LDAP et mot de passe.
Il est indispensable également d'autoriser l'utilisation de LDAP v.3, que l'on retrouve par défaut dans la majorité des distributions. Enregistrer la configuration obtenue.
Nous compléterons cette phase par la création d'un compte administrateur qui sera utilisé ensuite pour l'administration du groupware (gestion des ACL, gestion des utilisateurs et des applications). Il vous est d'ailleurs proposé de créer des comptes de démonstration pour tester le bon fonctionnement de l'application. Vous pouvez en vérifier la création dans l'annuaire :
L'utilisateur est bien créé et on retrouve la classe phpgwAccount ainsi que les attributs élémentaires : phpgwAccountType (u : user ou g : groupe), phpgwAccountStatus (A : compte actif), phpgwAccountExpires (-1 : jamais). La configuration est maintenant terminée. Vous pouvez toutefois à ce stade gérer les langues (ajouter / supprimer). 22 langues sont aujourd'hui disponibles, par défaut sont sélectionnés l'anglais et le français. Vous pouvez également gérer les applications. Le mode d'installation que nous avons utilisé fournit toutes les applications disponibles, vous pouvez restreindre cette liste. L'installation et la configuration de base sont maintenant terminées, nous passons à la configuration de l'utilisation du groupware.
Une fois connecté en tant qu'administrateur du groupware, allez sur le paneau d'administration .
Il vous offre les fonctionnalités suivantes :
Avant de poursuivre il est indispensable de définir ces 2 dernières notions qui sous-tendent toute la configuration qui va suivre.
Les ACL sont un terme générique (Acces Control List) que l'on retrouvera dans de nombreuses applications. Elles vont définir les droits d'accès d'un utilisateur et/ou d'un groupe aux données d'une application. Elles sont au nombre de quatre : lecture, ajout, modification, suppression.
Dans notre exemple, les membres du groupe commerciaux auront tous les droits sur les données du gestionnaire de fichiers relatives à leur groupe. Seuls les membres du groupe techniciens auront un accès en lecture.
Les catégories globales permettent d'organiser les données et sont communes à toutes les applications. Il est possible également de créer des catégories spécifiques à une application ainsi que des catégories personnelles. Elles sont importantes car elles permettent de rationaliser l'affichage des données et de d'organiser celles-ci plus clairement.
La gestion des utilisateurs et des groupes peut se faire à plusieurs niveaux :
Nous allons ici passer en revue les applications les plus courantes ainsi que leurs fonctionnalités dans le cadre du groupware.
Egalement à disposition, un planificateur de tâches, qui permet de visualiser rapidement les plages horaires disponibles pour fixer un rendez-vous pour une ou plusieurs personnes.
L'application propose en tout une quinzaine de modules.
La sécurisation de la plate-forme supportant eGroupWare relève des conseils habituels liés à l'administration d'une plate-forme LAMP (Linux-Apache-MySQL-PHP). Concernant le serveur MySQL, vérifiez que l'utilisateur root dispose bien d'un mot de passe. En effet, à l'installation du serveur, l'utilisateur root est initialisé dans la base " mysql" sans aucun mot de passe : De plus nous allons restreindre l'accès au serveur MySQL aux seules requêtes lancées en local :
Concernant la configuration de PHP, les développeurs apportent quelques conseils pour en optimiser les performances :
Vous devrez également personnaliser le paramètre "upload_max_filesize" en fonction des besoins pour le gestionnaire de fichiers. C'est à ce niveau que la taille des uploads de fichiers de cette application sera limité et non par un paramètre propre au groupware. Enfin eGroupWare peut gagner considérablement en rapidité d'exécution grâce à Turck MMCache. Il accélère l'interprétation du code PHP et réduit la charge du serveur.
# urpmi php-mmcache php-mmcache-admin installation de php-mmcache php-mmcache-admin 1:php-mmcache ################################################## 2:php-mmcache-admin ##################################################
Attribuer un mot de passe à l'administrateur de l'interface de gestion du cache :
On accède ensuite à l'interface de gestion du cache : http://localhost/admin/php-mmcache
Le projet est aujourd'hui disponible dans sa première version stable. Mais le groupe de développement travaille déjà sur ce que sera la prochaine version stable, la 1.2. Dans cette optique, de nombreux d'objectifs ont étés fixés et mis en avant. Il est projeté de mettre à disposition un moteur de workflow1 Dans les développements très attendus, on note aussi un certain nombre de connecteurs vers l'extérieur qui permettront d'inclure encore plus le groupware dans son environnement : une synchronisation avec les PDA (ou organiseurs personnels en bon français) disponible très prochainement, un connecteur pour Evolution, et un connecteur pour Outlook. Il est prévu également de travailler sur l'ergonomie de l'interface utilisateur et notamment un assistant pour la configuration de celle ci. De nouveaux modèles de documents, ainsi que de nouvelles fonctionnalités comme le glisser-déposer sont également au programme. Des applications vont être ré-écrites, soit totalement (carnet d'adresses, gestion des accidents), soit partiellement(webmail, gestionnaire de fichiers, gestion de projets). Enfin pour vérifier l'identité de l'utilisateur du groupware, celui-ci devrait inclure également une fonction d'autorité de certification, tout ceci dans un souci de mieux répondre aux exigences de sécurisation du système.
@ Retour à la rubrique Réseau et sécurité
@ Retour à la rubrique Logiciels
Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Anne le 05/09/2004.
© 05/09/2004 Anne Nicolas
![]() ![]() ![]() |
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique 3.0 : http://creativecommons.org/licenses/by-sa/3.0/ |