Vous êtes sur la page 1sur 19

RÉPUBLIQUE ET CANTON DE GENÈVE

Département des constructions et des technologies de l'information

Centre des technologies de l'information Observatoire technologique

Projet SOLL — Solutions répertoriées

Auteur Patrick GENOUD, Giorgio PAULETTO


Commentaires Version soumise à validation
Statut
Version / date d’enregistrement V 1.0 / 2006-09-25

Table des matières

1 Introduction........................................................................................................................................ 2

2 Outils d'infrastructure....................................................................................................................... 3

3 Outils de développement.................................................................................................................. 5

4 Systèmes d'exploitation / Distributions........................................................................................... 8

5 Serveurs............................................................................................................................................. 9

6 Sécurité............................................................................................................................................ 11

7 Réseau.............................................................................................................................................. 12

8 Applications..................................................................................................................................... 13

9 Poste de travail................................................................................................................................ 16

10 Autres projets................................................................................................................................ 19

Téléphone +41 22 388 13 50 • Fax +41 22 388 13 57 • E-mail ot@etat.ge.ch


1 Introduction
Dans ce document, nous avons répertorié les solutions open source qui sont ressorties lors
des séances individuelles menées avec les équipes CTI, SIG et à l'Université. Ces solutions
sont donc souvent déjà en œuvre au sein des équipes interviewées. La qualité et stabilité du
logiciel, la possibilité d'y avoir accès rapidement et gratuitement, le fait de pouvoir
comprendre ou modifier le code source sont autant de raisons pour lesquelles les équipes
l'utilisent concrètement.
Les explications succinctes données dans chaque paragraphe donnent des informations sur
le site web du projet, les fonctionnalités et les utilisations faites de la solution dans la
pratique. Un astérisque (*) a été apposé lorsqu'une partie des informations sont reprises ou
adaptées de Wikipédia (http://fr.wikiepdia.org/ ou http://en.wikipedia.org/), un site de
référence aussi utile pour un lecteur cherchant d'autres d'explications que les sites des
produits.

Observatoire technologique -2- gpl, pge / juin 2006


2 Outils d'infrastructure
Ganglia (http://ganglia.sourceforge.net/), monitoring de clusters (SIG)
Ganglia est un système de monitoring de clusters et de grids. Il est fondé sur une conception
hiérarchique afin de gérer des fédérations de clusters. Il utilise des structures de données et
des algorithmes efficaces afin d'obtenir des performances élevées en utilisant de faibles
ressources sur chaque noeud. L'implémentation est robuste et a été portée sur plusieurs
plateformes et Ganglia est utilisé avec succès sur des milliers de clusters à travers le monde.
Cet outil est utilisé par un grand nombre d'entreprises telles que Motorola, Microsoft, HP,
Sun (qui le recommande pour son infrastructure grid), CERN, Cisco, Dell, Cray, Reuters,
Boeing, des centres gouvernementaux comme NASA, USAF, Sandia ainsi que d'universités
comme Harvard, Stanford, Princeton, MIT, Berkeley, San Diego, Duke, Purdue. Ganglia est
distribué sous licence BSD.
SIG utilise cet outil également pour gérer ses clusters Linux pour ses bases de données
Oracle en production.
BackupPC (http://backuppc.sourceforge.net), sauvegarde (Uni)
BackupPC est un système de sauvegarde pour des machines Windows ou Linux. Etant
donné la baisse de coût des disques durs, il devient envisageable d'effectuer des
sauvegardes à distance sur des disques de serveur. Pour certains sites, cela peut être la
seule solution de sauvegarde, pour d'autres cela peut constituer une sorte d'archivage
intermédiaire de permanence moins longue que sur bande. BackupPC est écrit en Perl et
récupère les données via le protocole SMB en utilisant les outils Samba, tar, ssh, rsh, nfs et
rsync.
L'Université de Genève teste actuellement cette solution sur 200 utilisateurs et envisage
d'amener l'essai à 15'000 utilisateurs. BackupPC est distribué sous licence GNU GPL.
WinSCP (http://winscp.net/eng/index.php) copie de fichiers sécurisée (Uni, CTI)
WinSCP est une solution de client SFTP utilisant SSH pour Windows. Elle est distribuée
sous licence GNU GPL. Le protocole plus ancien SCP est aussi supporté. Sa fonction
principale est de copier de façon sécurisée des fichiers entre un ordinateur local et un
ordinateur distant. WinSCP s'intègre directement à l'explorateur de fichier Windows.
PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/), émulation de terminaux et
transferts de fichiers avec connexion sécurisée (Uni, CTI)
PuTTY est une implémentation libre de Telnet, Rlogin, SCP et SSH pour des plateformes
Windows 32 bits et Unix. C'est aussi un émulateur de terminal xterm. PuTTY adhère très
fortement aux standards pour les connexions (SSH-2, SSH-1, Telnet, Rlogin, HTTP,
SOCKS, Zlib, X Windows) et algorithmes cryptographiques (3DES, Blowfish, AES, MD5,
SHS, HMAC, DSA, PKCS). PuTTY est un outil largement utilisé et concurrence fortement
des implémentations propriétaires similaires. Il est distribué sous la licence MIT qui est
similaire à BSD.
VNC (http://www.tightvnc.com/, http://ultravnc.sourceforge.net/) (CTI)
Virtual Network Computing (VNC) est un protocole ouvert pour se connecter à un ordinateur
distant. Il permet de transmettre les saisies au clavier ainsi que les clics de souris d'un
ordinateur à l'autre, à travers un réseau informatique.
VNC est indépendant de la plateforme : un client VNC installé sur n'importe quel système
d'exploitation peut se connecter à un serveur VNC installé sur un autre système
d'exploitation. Il existe des clients et serveurs VNC pour la plupart des systèmes
d'exploitation. Plusieurs clients peuvent se connecter en même temps sur un même serveur

Observatoire technologique -3- gpl, pge / juin 2006


VNC. Une utilisation de ce protocole est le support technique à distance, ainsi que la
visualisation de fichiers sur votre ordinateur de travail à partir de votre ordinateur personnel.
VNC a été initialement développé dans les laboratoires AT&T de Cambridge. Un produit
propriétaire dérivé est distribué par la société RealVNC issue de ce groupe. Le code source
du programme VNC original est open source sous licence GNU/GPL, comme la plupart des
variantes de VNC disponibles aujourd'hui.
Plusieurs implémentation de VNC sont disponibles comme par exemple TightVNC
(http://www.tightvnc.com/) connu pour son excellent algorithme de compression qui permet
un temps de latence faible même avec des connexions peu rapides ou encore UltraVNC
(http://ultravnc.sourceforge.net/) avec l'ajout de transfert de fichier, sécurité basée sur NTLM
et Active Directory, chat, chiffrement des sessions,etc.*
Le CTI utilise VNC pour des tâches spécifiques de prise en main à distance.
Linbox Rescue Server (http://www.linbox.org), gestion de parc informatique (HES Lullier)
Linbox Rescue Server est un logiciel de supervision de parc informatique sous licence GNU
GPL. Il se compose de quatre modules destinés à faciliter la maintenance du parc, sur place
ou à distance via une interface web. Il gère notamment, la sauvegarde/restauration du
système et des données, la prise en main à distance et l'inventaire logiciel et matériel.
Il est utilisé avec succès par l'un des administrateurs système de la HES de Lullier.

Observatoire technologique -4- gpl, pge / juin 2006


3 Outils de développement
Eclipse (http://www.eclipse.org), environnement de développement (CTI)
Par Eclipse on entend souvent Eclipse SDK (Software Development Kit) qui est
l'environnement de développement intégré (IDE) très largement utilisé mondialement pour
l'écriture d'applications Java. En juillet 2005, Forrester estimait à plus de 50% l'utilisation de
Eclipse comme plateforme de développement dans les organisations informatiques; la part
des développeurs Java utilisant cet environnement se situe dans la fourchette de 65% à
75%.
L'environnement est utilisé avec grande satisfaction par les développeurs du CTI.
Eclipse est aussi une communauté open source dont les projets visent à fournir une
plateforme de développement et des frameworks d'application ouverts et indépendants des
fournisseurs. Cette communauté développe aujourd'hui environ un dizaine de projets
d'envergure. Elle est promue par la Fondation Eclipse qui est une société à but non lucratif.
Suite à la décision d'IBM de rendre sa plateforme de développement open source, le projet
Eclipse a été initié par Borland, IBM, MERANT, QNX Software Systems, Rational Software,
Red Hat, SuSE, TogetherSoft et Webgain. Elle regroupe aujourd'hui aussi des membres tels
que SAP, BEA, Intel, Nokia, HP, Computer Associates, pour n'en citer que quelques uns.
La licence régissant Eclipse est une licence spécifique EPL (Eclipse Public License) qui est
reconnue par l'Open Source Initiative comme étant conforme à la définition de l'open source.
Struts (http://struts.apache.org/), framework de développement web (CTI)
Apache Struts est un cadre d'applications open source pour développer des applications web
J2EE. Il utilise et étend l'API Servlet Java afin d'encourager les développeurs à adopter
l'architecture Modèle-Vue-Contrôleur. Struts est un projet de la fondation Apache (qui en
regroupe environ une trentaine, comme par exemple Log4j ci-dessous). Les projets
hébergés par la fondation Apache sont généralement distribués sous la licence Apache
version 2.
Struts est utilisé avec grande satisfaction par les développeurs du CTI.
Log4j (http://logging.apache.org/log4j/docs/), debugging et logs (CTI)
Apache Log4j permet d'insérer des commandes de logs dans du code Java. Habituellement,
cette pratique alourdi le code et diminue ses performances. Avec Log4j, il est possible de
faire du logging à l'exécution sans modifier le code binaire de l'application, et sans toutefois
pénaliser les performances. Le logging est contrôlé par un fichier de configuration et le code
peut être déployé sans nécessairement enlever les commandes de log. Ce produit utilise la
licence Apache version 2.
Log4j est utilisé avec grande satisfaction par les développeurs du CTI.
Spring (http://www.springframework.org), framework applicatif (CTI)
Spring est un framework d'application Java/J2EE par couches. D'après ses objectifs, Spring
vise à (1) être plaisant à utiliser, (2) ne pas faire dépendre le code de l'application de ses
propres APIs et (3) ne pas entrer en compétition avec les bonnes solutions existantes, mais
plutôt favoriser leur intégration. Comme les patterns Modèle-Vue-Contrôleur (tels que Struts)
ne permettent souvent pas de bâtir facilement et clairement la partie Modèle de l'application,
Struts offre un moyen facile pour travailler avec de tels patterns pour que les développeurs
puissent utiliser la couche d'abstraction JDBC de Struts. Il est distribué sous la licence
Apache version 2.
Spring est utilisé avec grande satisfaction par la DTD du CTI; il remplace à plus de 100% la
partie correspondante du framework du CTI actuel.

Observatoire technologique -5- gpl, pge / juin 2006


Hibernate (http://www.hibernate.org), couche de persistance (CTI)
Hibernate est un framework open source (licence LGPL) gérant la persistance des objets en
base de données relationnelle. Il est neutre en terme d'architecture, il peut donc être utilisé
aussi bien dans un développement client lourd, que dans un environnement web léger de
type Apache Tomcat ou dans un environnement J2EE complet : WebSphere, JBoss
Application Server et WebLogic. Le serveur d'application JBoss utilise entre autre Hibernate
pour sa persistance et son implémentation des EJB3.*
Hibernate est utilisé avec grande satisfaction par la DTD.
JasperReports (http://jasperreports.sourceforge.net), outil de reporting interactif (CTI)
JasperReports est un outil de reporting open source sous licence LGPL écrit en Java qui
délivre du contenu riche à l'écran, en impression ou dans des fichiers PDF, HTML, XLS, CSV
et XML. Il peut être utilisé dans un large variété d'applications Java pour générer du contenu
dynamique, y compris dans des applications J2EE et web. Son but principal est d'aider à la
création flexible de documents en pleine page, prêts à imprimer.
Il est utilisé au CTI et est jugé comme globalement satisfaisant par la DTD.
Mantis (http://www.mantisbt.org/), bug tracking (OSIL-DF, CTI)
Mantis est un outil de bugtracking fonctionnant sur PHP, MySQL et un serveur web. Il est
multiplateformes (Windows, Mac OS, OS/2, plusieurs types d'Unix) et distribué sous licence
GNU GPL. L'application est considérée très conviviale et très simple d'utilisation par l'OSIL
du Département des Finances. Tous les projets en relation avec l'OSIL déposent leurs bugs
sur Mantis, notamment les bugs de l'application Ge-Tax développée par un prestataire
externe. Le développement du CTI l'utilise également pour suivre les bugs sur les projets du
Département des Finances.
AndroMDA (http://www.andromda.org), génération de code à partir de modèles UML
Rational Rose (CTI)
AndroMDA est un framework générateur de code qui adhère au Model Driven Architecture
(architecture pilotée par la modélisation). Les modèles décrits en UML sont transformés en
composant déployables sur des plateformes utilisant Spring, J2EE ou .Net. Contrairement à
d'autres outils du même type, AndroMDA est livré avec toute une série de traducteurs qui
permettent de générer du code pour Axis, jBPM, Struts, JSF, EJB, XSD, Webservices,
Spring et Hibernate. AndroMDA contient aussi une boîte à outils permettant de construire
son propre traducteur (ou d'en adapter un existant) à partir de l'outil UML choisi par
l'utilisateur. AndroMDA est distribué sous licence BSD.
Subversion (http://subversion.tigris.org/), gestion des sources (Uni)
Subversion (parfois abrégé SVN) est un logiciel de contrôle de version sous licence
Apache/BSD, il a été créé pour pallier les manques de CVS et conçu pour le remplacer. Il
s'appuie volontairement sur les mêmes concepts (notamment sur le principe du dépôt
centralisé et unique) et considère que le modèle de CVS est le bon, seule son
implémentation est en cause.*
On peut aussi mentionner le plug-in Subclipse qui intègre Subversion à Eclipse.
TortoiseSVN (http://tortoisesvn.tigris.org/), gestion des sources (Uni)
TortoiseSVN est un outil client qui permet d'intégrer les dépôts de code Subversion à
Windows et à son explorateur de fichiers. Son interface est traduite en plusieurs langues. Il
est distribué sous la licence GNU GPL.
Java (http://java.sun.com/), langage de programmation (CTI, Uni)
Java est un langage de programmation très largement utilisé pour le développement de
projets informatiques dans les grandes entreprises. Il est indépendant de la plateforme car il

Observatoire technologique -6- gpl, pge / juin 2006


utilise un concept de machine virtuelle qui permet d'écrire le code une seule fois et de
l'exécuter partout où on le souhaite. Java est un langage inventé, développé et maintenu par
Sun Microsystems.
Jusqu'à présent, seul Sun détient les droits permettant de faire évoluer le langage, bien que
le processus soit ouvert aux apports et commentaires de la large communauté de
développeurs Java à travers le Java Community Process (JCP).
En mai 2006, Sun a annoncé lors de son congrès JavaOne à San Francisco sa décision de
rendre le code Java libre.1 La licence choisie ainsi que le processus concret n'ont toutefois
pas encore été annoncés.
Si cette étape se concrétise dans le bonne direction, elle facilitera notablement le
déploiement de Java dans les distributions GNU/Linux, un point qui posait encore des
problèmes pour certaines distributions.

1
http://news.com.com/Sun+promises+to+open-source+Java/2100-7344_3-6072760.html?tag=nl CNET News.com
16 mai 2006.

Observatoire technologique -7- gpl, pge / juin 2006


4 Systèmes d'exploitation / Distributions
Une distribution est un ensemble de composants assemblés de façon stable pour produire
un environnement comprenant au minimum un système d'exploitation et les outils
nécessaires à sont fonctionnement, à laquelle viennent ensuite s'ajouter des applications.
Une distribution Linux est bâtie autour du noyau Linux et comprend les outils issus du projet
GNU. C'est pour cette raison que l'on utilise aujourd'hui plus précisément le terme
GNU/Linux. Il existe un grand nombre de distributions GNU/Linux, parfois produites par des
sociétés commerciales, parfois maintenues par des communautés ou des individus, souvent
par un mélange des deux en offrant d'une part une version commerciale avec du support et,
d'autre part, une version gratuite. Dans tous les cas, le code reste open source, le modèle
économique étant généralement basé sur le paiement du service ou d'une certification du
logiciel. Tout un chacun peut décider de construire une distribution, mais sa maintenance et
son évolution sont alors à la charge de son créateur.
Parmi les distributions les plus connues, on peut citer Red Hat (très répandue aux USA),
Novell SuSE (plus connue en Europe), Ubuntu (possédant une très forte communauté de
contributeurs) et Debian (sur laquelle Ubuntu est fondée et dont la qualité et la communauté
sont très stables et reconnues).*
Red Hat http://www.redhat.com/, distribution GNU/Linux (SIG)
Red Hat Enterprise Linux (souvent abbrévié en RHEL) est une gamme de distributions
GNU/Linux destinée aux entreprises. Les fonctionnalités supplémentaires incluent un
meilleur support technique ainsi que des mises à jour grâce au réseau Red Hat.
RHEL est probablement la distribution commerciale la plus largement répandue (aux USA
notamment). Elle est également certifiée par d'autres éditeurs de logiciel comme plateforme
de système d'exploitation pour exécuter leur application. C'est le cas de Oracle pour les
produits Oracle Database, Oracle Real Application Clusters (RAC), Oracle Application
Server, Oracle Collaboration Suite, Oracle Developer Suite, and Oracle E-Business Suite.
(La distribution SuSE Novell Enterprise Server est similairement certifiée par Oracle).*
SIG utilise en production un cluster étendu RHEL pour ses bases de données Oracle ainsi
que pour Tivoli Storage Manager (TSM), les retours d'expérience sont très positifs.
CentOS http://www.centos.org/, distribution Linux (RT)
La distribution CentOS (dont le nom signifie Community ENTerprise Operating System) se
fonde sur les codes sources de Red Hat, mais n'est affiliée en aucune manière à Red Hat.
Elle dispose simplement des codes open source de cette grande compagnie qui distribue
Linux et recompile son code distribué sous GPL après avoir enlevé toute marque Red Hat
comme le demande cette entreprise. Les utilisateurs de CentOS sont des organisations ou
des individus qui n'ont pas besoin du support commercial de Red Hat, mais qui veulent avoir
une compatibilité binaire de 100% avec cette distribution.
RT utilise cette distribution avec succès pour ses environnements open source et ses tests
sur une plateforme Linux.

Observatoire technologique -8- gpl, pge / juin 2006


5 Serveurs
Samba (http://www.samba.org/), serveur de fichiers
Samba est un logiciel libre sous licence GPL supportant le protocole SMB/CIFS. Ce
protocole est employé par Microsoft pour le partage de diverses ressources (fichiers,
imprimantes, etc.) entre ordinateurs équipés de Windows. Samba permet aux systèmes Unix
d'accéder aux ressources de ces systèmes et vice-versa.*
Apache (http://www.apache.org/), serveur web (CTI, Uni)
Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur web multi
plateformes produit par la Apache Software Foundation. C'est le serveur HTTP le plus
populaire du web. D'après Netcraft.com, une source largement reconnue, il représente de 60
à 70% des serveurs Web utilisés actuellement à travers monde.2 Il est distribué sous la
licence open source Apache, une licence similaire à BSD.
Apache est conçu pour intégrer de nombreux modules lui donnant des fonctionnalités
supplémentaires : interprétation du langage Perl, PHP et Python, serveur proxy, Common
Gateway Interface (CGI), Server Side Includes, réecriture d'URL, négociation de contenu,
protocoles de communication additionnels, etc.
Les possibilités de configuration d'Apache sont une de ses fonctionnalités phare. Le principe
repose sur une hiérarchie de fichiers de configuration, qui peuvent être gérés
indépendamment. Ceci est notamment utile aux hébergeurs web qui peuvent ainsi servir les
sites de plusieurs clients à l'aide d'un seul serveur HTTP.
Parmi les logiciels aidant la maintenance d'Apache, les fichiers de log peuvent être analysés
à l'aide de nombreux scripts et autres logiciels libres tels que AWStats
(http://awstats.sourceforge.net/) ou Webalizer (http://www.mrunix.net/webalizer/, voir plus
bas). Plusieurs interfaces graphiques facilitent la configuration du serveur
(http://gui.apache.org/).
Apache est utilisé par de très nombreuses sociétés, mais aussi distribué dans de nombreux
produits, dont Websphere d'IBM, ainsi que par Oracle Corporation, Borland Delphi et Kylix,
Novell Netware 6.5, Mac OS X.*
Tomcat (http://tomcat.apache.org/), serveur conteneur de servlet J2EE (CTI)
Tomcat est un serveur web qui permet d'exécuter des servlet et JSP. C'est le compilateur
jasper qui compile les pages JSP pour en faire des servlet. Le moteur de servlet Tomcat agit
souvent en combinaison avec un serveur web Apache ou d'autres serveurs web. Tomcat a
été écrit en langage Java, il peut donc s'exécuter via la JVM (machine virtuelle java) sur
n'importe quel système d'exploitation. La licence de Tomcat est la Apache Software License.
Le serveur d'application Borland Application Server utilise aussi Tomcat comme
Webcontainer.*
Il est donc utilisé par le CTI dans la solution commerciale de Borland en production
actuellement.
JBoss (http://www.jboss.org/), serveur d'application
JBoss Application Server est un serveur d'application J2EE en logiciel libre entièrement écrit
en Java, publié sous licence GPL. Grâce au fait que le logiciel est écrit en Java, JBoss
Application Server peut être utilisé sur tout système d'exploitation fournissant une machine
virtuelle Java (JVM). JBoss Application Server implémente entièrement l'ensemble des
services J2EE.

2
Voir http://news.netcraft.com/archives/web_server_survey.html.

Observatoire technologique -9- gpl, pge / juin 2006


Les développeurs du cœur de JBoss ont d'abord été employés par une société de services
appelée JBoss Inc dont le projet est sponsorisé par un réseau mondial de partenaires et qui
utilise un modèle d'affaires basé sur le service. Depuis avril 2006, JBoss Inc. a été rachetée
par Red Hat.*
SIG envisage de migrer vers JBoss, une étude sera réalisée d'ici fin 2006. La DTD du CTI
teste ce serveur d'application parmi d'autres solutions propriétaires ou libres.

Observatoire technologique - 10 - gpl, pge / juin 2006


6 Sécurité
CAS (http://www.ja-sig.org/products/cas/), système d'authentification single sign-on (Uni)
Central Authentication Service (CAS) est un système d'authentification et de single sign-on
développé par l'Université de Yale, partenaire majeur dans le développement de uPortal. Le
système est très solide et est implanté dans plusieurs universités et organismes dans le
monde. Il est distribuée sou une licence similaire à la licence BSD. Il peut s'intégrer à
Shibboleth.*
Shibboleth (http://shibboleth.internet2.edu/), composant de sécurité (Uni)
Shibboleth est un mécanisme de propagation d'identités, développé par le consortium
Internet2, qui regroupe 207 universités et centres de recherches. Il permet de déléguer
l'authentification à l'organisation d'origine de l'utilisateur et obtenir certains attributs de
l'utilisateur afin de gérer le contrôle d'accès ou personnaliser les contenus. Le principe de
base est celui d'une fédération d'autorités d'authentification dans laquelle les
authentifications peuvent être propagées.*
Ce système est en production à l'Université de Genève, notamment pour permettre un accès
aux ressources bibliothécaires par les étudiants provenant d'établissements divers.
OpenLDAP (http://www.openldap.org/), annuaire (Uni)
Le programme OpenLDAP est une implémentation en logiciel libre du protocole Lightweight
Directory Access Protocol (LDAP), un protocole indépendant de la plateforme défini par
l'IETF. Plusieurs distributions de GNU/Linux incluent OpenLDAP comme gestionnaire
d'annuaire. Ce programme s'exécute aussi dans des environnements de la famille BSD, AIX,
HP-UX, Mac OS X, Solaris, Microsoft Windows (2000, XP) et z/OS. Il est distribué sous la
licence publique OpenLDAP, similaire à la licence BSD.*
Ce produit est utilisé en production à l'Université de Genève pour son ouverture et sa
souplesse.
OpenSSH (http://www.openssh.com/), outil de connectivité sécurisée (CTI, Uni)
OpenSSH (Open Secure SHell) est un ensemble d'outils (ssh, sftp, scp, sshd et d'autres
utilitaires) permettant des communications sécurisées sur un réseau informatique en utilisant
le protocole SSH. Il utilise un système de cryptographie à clé publique pour authentifier
l'ordinateur distant et permettre à son tour à ce dernier d'authentifier l'utilisateur. Ce système
permet d'assurer la confidentialité et l'intégrité des données échangées entre les deux
machines en utilisant le chiffrement et l'authentification des messages. On peut ainsi accéder
à un autre ordinateur pour y exécuter des commandes, mais aussi faire du « tunneling »,
c'est-à-dire encapsuler un flux dans un canal chiffré et le rediriger à sa guise, par exemple
pour utiliser une interface graphique.
Il est diffusé sous licence BSD.*
OpenSSH est utilisé en production à l'Université de Genève et au CTI par DSO OSO.

Observatoire technologique - 11 - gpl, pge / juin 2006


7 Réseau
Kannel (http://www.kannel.org), gateway WAP et SMS (CTI)
Kannel est un gateway open source (licence de type BSD) permettant le transfert de
données (WAP et SMS) entre des réseaux de type TCP/IP et des réseaux GSM.
Ce produit a été paramétré pour les besoins internes CTI par RT dans des projets de
développement. RT interagit avec la communauté qui est de bon niveau et qui est très
réactive.
Squid (http://www.squid-cache.org), serveur proxy de cache (CTI)
Squid est un serveur proxy et reverse-proxy distribué sous une licence GPL. Il a des
applications aussi bien dans l'amélioration des performances de serveurs web en conservant
les requêtes web et DNS (cache) que pour aider à la sécurité en filtrant le trafic. Il tourne
principalement sur des systèmes de type Unix.
Squid a été développé depuis de nombreuses années et est considéré très complet et
robuste. Il supporte beaucoup de protocoles mais il est généralement utilisé pour HTTP et
FTP. Il peut aussi gérer TLS, SSL, Gopher et HTTPS.*
Les proxys ISA et CONF de l'Etat pourraient passer sans problème en Squid. Un test est en
cours dans ce domaine chez RT.
ClamAV (http://www.clamav.net/), antivirus (CTI)
Clam AntiVirus (ClamAV), est un logiciel antivirus très utilisé sous Unix. Il est généralement
utilisé avec les serveurs email pour filtrer les courriers comportant des virus. ClamAV est un
logiciel libre distribué sous licence GPL.*
Le produit est actuellement testé chez RT.
Webalizer (http://www.mrunix.net/webalizer/), statistiques de visites
Webalizer est un logiciel permettant d'analyser l'utilisation des serveurs Web en générant, à
partir de leurs journaux d'accès (log), des comptes rendus sous forme de pages Web.
Diffusé sous licence GPL, c'est aujourd'hui un des outils de statistiques de serveur Web les
plus utilisés, en particulier sur les architectures LAMP, mais aussi avec d'autres
environnements.*
Le site de l'Etat de Genève l'utilise pour analyser ses logs comme on peut le voir sur le site
http://160.53.52.48/stats/geneve/ (cette adresse n'est accessible que depuis le réseau de
l'Etat).

Observatoire technologique - 12 - gpl, pge / juin 2006


8 Applications
uPortal (http://www.uportal.org/), portail (Uni)
uPortal est un framework Java de création de portails pour les institutions éducatives
universitaires. Il est principalement utilisé par les universités Il est développé par JA-SIG
(Java in Administration Special Interest Group). uPortal est développé en open source sous
une licence de type BSD. Il a intégré le logiciel Pluto de la Apache Software Foundation pour
devenir compatible JSR 168 un standards permettant de publier des Portlets. Plusieurs
partenaires commerciaux fournissent une variété de services aux utilisateurs de uPortal
comme la formation, l'implémentation, le support et l'adaptation.
Un nombre croissant d'institutions l'utilisent comme l'Université de Genève (qui participe
aussi activement à son développement), le ETH de Zürich, plusieurs universités françaises
et britanniques, ainsi que des établissements aux USA.
Plone/Zope (http://plone.org/ et http://www.zope.org/), gestion de contenus, serveur
d'application (Uni et Edu)
Plone est un système de gestion de contenu web open source GPL. Il est construit au-
dessus du serveur d'applications orienté objet Zope et de son extension CMF (Content
Management Framework). Il est écrit dans le langage Python et peut être entièrement géré à
partir d'une interface web.
Les personnes qui ont utilisé Plone/Zope s'accordent à dire que c'est une solution de gestion
de contenu puissante et riche. Un ensemble d'organisations l'utilisant est disponible sur
http://plone.org/about/sites.
Il est utilisé par des établissements secondaires et fait partie de la plateforme ICP mise à
disposition du monde éducatif par le CTI.
Jahia (http://www.jahia.org/), portail, gestion de contenu (SIG)
Jahia propose un ligne de produits Java J2EE allant de la gestion de contenu, de solutions
de portail, d'outils de recherche et de collaboration. Jahia n'est pas un logiciel open source.
C'est un exemple de logiciel dont le code est disponible, mais dont la licence ne satisfait pas
à la définition de l'open source. Le modèle proposé est une licence donnant un accès au
code source qui doit être rétribué soit par un paiement direct, soit par la contribution de
développement. Le produit est géré est appartient exclusivement à la société Jahia Ltd.
Jahia est utilisé par SIG pour ses sites intranets afin de simplifier le travail du service
communication, les informaticiens et utilisateurs étant globalement satisfaits de cette
solution. Il est également utilisé par les universités de Lausanne et de Neuchâtel pour leurs
sites Web.
Lenya (http://lenya.apache.org/), gestion de contenus (Uni)
Apache Lenya est un système de gestion de contenu open source (Content Management
System) écrit en Java/XML basé sur le framework Cocoon. Ses fonctionnalités incluent une
historisation des versions, un scheduler, un moteur de recherche interne (basé sur Apache
Lucene), une gestion de workflow personnalisable et des éditeurs WYSiWYG intégrés au
navigateur.* Il est distribué sous licence Apache.
L'Université de Genève migre actuellement sa gestion de contenu vers la solution Lenya sur
lequel se sont aussi notamment lancées les universités de Berne et Zürich. Cette dernière a
d'ailleurs récemment financé des développements reversés à la communauté Lenya.
SPIP (http://www.spip.org/), publication, gestion de contenu web (Edu, OSIL, CTI non
officiel)

Observatoire technologique - 13 - gpl, pge / juin 2006


SPIP est un logiciel libre (licence GPL) destiné à la conception de site Web, de type système
de gestion de contenu permettant d'éditer collectivement un site (SPIP signifie Système de
publication pour l'Internet Partagé). Il est très largement utilisé principalement dans les pays
francophones.
On peut citer aussi la reprise3 de SPIP par le gouvernement français sous le projet Agora
(http://www.agora.gouv.fr/) qui constitue l'outil de base de gestion de contenus web pour
produire les sites gouvernementaux officiels.4
SPIP est flexible et permet une installation et une adaptation faciles, notamment à l'aide de
squelettes pour moduler la présentation. A l'Etat de Genève, l'équipe du Service Ecoles et
Multimédia (SEM) a une grande expérience dans son utilisation dans le domaine
pédagogique; SPIP fait aussi partie de la plateforme mise à disposition par le CTI dans le
cadre du projet ICP. On peut aussi citer le service OSIL du Département des Finances qui l'a
aussi très facilement et favorablement mis en œuvre pour certains de ses sites.
TWiki (http://twiki.org/), wiki, plateforme collaborative (Edu)
TWiki est un logiciel de travail collaboratif wiki programmé en Perl. Il est fréquemment utilisé
comme un système de rédaction de documents à « plusieurs mains » utilisant une interface
web avec une gestion des versions et des accès. Sa licence de distribution est la GPL.
Le principe du wiki s'utilise aussi bien sur un intranet que sur l'Internet, et permet de créer un
contenu de manière collaborative et cela par le biais d'un simple navigateur web. Les
utilisateurs n'ont pas besoin de connaissances techniques en informatique pour créer des
pages web et les gérer. Les développeurs peuvent étendre le contenu et les fonctionnalités
de TWiki avec diverses extensions.*
Ici aussi le CTI à travers ICP et l'équipe du SEM de l'Etat de Genève ont proposé TWiki dans
leurs projets avec un succès certain auprès des utilisateurs.
TWiki est très largement diffusé dans des grandes organisations comme IBM, Motorola,
Siemens, Adobe, Yahoo!, la British Library, les archives fédérales suisses, le département
fédéral des affaires étrangères.5
Sympa (http://www.sympa.org/), gestion de listes de distribution (Edu)
Sympa est un logiciel open source de gestion de listes de distribution. Son architecture
permet une grande adaptabilité et facilité d'administration à travers une interface web. Les
listes sont dynamiques ce qui autorise beaucoup de flexibilité pour la réception, l'envoi, la
modération, ainsi que l'intégration avec un annuaire LDAP. Un service SOAP permet
également d'intégrer ces services à d'autres applications (notamment uPortal et CAS cités
dans ce document). Sympa est distribué sous licence GPL.
Les expériences menées par le SEM sont très positives pour gérer, stocker et utiliser les
listes de messagerie avec cet outil.
dotProject (http://www.dotproject.net/), gestion de projets (Uni)
dotProject est un logiciel de gestion de projets à travers une interface web reposant sur PHP
et MySQL. Il est facile à utiliser et offre une interface simple, légère et cohérente en gardant
un bon ensemble de fonctionnalités. Ses fonctionnalités sont limitées car il ne prétend pas
empiéter sur des logiciels de CMS ou collaboratifs, mais bien se concentrer sur la gestion de
projets. Il utilise une licence GPL.
3
Il s'agit d'un "fork" de SPIP, c'est-à-dire la création d'un nouveau projet à partir des bases de SPIP. Agora
introduit notamment une couche d'abstraction afin d'utiliser, par exemple, des bases de données propriétaires
Oracle. Cette solution enrichit notamment la gestion de contenu, la gestion documentaire, la chaîne de validation,
la gestion des profils et introduit une structure de site plus complexe grâce à une gestion de mots-clés en
arborescence.
4
Comme par exemple le site du premier ministre http://www.premier-ministre.gouv.fr/fr/.
5
Voir http://twiki.org/cgi-bin/view/Main/TWikiInstallation.

Observatoire technologique - 14 - gpl, pge / juin 2006


Le logiciel dotProject est utilisé au sein de la Division Informatique à l'Université de Genève.6
Dokeos (http://www.dokeos.com/), e-learning (Uni)
Pour l'enseignement en ligne à l'Université de Genève, les logiciels libres principalement
utilisés sont Dokeos et Moodle (voir plus bas), les deux sont développés avec PHP.
Dokeos est une plate-forme d'apprentissage en ligne sous licence GPL, ce logiciel est basé
sur le projet Claroline7 (il s'agit d'un "fork") et se veut international (34 langues). Dokeos est
supporté par une société belge du même nom qui vit de services relatifs à la plate-forme.
Dokeos a une organisation modulaire permettant notamment de gérer l'agenda, les
documents de cours, les exercices (QCM et autres), les liens, les forums, le chat, les
conférences en streaming, les annonces, etc. Il support le standard SCORM (Sharable
Content Object Reference Model).*
Dokeos est l'outil le plus simple et est supporté institutionnellement par l'Université de
Genève, alors que Moodle est plus riche fonctionnellement mais aussi plus complexe.
Dokeos est intégré au portail uPortal.
Moodle (http://moodle.org/), e-learning (Uni)
Moodle permet la gestion de contenu de cours en ligne. C'est un logiciel libre GPL construit
d'après des principes pédagogiques reconnus afin d'aider les éducateurs à créer des
communautés d'apprentissage efficaces en ligne. Moodle a une communauté d'utilisateurs
large et diverse (plus de 10'000 sites l'utilisent). Il est multi langues et multi plateformes
(PHP, MySQL ou une autre base de données). Il est au coude à coude avec son concurrent
propriétaire Blackboard WebCT (dont il peut importer les contenus) en termes
d'instanciations dans le monde.
Moodle est proposé par la Division informatique de l'Université de Genève pour que les
enseignants puissent gérer des cours en ligne.
Crafty Syntax (http://www.craftysyntax.com/), chat (OSIL-DF)
Crafty Syntax est une solution open source d'aide et support en direct. Il inclut une large
palette de fonctionnalités pour permettre une intervention avec un ou plusieurs opérateurs. Il
est programmé en PHP avec MySQL comme base de données. On peut, par exemple,
présenter des pages web à distance ou solliciter les utilisateurs depuis le système.
Ce logiciel est utilisé avec succès pour le support de Ge-Tax par le service OSIL au DF.

6
Dans le cadre de la restructuration de la gestion de projets à la Division Informatique, de nouveaux besoins ont
été identifiés, non couverts par dotProject. Un autre outil sera donc vraisemblablement sélectionné à la fin de
l’année 2006 pour remplacer dotProject.
7
Voir http://www.claroline.net/.

Observatoire technologique - 15 - gpl, pge / juin 2006


9 Poste de travail
Un test formel de postes en open source avait été effectué au cours de l'année 2003 par les
équipes du service SAP au CTI. Le résultat avait été concluant, bien qu'un manque de
maturité en termes de solutions métiers ainsi qu'une carence d'intégration dans le système
plus global de l'Etat ait été constaté.
Au sein de SIG, l'exploration d'un poste de travail open source est aussi en test
actuellement. L'Université de Genève, elle, possède un parc de machines plus hétérogènes
et gère d'ors et déjà de tels postes, notamment les salles de machines des étudiants qui
utilisent en partie (choix au démarrage) ce type d'environnement, ou des membres du corps
enseignant qui le désirent.
A ce jour, plusieurs postes de travail complètement open source sont utilisés par des
collaborateurs du CTI. Les raisons sont parfois d'avoir des outils leur permettant d'effectuer
plus efficacement leur travail, parfois d'avoir un environnement de test suite aux orientations
annoncées, parfois encore par conviction personnelle.
Si la mise au point d'un poste de travail utilisant des composants en logiciel libre est un
exercice intéressant, il reste encore des tests à effectuer en conditions réelles et avec un
nombre raisonnable de machines.
Comme les utilisateurs ont à disposition un grand nombre d'applications, il s'agit de trouver,
d'une part, des équivalents fonctionnels pour certaines applications (par exemple, Visio,
TwixTel, ou encore des applications métier). Cet obstacle se réduit néanmoins de plus en
plus vu l'offre croissante de logiciel libres mûrs; de plus, si nécessaire, il est aussi possible
d'utiliser des techniques de virtualisation pour pallier à un manque spécifique. Dans ce
cadre, les applications multi plateformes sont donc à privilégier, car elle permettent non
seulement de s'affranchir du système dans lequel elle s'exécutent, mais sont aussi
généralement plus robustes.
D'autre part, il arrive souvent qu'une application, censée ne nécessiter qu'un navigateur web
ne fonctionne que dans l'environnement Microsoft Internet Explorer sous Windows. Ceci
provient généralement d'un développement n'utilisant pas les standards ouverts préconisés
par le W3C ou d'appels à des librairies propres à l'environnement Windows. Il faut donc ici
bien se rendre à l'évidence qu'il ne s'agit alors pas d'une application web, mais d'une
application MS Windows qui risque de poser des problèmes lors de toute migration, y
compris vers une autre version de Windows.
OpenOffice.org (http://www.openoffice.org/), suite bureautique (Uni, quelques services CTI
non officiel)
OpenOffice.org (OOo) est fondé sur le code source de StarOffice, rendue publique par son
acquéreur, Sun Microsystems, en juin 2000. Le projet résultant, aujourd'hui connu sous le
nom d'OpenOffice.org est disponible sous la licence LGPL et fonctionne sur plusieurs
plateformes dont Microsoft Windows, GNU/Linux, Sun Solaris, ou encore Mac OS X.
Dans le cadre de sa politique de transparence, le format de stockage utilisé par
OpenOffice.org est ouvert et documenté, il a été standardisé sous le nom d'Open Document
Format (ODF) comme format de document bureautique le 3 mai 2006 par l'ISO avec une
large participation et aucun vote négatif. L'export en fichier PDF (Portable Document Format)
est disponible pour produire des documents à des fins de publications.
Afin de satisfaire le maximum d'utilisateurs, le logiciel vise à être particulièrement compatible
avec Microsoft Office qui est, à l'heure actuelle, la suite bureautique la plus répandue. Cette
compatibilité est recherchée au niveau des formats de fichiers, mais aussi de l'interface
utilisateur en essayant de la rendre la plus similaire possible.*

Observatoire technologique - 16 - gpl, pge / juin 2006


Bien qu'une première introduction de StarOffice au sein de la communauté académique de
l'Université de Genève se soit révélée difficile, elle est recommandée comme suite
bureautique aux étudiants et enseignants.
On peut aussi noter qu'un serveur de transformation PDF a été réalisé en interne à
l'Université en extrayant un module de OOo. Une telle réalisation n'aurait pas été
envisageable avec un logiciel propriétaire. Le serveur PDF donne entière satisfaction aux
informaticiens et utilisateurs.
Firefox (http://www.firefox.fr/), navigateur (Uni, CTI non officiel)
Mozilla Firefox est un navigateur Web libre développé et distribué par la Fondation Mozilla
aidée de centaines de bénévoles grâce aux méthodes de développement open source.
Avant de se concentrer sur Firefox et son compagnon Thunderbird, qui lui permet de gérer
son courrier électronique, Mozilla était surtout connu pour sa suite intégrée de logiciels
Internet, d'une conception plus ancienne héritée de Netscape.
Firefox possède des fonctionnalités supplémentaires par rapport au navigateur Internet
Explorer. Plutôt que d'être fourni avec un nombre considérable d'options dans une
distribution standard, Firefox accepte des centaines d'extensions et de thèmes graphiques,
ce qui permet à chaque utilisateur de le modifier à son goût. Parmi quelques fonctionnalités
présentes par défaut dans Firefox on peut citer : un bloqueur de fenêtres intruses, un
système de moteurs de recherche intégrés, facilement personnalisable, la navigation par
onglets, les marque-pages dynamiques (lecteur de flux d'informations aux formats RSS et
Atom), le redimensionnement automatique des images, un puissant gestionnaire de
téléchargement.
La Fondation Mozilla, par l'intermédiaire de son moteur Gecko, fait tout pour que Firefox soit
le plus respectueux possible des normes et standards, en priorité ceux du W3C. Ainsi, le
navigateur supporte les standards du web les plus basiques comme HTML, CSS, XHTML,
XML et JavaScript, mais aussi DOM, MathML, XSL ou encore XPath.
D'après une étude de XiTi du 17 juillet 20058, plus d'un internaute européen sur sept (c'est-à-
dire environ 14% pour l'UE et pour la Suisse environ 16.6%) utiliserait Firefox comme
navigateur web.
L'Université de Genève le propose comme logiciel recommandé aussi bien pour ses
environnements Windows que GNU/Linux.
Thunderbird (http://www.mozilla.com/thunderbird/), client de messagerie (Uni)
Thunderbird est un client de courrier électronique libre distribué par la Fondation Mozilla et
issu du projet Mozilla. Le projet se veut plus léger et plus rapide que Mozilla, mais dédié
uniquement au courrier électronique, aux groupes de discussion et aux flux RSS et Atom.
Thunderbird est basé sur le moteur Gecko ayant acquis une réputation de stabilité, de
sécurité et de rapidité. De même que Mozilla Firefox, il est extensible, c'est-à-dire qu'il peut
facilement recevoir de nouvelles fonctionnalités par l'ajout d'extensions. Thunderbird est
distribué sous les licences MPL (Mozilla Public License) et MPL/GPL/LGPL. Il est disponible
pour GNU/Linux, Windows et Mac OS X.*
L'Université de Genève le propose comme logiciel recommandé aussi bien pour ses
environnements Windows que GNU/Linux.
Evolution (http://www.gnome.org/projects/evolution/), client de messagerie (CTI)
Novell Evolution (anciennement Ximian Evolution) est un logiciel libre de groupware, il fait
partie du projet GNOME. Il sert de client de courrier électronique, carnet d'adresses, agenda,
portail d'information.

8
Nouvelle étude Firefox sur 29 pays d’Europe : La France poursuit sa progression et la Finlande passe les 30%,
http://www.xitimonitor.com/etudes/equipement10.asp

Observatoire technologique - 17 - gpl, pge / juin 2006


Son interface utilisateur et ses fonctionnalités sont similaires à Microsoft Outlook. Il a
quelques fonctionnalités qui le distinguent : indexation du texte de tous les emails arrivant, et
une fonctionnalité de "Dossiers virtuels" (ce sont des recherches sauvées qui ressemblent à
des dossiers d'emails normaux).
Evolution peut être connecté à un serveur Microsoft Exchange en utilisant son interface Web
et un plugin d'Evolution appelé connecteur. Dans un environnement GNU/Linux, il peut être
synchronisé avec un Palm Pilot en utilisant gnome-pilot et Multisync permet de le
synchroniser avec des téléphones portables et autres PDAs.*
Actuellement, le service Groupware du CTI teste cette solution comme alternative au client
Outlook de Microsoft.

Observatoire technologique - 18 - gpl, pge / juin 2006


10 Autres projets
Le projet i-Juge (CTI, Palais de Justice) utilise plusieurs composants open source dans son
infrastructure. Les trois éléments majeurs sont le serveur web Apache, l'interface avec la
base de donnée Basis+ et l'outil central écrit en Perl. Le serveur Apache est présenté plus
haut dans ce document. L'interface de base de données est écrite dans le langage Perl et
utilise JDBC; cette interface est open source. Finalement, le module principal est également
écrit en Perl, un langage open source largement utilisé dans le milieu technique. Une
analyse de maturité des composants a été effectuée dans le cadre du projet avec l'aide
méthodologique de l'Observatoire technologique. Cette étude a donné de très bons résultats
et pourrait avantageusement être reprise pour d'autres projets.

Observatoire technologique - 19 - gpl, pge / juin 2006

Vous aimerez peut-être aussi