La tOiLeB

L'environnement Aster

7 Septembre 2003 - Aster - France

Aster est un progiciel de comptabilité français, et destiné en premier lieu, à des pays en voie de développement. C'est du même coup le nom d'un vaste projet de coopération entre la France et les pays qui se sont portés candidats, pour les aider à l'installer, à le paramétrer, et à l'utiliser dans les meilleures conditions.Ce rapport défini un environnement informatique qui devrait rendre l'utilisation et l'exploitation d'Aster plus facile, en permettant notamment, aux pays utilisateurs, de tisser des liens de coopérations forts et durables et de relever ensemble, tous les défis posés par un projet à l'envergure nationale.Il décrit pour cela, un ensemble de solutions techniques à certains problèmes qui se poseront nécessairement au niveau de chaque site, ainsi qu'une infrastructure fortement communicante, devant permettre un partage de connaissances optimal autour du progiciel et de son environnement.

L'environnement Aster

Nécessité

Dans l'esprit, la mission d'Aster est noble. Il s'agit de livrer à des pays en voie de développement un outil moderne de comptabilité de l'état de manière à les aider à répondre au défit crucial de la bonne gouvernance. De façon à optimiser le coût et l'impact de l'aide apportée par la France dans ce domaine, Aster a l'ambition d'être suffisamment générique pour concerner tous les pays dont le mode de comptabilité fonctionne suivant le modèle français, et suffisamment paramétrable et modulable pour intégrer sur site, les spécificités de chacun.

La mise en place d'un progiciel de comptabilité à l'échelle nationale est une tâche éminemment complexe qui mobilise de nombreux d'acteurs de compétences très variées. Autour de ces compétences, le partage d'un même noyau applicatif a cet autre avantage de rendre possible une coopération entre les différents pays utilisateurs. La finalité étant de

  • valoriser et capitaliser la compétence et l'expérience des sites opérationnels, pour
  • faciliter et accélérer les nouvelles implantations,
  • encourager une coopération sud-sud durable, et
  • faire en sorte que les pays s'approprient le progiciel et acquièrent à terme leur autonomie.

Pour cela, encore faut-il disposer d'une infrastructure qui encourage ce type d'organisation, car pour l'instant :

  • les courriers postaux et électroniques ainsi que les missions d'experts sont actuellement les seuls moyens de transférer des compétences, et aucune possibilité de consultation ou de recherche informatisée n'est actuellement en place,
  • en l'absence d'une infrastructure communicante et réactive, les sites d'implantations doivent souvent faire des choix techniques de manière indépendante, ce qui :
    1. limite l'interopérabilité dans le sens où chaque site gère lui même, et à sa façon, son expérience et sa base de connaissances en réinventant probablement la roue, et
    2. restreint du même coup les champs possibles de coopération inter-sites.

Sans ce type d'infrastructure, on perd le fort potentiel fédérateur d'Aster. Le progiciel ne vaudrait alors à peine plus qu'une application spécifique que chacun aurait développé dans un coin.

La complexité d'un démarrage d'Aster dépasse celle du paramétrage comptable, puisqu'elle est également fortement couplée à celle des techniques informatiques ou à celle de la conduite d'un projet à l'échelle d'une nation. Les concepts abordés sont en général nouveaux et dans tous les cas, difficiles à appréhender pour les équipes en place. Les formations techniques dispensées au démarrage ne répondent pas aux besoins de méthodologie sous-jacents.

