FLASH INFORMATIQUE FI



INDICO, Un logiciel de pointe pour la gestion de conférence




Jean-Yves LE MEUR

David BOURILLOT


Dans le cadre du projet européen Integrated Digital Conferencing (InDiCo), l’équipe du CERN Document Servers (CDS) a développé une nouvelle application Web permettant d’organiser des conférences. Cet outil permet aux utilisateurs de gérer tous les types de conférences, de la plus simple, contenant une présentation unique, à la plus complexe, avec sessions et contributions. Cela comprend un mécanisme complet de délégation de droit aux utilisateurs, un processus de paper reviewing, un archivage des données concernant les conférences, la production des actes électroniques, et bien plus encore.

À la fin de l’année 2003, les comités d’organisation de la conférence Computing in High Energy Physics 2004 (CHEP04) décident d’utiliser Indico comme support informatique pour l’évènement. Dans cet article, nous allons expliquer en détail le fonctionnement du logiciel Indico, comment il a été conçu, et comment il a été validé.

Un projet européen

Il existe déjà des logiciels de gestion de conférence sur Internet et de nombreux organisateurs de conférence développent un système temporaire de pages Web et de scripts, utilisé seulement pour une conférence. Après une étude approfondie de ces solutions, nous avons été convaincus de la nécessité de créer un nouveau système comprenant les fonctions suivantes :

  • gérer toutes les parties de l’organisation d’un évènement, de son annonce à son archivage
  • assurer le support à de simples réunions comme à des ateliers de plusieurs semaines.
  • offrir la possibilité d’enregistrer et de stocker les matériels multimédias (vidéos)
  • organiser, classer et récupérer plusieurs conférences en réutilisant les évènements passés
  • veiller à ce que tous les matériels et descriptions des conférences puissent être transférés sur un système d’archivage à long terme.

Indico a donc été mandaté et financé par la commission européenne pour fournir une solution aux nouveaux défis auxquels la gestion de documents électroniques doit faire face en ce début de 21e siècle : la conservation et la prise en charge des contenus multimédias pour un nombre toujours croissant de conférences scientifiques.

Quelques fonctions d’Indico

Nous allons commencer par décrire les fonctions principales du système, qui ont été testées, améliorées et validées lors du processus d’organisation de CHEP04 et qui sont maintenant utilisées par bien d’autres organisateurs de conférences.

Réutilisation

Les concepteurs et développeurs d’Indico ont conçu les fonctions requises de manière générique, pour garantir l’utilité de ces outils pour les futures conférences qui utiliseront le système. Le logiciel lui-même, distribué sous licence Open Source, a déjà été installé par d’autres instituts que le CERN comme le Centre de connaissance technique du Danemark (DTV), FontisMédia (Lausanne) ou encore Desy (Allemagne), où des besoins similaires apparaissent.

Affichage multiple

JPEG - 6.8 ko
Exemple de l’interface d’une réunion

Différentes vues peuvent être proposées pour chacun des évènements enregistrés dans le système. Ceci est particulièrement utile quand différents groupes d’utilisateurs utilisent le même serveur Indico et veulent afficher leur événement d’une manière différente. Il suffit à l’administrateur d’ajouter une feuille de style XSL pour ajouter une nouvelle vue.

Vue d’ensemble et calendrier

Une seule installation du logiciel peut héberger plusieurs évènements. Ceux-ci peuvent être classés dans une arborescence de catégories. Les informations peuvent être trouvées en naviguant à travers ces catégories ou via un calendrier. Celui-ci affiche la liste des évènements sur un ou plusieurs mois dans différentes catégories. Une vue d’ensemble montre la liste des évènements qui ont lieu un jour, une semaine ou un mois donné, dans une catégorie spécifique. Ceci est particulièrement utile pour éviter les conflits lorsqu’on fixe les dates des évènements.

Appel de matériel

Les organisateurs de conférence peuvent mettre en place un Call for abstract qui permet aux auteurs de soumettre directement dans Indico leur proposition de contribution. Une fois sa proposition approuvée, l’auteur peut alors télécharger lui-même sur Indico les matériels attachés à sa contribution (papiers, transparents,...).

JPEG - 4.3 ko
Exemple d’affichage de gestion

Gestion du planning

Un module très complet de gestion de planning est fourni avec Indico. Plusieurs outils pratiques aident les organisateurs à mettre en place un programme détaillé de leur conférence.

Création de compte personnel

Chaque utilisateur peut avoir un compte personnel accessible par un simple login (avec un mécanisme d’authentification local ou bien en utilisant un serveur d’authentification). Ainsi, il peut personnaliser l’interface, ce qui facilite son interaction avec le système. Les comptes personnels sont aussi utilisés pour donner des droits d’accès ou de modification, ainsi que des rôles spécifiques (orateur, responsable de session, organisateur de conférence...).

Protection et délégation de droits d’accès

Indico fournit un moyen facile de protéger chaque objet dans une conférence (depuis la conférence dans sa totalité jusqu’au simple fichier). Cette protection peut être basée sur un mot de passe, un utilisateur ou un domaine.