L'environnement Aster, tel qu'il est décrit ici, a l'ambition de permettre de partager le poids de cette complexité entre les pays utilisateurs :

  1. en proposant une solution générique ("clef en main") qui prend en compte les problèmes les plus courants (réseau, projet, incidents), il donne aux pays utilisateurs le temps de se familiariser avec la technique, sans que cela se fasse au détriment de la disponibilité générale d'Aster,
  2. en prônant l'utilisation commune d'un ensemble d'outils pour chaque catégorie de problème, Il permet d'élargir le champ de coopération inter-sites, en le faisant passer du progiciel proprement dit (installation et paramétrage), à tout ce qui est vital à sa mise en oeuvre et à son bon fonctionnement (gestion du réseau, de l'exploitation, des incidents, du projet),
  3. en répondant au problème de partage des connaissances par le biais d'un portail internet, il facilite et encourage la coopération inter-sites. La cellule de Nantes devenant un acteur Aster, au même titre que la Côte d'Ivoire ou le Sénégal, il encourage une forme de coopération décentralisée qui apporte aux sites une certaine liberté de manoeuvre qui leur fait aujourd'hui défaut.

Il est le socle indispensable qui doit pouvoir donner à Aster son autonomie, sa pérennité, ainsi que le rayonnement et la reconnaissance internationaux qu'il ambitionne.

Caractéristiques

Quatre idées fortes se trouvent derrière ce concept d'environnement :

  1. il s'agit de doter chaque site d'une infrastructure identique lui permettant d'appréhender le problème du démarrage et de l'exploitation d'Aster. Celle-ci s'appuie sur les mêmes moyens informatiques que ceux mis à la disposition d'Aster,
  2. fortement communicante, cette infrastructure apporte au niveau du site une méthodologie basée sur le travail collaboratif, et apporte au niveau global, une centralisation simplifiée des connaissances. L'homogénéité des outils utilisés permet en outre, d'élargir le champ possible de la coopération inter-sites,
  3. entièrement basé sur des logiciels libres, il permet d'alléger le coût du démarrage et le coût total de possession liés aux logiciels commerciaux qu'il rend obsolètes,
  4. l'environnement Aster (hors progiciel) est un projet communautaire qui peut évoluer librement. Il peut utiliser à ses propres fins d'évolution, les mêmes fonctionnalités organisationnelles qu'il procure au projet Aster. L'organisation du travail qu'il prône est précisément calquée sur celle qui fait le succès des logiciels libres.

Il parait évident que chaque nouvelle implantation d'Aster amènera son lot de problèmes récurrents qui auront certainement trouvé solution au niveau d'un site plus avancé.

La maîtrise d'Aster demande du temps, et passe nécessairement par une longue phase de consolidation au fur et à mesure des problèmes rencontrés et solutionnés. La planification, le travail collaboratif et le partage de connaissances, s'ils sont instrumentés de manière efficace, permettent d'écourter la période d'instabilité de manière considérable.

L'expérience acquise sur le site pilote en Côte d'Ivoire durant la phase de consolidation, nous permet justement de pouvoir proposer une instrumentation permettant de répondre à la plupart des problèmes qui se sont posés là-bas et qui ne manqueront pas de se reposer sur les nouvelles implantations. Réutiliser cet environnement permettrait de l'affiner et de l'enrichir à chaque nouveau chantier, et de mettre l'intelligence et l'expertise collective au service d'une exploitation d'Aster ou d'un démarrage d'Aster toujours plus facilité.

L'environnement Aster a donc deux composantes:

  • une locale, qui regroupe l'ensemble des outils nécessaires à la maîtrise de l'implantation et de l'exploitation du progiciel sur site (gestion de projet, gestion du parc informatique, gestion de l'exploitation, infrastructures de communications), et
  • une globale, qui permet le partage d'expériences entre sites Aster. Elle sera caractérisée par la création d'un portail internet, qui centralisera les connaissances acquises au niveau de l'ensemble des composantes locales.

Composante locale

Il convient de décomposer le domaine applicatif du progiciel de manière à cibler et à optimiser la contribution de l'environnement à la construction des quatre étages que compte l'édifice Aster (Fig.1):

Fig.1: L'édifice Aster
  • les systèmes et les réseaux sont les fondations de l'application,
  • les bases de données sont le réceptacle des données comptables, et utilisent les fonctionnalités du niveau inférieur pour donner à l'application son orientation client/serveur,
  • le progiciel Aster, dont l'activité se résume à des mouvements de données au sein des tables des bases de données, s'étale sur deux niveaux
    • le paramétrage qui apporte, entre autre, l'adéquation d'Aster avec les règles comptables du site, et
    • l'exploitation qui lui assure un fonctionnement optimal dans la durée.

De manière logique et très formelle, il s'agit de bien comprendre l'importance des étages inférieurs pour Aster de manière à ne pas les négliger ou à les sous-estimer. Tout problème sur l'une ou l'autre de ces couches, empêche le fonctionnement normal des niveaux supérieurs, et en tous les cas d'Aster, puisqu'il trône au sommet. Les systèmes et les réseaux ne sont pas les fondations par hasard...

Une application comptable est synchronisée sur la base de journées, de décades, d'exercices, par des mécanismes de transition associés. Tout retard lié à des dysfonctionnements ou à des faiblesses de ces mécanismes (résultant automatiquement en une désynchronisation de l'horloge Aster par rapport à l'horloge réelle) est plus ou moins préjudiciable.

Les outils à installer sur site, doivent donc permettre de construire, consolider et de s'assurer du bon fonctionnement permanent de chaque étage. Les objectifs étant :

Composante globale

Cette composante a deux rôles majeurs:

  1. celui de vitrine d'Aster sur le plan international (état des implantations, retour d'expérience, contacts, ...). Il s'agit de la partie publique du portail,
  2. celui du socle permettant la centralisation, le référencement et la recherche des informations en provenance des autres sites Aster (incidents, questions fréquentes, documents, contacts, ...). Il s'agit de la partie privée du portail uniquement accessible à la (future grande) famille d'Aster.

Il est intéressant de noter que la gestion des connaissances fait partie intégrante de la composante locale. Au niveau global, on désire les mêmes fonctionnalités mais à l'échelle des sites plutôt que des services (rechercher parmi les anomalies enregistrées par tous les sites, ...). On a donc tout intérêt à réutiliser le même outil pour faciliter la maintenance et l'intégration des données, et garder une interface utilisateur homogène au niveau deux composantes.

Infrastructures de communication

La plupart des constituants de l'environnement Aster s'appuient sur des services de communication standards pour dialoguer avec, ou faire dialoguer entre eux, les différents acteurs du projet. La mise en place de ces services de communication dédiés au travail de groupe, doit être concomitante au déploiement du matériel informatique.

On trouve au minimum:

  • un service de messagerie internet et intranet : postfix. Robuste, il permet l'accès aux boîtes par tous les protocoles standards (POP, IMAP),
  • un service de messagerie instantanée comme winpopup (supporté en standard sur les postes Windows) ou ICQ plus performant. On l'utilise pour les messages liés à la maintenance.
  • un service de téléphonie sur IP : OpenH323 ou SpeakFreely. On l'utilise en remplacement du standard téléphonique, pour l'assistance utilisateur par exemple,
  • un service de prise de contrôle à distance de poste client: VNC

Gestion de projet

Un projet informatique de l'ampleur d'Aster, que se soit pour son développement ou son déploiement ne peut se gérer précisément qu'au moyen de l'informatique.

Si le chronogramme des tâches est un outil dont l'utilité n'est plus à remettre en cause, il reste difficile à maintenir à jour sous sa forme classique, du fait du manque d'interactivité entre les tâches et les personnes assignées. Cela a pour conséquence de limiter l'implication des personnes dans l'avancement du projet et finit, me semble-t-il, par les désintéresser.

TUTOS

TUTOS est une application Web dédié à la gestion de projets. Elle met à la disposition d'une équipe, tous les outils nécessaires pour faciliter et encourager le travail collaboratif autour d'un même but: faciliter le suivi du projet en impliquant tous ses acteurs.

Elle tourne sous serveur Apache et est programmée en PHP. Les sources sont, bien entendu, librement distribuables et modifiables. Elle est utilisée en entreprise, et certains fournisseur de matériel vont même jusqu'à proposer des solutions "clefs en main".

Intégration à l'environnement

La Fig.2 représente les interactions entre TUTOS, deux projets (A et B), et une équipe.