Sélection de contribution

Un processus complet de sélection a été intégré à Indico. Un puissant mécanisme de délégation permet au gestionnaire de conférence de sélectionner des coordinateurs pour chaque thème de la conférence. Chaque proposition de contribution soumise peut alors être commentée, jugée, proposée pour être acceptée ou refusée ou encore déplacée vers un autre thème. Les propositions acceptées sont ensuite transformées en contributions qui peuvent être insérées dans le planning de la conférence.

Sorties

Différents fichiers PDF peuvent être créés à différentes étapes de l’organisation de la conférence : liste des propositions, liste des orateurs, planning journalier, recueil final des contributions.... Les données sont aussi disponibles sous un format XML, ce qui facilite les échanges entre logiciels. Le format iCal est aussi disponible et permet aux utilisateurs d’alimenter automatiquement leurs agendas électroniques.

Déclarer le contenu comme Open Archive

Indico support le protocole OAI-PMH. Il fournit une interface OAI (Open Archive Initiative) intégrée pour exporter les données des conférences. Les responsables peuvent décider librement d’exposer les données de leur conférence ou non. Les fournisseurs de services OAI, comme les bibliothèques numériques, peuvent parcourir les serveurs Indico et récupérer les données exposées.

La technologie d’Indico

Le développement d’Indico a été fait selon le modèle objet, utilisant les techniques relatives à ce domaine. Le produit final bénéficie donc de tous les avantages de l’approche objet. En outre, nous avons mis en place et suivi un processus de développement allégé suivant la méthode RUP (Rational Unified Process), ce qui nous a permis de développer un logiciel avec un bon contrôle de qualité. Nous avons utilisé le plus possible de normes dans tous les cycles du projet. Une des contraintes d’Indico était que le logiciel devait être fourni sous une licence compatible Open Source. Ainsi, la plupart des produits et des normes utilisés pour son développement ont été choisis en conséquence. Aujourd’hui, Indico a été installé et testé avec succès sur plusieurs plates-formes (Linux, Windows) et dans plusieurs instituts.


Aperçu de l’architecture logicielle

Indico utilise une architecture multicouche classique où les dépendances se font seulement dans un sens, permettant ainsi la séparation des composants et la réutilisation des couches inférieures. La couche d’interface héberge les différentes interfaces supportées par le système ; l’architecture en couche nous permet d’en ajouter facilement de nouvelles si besoin est. La couche business contient les mécanismes directement liés aux fonctions du logiciel. La couche système fournit une abstraction pour la persistance des objets et le stockage des données multimédias.

Il en résulte une architecture qui peut être étendue sans que cela n’affecte d’autres parties et on peut modifier ou remplacer n’importe quelle couche, ce qui aura un très faible impact sur les autres.

Python

Python a été sélectionné comme plate-forme de développement pour ses caractéristiques : langage de haut niveau, type de données dynamiques et un temps d’apprentissage du langage très court. Le noyau du système fonctionne avec Python et n’utilise que très peu de modules tierce partie (autres que ceux de la bibliothèque standard) et suit une approche objet. Une particularité du système est que le mécanisme de persistance est purement orienté objet et utilise ZODB (Zope Object Database). Cette base de données est aussi développée en Python de sorte qu’elle fournit à la fois une intégration unique avec le langage de programmation et une compatibilité totale avec le modèle objet. Cela nous a permis de réduire le temps de développement et d’adapter le logiciel à l’évolution constante des besoins.

L’interface Web d’Indico

Le principal problème auquel nous avons dû faire face pour construire cette interface est le manque de serveur d’application standard pour développer une application Web en Python. Nous avons donc évalué différentes possibilités et décidé de déployer Indico sous une combinaison de Apache http server http://httpd.apache.org et ModPython http://modpython.org qui permet de bonnes performances et un fonctionnement multi plates-formes. Toutefois, le système est conçu de manière à pouvoir être installé sur d’autres serveurs d’application sans trop d’effort. L’interface Web a été développée selon les dernières normes HTML, en laissant de côté la technologie dynamique pour garder la plus grande compatibilité avec tous les navigateurs. Pour la génération de rapports et de listes imprimables, Indico utilise ReportLab http://reportlab.org qui est fourni sous la forme d’un module Python et génère des fichiers PDF de manière très simple et efficace.

Conclusion

Avec plus de 100 conférences, ateliers et séminaires organisés chaque mois dans les domaines de la physique des particules, la centralisation de la gestion électronique des conférences est une direction évidente à suivre. Cela garantira la qualité des conférences électroniques, la disponibilité à long terme de leurs contenus, une facilité pour retrouver des informations et des économies considérables. En 2005, la plate-forme Indico remplacera le système CDS Agenda, qui actuellement garde les données d’environ 65 000 présentations. En même temps, Indico fournira aux organisateurs de grandes conférences un solide outil pour mettre en place leurs futures conférences.

Plus d’information




Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.