Fig.2: Gestion de projets sous TUTOS
  1. TUTOS peut héberger et aider à la gestion de plusieurs projets indépendants (ou non). Le projet et ses acteurs (groupes) sont définis par un chef de projet (superviseur) qui segmente à loisir le travail à accomplir en une liste de tâches. Celles-ci peuvent être mises en relation les unes avec les autres dans le temps,
  2. en fonction de ces données, TUTOS calcule l'emploi du temps de chacun. Les membres du projet y accèdent en s'authentifiant auprès de l'application. Ils actualisent ensuite l'avancement des tâches auxquelles ils sont affectés,
  3. des courriers sont envoyés automatiquement aux membres d'un groupe, lors d'évènements exceptionnels (création/mise à jour d'une tâche, ...) ou programmés (tenue d'une réunion, ...), mettant ainsi en oeuvre un canal de communication indirect entre les intervenants,
  4. une vue synthétique de l'avancement du projet en temps réel, est à la disposition du superviseur, qui possède, de ce fait, un outil stratégique d'aide à la décision lui permettant d'infléchir favorablement sur la tenue des réunions de pilotage, en vue de tenir les délais.

Gestion du parc informatique

Il faut garder a l'esprit que les pays ciblés sont des pays en voie de développement. À chaque nouvelle implantation, il est fort probable qu'Aster apporte, soit l'informatisation de la comptabilité étatique, soit, comme ce fut le cas en Côte d'Ivoire, la modernisation complète du système informatique.

Même dans cette situation apparemment favorable, on se retrouve avec du matériel récent pour lequel aucune compétence n'existe réellement au sein des services administratifs, car l'obsolescence fulgurante du matériel et des techniques informatiques demande des efforts importants, et du temps, pour exécuter, sans dommages, le saut technologique qui s'impose. Des efforts qui ne paraissent pas être pris en compte dans les formations, souvent pleines de prérequis sous-entendus, quant au bagage technique des stagiaires (d'autant plus lorsqu'elles sont accélérées).

Aster est une application critique, orienté client/serveur, et sensée tourner 24h/24h. Des faiblesses dans la gestion des systèmes ou du réseau et c'est toute la machine qui s'immobilise, c'est les comptables qui s'exaspèrent, et c'est le bénéfice de la modernisation, qui chaque jour devient moins évident.

Aujourd'hui des applications permettent d'aider à gérer efficacement les réseaux autour de technologies stables et standardisées. Certaines sont hautement paramétrables et permettent de faire face aux situations les plus courantes, en s'intégrant totalement aux services informatiques qui les emploient. Que dire d'autre sinon que l'une d'entre elles, au dessus du lot, est en plus gratuite.

OpenNMS

Description

OpenNMS (Open Network Management System) est un programme de gestion de réseau du monde libre dont le développement est supervisé par un cabinet de conseil et d'expertise dans ce domaine: Sortova Consulting.

Trois ans de développement ont d'ores et déjà suffi pour placer l'application comme une référence dans son domaine, au même titre que des logiciels commerciaux beaucoup plus anciens (et onéreux) comme HP OpenView.

Les raisons de ce succès rapide, mis à part son mode de développement, sont a attribuer à une conception claire et rigoureuse, par des spécialistes réseaux, autour de technologies modernes et standardisées comme Java (langage de programmation orienté objet multi-plateformes), XML (qui structure les données et les échanges de manière homogène) et SNMP (protocole de gestion de réseaux).

OpenNMS est une application Web (tournant sous Apache) accessible depuis n'importe quel poste du réseau disposant d'un simple navigateur internet (c'est à dire tous). C'est un point important dans la mesure où les équipes de maintenance sont très mobiles, et doivent pouvoir y accéder depuis leur point d'intervention.

Elle est construite sur d'autres logiciels libres phares, comme Tomcat (serveur d'application développé par la fondation Apache), PostgreSQL (moteur de base de données relationnelles robuste et conforme aux dernières normes en la matière), qui sont des gages d'évolutivité, de stabilité et de pérennité.

Fonctionnalités

OpenNMS permet de répondre efficacement à de nombreux défis posés par l'administration de vastes réseaux informatiques hétérogènes:

  • la découverte active des réseaux, de leurs constituants et de leurs caractéristiques (nouvelles machines, nouveaux services sur le serveur, intrus, ...),
  • la possibilité de stocker des informations spécifiques à chaque machine (licences, validité de garantie, ...) et remplir ainsi les fonctions traditionnelles d'un "helpdesk",
  • la surveillance permanente du bon fonctionnement des éléments et des services,
  • l'enregistrement et l'archivage de l'activité liée à ces derniers,
  • l'audit régulier de la sécurité des serveurs,
  • le déclenchement des procédures d'alertes en cas d'évènements anormaux, à destination du personnel compétent,
  • l'envoi automatique de rapports sur la qualité de service des entités surveillées.

Bien que prêt à l'emploi avec sa configuration par défaut, OpenNMS se doit d'être paramétré :

  1. pour s'adapter au mieux à la topologie du réseau et à la nature des services qu'il surveille,
  2. pour affecter des niveaux de gravité adéquats aux évènements qui peuvent survenir,
  3. pour cibler les alertes de manière pertinente, et s'adapter à la structure du service informatique.

Intégration à l'environnement

La Fig.3 représente OpenNMS au sein d'un environnement Aster, tel qu'il était sur le site d'Abidjan.

Fig.3: Intégration d'OpenNMS dans son environnement
  1. OpenNMS collecte des informations en temps réel sur un certain nombre de noeuds du réseau (serveur, poste client, imprimante), de services (Aster est un service), et les enregistre dans sa base. Il reçoit également des alertes (SNMP) envoyées par les noeuds du réseau pour signaler des évènements particuliers survenus à leur niveau,
  2. à la détection de certains évènements (rupture de communication avec un serveur, pic de trafic réseau, alerte bac de feuilles vide, les bases Aster se sont arrêtées, ...), OpenNMS envoie des alertes via des canaux de communication définis (mail, messagerie instantanée, texto, ...) aux personnes en charge de régler cette catégorie de problème (réseau, exploitation, bases de données, ...).
    Les intervenants peuvent avoir un diagnostic plus détaillé en se connectant à l'application de n'importe quel point du réseau non affecté par une panne,
  3. le chef de service ou de projet (superviseur), reçoit directement dans sa boîte, un rapport sur l'état des systèmes et des services surveillés (disponibilité 24h/24 pour les mois écoulés, pannes...) à une périodicité paramétrable.

Certaines données sont automatiquement stockées par OpenNMS, dans des bases de données cycliques (sur une période d'un an), à des fins d'analyse. À Abidjan, on collectait par exemple la charge des processeurs ou le trafic réseau au niveau des serveurs. Ces données m'ont permis de présenter un rapport global sur les performances du système Aster en Côte d'Ivoire.

Gestion de l'exploitation d'Aster

Un ensemble de traitements informatiques est nécessaire pour faire passer Aster d'un état comptable à un autre au cours d'un exercice (clôture de journée, intégration des données comptables en provenance d'un site externe, fin de gestion, ...). Le déclenchement et l'exécution de ces traitements constituent le coeur de ce que l'on nomme l'exploitation d'Aster, et sont supervisés par une équipe, dont la charge est de veiller au bon déroulement des opérations.

En l'absence d'un outil livré avec Aster (v2) permettant une gestion conviviale de ces tâches, j'avais commencé le développement d'un petit outil (AsteroH) qui devait permettre de régler un certain nombre de problèmes rencontrés avec l'exploitation sous sa forme initiale :

  • rendre les procédures accessibles (moins techniques), en prévision des problèmes de compétences que l'on risquait de rencontrer au moment du déploiement des serveurs autonomes vers les postes comptables de l'intérieur,
  • permettre de gérer les tâches d'exploitation depuis n'importe quel poste du réseau, en supprimant les saisies (sources d'erreurs) et au moyen d'un seul et même outil, que ce soit en environnement Windows ou AIX
  • permettre à plusieurs exploitants de travailler sur un même ensemble de bases sans se gêner mutuellement.

Faute de ressources, j'ai dû abandonner le développement. J'avais pourtant prévu de le continuer même après l'annonce de la livraison d'un outil similaire avec la v3 d'Aster, car au regard de ses spécifications, celui-ci ne répondait que partiellement aux objectifs cités plus haut.

Certaines fonctionnalités sont cependant opérationnelles et les sources sont librement accessibles et modifiables ici.

Gestion des incidents

TUTOS et OpenNMS, utilisés conjointement, permettent à la cellule d'assistance de disposer de deux sources d'informations précieuses (et consultables en temps réel), pour l'aider dans sa tâche :

  1. TUTOS peut permettre de gérer un projet permanent de maintenance informatique qui concerne les incidents survenus sur les systèmes/réseaux ou Aster. Les tâches de réparation sont affectées aux techniciens des différentes équipes de maintenance,
  2. OpenNMS détecte automatiquement toutes sortes de problèmes dont le nombre et la pertinence dépendent, certes, de la manière dont il a été configuré. La cellule d'assistance l'utilise nécessairement pour essayer de déterminer l'origine d'un problème et l'orienter vers la personne compétente pour le résoudre.

La Fig.4 donne sur un exemple concret, la procédure d'assistance et de maintenance mettant en jeu ces deux applications.

Fig.4: Protocole d'assistance
  1. un utilisateur rencontrant un problème, contacte la cellule d'assistance par un des moyens mis à sa disposition (mail, téléphonie standard, téléphonie IP, ...), et lui en fait une description,
  2. la cellule procède, suivant la nature du problème, à une série de vérifications préliminaires mettant en oeuvre OpenNMS (vérifier que le réseau, les serveurs et les services rentrant en jeu sont opérationnels, ...) et TUTOS (vérifier l'état des interventions de maintenance en cours, consulter les archives sur des problèmes similaires, ...).
    Ces observations, recoupées avec la description du problème, servent à enregistrer un incident au niveau de TUTOS, et à lui affecter un technicien ou une équipe suivant sa nature (bureautique, système, réseau, base de donnée, paramétrage, utilisateur, ...).
    OpenNMS peut également créer automatiquement l'incident (2') et son affectation au niveau de TUTOS,
  3. l'incident ainsi créé résulte en un envoi de message au technicien ou à son équipe par un canal de communication quelconque (mail, texto, ...),
  4. un technicien confirme la prise en charge au niveau de TUTOS, et renseigne le système sur l'avancement de la tâche de réparation. Pour intervenir vers la personne en détresse, le technicien peut utiliser l'assistance téléphonique, la prise de contrôle de la station à distance, ou se déplacer physiquement,
  5. la clôture de l'incident par le technicien au niveau de TUTOS résulte en un envoi de message au standard de la cellule d'assistance,
  6. qui contacte ensuite l'utilisateur pour lui signifier la résolution du problème.

Gestion des connaissances

La gestion des connaissances (et du contenu) est géré au niveau d'un portail. Il s'agit du nom donné à un espace internet donnant accès à un certain nombre de services, permettant à tous les acteurs d'une communauté ciblée, d'accéder à l'information, et d'interagir avec elle. C'est un élément indispensable du dispositif qui a d'ores et déjà deux cibles caractérisées:

  1. les futurs candidats au projet Aster, qui peuvent y trouver l'état des implantations et les retours d'expériences,
  2. la communauté Aster internationale qui partage son expérience grâce au système de gestion de contenu intégré au portail. Ce système permet entre autre:
    • la centralisation et le référencement de toutes sorte d'informations en provenance des sites d'implantations (carnet d'adresses, rapports techniques, base d'incidents, qualité de service, méthodologie),
    • la recherche, la libre consultation et l'enrichissement de ces informations

Cocoon

Cocoon est un atelier de développement de site Web hébergé par la fondation Apache (60% des serveurs Web dans le monde). C'est donc encore une fois un logiciel libre qui répond à de nombreux problèmes liés à la publication et à la gestion de contenus sur le Web :

  • il permet une séparation claire de la forme et du contenu, et distingue ainsi les rôles de développeur, de webmestre, de designer et d'auteur, ce qui facilite grandement la maintenance du site,
  • il est programmé (tout comme OpenNMS) autour des technologies XML, Java et Tomcat, permettant le développement de véritables d'applications Web, portables et interfaçables.

En ce qui nous concerne il s'agit d'un système nous permettant relativement facilement :

  • de monter un site dédié à Aster,
  • de publier et de rendre accessibles sur le Web, divers documents (Word, Excel, extraits de bases de données, ...), et permettre la recherche d'informations qui s'y trouvent,
  • d'introduire des mécanismes automatiques permettant, par exemple, la récupération d'informations en provenance d'autres sites (Aster) ou d'autres sources (OpenNMS, TUTOS, ...).

Intégration à l'environnement

La Fig.5 schématise la place de Cocoon au sein de l'environnement Aster, sur le plan local, pour servir les documents à la demande, à partir de sources variées.

Fig.5: Architecture générale de Cocoon
  1. la base de connaissances s'alimente à partir de sources diverses (documents Word, Excel, extrait de bases de données, ...). Elles sont stockées sous forme structurées (XML) par l'application, et référencées automatiquement.
    OpenNMS étant aussi basé sur XML, l'intégration des rapports de qualité de services dans la base de connaissances, est réalisable sans efforts. Cocoon dispose à la base de nombreux modules lui permettant d'aller puiser des informations directement dans des bases de données externes (Oracle, MySQL, PostgreSQL) et de les structurer en XML (intégration et référencement de la base incidents de TUTOS, ...),
  2. un utilisateur s'authentifie au niveau du portail, et lui envoie une requête de recherche au moyen de l'interface mise à sa disposition,
  3. Cocoon traite la requête, et met en forme le résultat en lui appliquant une ou plusieurs feuilles de style pour l'adapter au mieux au type de sortie souhaitée (écran, imprimante, cellulaire, ...).

Le partage des connaissances entre tous les sites Aster est schématisé par la figure suivante (Fig.6). Chaque site site paramètre les informations qu'il souhaite mettre à disposition des autres. Elles appartiennent à un sous-ensemble des connaissances qui sont déjà gérées au niveau local. Ces informations étant en libre accés, n'importe quel utilisateur Aster peut aller les consulter à partir d'internet (chaque cocoon local est un portail web à part entière).

Cependant, il est plus judicieux de centraliser toutes ces informations au niveau d'une application cocoon centrale, qui va chercher elle même les informations à partir des autres sites.

Fig.6: Partage des connaissances entre sites Aster
  1. les informations en provenance des autres sites sont récupérées de manière régulière et automatisée,
  2. un utilisateur s'authentifie au niveau du portail, et lui envoie une requête de recherche (globale) au moyen de l'interface mise à sa disposition,
  3. Cocoon traite la requête, et met en forme le résultat en lui appliquant une ou plusieurs feuilles de style pour l'adapter au mieux au type de sortie souhaitée (écran, imprimante, cellulaire, ...).

Implémentation

Concrètement

À mon départ anticipé de Côte d'Ivoire, OpenNMS était opérationnel depuis un an, et TUTOS était en cours d'adoption et d'utilisation à Abidjan et à la cellule de Nantes.

J'avais commencé à m'intéresser à Cocoon, mais le projet n'a réellement pris forme qu'en avril dernier, à la première implémentation de mon site personnel que vous êtes probablement en train de consulter.

Pour illustrer concrètement les capacités de ce système a remplir le rôle de portail, j'ai créé un espace protégé Aster qui regroupe tous mes rapports d'activités de ces dernières années. Je ne les ai évidemment pas remaniés (c'est tout l'intérêt) pour pouvoir les intégrer, et Cocoon les présente conformément au style général du site (c'est la gestion de contenu).

Mon hébergeur Web ne supportant pas les applications Java, c'est une version statique que vous consultez. La recherche dynamique n'est donc pas accessible, mais voici un exemple de résultat (statique) de recherche à partir du mot clef "asteroh" sur la base de mes rapports. Cette recherche sur la base des comptes rendus de réunions du comité technique aurait rendu de grands services en Côte d'Ivoire pour rechercher antérioté d'un acte ou d'une décision.

Il ne manque en fait pas grand chose pour donner corps à cette infrastructure telle qu'elle est décrite ici. L'essentiel du travail restant dans l'adaptation de l'environnement au site d'implantation (configuration), et à l'intégration d'OpenNMS et de TUTOS avec Cocoon. Il faut également voir que le système de gestion de connaissance serait ici utile, pour accélérer ce processus de paramétrage (astuces, conseils, guides, ...). Reste ensuite à l'utiliser...

À propos des logiciels libres

Mes fonctions d'assistant technique m'ont imposé un gros de travail de veille technologique, pour me permettre de répondre aux différentes sollicitations de la direction informatique. Ces études systématiques des solutions techniques existantes pour chaque catégorie de problèmes, m'ont naturellement orienté vers les logiciels libres, parce qu'il est difficile avec leurs équivalents commerciaux :

  • d'avoir des sources d'informations aussi conséquentes et librement accessibles,
  • de pouvoir tester à loisir, toutes les fonctionnalités du produit avant de l'adopter en production, et
  • d'avoir une totale autonomie vis à vis de sociétés de conseils ou de services en informatique, qui sont plutôt rares et/ou chères en Afrique.

Concernant la mise en production, la peur de ne pas trouver d'interlocuteur privilégié, comme c'est le cas dans une relation contractuelle typique où l'on a droit à un service d'assistance avec la licence, n'a pas de sens devant l'activité, et la réactivité des listes de discussions d'OpenNMS, TUTOS ou Cocoon.

Sans faire glisser le débat sur le plan philosophique, on est obligé d'admettre que les solutions à base de logiciel libres sont de plus en plus plébiscitées et utilisées par nos propres institutions, qui se sont intéressées, suite à l'éclatement de la bulle spéculative autour d'internet en l'an 2000, à des solutions moins coûteuses et plus pérennes.

La question du coût est cependant délicate dans le sens où le prix des licences ne représente que très peu du coût total de possession d'un logiciel, même s'il est loin d'être négligeable (120 millions de CFA pour le simple renouvellement des licences Oracle de la DGD de Côte d'Ivoire). Libre ne signifie pas sans coût :

  • le coût lié à la maintenance et aux formations peut s'avérer, dans certains cas, plus chers pour les logiciels libres (les experts dans ce domaine étant, pour l'instant, plus rares), mais même pour une solution commerciale, on a besoin d'experts.
    Concernant l'environnement Aster, le coût des formations est dans un premier temps couvert par celui de l'assistance technique locale. Ensuite la création de liste de discussions spécifiques, l'utilisation du portail et d'une solution rodée, permettront d'alléger le coût d'une coopération sud-sud qui prendra, à termes, le relais. Le reste des formations ne change pas (Unix, Oracle, ...),
  • le coût de la migration est également à prendre en compte pour les services qui fonctionnent déjà sous des solutions propriétaires, mais ce cas de figure ne nous concerne pas,
  • le coût de développement, qui est nul pour les logiciels libres si l'on ne participe pas directement au travail de la communauté (c'est notre cas),
  • le coût d'indisponibilité (en cas de plantage de l'application) est généralement plus élevé pour les logiciels commerciaux, réputés moins stables,

Le gouvernement australien a lui, déjà tranché sur le sujet, en proposant un projet de loi qui vise a obliger au niveau des dépenses publiques, la justification de tout achats de logiciels propriétaires, par la non-existence d'une solution libre équivalente.

Le coût n'est cependant pas vraiment la question. Un logiciel libre est librement modifiable est distribuable. Lorsque l'on parle de pays en voie de développement, qui sont par définition, sous dépendance des technologies du monde développé, on ne doit plus se poser la question quant il s'agit de soulager, même un peu, cette dépendance. C'est ce à quoi ils aspirent.

Conclusion

Ce rapport, très général, représente l'aboutissement de trois années de travail en Côte d'Ivoire. Il occulte une masse de données et de procédures techniques assez conséquentes qui n'avaient pas leur place dans un rapport de fin d'activité.

Il présente un modèle d'organisation d'Aster sur le plan national et un modèle d'échange d'informations sur le plan international, qui donnent au progiciel les moyens, sinon les outils, pour l'aider à tenir la place qu'on lui destine depuis le premier jour de sa conception.

Enfin, il propose une solution, basée sur les logiciels libres, dont le modèle est en adéquation avec la situation économique des pays d'implantation.

Mon rapatriement prématuré de Côte d'Ivoire a bouleversé le calendrier que je m'étais fixé, et m'a empêché de communiquer plus tôt, sur ce sujet. Ce rapport a donc l'ambition de combler ce vide, et je dois dire que malgré mes incertitudes quant à mon devenir sur le projet Aster, c'est la volonté de laisser une trace d'un travail qui était sur le point d'aboutir, qui en a motivé la rédaction.

Éric Burghard - Assistant technique systèmes et réseaux