mardi 27 septembre 2016
 
DU PAPIER AU WEB

INF41_001.gifBienvenue, abonnés à L'Informaticien et/ou à ses services en ligne ! Sur cette page, chaque mois, l'intégralité du numéro fraîchement sorti en Kiosque est consultable en HTML. Vous pouvez également retrouver les anciens numéros sous cette forme : bien qu'ils ne soient pas encore tous disponibles, ils le deviendront avec le temps. Mais dès à présent les versions PDF du magazine sont téléchargeables depuis cette même rubrique Anciens numéros. Bonne lecture !
Haute disponibilité
Réduire
Comment construire un système redondant et de haute disponibilité, avec DRBD et Heartbeat
par Pedro Pla, Traduction : Noé Barat - Copyright L'Informaticien, tous droits réservés

DRBD signifie Distributed Replicated Block Device. Ce système permet de synchroniser deux partitions via le réseau IP. Heartbeat – littéralement « battement de cœur » – aura pour rôle de surveiller un système redondant dans le but de faire basculer des services d’une machine vers une autre en cas de défectuosité du serveur principal. Il pourra aussi exécuter certains traitements automatiques comme le montage d’un système de fichiers, ou la relance d’un démon. Pour l’utilisateur final, toutes ces opérations seront transparentes.

Il y a environ trois ans, je projetais de monter un nouveau serveur qui servirait de portail Web, qui gérerait notre courrier électronique, nos bases de données, un DNS et ainsi de suite. Un des objectifs les plus importants était de créer une solution redondante, de sorte que si un des services échouait, cela n’affecterait pas le fonctionnement de notre compagnie. À l’époque, j’ai examiné de près de nombreuses solutions de haute disponibilité pour Linux, et avec la plupart d’entre elles, j’ai eu beaucoup de mal à trouver une solution commune qui conviendrait à l’ensemble de nos services. Après tout, il existe une différence très grande entre le fonctionnement intrinsèque d’un démon Sendmail et d’un démon PostgreSQL. En fin de compte, j’ai trouvé une solution qui a épousé parfaitement nos besoins. Elle implique d’installer un miroir de disques entre des machines en utilisant le logiciel DRBD et un moniteur de haute disponibilité sur ces machines en utilisant Heartbeat.

DRBD duplique une partition entre deux machines, permettant seulement à l’une d’entre elles d’être active. Heartbeat surveille alors les machines, et s’il détecte qu’une des machines est « morte », il prend le contrôle en montant le disque miroir dupliqué et en redémarrant tous les services sur l’autre host.

J’ai testé cette installation en fonctionnement durant environ trois années, et elle a permis d’empêcher que les inévitables pannes de matériel soient dommageables à l’entreprise. Dans cet article, je vais vous montrer comment établir un système redondant et hautement disponible dans le cadre du service Sendmail. Une fois que vous aurez fait cela, vous pourrez suivre la même procédure avec presque n’importe quel autre service dont vous avez besoin.

Dans ce qui suit, nous supposons que votre serveur principal s’appelle « server1 » et qu’il possède l’adresse 192.168.1.1. Votre serveur esclave s’appelle « server2 » et possède l’adresse IP 192.168.1.2. Et parce que vous ne voulez pas devoir accéder à un serveur de courrier électronique en utilisant une de ces deux adresses (au cas où un de ces deux nœuds tomberait en panne), nous lui assignerons une adresse virtuelle 192.168.1.5. Vous pouvez naturellement modifier ces adresses comme vous le voulez en modifiant la configuration de Heartbeat – que j’aborderai en fin d’article.


Comment cela fonctionne

Cette solution de haute disponibilité fonctionne par réplication d’une partition en mode master/slave. Le serveur qui officie comme machine maître possède les droits d’accès complet de lecture/écriture à cette partition ; tandis que la machine serveur esclave n’a absolument aucun accès à cette partition, mais duplique silencieusement tous les changements enregistrés par le serveur principal. Pour cette raison, les processus devant accéder à la partition dupliquée doivent fonctionner sur le serveur principal. Si le serveur principal plante, le démon d’Heartbeat fonctionnant sur le serveur esclave indiquera à DRBD que la partition esclave est maintenant devenue maître, faisant monter la partition en lecture/écriture, et redémarrant tous les processus qui ont des données stockées sur la partition dupliquée.  

Comment préparer l’installation

La première étape pour préparer un système redondant de deux machines est de disposer de deux machines fonctionnelles sous Linux. Elles n’ont pas besoin d’avoir des spécifications matérielles identiques, mais elles doivent répondre aux exigences suivantes :
 
• vous devez disposer d’assez d’espace libre sur les deux machines pour créer une partition de taille identique sur chacune d’elles ;

• vous devez vérifier que les démons sur les deux machines que vous utilisez dans le cadre de la haute disponibilité soient de versions identiques ;  

• vous devez installer une carte réseau sur chaque machine reliée avec un câble croisé (ou relié par un hub/switch) ;

• vous pouvez installer, en option, une liaison série entre les deux machines pour une surveillance additionnelle.

Vous devriez également penser sérieusement à la liste des services que vous voulez faire fonctionner sur les deux machines, car ceux-ci influenceront la quantité d’espace disque dont vous aurez besoin sur la partition répliquée, et la manière dont vous stockerez les fichiers de configuration et de données de ces services. Il est très important que vous disposiez d’assez d’espace sur cette partition, parce qu’il s’agit de l’endroit principal de stockage des données pour l’ensemble de ces services. Ainsi, si vous pensez utiliser Sendmail ou une base de données, vous devriez vous assurer que la partition dispose d’assez d’espace pour accueillir de nombreux messages dans la file d’attente, ou prévoir la croissance de votre base de données. Sinon en cas de mauvaise évaluation de l’espace disque, vous devrez repartitionner et reconfigurer DRBD !

 
Installation de base de vos serveurs  

Une fois que vous vous êtes assurés que vos machines sont prêtes, vous pouvez créer une partition de taille identique sur les deux machines. À ce stade, vous n’avez pas besoin de créer un filesystem sur cette partition, car vous n’effectuerez cette opération qu’à partir du moment ou DRBD sera fonctionnel (NDT : DRBD ne se préoccupe pas du système de fichier sous-jacent, mais se contente de répliquer des blocs et non des fichiers).
Pour mes serveurs, j’ai un système DRBD qui ressemble à cela au niveau de mes tables de partition :
 
/dev/sda5     7916     8853     7534453+     83     Linux


Note : tapez fdisk -l au prompt de votre ligne de commande pour visionner la liste de vos partitions dans un format semblable à ce que je vous ai montré ci-dessus. En outre, dans mon cas, la table des partitions est identique sur les deux machines redondantes.

La prochaine étape après le partitionnement est d’obtenir les paquets pour la version 1.2+ d’Heartbeat, ainsi que la version 0.8+ de DRBD, et enfin de compiler le module DRBD pour votre noyau.
Si vous pouvez obtenir ces divers paquets pré-configurés pour votre distribution, l’installation sera probablement plus facile pour vous ; dans un autre cas, vous pouvez les télécharger à partir des adresses www.linuxha.org/DownloadSoftware et de www.drbd.org/download.html.  
Maintenant, dirigez-vous vers votre dossier /etc/hosts, et ajoutez-y sur les deux premières lignes les noms et adresses IP de votre serveur primaire et de votre serveur esclave. Appelez le premier server1, et l’autre server2, et en dernière ligne ajoutez l’adresse IP de mail (votre serveur de courrier électronique). Ce fichier devrait maintenant ressembler à ceci :

192.168.1.1 server1  
192.168.1.2 server2  
192.168.1.5 mail

 Finalement, sur votre serveur principal et esclave, créez un dossier que vous nommerez /replicated, et ajoutez la ligne suivante au fichier /etc/fstab :  

/dev/drbd0     /replicated    ext3    noauto    0    0      



Configuration de DRBD

Après avoir effectué ces diverses opérations de base, vous devez configurer DRBD avant de mettre en place Heartbeat. Dans le cas de mon installation, le fichier de configuration est /etc/drbd.conf, mais ceci peut changer en fonction de votre distribution et des options de compilation afférentes. Essayez de trouver ce fichier et de l’ouvrir maintenant pour que nous puissions continuer ensemble notre tutorial. Si vous ne le trouvez pas, créez en un simplement – appelé /etc/drbd.conf.
Le listing n° 1 est mon fichier de configuration. Je vais vous le commenter ligne par ligne en précédant mes explications du caractère #.

Listing 1 de /etc/drbd.conf

# Chaque ressource représente une section de configuration pour
# un disque miroir
# drbd0 est le nom que nous emploierons pour nous référer  
# à ce disque pour le démarrer et l’arrêter.  
resource drbd0 {
  protocol C;
  handlers {
    pri-on-incon-degr "echo ‘DRBD: primary requested but inconsistent!’
    | wall; /etc/init.d/heartbeat stop"; #"halt -f";
    pri-lost-after-sb "echo ‘DRBD: primary requested but lost!’
    | wall; /etc/init.d/heartbeat stop"; #"halt -f";
  }
  startup {
    degr-wfc-timeout 120;    # 2 minutes.
  }
  disk {
    on-io-error   detach;
  }
# Ci-dessous les paramètres réseaux qui fonctionnent le mieux pour moi.
# Vous pouvez évidemment les modifier mais avant de le faire
# nous vous recommandons de consulter les pages man de drbd.conf
# et de drbdadm.
  net {
    timeout 120;
    connect-int 20;
    ping-int 20;
    max-buffers     2048;
    max-epoch-size  2048;
    ko-count 30;
# Attention de modifier le mot de passe (shared-secret) à la fois sur le serveur master
# mais aussi sur la machine esclave
    cram-hmac-alg "sha1";
    shared-secret "motdepasse";
  }
  syncer {
    rate 10M;
    al-extents 257;
  }
# Le bloc suivant d’instructions définit les paramètres pour le serveur
# étiqueté server1. Cette étiquette server1 doit figurer dans votre fichier
# /etc/hosts file et pointer vers un host valide.
  on server1 {
# Le périphérique suivant sera créé automatiquement par le module
# noyau drbd lorsque la
# partition est maître et en mode écriture.
# Si vous devez définir plus d’une ressource DRBD
# vous pouvez les appeler drbd1, drbd2, etc.
    device     /dev/drbd0
# ici vous noterez la partition qui a été préparée pour être dupliquée
    disk             /dev/sda5;
# Indiquez maintenant l’adresse ip du serveur maître.
# Note: vous devez indiquer un port unique pour chaque ressource.
    address   192.168.1.1:7788;
    meta-disk  internal;
  }
# Le bloc suivant est identique à celui de server1 mais avec
# les paramètres appropriés pour le serveur appelé
# server2 dans votre fichier /etc/hosts file.
  on server2 {
    device    /dev/drbd0;
    disk      /dev/sda5;
    address   192.168.1.2:7788;
    meta-disk internal;
  }
}

Commençons par démarrer le pilote DRBD pour voir si tout fonctionne normalement. Ouvrez un shell sur les deux serveurs et tapez :

drbdadm create-md drbd0; /etc/init.d/drbd restart; cat /proc/drbd

Si tout se passe pour le mieux, la sortie obtenue ressemblera à ce qui suit :

0: cs:Connected st:Secondary/Secondary ds:Inconsistent/Inconsistent r---
   ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0
       resync: used:0/7 hits:0 misses:0 starving:0 dirty:0 changed:0
       act_log: used:0/257 hits:0 misses:0 starving:0 dirty:0 changed:0


Note : vous pouvez toujours et à n’importe quel moment déterminer l’état du périphérique DRBD en saisissant :

cat /proc/drbd


Maintenant, tapez la commande suivante au prompt shell du serveur maître :

drbdadm -- --overwrite-data-of-peer primary drbd0; cat /proc/drbd

Ce qui provoquera un affichage ressemblant à ceci :

0: cs:SyncSource st:Primary/Secondary ds:UpToDate/Inconsistent r---
   ns:65216 nr:0 dw:0 dr:65408 al:0 bm:3 lo:0 pe:7 ua:6 ap:0
       [>...................] sync’ed:  2.3% (3083548/3148572)K
       finish: 0:04:43 speed: 10,836 (10,836) K/sec
       resync: used:1/7 hits:4072 misses:4 starving:0 dirty:0 changed:4
       act_log: used:0/257 hits:0 misses:0 starving:0 dirty:0 changed:0

Ce qui signifie qu’il va synchroniser vos disques à partir de l’ordinateur principal (placé en tant que source primaire) vers l’ordinateur esclave placé comme cible. L’étape suivante consiste à créer le filesystem sur le système principal :  

mkfs.ext3 /dev/drbd0      


Une fois le système de fichiers créé sur l’ordinateur principal, dirigez-vous vers le prompt shell (du master), et montez le périphérique /dev/drbd0 sur /replicated. Nous devrons la monter manuellement car nous n’avons pas encore mis en place Heartbeat.


Préparation des services  

Un point primordial concernant n’importe quelle solution redondante est de préparer correctement vos services de sorte que lorsque la machine principale devient hors service, la machine esclave puisse assurer la continuité et exécuter à son tour les services de manière transparente. Pour y arriver, vous devez déplacer non seulement les données sur le disque redondant DRBD, mais aussi y déplacer les fichiers de configuration. Laissez-moi vous montrer comment j’ai résolu le problème pour Sendmail. J’utilise Sendmail pour cet exemple car sa configuration exige plus de dextérité qu’avec de nombreux autres services. Si la machine fonctionne en mode esclave, sendmail devra continuer à envoyer des courriers électroniques en provenance par exemple d’applications internes, et si Sendmail ne peut accéder aux fichiers de sa configuration, il ne pourra le faire. Sur la machine principale, assurez-vous d’abord que Sendmail est installé mais arrêté.
Créez ensuite un dossier etc sous l’arborescence de /replicated. Ceci fait, recopiez-y le contenu de votre dossier d’origine /etc/mail vers /replicated/etc, et créez un lien symbolique de /replicated/etc/mail à /etc/mail.

Maintenant, créez un dossier var sous /replicated, et recopiez-y /var/mail, /var/spool/mqueue et l’entièreté des autres répertoires de données utilisés par sendmail. Enfin, n’oubliez naturellement pas de créer les liens symboliques appropriés, de sorte que les nouveaux dossiers soient accessibles de leur emplacement précédent. La structure des dossiers sous /replicated devrait maintenant ressembler à quelque chose comme ceci :

/replicated/etc/mail
/replicated/var/mail
/replicated/var/spool/mqueue
/replicated/var/spool/mqueue-client
/replicated/var/spool/mail


Et voici également la liste des liens symboliques créés :

/etc/mail -> /replicated/etc/mail
/var/mail -> /replicated/var/mail
/var/spool/mqueue -> /replicated/var/spool/mqueue
/var/spool/mqueue-client -> /replicated/var/spool/mqueue-client
/var/spool/mail -> /replicated/var/spool/mail


Démarrez Sendmail et expédiez un courrier pour effectuer un essai. Si tout fonctionne bien, vous avez terminé avec succès la première partie de l’installation.

La prochaine étape est de s’assurer que Sendmail fonctionne même à partir de la machine secondaire. Le « tour » que nous allons ici employer est de recopier le binaire Sendmail sous /replicated et de placer ensuite un lien symbolique pointant le binaire ssmtp sous le répertoire non monté de /replicated. D’abord, assurez vous que vous ayez bien ssmtp installé et configuré sur votre système. Ensuite, créer un répertoire /replicated/usr/sbin, et copiez-y /usr/sbin/sendmail. Puis, créez un lien symbolique de /usr/sbin/sendmail vers le nouveau /replicated/usr/sbin/sendmail.

Une fois ces opérations réalisées, arrêtez Sendmail et démontez le répertoire /replicated. Sur l’ordinateur principal et secondaire, créez un répertoire /replicated/usr/sbin et un lien symbolique de /usr/sbin/ssmtp vers /replicated/usr/sbin/sendmail.
Après avoir procédé ainsi pour Sendmail, la mise en place d’une procédure similaire pour d’autres services, comme Apache et PostgreSQL, vous semblera un jeu d'enfant. Il faut juste ne jamais oublier de placer tous les fichiers de données, ainsi que l’ensemble des fichiers de configuration sous /replicated en fixant les liens symboliques appropriés.


Configuration d’Heartbeat

Heartbeat est conçu pour surveiller vos serveurs, et si votre serveur principal défaille, il commencera par redémarrer les services sur le serveur secondaire, le transformant en maître. Pour le configurer, nous devons indiquer quels serveurs il doit surveiller et quels services il devra démarrer lorsqu’un problème hardware sur le nœud principal survient. Configurons les services d’abord. Nous ne jetterons un coup d’œil que sur le service Sendmail, que nous avons configuré précédemment, parce que les autres services seront configurés de la même manière.  

D’abord, dirigez-vous vers le répertoire situé sous l’arborescence /etc/heartbeat/resource.d. Ce dossier contient tous les scripts de démarrage pour les services qu’Heartbeat sera chargé de démarrer. Ajoutons un lien symbolique de /etc/init.d/sendmail vers /etc/heartbeat/resource.d.  

Note : gardez à l’esprit que ces chemins peuvent varier selon votre distribution Linux.  

Ceci dit, démarrez Heartbeat en vue de charger les services automatiquement sur l’ordinateur principal, ce qui notifiera au serveur secondaire de prendre le relais si nécessaire. Le listing 2 nous montre le fichier responsable de ce traitement. Et comme vous pouvez le constater, il n’implique la configuration que d’une seule ligne (les différents services à démarrer seront séparés par des espaces) :

Listing 2. /etc/heartbeat/haresources
server1 IPaddr::192.168.1.5/24 datadisk::drbd0 sendmail


Le premier argument server1 définit quel serveur sera le maître par défaut de ces services ; le second, IPaddr : : 192.168.1.5 /24, indique à Heartbeat l’adresse IP du serveur secondaire ainsi que son masque réseau. L’argument datadisk::drbd0 indique à Heartbeat de monter ce lecteur automatiquement sur le maître, et après ceci, nous pouvons écrire les noms de tous les services que nous voulons démarrer sur le serveur secondaire en cas de défaillance du primaire (sendmail en l’occurrence).  

Note : les noms de ces services doivent correspondre aux noms des scripts de démarrage sous /etc/heartbeat/resource.d.  

Configurons le fichier /etc/heartbeat/ha.cf (listing 3). Les principaux changements que vous voudrez faire seront les noms des machines maître et esclave, ainsi que les paramètres deadtime et initdead. Ceux-ci spécifient combien de secondes doivent être accordées à l’autre machine avant d’en conclure à une défaillance et lui succéder. Si vous indiquez un délai trop court, vous pourriez obtenir au final de fausses alertes, et à moins que vous ayez en place un système appelé STONITH, qui tuera l’autre machine s’il pense qu’il est déjà mort, vous hériterez de toutes sortes de problèmes.

J’ai placé le mien à deux minutes ; et même si c’est ce qui a le mieux fonctionné dans mon cas, sentez-vous libre d’expérimenter d’autres valeurs.

Gardez à l’esprit deux points primordiaux : pour le raccordement sériel, vous devez brancher un câble série croisé entre les deux machines ; mais si vous utilisez (ou vous y avez raccordé) d’autres nœuds Heartbeat, vous devez modifier le port UDP pour chaque noeud maître/esclave.

Listing 3. /etc/heartbeat/ha.cf

debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility     local0
keepalive 2
deadtime 120
initdead 120
serial  /dev/ttyS1
baud 9600
udpport 694
udp     eth0
nice_failback on
node server1
node server2


Maintenant, tout ce qu’il vous reste à faire est de démarrer Heartbeat sur le serveur principal et secondaire en tapant :

/etc/init.d/heartbeat start

Une fois que vous avez mis tout ceci en place, il est temps de triturer votre système. Vous pouvez faire cela en arrêtant Heartbeat sur le serveur principal, et en observant que votre serveur secondaire est bien devenu le maître. Puis, naturellement, vous pourriez vouloir aller plus loin en coupant l’alimentation du serveur principal (…), ou en le débranchant par exemple du réseau. Félicitations : vous avez installé votre système redondant ! Et rappelez-vous que Heartbeat et DRBD sont assez flexibles pour que vous ayez le loisir de monter quelques solutions complexes, y compris d’entreprendre un système qui serait à la fois serveur maître et serveur secondaire. Prenez du temps, et jouez avec toutes les possibilités pour déterminer jusqu’où vous pourrez pousser vos expériences.



Pedro Pla (pedropla@pedropla.com) est CTO du groupe Holiday Marketing International, et il a plus de dix ans d’expérience sous Linux.


Liens utiles:
• DRBD : http://www.drbd.org/
• Heartbeat : http://www.linux-ha.org/Heartbeat


Installation et compilation du module (sous Ubuntu Dapper)
Comme l’explique brièvement l’auteur, le module drbd devra être compilé pour s’adapter à la version de votre noyau. Vous devez effectuer cette compilation sur la machine maître ainsi que sur la machine secondaire (sauf si vos machines sont strictement identiques : alors vous pourrez vous contenter de recopier uniquement le module). Vous devez disposer des headers du kernel ainsi que d’autres utilitaires nécessaires à la compilation du noyau :

sudo aptitude install linux-headers-$(uname -r) build-essential
sudo aptitude install drbd0.7-utils drbd0.7-module-source dpkg-dev kernel-package ncurses-dev
cd /usr/src
sudo tar xfzv drbd0.7-tar.gz
cd /usr/src/linux-headers-*
sudo make menuconfig
sudo make-kpkg modules-image --append-to-version -5-686
cd /usr/src
sudo dpkg --install drbd0.7-module-2.6.*.Custom_i386.deb
sudo modprobe drbd
Sommaire
Réduire
DOSSIER

• SGBD : les bases de données libérées


RENCONTRE

• Microsoft en Inde : un centre de recherche pour les marchés émergents


RÉSEAUX & SÉCURITÉ

• L’après 3G commence par le HSDPA

• Lutte anti-spam : Pourquoi les listes blanches et noires sont insuffisantes


SERVEURS & SYSTÈMES

• Linux journal : Comment construire un système redondant, de haute disponibilité, avec DRBD et Heartbeat ?

• Le stockage et la sauvegarde multisites en question


LOGICIELS & APPLICATIONS

• Un impératif de qualité : la gestion des exigences

• Bonnes feuilles : Les bonnes pratiques de mise en œuvre d’un portail décisionnel

• DotNet 2.0 : boostez vos applications avec du code « non managé »


POSTE DE TRAVAIL

• Vista vous rendra-t-il plus productif ?

• Ubuntu Dapper 6.06 LTS : Un Linux même pour le débutant

ITINÉRAIRES

• Formation : l’e-learning pour les pros

• Emploi : heureux comme un informaticien en France ?

• Comment recrutent-t-ils ?

• Livres : notre sélection d’ouvrages pour aller plus loin sur l’étude du noyau linux, l’intelligence artificielle et les moteurs de recherche
Edito
Réduire
L’ordinateur « m’a tuer »

Depuis les débuts du magazine, soit quatre années ce mois-ci, nous militons pour une prise en compte plus importante du rôle de l’informatique dans le fonctionnement de notre société, de son impact, de ses enjeux et de ses risques. Concernant ces derniers, il est souvent difficile de les quantifier, particulièrement en l’absence de formation. En effet, le seul véritable risque à la mauvaise utilisation d’un logiciel de bureautique pour cause de non-formation est une perte de temps.

newstef26526_Copier5.gifEn revanche, que se passe-t-il lorsqu’il s’agit de logiciels métier appliqués à des appareils de radiothérapie ? Nous venons malheureusement de le constater : on ne parle plus de perte de temps, d’argent, d’efficacité économique mais de perte de vie. Faudra-t-il – à l’instar de la cigarette – faire figurer la mention « Ce logiciel tue » sur les manuels utilisateurs ? L’Agence régionale d’hospitalisation de Lorraine a en effet admis que le décès d’un patient, et les complications chez 13 autres sur 103 personnes traitées, étaient dus à un surdosage. « Ces surdosages relèvent d’une “mauvaise utilisation” d’un logiciel introduit en mai 2004, notamment d’erreurs de paramétrages et du “manque de maîtrise technique” d’une partie du personnel du centre hospitalier. » Pour le directeur de l’ARH, Antoine Perrin, cité par l’AFP, « Il y a eu clairement un problème de paramétrages, probablement dû à une mauvaise formation du personnel. Les personnels ont mal intégré la formation qu’ils ont reçue. Reste à savoir si elle a été bonne ou pas, même si nous avons des raisons de penser qu’elle comportait des failles. »
Dès lors que ceci s’est passé une fois dans un domaine, il y a tout lieu de craindre que des drames similaires se reproduisent dans le domaine médical, ou ailleurs. Dans l’affaire de la collision de trains en Moselle, les autorités luxembourgeoises ont rapidement et sans ambiguïté reconnu la responsabilité de leurs Chemins de Fer, précisant qu’il s’agissait d’une erreur humaine. Toutefois, dans cette collision, la personne s’est rapidement rendue compte de son erreur et a essayé de la corriger en coupant le courant d’alimentation des trains. Malheureusement, la coupure de courant n’a eu aucun effet à cause de l’incompatibilité des réseaux électriques luxembourgeois et français, réseau français sur lequel le train de voyageurs venait de s’engager. Deux problèmes de frontière qui ont rendu la collision frontale inévitable. S’il ne s’agit pas d’un problème purement informatique ce n’en est pas très éloigné et cela souligne la nécessaire standardisation des équipements.
Faut-il de nouvelles catastrophes pour que l’on prenne enfin conscience de notre dépendance croissante aux ordinateurs et de notre impréparation face à leurs dysfonctionnements… Le cas de l’hôpital lorrain est de ce point de vue tristement exemplaire. Il pose l’alternative suivante : faut-il transformer tous les spécialistes métier en informaticiens, ou faut-il arrêter de confier le paramétrage de ces applications aux seuls informaticiens ?
De façon totalement cynique, nous pourrions encourager la première solution, ceci favorisant une toujours plus large diffusion de notre revue. Cependant, c’est la seconde que nous appelons de nos vœux. Nous répéterons ainsi ce que nous affirmions dans l’un de nos premiers numéros, en paraphrasant Clémenceau : l’informatique est une affaire trop sérieuse pour être confiée aux seuls informaticiens.

Stéphane Larcher
Chronique
Réduire
Les éditeurs, des technophiles ou des assureurs complexés ?

Oui, toute la créativité logicielle se fait chez les universitaires du monde Open Source ; et, oui, vous préférez acheter vos programmes chez des éditeurs qui les garantissent. Mais pourquoi les seconds ont-il toujours besoin de prétendre avoir le niveau technique des premiers ? Serait-ce pour justifier de prix totalement déraisonnables…

Yann.gifSavez-vous ce qu’est la gouvernance du changement pour la gestion du cycle applicatif ? Non ? Eh bien, tant mieux, comme ça, vous n’aurez pas grand-chose à rétorquer à l’un de vos collègues du service informatique lorsqu’il vous annoncera qu’il est absolument indispensable de faire l’acquisition de Serena Dimensions 10 ! Bon, là, puisque nous sommes entre nous, on peut vous le dire : il s’agit d’un clone commercial en Java des outils Open Source CVS et Subversion, c’est-à-dire un programme qui centralise les modifications qu’on apporte à une application pour ne pas que celles-ci se chevauchent.
Pourquoi diable allez-vous dépenser des dizaines de milliers d’euros dans une solution dont l’équivalent existe sous la forme d’un logiciel libre ? Tout simplement parce que, en cas de problème, vous aurez un éditeur vers lequel vous retourner pour passer votre courroux et exiger réparation. Avec un produit Open Source installé par ses soins, le supporter du libre devrait en revanche prier pour que les milliers de bénévoles qui arpentent les forums de discussion acceptent de lui expliquer comment se sortir d’un dysfonctionnement. Et rapidement, encore. C’est-à-dire avant que vous ne le congédiez parce qu’il a eu l’irresponsabilité d’installer une solution sans la garantie qui va avec. Donc, c’est un fait, les éditeurs existent non pas pour inventer des logiciels mais pour vendre des assurances. Problème : c’est une réalité qu’ils n’ont pas l’air de bien vouloir assumer.
Si les profanes qu’on délègue à la signature des gros chèques voyaient la situation sous cet angle, ils pourraient – peut-être – se demander pourquoi on atteint de tels niveaux de prix. Ou peut-être pas, la tranquillité a un coût, après tout. Pour éviter que la question ne se pose et par peur qu’on les remette en question, les éditeurs n’hésitent pas à se justifier en tartinant des kilomètres de présentations PowerPoint, avec des mots aussi ronflants qu’incompréhensibles, dans le seul but de suggérer une inventivité technologique de leur fait et qui n’a pas lieu d’être.
Il n’est pas ici question de nier les développements de ces « leaders – de la vente d’assurance pour accompagner des logiciels qui, par abus de langage, peuvent se qualifier de – technologiques ». Ils existent, même s’ils se bornent parfois à assembler des briques par ailleurs toute faites (voir les versions commerciales des distributions Linux). Il est question de recentrer la réalité de la plus-value d’un éditeur, laquelle réside dans un service et non pas dans la créativité scientifique dont il se glorifie.


Une mégalomanie aux conséquences fâcheuses

Prenons l’exemple chez IBM de la « plate-forme » RUP, qui « déploie » la « technologie » UML. RUP (Rational Unified Process) est juste une suite de directives – un mode d’emploi – qui indiquent comment « programmer » dans le « langage de modélisation » UML. En fait de programmation, ce dernier consiste surtout à assembler à la souris des rectangles et des flèches pour dessiner le schéma d’une application – outils Together de Borland, PowerDesign de SyBase, Rose XDE chez IBM… voir les sites de chacun pour constater les prix.
Est-il légitime d’argumenter sur les investissements en R&D qui ont conditionné l’écriture de pareils... utilitaires ? Le principal reste que outil d’UML permet à une SSII et à un client de s’entendre contractuellement sur les fonctions d’une application à développer (c’est graphique, c’est commode) et qu’en conséquence aucun professionnel ne va prendre le risque d’en utiliser une implémentation Open Source, donnée mais vendue par personne – au hasard BOUML, 5 Mo à peine à télécharger.

Le délire du mythe de la R & D atteint des sommets dans l’univers Java, où chaque rotule, pour ne pas dire chaque fonction, se voit gratifiée de « standard technologique » (avec les JDO et autres EJB qui ne sont rien d’autre qu’une manière de formater l’information ; il en faut bien une). Ne parlons même pas du XML, format fourre-tout par excellence, dont la seule présence permet de se prévaloir d’énigmatiques mais certainement épatants – et donc chers – « services Web ».
Messieurs les éditeurs, on ne vous en voudrait pas trop d’être mégalomanes si vos « buzz-words » n’avaient pour conséquence de perdre à ce point le client qu’il en arrive à confondre les produits et, surtout, les fonctions. Car lorsque l’on est conditionné à faire l’acquisition d’un outil « ETL » à 100 000 euros pour faire migrer sa base de données Oracle, alors qu’un script gratuit de moins de 20 ko en Perl peut le faire, on se dit que, là, vraiment, il y a de l’abus.

Yann Serra

Depuis que Yann Serra ne s’occupe plus de LOGIN:, les éditeurs de solutions propriétaires pensaient pouvoir dormir sur leurs deux oreilles. Hélas…
Repères
Réduire
ÉTUDE
La sécurité en plein boom ?

Lors des dernières assises de la sécurité, le cabinet IDC a livré une étude réalisée auprès de 104 entreprises sur les évolutions passées récentes et le futur proche du marché de la sécurité en France. À la fin de cette année, le marché global du secteur devrait atteindre 1,3 milliard d’euros. Ce chiffre classe désormais le secteur parmi les marchés matures. Sa croissance annuelle est orientée à la hausse avec une progression prévue de 17 % par an jusqu’en 2009. D’ici cette date, le marché devrait doubler.

Le secteur des services représente la plus grande part du marché. Cependant la plus forte croissance des dépenses est liée au matériel avec notamment l’apparition des appliances d’UTM (Unified Threat Management) qui semble avoir renversé le marché en faveur des matériels.
À l’aune de cette étude, une majorité d’entreprises n’a pas encore de budget dédié à la sécurité (61 %) et l’intègre dans le budget global de l’informatique. Constants depuis deux ans, les budgets sécurité sont maintenant orientés à la hausse.

Pour les entreprises interrogées, la principale crainte se déplace des attaques externes vers l’utilisateur, sa gestion et le facteur humain. Les principaux investissements déclarés pour les 12 prochains mois seront réalisés à 33 % dans des PRA (Plan de reprise d’activité). Viennent ensuite les opérations de formation (30 %) et la mise en conformité (16 %). La sécurisation des e-mails ferme la marche avec 7 %.
Les technologies les plus citées pour les investissements prévus l’année prochaine sont le SSO (single sign-on) avec 28 %, l’administration centralisée de la sécurité (16 %), IPS (14 %), IDS (9 %). Certaines dépenses et projets ont été repoussés dans le temps, et ce, après 2007. Ce sont principalement des projets d’authentification forte (18 %), SSO (11 %), d’administration centralisée (10 %) et les audits de vulnérabilité (9 %).


PROSPECTIVE
Quelles technologies en 2026 ?

À l’occasion des 20 ans de la société Prosodie, le Cabinet Markess a réalisé une étude sur l’avenir des Technologies de l’Information et des Communications (TIC) à l’horizon de 2026.
L’étude projette une multiplication de la puissance informatique par 8 000 si la Loi de Moore continue à se vérifier.

L’utilisation de cette puissance devrait faire la part belle à l’intelligence du décisionnel.
L’étude prévoit aussi une convergence réelle entre les sciences de la vie et les TIC sur, par exemple, la détection de profils génétiques en fonction de médicaments administrés, ou dans l’agronomie pour permettre de mieux surveiller et maîtriser la production agricole.
Les interfaces seront aussi mieux adaptées à l’être humain avec les apports de la voix.
Cette augmentation de puissance est cependant à relativiser ; et le patron du Syntec Informatique, Jean Mounet, de lancer que « la puissance de calcul d’un microprocesseur sera égale à celle du cerveau d’une souris » !

La vitesse des échanges pourrait atteindre des sommets inimaginables pour les esprits d’aujourd’hui. L’étude évoque une vitesse de 100 Tbits/s. Son corollaire, la mobilité, devrait se généraliser bien que des progrès seront encore à réaliser sur les terminaux, capteurs.
Ces changements ont aussi des impacts sur l’organisation de l’informatique avec une forte utilisation du modèle de services logiciels à la demande. Il est cependant prévu que cette tendance s’inscrive toujours dans le périmètre de l’entreprise. Pour les informaticiens eux-mêmes, les compétences requises devraient évoluer avec un risque d’appauvrissement des compétences techniques au profit de compétences juridiques et managériales plus développées.


Les navigateurs Web les plus utilisés en France

rep1.gif

Le marché des logiciels de stockage (2e trim. 2006)

rep2.gif

Parts de marché des messageries d’entreprise

rep3.gif

Les 5 requêtes les plus demandées sur le moteur de recherche ask.com concernant les nouvelles technologies (juillet-août 2006)

rep4.gif
Magazine
Réduire
Microsoft en Inde : un centre de recherche pour les marchés émergents
Par Yann Serra - Copyright L'Informaticien, tous droits réservés

msr019248_Copier5.gifImplanté depuis 2005 à Bangalore (Inde), le cinquième centre de recherche de Microsoft lève pour la première fois le voile sur ses travaux. En ligne de mire : répondre aux besoins des populations les plus démunies.


À la tête du plus récent centre de recherche en science informatique de Microsoft, le docteur P. Anandan considère l’implantation en Inde comme une évidence pour la bonne marche de ses travaux : « L’Inde est certainement le pays de la fracture technologique ; sa classe bourgeoise maîtrise tous les gadgets dernier-cri et représente certainement le meilleur vivier de cerveaux en matière de génie logiciel que compte la Planète. Mais sa population la plus démunie n’a même pas idée de ce que peut être un ordinateur. »

Une fracture que le Dr P. Anandan et son équipe de trente personnes (accrue par quarante chercheurs externes) comptent bien réduire : « Notre travail consiste à découvrir la valeur ajoutée qui fera que l’ordinateur serve à tout le monde. Cela dit, nous ne sommes qu’un centre de recherche. Nous n’avons pas pour mission de résoudre les problèmes, nous avons pour mission de trouver leurs solutions potentielles et de mettre en œuvre des outils qui permettront à d’autres de produire ces solutions. »

Il en va ainsi d’un pilote créé dans le centre indien pour connecter cinq souris à la fois sur un PC, avec autant de pointeurs manipulables à l’écran. Appuyant sa démonstration d’une application témoin, un chercheur explique qu’il rêve d’un programme éducatif que pourraient piloter plusieurs enfants à la fois, dans les écoles qui ne peuvent s’offrir autant d’ordinateurs qu’elles comptent d’élèves par classe. À la charge des éditeurs tiers d’acquérir une licence de ladite technologie pour écrire, ensuite, les applications éducatives adéquates. À moins que Microsoft ait la bonne idée d’inclure gratuitement ce pilote dans son prochain Windows.


Des interfaces sans texte

Mais le Dr P. Anandan veut aller encore plus loin. Par exemple, son équipe planche actuellement sur des interfaces graphiques totalement démunies de texte, de sorte que l’outil informatique, éventuellement disposé sous forme de bornes publiques, puisse servir aussi aux personnes qui ne savent pas lire. Selon lui, « Le fait que les individus qui cherchent du travail ne soient pas capables de déchiffrer une offre d’emploi est un problème très important en Inde, pays particulièrement touché par l’illettrisme ». Lui emboîtant le pas, un autre chercheur se lance alors dans la démonstration d’une nouvelle application témoin, dont le propos consiste cette fois-ci à présenter des offres d’emploi domestique, avec chaque tâche ménagère, chaque durée et chaque salaire symbolisés par une suite d’icônes.



Travailler main dans la main avec les universités
Outre ses travaux de recherche, le centre de Microsoft à Bangalore a une fonction annexe, presque officieuse : former les professeurs locaux aux toute dernières technologies, et ce, moyennant une inscription individuelle au tarif symbolique. Selon P. Anandan, « Les gens d’ici n’ont pas les moyens de visiter les congrès majeurs qui se déroulent ailleurs dans le monde : nous si ! Alors, nous partageons avec eux en permanence les dernières évolutions du monde IT, pour qu’ils puissent communiquer à leurs étudiants les informations les plus à jour .» Le professeur P. Anandan enseigne lui-même à l’International Institute of Information Technology (I.I.I.T.) de Bangalore. Universitaire, militant pour le partage des connaissances, le professeur Anandan serait-il un chevalier secret de la philosophie Open Source ? Il s’en défend : « Je suis pour la diffusion désintéressée des connaissances, mais contre tout ce qui a trait au logiciel libre, car cela interdit toute forme de reconnaissance pour un inventeur. »




L’intelligence artificielle au service de la communication

msr029507_Copier7.gifParviendra-t-on à inventer un dialecte universel ? Le Dr P. Anandan réfute de s’engager sur cette voie : « C’est une chimère et des générations entières de linguistes se sont cassé les dents sur le sujet ; les contextes spécifiques sont trop variés dans le langage et l’on ne finirait que par imposer une base générique inadaptée. En revanche, nous pouvons nous intéresser aux contextes, justement. En la matière, nous élaborons en ce moment même un moteur de vocabulaire qui s’enrichit dynamiquement des propositions que soumettent les utilisateurs. »
Forcément incarnée par un serveur sur Internet – pour que les contributions de chacun profitent à tout le monde –, cette base de données linguistique capable d’apprendre pour s’enrichir peut prendre de multiples formes. Là, elle dote MSN d’un module de traduction automatique. Vous pensez que l’ordinateur a fait une erreur lorsqu’il prétend que votre interlocuteur anglais vous écrit « morceau de gâteau » ? Corrigez dans la cellule prévue à cet effet et le serveur de MSN saura à tout jamais que « Piece of cake ! », se traduit en français par « les doigts dans le nez ! ». Ailleurs, elle permet à un site Web de géolocalisation de retrouver un endroit sur une carte à partir d’informations aussi peu conventionnelles que « le cinéma de Denfert-Rochereau » ou « l’ambassade de l’Inde à Paris ».
Mais le Dr P. Anandan prévient : « même s’il s’agit du même mécanisme d’intelligence artificielle, les bases de connaissances constituées ne sont utiles que dans leur contexte spécifique ; le vocabulaire parlé de MSN ne pourra jamais servir une traduction littéraire automatique dans Word. »
Et lorsqu’on le presse de nous dire laquelle de ces technologies sera implémentée en premier dans les outils grand public, le Dr P. Anandan répond par une pirouette : « Je préfère me concentrer sur ce que nous allons inventer ensuite ; j’estime notamment que les appareils mobiles (téléphones…) ouvrent la porte à quantité d’applications spécifiques qui restent à découvrir. »



Bangalore, la Silicon Valley indienne
Peuplée de plus de six millions d’habitants et située dans le sud du pays, Bangalore est la troisième ville la plus importante d’Inde. Citée historiquement industrielle, elle a muté en capitale des hautes technologies depuis la fin du siècle dernier. Après que l’État indien y a installé toutes ses infrastructures de recherche en aérospatial et en défense dans les années 70, Bangalore a accueilli quantité de centres de R&D et d’éditeurs de logiciels dans les années 90, du fait de la proximité d’universités scientifiques réputées pour produire des petits génies en informatique. Cette implantation a connu un énorme boom depuis 2001 avec l’arrivée d’entreprises spécialisées dans les technologies Internet. Les étudiants indiens constituant la majorité des recrues étrangères pour les entreprises de la Silicon Valley californienne, c’est en toute logique économique que les sociétés américaines du secteur IT ont décidé de s’installer sur le lieu de leur formation, faisant de Bangalore la « Silicon Valley d’Inde », selon le terme consacré. Parmi les multinationales des hautes technologies qui y ont élu domicile, on trouve, entre autres, Alcatel, AMD, Amazon, BEA, Cap Gemini, Cisco, Dell, Freescale, Google, HP, IBM, Infineon, Lucent, Macromedia, Microsoft, Novell, NVidia, Oracle, SAP, Sun, Symbian ou encore Yahoo. Il est à noter que Bangalore ne se trouve pas du tout dans une vallée, mais sur un plateau et que le département Communications des Nations Unies milite pour que la ville adopte plutôt le sobriquet de « Silicon Plateau ».


p.1
Réduire
SGBD OPEN SOURCE
Les bases de données libérées !
Par Yann Serra - Copyright L'Informaticien, tous droits réservés

COUV-PREPA.gifL’utilisation des bases de données se démocratise. Mais ni le bloggeur, ni la PME ne peuvent payer les dizaines de milliers d’euros que coûte la licence d’une solution historique, taillée pour une banque ou une compagnie de transport. La conquête des logiciels libres ne fait que commencer…

Vous souhaitez référencer des utilisateurs, des clients, des articles, des produits à vendre ? Vous souhaitez leur attribuer des paramètres tels des coordonnées, des quantités, des prix ? Et vous souhaitez pouvoir mettre les uns en relation avec les autres à un instant T ? Alors, vous avez besoin d’une base de données et, plus particulièrement, du moteur qui sert à la manipuler.
Nommé système de gestion de base de données relationnelle – ou SGBDR, mais l’on accepte plus simplement serveur de base de données –, celui-ci constitue le troisième tiers de l’infrastructure qui anime la net-économie, après le serveur Web et le serveur d’applications. Son marché pèse désormais une quinzaine de milliards de dollars par an et il se répartit entre des produits propriétaires, contractuels, et d’autres Open Source, d’appoint.

Des chiffres ? Hélas, personne n’est capable d’en donner de précis, car les études à grande échelle ne prennent en compte que les ventes de licences et non les téléchargements gratuits des logiciels libres. Pour 2005, le cabinet Gartner estime ainsi que les solutions propriétaires dominent presque exclusivement les bases de données, le tiercé de tête révélant Oracle avec 48,9 % de parts, IBM DB2 avec 21,4 % et Microsoft SQL Server avec 16,8 %. MySQL, PostgreSQL, MaxDB, Ingres et Firebird, les plus répandus des SGBDR Open Source, pèseraient ensemble à peine 1 %. A contrario, MySQL AB, l’entité en charge de la commercialisation de MySQL auprès des entreprises, avance qu’il existe un rapport d’un pour mille entre les copies achetées de son logiciel et celles téléchargées gratuitement bien que tout de même en production. Si les dix millions d’installations fonctionnelles qu’il revendique s’avèrent réelles, cela signifie que le seul MySQL aurait d’ores et déjà détrôné le leader Oracle en termes de volume.


Comment fonctionne un SGBDR ?
cadre0229938_Copier8.gifLes serveurs de base de données tirent plus parti de processeurs en parallèle, plutôt que de processeurs individuellement performants.
Le serveur de base de données est un démon classique qui écoute un port du système d’exploitation hôte pour capturer les requêtes SQL entrantes. Celles-ci sont envoyées à partir d’un autre endroit du réseau par le moteur d’exécution d’une application, soit un serveur d’applications (JEE, .Net) ou un interpréteur (PHP, Perl, Python, etc.). Il est à noter que chaque SGBDR écoute un port différent (3306 pour MySQL, 5432 pour PostgreSQL, etc.), il n’existe pas de standard. Pour sa part, l’application est soit un outil métier (progiciel, site web…), soit une interface destinée à créer et administrer une base de données (on pense notamment à phpMyAdmin pour MySQL, ou encore phpPgAdmin pour PostgreSQL). Alternativement, l’utilisateur peut lancer manuellement un SGBDR, à partir d’un Shell, avec le nom d’un script « .sql » en paramètre afin d’exécuter les commandes SQL que ce dernier contient. Cela se montre utile pour effectuer des traitements qui ne nécessitent pas l’interactivité d’une application externe. Les commandes SQL s’opèrent sur des listes de données que l’on appelle des tables. Le but du jeu est de créer le contenu des tables et d’en récupérer des informations précises selon certains critères. Le cas échéant, on peut temporairement engendrer des tables intermédiaires pour la commodité des recherches et même les matérialiser à des fins ultérieures (on les appelle des « vues »). La qualité d’un SGBDR se juge notamment sur sa capacité à bien gérer les répercussions d’une opération, dont l’ensemble s’appelle une « transaction » (par exemple ajouter un utilisateur, ce qui augmente le nombre d’abonnés, ce qui change la date du dernier accès à leur liste, etc.). Les tables et leurs index sont stockés sur disque sous la forme de fichiers avec une répartition et un format qui n’obéissent pas, là non plus, à un standard (MySQL, par exemple, en utilise même de plusieurs sortes, selon qu’il doit répondre plus efficacement à une problématique : InnoDB, MyISAM…). Du point de vue matériel, il s’agit d’avoir une machine plus capable de traiter les requêtes simultanément (des processus, à l’échelle du système d’exploitation) que rapidement. La solution classique correspond à un serveur multiprocesseur avec, en haut de gamme, les mainframes iSeries d’IBM (jusqu’à soixante-quatre processeurs ; ces machines n’existent d’ailleurs quasiment que pour faire tourner DB2). Mais, en ce qui les concerne, les SGBDR Open Source fonctionnent le plus souvent sur Linux, voire Windows, lesquels sont peu optimisés au-delà de huit processeurs. Pour monter en charge, les entreprises préfèrent donc multiplier les serveurs au sein d’un cluster – on parle de base de données distribuées. Afin de pallier la latence des accès disques dans cette configuration, certains SGBDR optent pour le stockage d’un bout de la base sur chacun des nœuds. C’est notamment la solution adoptée par MySQL.



Des études plus locales éclairent davantage la réalité du marché. IDC observe ainsi que 30 % des six cents PME ouest-européennes de plus de cent personnes qu’il a interrogées ont déployé un SGBDR Open Source. Mieux, une enquête interne du club même des utilisateurs Oracle révèle que 37 % de ses clients ont installé des SGBDR Open Source soit dans le cadre d’un progiciel (10 % des cas), soit pour enrichir un site Web public (32 % des cas), soit pour accompagner un environnement de développement (31 % des cas), soit à des fins de test (27 % des cas). La percée des serveurs de base de données libres n’est guère étonnante chez les utilisateurs de solutions propriétaires, dans le sens où la majorité de leurs copies en production tournent par dessus Linux (60 % d’entre elles selon IDC) et qu’il existe des packages de produits Open Source qui simplifient à l’extrême leur installation sur ce système. On pense notamment au bundle populaire LAMP, lequel permet de déployer en un tournemain toute l’infrastructure logicielle nécessaire à un organe applicatif utilisable à distance – besoins métier, sites Web marchands ou toute autre activité qui se doit de centraliser des données et d’en gérer l’accès extérieur. LAMP est l’acronyme du système Linux (pour faire tourner l’ensemble), du serveur Web Apache (pour répondre aux requêtes des utilisateurs), du SGBDR MySQL et des langages PHP, Perl ou Python (pour exécuter les applications).


Parce que les bases de données se démocratisent

Base0130200_Copier5.gifL’ère des bases de données de plusieurs téraoctets a vécu. Désormais, les petites structures veulent leur solution d’appoint.
Les bases de données ne sont plus le pré carré des seules banques et autres compagnies de transport ; désormais, même les plus petites entreprises – celles qui n’ont pas les moyens d’investir des dizaines de milliers d’euros dans un logiciel – en font usage. L’exemple extrême de la démocratisation des bases de données est celui des blogs, une mode populaire qui n’a pu exister que parce que l’infrastructure du moindre site Web personnel contient un SGBDR. En l’occurrence, il s’agit dans la très grande majorité des cas d’un MySQL installé gratuitement.  

Les premiers à s’être intéressés aux serveurs de bases de données Open Source sont les hébergeurs. Sachant qu’ils mettent à disposition sur Internet des sites Web qui ne génèrent pas forcément de trafic permanent – surtout s’il s’agit de sites personnels –, ils doivent rentabiliser leur équipement en faisant tourner plusieurs sites en même temps sur la même machine. LAMP, suite légère capable de fonctionner en multithread et multi-utilisateur, s’est imposée. Et par là même, MySQL.

À ce stade, il convient de préciser un point capital. L’adoption de MySQL – et dans une moindre mesure celle de son concurrent PostgreSQL – n’a pas tant été conditionnée par sa gratuité que par ses très bons résultats sur des bases de données de taille moyenne, c’est-à-dire de quelques gigaoctets. Le ténor des solutions propriétaires, Oracle Database 10g, a fait la preuve de son épatante efficacité lorsqu’il s’agit de manipuler de très grosses banques d’informations dont la taille atteint ou dépasse le téraoctet.

En revanche, nombre de benchmarks démontrent que le produit Open Source MySQL affiche de bien meilleures performances s’il est question de travailler sur des quantités de données deux cents fois moins importantes. Et c’est justement parce que ces dernières ont tendance à devenir plus nombreuses que les SGBDR Open Source menacent aujourd’hui de ravir les premières places du marché, tout comme les distributions Linux ont déjà détrôné les différentes incarnations propriétaires d’Unix.


De l’application au SGBDR : les composants nécessaires
Puisque chaque SGBDR affiche des particularités bien à lui quant au formatage des requêtes, chaque serveur d’application ou interpréteur de langage doit disposer d’un « driver » expressément adapté pour la base de données qu’il cible. Il est du devoir de chaque éditeur – ou mainteneur – d’un serveur de base de données de proposer lui-même ces drivers. Si l’application tourne au-dessus de .Net, il faudra installer le driver noté ODBC, si elle tourne au-dessus d’un JEE (Java), ce sera le driver JDBC et si elle est écrite dans un langage autonome, il faudra en télécharger un spécifique qui prend la forme d’un module à recompiler avec l’interpréteur du langage. Ceci fait, un programme destiné à piloter une base de données inclura dans ses variables les requêtes SQL qu’il désire effectuer (par exemple « $requete = ‘SELECT id,prix FROM exemplairesLinformaticien’; »), puis les enverra à la base de données au moyen d’instructions spéciales interprétées par le driver. Il s’agit par exemple du générique « SqlCommand ($requete) » sous .Net ou du spécifique « mysql_query($requete) » si l’on s’adresse à MySQL depuis un langage autonome, tel PHP. Il est à noter qu’une base de données travaille avec des tables (listes) et que leur manipulation n’a rien à voir avec celle des objets hiérarchisés dans les langages de programmation. Aussi, par commodité, il est possible de doter son moteur d’exécution d’une couche d’abstraction qui traduira en temps réel les instructions natives de manipulation d’un objet en requêtes SQL. Il s’agit notamment des fameux modules JDO, EJB3 ou encore Hibernate de JEE. Pour en avoir une liste complète, langage par langage, on pourra se référer à l’adresse http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software.


p.2
Réduire
Valider un SGBDR Open Source en entreprise

Base0330285_Copier6.gifPour les hébergeurs, soucieux de rentabiliser leur infrastructure, la – relative – gratuité et la légèreté de MySQL l’ont imposé comme une évidence.
Reste que le débat qui oppose Open Source et propriétaire est davantage politique que technique : les entreprises susceptibles d’utiliser des outils tels que les serveurs de base de données réclament surtout la garantie de leur fonctionnement ou, dit autrement, qu’un responsable se désigne pour prendre en charge le moindre problème. À ce jeu, les myriades de membres qui forment les communautés d’utilisateurs de tel ou tel SGBDR Open Source sont d’une aide bénévole précieuse, mais ils n’ont contractuellement aucun devoir de support. C’est pour résoudre ce dilemme que de véritables éditeurs se sont bâtis autour de la double notion de services (conseil, installation, formation…) et de support (mises à jour clé en main, dépannages…).

Il en va ainsi de l’entreprise suédoise MySQL AB qui assure la représentation commerciale du SGBDR Open Source éponyme, notamment par l’intermédiaire de filiales, dont une en France. Sans parler de l’achat véritable d’une licence d’exploitation (ce qui reste possible si un cadre juridique le nécessite), la souscription payante à un support revient à acquérir une mouture « éprouvée » du logiciel (une version expressément compilée pour une machine donnée et généralement antérieure à celle librement téléchargeable). On s’écarte quelque peu de la philosophie initiale des logiciels libres puisque, pour que la garantie fonctionne, les utilisateurs n’ont pas le droit de modifier le code source. Il n’empêche, la dynamique de développement en amont reste. Et pour 495 euros par an et par serveur, la souscription à MySQL Network est nettement moins salée que les 31 400 euros par processeur pour un Oracle Database Enterprise Edition 10g.

MaxDB, également commercialisé par MySQL AB, et Ingres, devenue société indépendante de Computer Associates qui conserve une participation importante, ont suivi après coup le modèle de MySQL, à savoir pénétrer les entreprises au moyen d’une version fermée mais garantie, portée par la dynamique d’une version Open Source qui paraît en parallèle. PostgreSQL n’appartient quant à lui à aucune entité commerciale, mais certaines l’ont décliné dans leur catalogue et Sun en a même fait le SGBDR officiel de son système Solaris 10. En revanche, Firebird a eu la malchance de connaître un destin inverse : il s’agit d’une déclinaison uniquement Open Source et sans support commercial du serveur de base de données propriétaire InterBase de Borland. Après un éphémère succès en début de carrière, le nombre de ses copies en production ne cesse désormais de s’effriter.


Faites enfin migrer votre base de données grâce aux solutions Open Source
cadre0429949_Copier9.gif
Qu’on se le dise : il est tout simplement impossible d’utiliser à partir d’un SGBDR les fichiers générés par un autre. Même entre deux copies d’un même serveur de bases de données, cela ne fonctionne pas forcément si les versions, les systèmes d’exploitation hôtes ou encore les moteurs de stockage (InnoDB, Isam, MyIsam…) ne sont pas les mêmes. Pis, les produits propriétaires ne proposent même pas de fonctions d’export natives et offrent, au mieux, de passer par un outil de type ETL (Extract, Transform and Load), à plus de 100 000 euros la licence, pour importer des données étrangères. Heureusement, le monde de l’Open Source apporte au problème une solution plutôt fort maligne. Des SGBDR comme MySQL, PostgreSQL ou Ingres disposent en effet de commandes capables d’extraire le contenu d’une base dans un potentiellement volumineux script SQL (il s’agit respectivement de mysqldump, pg_dump et copydb) qu’il suffit de donner à exécuter à un autre SGBDR pour générer à nouveau la base de données dans les bons formats de fichier. Ces commandes disposent même d’une option « --compatible= » pour engendrer des scripts SQL qui prennent en compte les particularités de certains produits propriétaires. Toujours dans le monde de l’Open Source, des développeurs indépendants ont entrepris de faire l’inverse, à savoir exporter dans un script SQL exploitable par des SGBDR libres les bases de données crées par les produits propriétaires. Citons, entre autres, ora2pg (http://www.samse.fr/GPL/ ora2pg/) pour passer d’Oracle à PostgreSQL, ou à oracledump (http://www.bennyvision.com/~ddkilzer/projects/ oracledump/) pour faire de même vers MySQL. Enfin, précisons que les systèmes d’exploitation peuvent ou non différencier les majuscules des minuscules dans les noms de fichiers. Pour que vos bases de données soient autant exploitables par un SGBDR qui tourne sous Linux qu’un autre sous Windows, pensez à toujours les nommer avec des minuscules.




Une montée en puissance qui ne laisse pas indifférents les acteurs historiques

Preuve de la montée en puissance des serveurs de base de données Open Source, les opérations financières que les grands acteurs historiques trament en arrière plan. Ainsi, le capital de MySQL AB est désormais entre les mains de l’éditeur de progiciels SAP, du fondeur Intel et du pro-Linux Red Hat. De son côté, IBM noyaute plus stratégiquement la mouvance Open Source avec la base de données Java Cloudscape qu’il a récupérée lors du rachat d’Informix en 2001 et dont il a offert le code source à la fondation Apache, à la tête du serveur Web le plus populaire. Cette dernière a transformé Cloudscape en Apache Derby, l’an passé, et entend bien en faire un produit majeur. Simultanément, IBM s’est rapproché de Zend Technologies, éditeur principal du monde PHP, pour que celui-ci dote la célèbre base de données IBM DB2 d’un moteur d’exécution particulièrement optimisé sur le célèbre langage. On ne saurait mieux tenter de déstabiliser MySQL. Quoique… Il y a effectivement pire : Oracle vient quant à lui de racheter le middleware InnoDB, à savoir le moteur de stockage dont se sert MySQL pour formater ses bases transactionnelles – c’est-à-dire celles ou les opérations peuvent avoir des conséquences en cascade. Accessoirement, InnoDB est l’une des composantes qui expliquent les excellentes performances de MySQL.

Enfin, pour contrer la gratuité des SGBDR Open Source, Microsoft et Oracle ont tous deux lancé cette année une version « Express Edition » à zéro euro de leur serveur de base de données, respectivement SQL Server 2005 et Oracle Database 10g. Ces moutures ont pour limite de n’exploiter qu’un seul cœur de processeur, 1 Go de Ram et 4 Go d’espace disque au maximum.


SQL, une histoire de famille plus qu’un standard
Les SGBDR les plus répandus ont pour point commun de se piloter avec le jeu de commandes SQL (Structured Query Language). Inventé par IBM dans les années 70 et normalisé depuis 1986, SQL est un langage avant tout déclaratif (mots clés SELECT, INSERT, UPDATE, FROM, WHERE, ORDER BY, GROUP BY, etc.) qui a intégré un soupçon de procédures au fil des mises à jour du standard (boucles FOR, conditions IF/THEN/ELSE, etc.). Mais le modèle proposé est tellement basique tout en prenant en compte des dérivés rarement utiles, que chaque SGBDR a pris l’initiative de plus ou moins enrichir ou tronquer les règles avec des extensions propriétaires. Hélas, celles-ci compliquent infiniment le portage d’un programme d’une base vers l’autre. Par exemple, à l’identique des grands SGBDR propriétaires, PostgreSQL ajoute un véritable langage procédural. À l’inverse, MySQL, que ses auteurs revendiquent de garder simple, n’intègre les procédures (appelées ici « stockées ») et les déclencheurs (ou « trigger », pour lancer une opération annexe lorsqu’une donnée est mise à jour) de la révision SQL-99 du standard que depuis… cette année ! On pourra consulter la – très longue – liste des différences syntaxiques entre les principaux SGBDR à l’adresse http://en.wikipedia.org/wiki/Comparison_of_SQL_syntax.

INF041_012.gif
p.3
Réduire
MySQL, le leader

Crédité de dix millions de copies en production, MySQL est le SGBDR Open Source le plus répandu, surtout dans le monde de l’hébergement où son code léger, multi-thread, multi-utilisateur et packagé tombe à pic. MySQL AB, l’entité suédoise qui l’a créé il y a une dizaine d’années et qui assure aujourd’hui sa carrière commerciale, revendique fièrement de contribuer à faire fonctionner les sites Web publics de Nokia, Alcatel, Wikipedia (encyclopédie qui référence près d’un million et demi d’articles rien que dans sa version anglaise), PriceGrabber.com (comparateur de prix), C-Net (presse High-tech), Slashdot (50 millions de pages vues par jour) et même Google (pour le module AdWords) ! Parmi ses autres clients, on dénombre Airbus, la NASA (qui a converti une base Oracle en MySQL), DaimlerChrysler, la RATP, des universités, des centres de recherche et même des banques.

Ses points forts

MySQL bénéficie d’un environnement utilitaire très riche (interfaces d’administration, modules de compatibilité, moteurs de stockage variés…) et se trouve distribué dans des « packages » idéalement prêts à l’emploi (LAMP pour Linux, WAMP pour Windows…). D’utilisation simple, il peut se targuer d’être très bien connu des développeurs. Il affiche des performances record sur les petites bases (en dessous de 5 Go) et accepte de fonctionner sur un cluster pour traiter les plus grosses (dans ce cas, chaque nœud dispose d’un morceau de la base sur son disque dur, celle-ci n’est pas centralisée sur un SAN).

Ses points faibles

Face à ses deux plus sérieux concurrents en Open Source que sont PostgreSQL et Ingres, MySQL est celui qui implémente le moins de fonctions SQL. Pour tout dire, sa dernière version 5.0 ne prend toujours pas en compte les prérogatives du standard SQL:2003 et commence à peine à supporter les déclencheurs (SQL-99) ou les procédures stockées. Ainsi, la variété des types de données qu’il indexe est pour le moins rudimentaire. Dans ces conditions, il reste encore peu imaginable de faire migrer une base de données complexe créée sur un SGBDR historique vers MySQL. Par ailleurs, les performances décroissent significativement avec l’augmentation du volume de données. On note enfin que deux des moteurs dont il se sert, InnoDB et BerkeleyDB, sont récemment passés dans le giron d’Oracle et qu’on ne sait pas quel sort ce concurrent leur réserve…

• Version : 5.0 sortie cette année
• Fonctionne sur : Linux, Windows, Mac OS X, BSD et Unix propriétaires
• Site : http://www.mysql.com/products/database/


MaxDB, grand frère de MySQL

Créé en 1977 en Allemagne, MaxDB aura connu de nombreux propriétaires et patronymes avant de devenir un SGBDR Open Source sous la tutelle de SAP et MySQL AB.

Ses points forts

Pourquoi MySQL AB s’encombre-t-il d’un second serveur de base de données ? Tout simplement parce que MaxDB présente deux avantages par rapport à son petit frère. D’une part, il est taillé sur mesure pour accompagner les progiciels qu’édite SAP ; D’autre part, il a fait, lui, la preuve de pouvoir manipuler des téraoctets de données sans coup férir, vingt-quatre heures sur vingt-quatre et sept jours sur sept. Accessoirement, il dispose d’une suite d’outils d’administration, tant graphiques que textuels, très complète.

Ses points faibles

MaxDB ne respecte que le minimum syndical des prérogatives du standard SQL1992 et ne propose de drivers que pour les principaux langages de programmation (.Net, JEE, PHP, Perl et Python). De toute manière, il ne s’envisage guère en dehors des progiciels de SAP.

• Version : 7.6 sortie en 2005
• Fonctionne sur : Linux, Windows et Unix propriétaires
• Site : http://www.mysql.com/products/maxdb/


PostgreSQL, le challenger

Publié en licence BSD, PostgreSQL a été créé il y a une quinzaine d’années sous le nom de Postgres par l’auteur d’Ingres (Michael Stonebraker), bien que les deux produits concurrents ne partagent aucune ligne de code. Abandonné en 1993, il est repris l’année suivante par des étudiants de l’université de Berkeley qui lui ajoutent l’interprétation du langage SQL. Devenu PostgreSQL en 1996, sa carrière a longtemps vivoté grâce au seul bouche à oreille, du fait qu’aucune entité commerciale ne le sponsorisait auprès des entreprises. Face au succès grandissant de MySQL, les éditeurs Pervasive Software et EnterpriseDB ont finalement décidé de lui ouvrir les portes de l’entreprise en 2005. Simultanément, le constructeur Sun décidait d’en faire le SGBDR officiel de son Unix Open Source Solaris 10.

Ses points forts

PostgreSQL a pratiquement toutes les fonctions d’un SGBDR propriétaire. Il supporte notamment un vaste choix d’index, ce qui le rend plus versatile (par exemple s’il faut stocker des images) et même plus rapide (avec l’index inversé, lorsque les informations sont référencées avec un nom qui commence toujours par les mêmes lettres). Il est par ailleurs le seul SGBDR Open Source à disposer d’un langage procédural PL/pgSQL qui, outre de démultiplier ses possibilités d’analyse (boucles, conditions), a le bon goût de ressembler comme deux gouttes d’eau à celui d’Oracle (PL/SQL). Enfin, avec Solaris 10, ils présentent ensemble une alternative fort intéressante à LAMP.

Ses points faibles

Le fait qu’il n’ait été que tout récemment bien intégré à Windows est certainement le paramètre qui a le plus nuit au succès de PostgreSQL. Ce problème est désormais résolu, bien que l’environnement logiciel reste moindre que celui de MySQL sur cette plate-forme. Il existe néanmoins phpPgAdmin, l’équivalent du célèbre outil d’administration Web phpMyAdmin pour MySQL. On retrouve le principal défaut de MySQL, à savoir des performances qui se dégradent avec la croissance du volume. Les solutions de travail en cluster en sont pour leur part encore à un état embryonnaire.

• Version : 8.1 sortie cette année
• Fonctionne sur : Linux, Windows, Mac OS X, BSD et Unix propriétaires
• Site : http://www.postgresql.org/


Ingres, il revient de loin pour être numéro un

Mis au point dans les années 70, sur la base de travaux de recherche publiés par IBM, Ingres a été le premier serveur de base de données relationnel pour systèmes Unix. Sujet d’étude à l’université de Berkeley, il a servi de point de départ au développement de quantité de SGBDR phares, parmi lesquels HP NonStop SQL, Sybase ASE et Microsoft SQL Server. Devenu lui-même un produit commercial – et propriétaire – dans les années 80, il est racheté en 1994 par Computer Associates, puis confié en 2005 à une filiale dédiée, Ingres Corporation. Mais cette année, rebondissement : il repasse sous licence GPL !

Ses points forts

Ultra mature et bénéficiant du support commercial de Computer Associates, le Ingres redevenu tout juste logiciel libre s’affiche comme le concurrent absolu de MySQL. Bien plus fonctionnel et tout aussi svelte que son concurrent, il est par ailleurs compatible avec les moteurs Oracle CFS et IBM DLM pour un meilleur rendement sur clusters.

Ses points faibles

Paradoxalement, Ingres est certainement le moins connu des SGBDR Open Source chez les développeurs. En cause, son valeureux statut de précurseur universitaire a été totalement annihilé par une carrière qui était, il y a encore quelques mois, uniquement commerciale. L’arrivée en fin d’année d’une distribution Linux « Icebreaker », expressément taillée pour déployer Ingres sur un serveur, changera peut-être les mentalités.

• Version :
2006 II - 9.0, sortie cette année
• Fonctionne sur : Linux, Windows, Mac OS X, BSD et Unix propriétaires
• Site : http://www.ingres.com/


Firebird, il n’a pas encore tout dit

En 2000, Borland a soudainement l’idée de distribuer son SGBDR InterBase 6 en Open Source. Il se ravise un an plus tard en refaisant passer InterBase 6.5 en logiciel propriétaire. Dans ce laps de temps, un groupe de développeurs indépendants récupère le code public pour produire FireBird, une version améliorée du produit sous licence Mozilla – assimilée, en tout cas. Au début, surfant sur la notoriété d’InterBase, le succès est au rendez-vous, le laboratoire d’études Gartner allant même jusqu’à le créditer en 2003 de deuxième SGBDR Open Source le plus utilisé dans le monde après MySQL. Mais, faute d’offre professionnelle pour apporter des garanties aux entreprises, l’élan s’essouffle chez les utilisateurs. Les développeurs, eux, n’ont en revanche rien perdu de leur fibre créatrice.

Ses points forts

Firebird est techniquement d’avant-garde. Pour commencer, il est l’un des rares à implémenter les prérogatives de SQL:2003, la dernière révision en date du standard SQL qui, entre autres, définit un stockage des données au format XML. Ensuite, il gère un type de données NONE qui revient à des informations « transparentes » pour appliquer un masque sur une base. Enfin, sa dernière version a été réécrite pour prendre spécifiquement en compte les threads Posix natifs, afin d’atteindre des performances potentiellement record.

Ses points faibles

Le plus gros problème de Firebird reste qu’il n’y a personne pour le vendre aux entreprises. Sa tutelle a tellement peu de charisme qu’il a même failli se faire dérober son patronyme en 2003, lorsque Mozilla avait eu l’idée d’appeler son nouveau navigateur Firebird. Il aura fallu attendre un an pour que celui-ci soit finalement rebaptisé Firefox.

• Version :
1.5, sortie en 2005, plus de nombreuses pré-versions 2.0 sorties cette année
• Fonctionne sur : Linux, Windows, Mac OS X, BSD et Unix propriétaires
• Site : http://www.firebirdsql.org/


Et les autres...

En marge de MySQL, PostgreSQL, Ingres, MaxDB et Firebird, trois autres SGBDR Open Source promettent de faire bientôt l’actualité. Développé depuis 2004 par la fondation Apache, Derby (http://db.apache.org/ derby/) a plus d’un atout dans son sac. Pour commencer, il repose entièrement sur Java et se greffe de manière optimale au serveur d’application JEE. Ensuite, il bénéficie d’ores et déjà d’un double support commercial et non des moindres : IBM et Sun le proposent à leur catalogue, respectivement sous le nom d’IBM Cloudscape et de Sun Java DB. Ses seuls défauts ? Avoir les mêmes limites que MySQL en ce qui concerne l’implémentation de SQL et, sorti de Java, n’avoir que des connexions pour les langages PHP ou Perl.

Plus modeste, SmallSQL (http://www.smallsql.de/), à un an d’existence à peine, est en LGPL et adresse également Java, mais sur la machine personnelle de l’utilisateur ! Revendiquant de ne dépenser que 200 ko de Ram, il s’inscrit comme le moteur de base de données que tout un chacun peut intégrer dans le code de sa propre applet. S’agirait-il de la solution ultime pour faire entrer des SGBDR dans des appareils embarqués comme les PDA et autres téléphones mobiles ?

Enfin, OpenLink Virtuoso est la déclinaison Open Source toute récente – depuis avril dernier – du produit commercial Virtuoso Universal Server. Conçu en Finlande en 1998 pour les traitements massivement parallèles, celui-ci peut travailler sur des bases de 32 To. Il fonctionne sur toutes les plates-formes, se pilote en Java, .Net et PHP, reconnaît SQL ainsi que des dialectes concurrents (SPARQL…), travaille en XML et apparaît sur le papier comme une machine de guerre pour détrôner Oracle. En revanche, ne lui demandez surtout pas d’être assez léger pour équiper un simple site Web !
Recrutement
Réduire
CBL CONSULTING
Comment recrutent-t-ils ?
par Bertrand Garé - Copyright L'Informaticien, tous droits réservés.

Nombreuses sont les SSII qui communiquent sur leurs plans de recrutement. Il est plus rare que, comme CBL Consulting, elles privilégient des qualités de relations humaines avant les compétences techniques, ou le côté « gagneur » à tout crin. Alors, comment se réalisent les choix dans cette SSII ?

CBL_AP_Requin_172x169.gif
Derrière les mots « consultants SAP », l’imaginaire voit immédiatement une personne en costume cravate dans les tons sombres, possédant une forte dentition plutôt attirée par les parquets de l’appartement du dessous ! Cette vision n’est pas la même partout. À la recherche de consultants SAP dans le domaine des ressources humaines, CBL Consulting a annoncé directement la couleur avec le texte de son annonce : « Si vous pensez que pour réussir il faut bouffer les autres, évitez de nous contacter ! » Brigitte Burette a été un peu surprise du succès de sa campagne de recrutement. « La campagne a été appréciée et était bien en phase avec ce que nous voulions donner comme image de l’entreprise, tout en se différenciant des autres. Le marché est assez tendu sur le recrutement de spécialistes dans notre domaine. »


Pourquoi une telle campagne ?

« Nous recherchions 20 personnes avec un profil école d’ingénieur ou une expérience dans les RH avec une bonne maîtrise fonctionnelle », poursuit Brigitte Burette. « Avec un marché tendu, il devient cher de faire venir dans des sociétés comme la nôtre des gens très expérimentés. De plus, nous devons faire attention à ne pas déséquilibrer les rémunérations déjà proposées en interne. La plupart du temps, je privilégie l’expérience en RH et nous formons les personnes ensuite », ajoute le DRH de CBL.
Par ailleurs, Brigitte Burette s’appuie en priorité sur le réseau constitué par le vivier des entreprises partenaires ou proches de CBL. « Les recherches par cabinet de recrutement ou sur des bases de CV sur le Web sont assez peu intéressantes, et souvent, longues et fastidieuses. » CBL n’hésite pas non plus à utiliser les possibilités de la cooptation que procure ce réseau.
« Nous formons aussi de mini promo. Nous intégrons trois ou quatre étudiants et nous les formons en les confiant à nos experts consultants. La transmission du savoir-faire commence déjà là. Ensuite, ils sont placés sur des projets en binôme avec des experts. Le système fonctionne plutôt bien. »

Des menaces de surenchère

Les choix effectués s’expliquent aussi par une tension forte sur les salaires des spécialistes. « Les salaires s’étalaient auparavant de 27 000 à 30 000 euros. Maintenant, le salaire moyen oscille entre 45 000 et 50 000 euros. Il y a encore six mois, nous avions 100 % de réussite sur nos recrutements. Désormais, même quand le salarié à l’assurance du contrat, il essaie la surenchère, et là je refuse. Le phénomène n’a pas encore touché l’interne et nous y faisons très attention, même si nos employés sont chassés comme tous les autres. Jusqu’à présent, le turn-over est faible. Nous nous efforçons de mettre en place des outils adaptés en communication interne pour pallier cela », assure Brigitte Burette. Le principal avantage fourni est une large autonomie dans les missions tout en privilégiant la polyvalence grâce à une hiérarchie allégée. « Notre chance a été de conserver de très bonnes compétences, les deux principaux seniors d’aujourd’hui sont des Bac + 2, formés ensuite à SAP, en réalisant un réel suivi et une réelle formation. De plus, la moyenne d’âge est peu élevée, un peu plus de 30 ans. Notre approche est différente des autres entreprises qui cherchent à spécialiser leurs consultants. Ils n’ont pour autre choix ensuite que de monter leur propre boîte. »


CBL Consulting en bref
L’entreprise est spécialisée dans le conseil dans les SIRH, les systèmes d’information pour les ressources humaines, et propose des services de maîtrise d’ouvrage, une aide au choix des logiciels et à la conduite du changement autour des produits de la gamme RH de SAP. La société comporte 50 salariés répartis dans cinq agences en France. Brigitte Burette, DRH de CBL Consulting explique : « Nous avons le souci de la proximité pour nos clients. Nous sommes un petit cabinet qui s’adapte à ses clients, même si nous sommes monoproduits ; mais nous en tirons certains avantages. »

Livres
Réduire
La somme ultime sur Linux ?

noyau_linux.gifSaviez-vous que le 29 janvier 1992, Andrew Tanenbaum, créateur de Minix, professeur d’informatique à l’université libre d’Amsterdam, et auteur bien connu d’ouvrages à succès tournant autour de l’architecture des ordinateurs, se lança dans une discussion houleuse avec Linus Benedict Torvalds essayant d’imposer l’idée qu’un micro-noyau était nécessaire à Linux. D’après lui, le fait que Linus décidait de développer un noyau monolithique signifiait que le système était dépassé.
Nous ne résistons pas au plaisir de vous citer un extrait de la réponse de Linus qui est encore d’actualité aujourd’hui : « C’est vrai, Linux est monolithique, et je suis d’accord que les micro-noyaux sont mieux. Sur un sujet appelant moins à polémique,  j’aurais été probablement d’accord avec l’essentiel de ce que vous avez dit. D’un point de vue théorique – et esthétique –, Linux a perdu. Si le noyau GNU avait été fini au dernier printemps, je ne me serais même pas embêté à démarrer mon projet : le fait est qu’il ne l’était pas et ne l’est pas encore. Linux a l’énorme avantage d’être disponible maintenant. »
 L’ouvrage est clairement une référence – peu de systèmes disposent d’une telle documentation –, et comme le déclarent les auteurs dans leur préface très bien écrite : « Nous avons parcouru des milliers de lignes de code pour essayer d’en extirper la substantifique moelle ». Cependant, si en 1992 le code source consistait en seulement 12 000 lignes de code, le noyau 2.6.11, qui sert ici de référant, occupe 14 000 fichiers, et pèse 6 millions de lignes. Si le code source était imprimé, il occuperait 75 volumes du livre dont il est ici question.
On y retrouve énormément d’explications sur le système, avec souvent du code en assembleur ou en C. Vous disposez de nombreuses illustrations et du contenu technique qui tient la route. Vous passerez en revue tout ce qui dépend du noyau : adressage mémoire, processus, interruptions, mesure du temps et synchronisation, signaux, communication IPC, démarrage du noyau, programmation de module, architecture des entrées/sorties et pilotes de périphérique de type bloc, cache des pages, accès aux fichiers, systèmes de fichiers ext2 et ext3, exécution de programmes, etc. Cependant, si les auteurs vous dévoilent les mécanismes sous-jacents avec force détails, ils accompagnent rarement le tout d’un listing fonctionnel. Cet ouvrage est à mettre en parallèle avec celui de Tanenbaum traitant de la structure des ordinateurs : ce n’est pas un ouvrage pratique, mais théorique ; mis à part qu’il se rapporte au noyau Linux (et que pour cette seule raison, il vaut de l’or aux yeux de n’importe quel hacker système). Vous devrez l’acquérir si vous souhaitez simplement comprendre comment fonctionne le noyau Linux.

Auteurs : Daniel P. Bovet et Marco Cestati
Éditeur : O’Reilly
ISBN : 2-84177-243-8
990 pages (poids : 1,4 kg !)

Le moteur de recherche qui a réinventé l’économie !

11903.gifCo-fondateur de Wired, John Batelle a suivi depuis le début l’ascension du petit moteur de recherche devenu « la base de données de nos intentions ». Le livre ne s’arrête pas à une énième Success Story de Google, mais analyse les impacts de ce nouveau modèle sur le marketing, les médias, les rencontres, l’emploi, le droit international ou les libertés individuelles.
Le livre se fonde sur de nombreuses interviews de personnalités (plus de 350 entretiens) et analyse finement les différentes évolutions possibles des moteurs de recherche. Un travail très abouti sur les tenants et les aboutissants économiques, sociaux et technologiques de la recherche Web.

Auteur : John Batelle
Éditeur : Eyrolles, 264 pages
ISBN : 2-212-11903-8

Pour les puristes de Debian

Debian_GNU_LINUX.gifNicolas Pons est un vieux routard de l’écriture d’ouvrages consacrés à Linux : il en a une bonne dizaine à son actif, et cela se ressent au travers de sa narration. Sans être exhaustif, il aborde avec clarté les points développés tout en restant très pratique.
Cet ouvrage se destine aux techniciens et aux administrateurs qui désirent mettre en place un serveur Debian Sarge. Ce livre, tout comme la sortie de cette version 3.1 qui a succédé à Woody, est sans nul doute très attendu par les utilisateurs de Debian. En effet, trois ans se sont écoulés entre Woody et Sarge, et ce n’est pas tous les jours qu’un bon ouvrage en français sort sur le sujet !
Le chapitre 2 est dédié au point le plus important : l’installation. Cet installeur reste en mode console, affichant les dialogues en mode terminal, ce qui a l’avantage de pouvoir s’installer sur des machines désuètes (24 Mo de Ram suffisent pour une utilisation serveur non graphique). Il utilise aptitude pour la sélection des paquets, et le partitionnement du disque dur est maintenant plus facile. Le point le plus fort de Sarge restant la liste des architectures supportées : du Motorola 68k, en passant par le Sun SPARC, le MIPS, l’ARM ou même l’IBM S/390.
Les auteurs insistent bien sur les particularités du système Debian, comme la compilation du noyau « avec la méthode Debian », ou encore les paquets Debian, la charte Debian, etc.
Vous y découvrirez les connaissances de base se rapportant à la gestion des utilisateurs, à la gestion des disques et des périphériques, à la mise en place de services, à la surveillance du système, à la planification de tâches, aux travaux d’impression, à la sauvegarde et restauration, à la sécurité, à la lecture des journaux systèmes, etc.
Nous avons particulièrement apprécié le sixième chapitre, consacré à la gestion des disques. On y parle des systèmes RAID ainsi que de l’implémentation du LVM. La sécurité n’est pas non plus négligée – Debian oblige – avec notamment les ACL, l’authentification, l’analyse des logs.
En conclusion : il s’agit d’un excellent bouquin si vous désirez installer un serveur Linux stable. Si en revanche vous êtes avide de nouveautés, vous pouvez toujours passer sous une unstable, ou vous lancer sous Ubuntu.

Auteurs : Yann Le Thieis et Nicolas Pons
Éditeur : ENI Editions, 386 pages
ISBN : ISBN : 2-7460-3010-1

Où en est l’Intelligence artificielle ?

2744071501.gifÉcrit par deux sommités du domaine, Stuart Russel, professeur à Berkeley, et Peter Norvig, ancien de SUN et de la NASA, l’ouvrage couvre tous les aspects de l’Intelligence artificielle avec profondeur. Permettant une approche progressive du sujet, il permet à presque tout le monde de progresser par un contenu très pédagogique. Sa lecture demande cependant pour certains chapitres quelques connaissances en mathématiques, probabilités et algorithmes pour ne pas paraître trop ésotériques. Conçu comme un manuel pour les étudiants de premier cycle, il donne les clés pour comprendre les enjeux et les évolutions de cette discipline dans les cinquante dernières années. Cette somme exhaustive couvre aussi tous les domaines d’application de la technologie et ouvre une réflexion sur l’avenir de la discipline. Il intéressera ainsi autant les philosophes que les informaticiens !

Auteurs : Stuart Russel et Peter Norvig
Éditeur : Pearson Education
ISBN : 2-7440-7150-8
1 200 pages, poids 1,7 kg (record battu ?)

Livres sélectionnés par Noé BARAT et Bertrand GARÉ - Copyright L'Informaticien, tous droits réservés.
Emploi
Réduire
Heureux comme un informaticien en France ?

emploi2.gifSelon la troisième édition du guide « Les salaires des ca-
dres en Europe », réalisée par l’APEC et Hewitt Associates, cabinet spécialisé dans les ressources humaines, un ingénieur informaticien gagne mieux sa vie en France que dans les au-
tres pays de l’Europe de l’Ouest. En effet, la comparaison des salaires après prélèvements sociaux et fiscaux, et après lissage du coût de la vie, place l’Hexagone en très bonne position.
En chiffres bruts, c’est toujours le Royaume-Uni qui propose les meilleures rémunérations – jusqu’à 50 % de plus qu’en France. Notre pays conserve la deuxième place de ce classement. L’écart se réduit cependant avec ses suivants, l’Allemagne et l’Italie, du fait des réformes fiscales engagées dans ces deux pays.
Ce microclimat favorable à l’informaticien français trouve sa confirmation dans une autre enquête réalisée par l’APEC en septembre 2006, auprès de 4 000 jeunes diplômés en 2005 de niveau Bac + 4 et plus. Selon cette dernière, 77 % des diplômés du secteur des TIC avaient déjà trouvé un emploi. Les SSII restent le premier recruteur du secteur. Tous secteurs confondus, les TIC se placent juste derrière le secteur de la santé et de l’action sociale en termes de recrutements. Ces jeunes diplômés ont été principalement recrutés en CDI (73 %). Seules 4 % des embauches se sont réalisées sous la forme d’un CNE.
Notons que 84 % des recrutés ont accédé directement au statut de cadre : à 86 %, ils ont trouvé un emploi dans le secteur privé, et 65 % chez un grand compte. Le salaire moyen est de 27 420 euros.

L’e-commerce s’impose dans la vente à distance

emploi1.gifLa FEVAD et le Benchmark Group viennent de publier une étude mettant en évidence l’importance prise en termes d’emplois par le commerce électronique. Selon cette étude, la vente à distance représentait en début d’année pas moins de 80 000 emplois, dont 50 000 emplois directs. À lui seul, l’e-commerce représente 15 500 emplois directs, tous types de sites marchands confondus. Ce secteur connaît une forte progression avec une accélération des créations d’emplois (+ 61 %) ces deux dernières années.
Ces emplois sont principalement qualifiés : 36 % des emplois créés sont des postes de cadres ; 13 % sont des agents de maîtrise ou des techniciens ; 51 % sont des postes d’employés. Ces chiffres élevés s’expliquent par un fort recours à l’externalisation et une part importante du service dans le secteur.
Encore plus encourageant, 80 % des entreprises de vente à distance prévoient des augmentations d’effectifs. Les intentions sont très fortes dans le secteur de l’e-commerce selon les entreprises interrogées. Celles-ci prévoient une augmentation de 29 % de leurs effectifs dans les deux ans. Ce sont principalement les postes dans l’informatique et dans les centres d’appels internalisés qui vont être pourvoyeur d’emplois. Les entreprises concernées déclarent vouloir augmenter leurs effectifs de 11 % dans l’informatique et de 8 % dans les centres d’appels.

Quand les éditeurs font confiance aux écoles

De plus en plus d’éditeurs confient des missions importantes de développement à des laboratoires installés dans des écoles. Ainsi, l’EPSILAB, la dénomination des laboratoires de l’EPSI, une école d’ingénieurs dans le secteur des nouvelles technologies, collabore avec le GFI dans le but d’étudier toute leur gamme de produit dans les secteurs de la sécurité. Le laboratoire participe aussi à la sortie prochaine des systèmes Microsoft Vista et Office 2007, teste toute une série de technologies émergentes telles Ajax et .Net3, étudie les différences entre Java et .Net, ou encore travaille sur un grand projet national et à long terme concernant le développement d’un portail collaboratif, qui servira à la fois à l’EPSI et aux entreprises pour favoriser la modularité et le travail de groupe. SUPINFO, une autre école, dispose de huit laboratoires travaillant sur différentes technologies et également partenaires de grands éditeurs du marché pour des projets de recherche. Rien de mieux pour faire adopter les technologies à des étudiants, futurs cadres de l’informatique, que de leur faire créer les outils !
Cette tendance s’accompagne pour les écoles d’une forte ouverture sur le monde avec des programmes spécifiques de langues et de management interculturel. L’ISEP vient ainsi de mettre au programme des cours de chinois et de management interculturel. Ces derniers sont dispensés en anglais.

par Bertrand Garé - Copyright L'Informaticien, tous droits réservés.
Exigences
Réduire
La gestion des exigences des utilisateurs
Par Bertrand Garé - Copyright L'Informaticien, tous droits réservés

Aujourd’hui, l’informatique se doit d’aller à la vitesse… des demandes des utilisateurs. Par définition, ils ne sont pas informaticiens. Ils demandent pourtant beaucoup à ces derniers : des applications rapidement mises en œuvre, couvrant leurs besoins métier, simples d’utilisation. Cette définition des souhaits des utilisateurs n’est cependant pas aisée. Pour preuve : 40 % des projets de développement de logiciels n’arrivent pas à leur terme ou ne correspondent pas aux besoins des utilisateurs. Des outils et des pratiques réduisent fortement ce chiffre : c’est la gestion des exigences.

Dominic-tavassoli8348_Copi5.gifComme le déplore Dominic Tavassoli, chez Telelogic, « il est communément admis qu’environ la moitié des projets ne respectent pas le cadrage initial ». Selon une étude du Standish Group, seuls 29 % des projets sont à la fois livrés dans les temps, respectent leurs budgets et sont effectivement utilisés dans les entreprises ; 18 % sont totalement supprimés ou ne sont pas utilisés ; 46 % des projets présentent des fonctions qui ne sont pas utilisées. Pis encore, 66 % des clients ou utilisateurs sont insatisfaits, ce qui entraîne de nombreuses demandes de changements en cours de projet, et 53 % – la plus grosse part – sont en retard ou dépassent les budgets : certains coûtent 158 % de l’estimation première ! Mais il s’agit là d’une étude controversée, et certains remettent en cause les conditions de réalisation de l’étude Chaos de ce cabinet.



UML, le langage de formalisation des exigences
UML (Unified Modeling Language ou langage de modélisation unifié) est un langage de modélisation qui a pour vocation de réaliser des modèles des systèmes informatiques. Adopté et standardisé par l’OMG (Object Management Group) en 1997, il a pour fonction de répondre à toutes les questions relatives à une réalité d’un point de vue particulier à partir d’une représentation abstraite. Se présentant sous une forme graphique, il permet de définir cette réalité sous la forme d’un graphique. Dans le modèle, il est ainsi possible de rendre différents niveaux, spécifications, analyses, conceptions, tests, gestions de configuration et de déploiement. Les différents modèles suivent la méthodologie et ne sont pas, en soi, une méthode.



Selon un petit ouvrage intitulé « Réduire les coûts par une meilleure gestion des besoins et des spécifications logicielles », dans 56 % des cas, une mauvaise expression des besoins est à l’origine des défauts dans le développement logiciel. Viennent ensuite les erreurs de conception (27 %), bien loin devant les erreurs de code (7 %). Ainsi, plus des trois quarts des problèmes rencontrés sont en fait concentrés dans les phases amont du projet. Il n’est donc pas besoin de répéter que ces phases sont critiques pour la suite des projets et que, dans la mesure du possible, c’est là qu’il faut agir pour limiter les risques et augmenter la qualité. La gestion des exigences est une des pistes possibles pour parvenir à limiter la casse.


Qu’est ce qu’une exigence ?

Le point de départ d’un projet se résume souvent à un cahier des charges, qui décrit de manière plus ou moins formelle les besoins. Les exigences sont une traduction concrète de ce besoin. Cela inclut les exigences, techniques ou non techniques, et celles imposées au projet par l’organisation. Les contraintes sont donc des exigences !

Bruno-de-Combiens8346_Copi6.gifAu préalable, il convient de recueillir les besoins. C’est clairement la phase la plus importante. La tâche est cependant complexe. Il s’agit de traduire ce qu’exprime l’utilisateur dans un document qui permettra la réalisation d’un produit ou d’un service qui satisfera le besoin en remplissant les fonctions et les performances associées. Bruno de Combiens, en charge du marketing chez Borland le rappelle : « Trop souvent les exigences ou les besoins sont mal exprimés du fait d’une implication déficiente des utilisateurs ou de leur non-implication dans le processus. La voix de l’utilisateur est clé dans ce domaine ». Il est tout aussi important de mettre à contribution les autres parties prenantes du projet.


Les règles d’or pour de bonnes exigences
Les exigences doivent avoir certains attributs pour ne pas entraîner de mauvaises surprises. Si cela semble évident, se rappeler de ces principes peut éviter des écarts importants sur des projets. Une exigence doit être :
• correcte techniquement et légalement possible
• complète (exprimer une idée globale ou un jugement)
• claire (sans ambiguïté et ne pas apporter de possibilité de confusion)
• ne pas entrer en conflit avec d’autres exigences
• vérifiable, dans le sens qu’il est possible de déterminer que le système correspond aux exigences
• identifiée d’une manière unique avec la possibilité d’en exercer le suivi
• réalisable (elle peut être accomplie dans les temps et les délais)
• modulaire (que son changement n’aura pas d’impact excessif sur le projet et qu’elle ne demande pas une conception spécifique)



Cette phase fait appel à de nombreuses techniques : interviews, observation directe, réunions. À l’expérience, la réalité est moins simple que cet exposé. Un utilisateur connaît rarement ce qu’une application informatique peut faire ou ne pas faire. De plus, les besoins sont exprimés dans son jargon métier qui est souvent bien loin de celui largement employé par les informaticiens… ce qui n’est pas peu dire. Il s’agit ensuite de donner une cohérence à tout cela en le rassemblant dans un document, quel que soit le nom que vous lui donnerez. Ces données brutes se doivent d’être ensuite affinées par des itérations. Celles-ci seront de toutes façons nécessaires du fait des changements qui ne manqueront pas d’intervenir de par l’évolution des objectifs initiaux, l’évolution du contexte, des mutations technologiques, des nouvelles règles de gestion, des nouvelles contraintes ou par l’apparition de nouveaux besoins.


DefineIT.gifUn exemple de « storyboard » dans DefineIT de Borland avec un exemple d’enchaînement dynamique. On est peu éloigné de la formalisation UML à première vue.



Ce que proposent les outils

Chez Borland, on préconise une approche en quatre phases : élucidation, expression des besoins, définition des acteurs du projet et mise au point d’un glossaire. Ce dernier point est fondamental dans cette méthode puisqu’il permet à tous les acteurs du projet d’être d’accord sur le vocabulaire et les expressions employés. Un exemple est encore plus parlant.

L’utilisateur souhaite que l’application soit rapide. Dans le glossaire, on définit ce que rapide veut dire !
Est-ce le temps de réponse de l’application, l’enchaînement des écrans ? Guy Cargny, chez Compuware, partage cet avis : « Il est important que tout le monde partage le même vocabulaire. » Chez Telelogic, l’approche est différente. Après une collecte des principaux éléments dans un référentiel, le produit s’oriente vers une modélisation sous UML 2.0. Le schéma est alors affiné dans le cadre du formalisme de ce standard.

Si cette option est partagée à première vue par le logiciel Evoleon de Sereneo, cet éditeur, Borland et compuware... n’adoptent pas à ce stade un formalisme aussi poussé. Bruno de Combiens, directeur marketing chez Borland, précise que « ce n’est que lorsque tout le jus est sorti que nous passons à un modèle dynamique, mais ce n’est pas sur un formalisme poussé. Nous restons dans un enchaînement de diagrammes de séquences, une sorte de storyboard pour réaliser les itérations jusqu’à ce que tout le monde soit d’accord ». Guy Cargny, chez Compuware, ajoute qu’« il n’est pas nécessaire d’avoir ce type de formalisme à ce niveau, même si notre démarche par formulaires est très structurée ». Le formulaire peut avoir pour format, Word, PDF ou HTML. En une sorte de miroir répondent les « Un schéma vaut mieux qu’un long discours » chez Telelogic, aux « Rien ne vaut un bon papier » chez Compuware. On le voit, les méthodes pour obtenir les informations qui permettront de définir finement les exigences sont multiples. Toutes méritent attention. Selon les cas d’entreprises, telles ou telles seront adaptées ou non.

Ces exigences doivent ensuite être spécifiées. Tous les outils du marché permettent de réaliser cette étape dans les suites proposées. Ces spécifications doivent prendre en compte différents aspects : priorité de l’exigence dans le projet, sa valeur métier, la charge exigée et le délai imparti.


RDM_Process.gif


Des points critiques

Il est rare de réussir toutes ces opérations du premier coup. Il convient donc de réaliser différentes itérations sur le même modèle pour affiner ces expressions variées et obtenir un résultat définitif sur lequel tout le monde s’accorde, c’est-à-dire la maîtrise d’œuvre et la maîtrise d’ouvrage. Bruno de Combiens présente ainsi les outils de gestion des exigences : « Ils permettent de mettre autour de la même table les différents acteurs du projet. » Définis ainsi, les outils doivent apporter une dimension collaborative vers les différentes parties prenantes de l’expression des exigences.

Cette gestion de l’ensemble des échanges comporte aussi des contraintes. Elle doit supporter des possibilités de gestion des différentes versions des exigences énoncées. La solution la plus évidente, et la plus utilisée, est de créer un référentiel de ces exigences. Ce référentiel permettra non seulement de concentrer en un seul lieu les exigences, mais aussi de les tracer et, si le besoin s’en fait sentir, de les réutiliser. L’impact sur les produits est fort. La gestion des exigences, comme une gestion de production dans une entreprise, ne peut se concevoir comme un élément isolé sans liens avec d’autres outils logiciels.


Pour un bon cahier des charges
« Le cahier des charges est la dernière étape de ce processus lorsque tout le monde est d’accord sur le contenu et le comportement que devra avoir l’application. Il faut ensuite par itération l’affiner pour obtenir un périmètre de référence a minima. Ce document doit cadrer ce que l’application doit faire. Certains indiquent ce qu’elle ne doit pas faire, sauf que tous les documents de référence de bonnes pratiques ne le prônent pas », explique Bruno de Combiens. Tout le monde s’accorde aussi sur un point : le cahier des charges ne doit pas contenir toutes les réponses. « C’est une erreur fondamentale d’apporter la réponse dans ce document. Il faut rester pragmatique », ajoute le chargé du marketing de Borland France. Pas besoin donc d’une somme expliquant tout, c’est le plus sûr moyen de noyer le fournisseur sous une tonne d’informations et de ne pas recevoir de réponses adéquates à sa problématique. Il ne doit contenir que les informations nécessaires et suffisantes sous une forme claire et précise. Certains défauts sont clairement identifiés : la description technique ne doit pas se substituer à l’exigence fonctionnelle, certaines définitions sont incompatibles dans différents chapitres du document, certains exposés sont ambigus. Des cahiers des charges cumulent le défaut d’en dire trop sur certains points en n’apportant aucun élément sur le problème à résoudre, et pas assez sur certains éléments de ce problème. Il ne faut ainsi spécifier que ce qui est spécifique. Enfin, il ne faut pas oublier de tenir compte à la fois des technologies et de l’état de l’art pour resituer le projet dans son contexte. Il faudra cependant s’entendre sur ce qu’est l’état de l’art entre vous et le fournisseur !




Les offres du marché proposent des suites comprenant la base de données, les interfaces de collaboration, le plus souvent sous la forme d’un portail collaboratif, et les outils permettant la gestion des différentes versions des exigences.

« La traçabilité, le versioning des exigences va permettre d’automatiser les changements dans l’ensemble de la chaîne d’outils pour aller vers le modèle UML et les logiciels prenant en charge les autres phases du cycle de développement comme les tests ou l’exploitation », précise Guy Cargny ; « Cela permet d’allier à la fois la souplesse et la rigueur nécessaires. »

Ces fonctions sont essentielles lorsque, dans le processus d’expression, des besoins interviennent de nombreux changements. Ces changements d’exigences peuvent avoir de nombreuses causes : changement technologique, changement d’organisation des entreprises, fusion-acquisition entraînant l’adoption d’un modèle ou de besoins différents, évolution du marché rendant caduques certaines exigences précédentes. Bruno de Combiens ajoute : « Il est impératif de connaître les différentes versions des exigences pour comprendre pourquoi des changements sont intervenus et s’il est possible de les réutiliser sur des scénarios divergents dans d’autres projets. »
Le référentiel d’exigence apporte aussi de nombreuses autres possibilités. À partir de la base des exigences, il est possible de les documenter et d’y associer les documents ayant participé à sa définition. Sur ce fondement, il est alors possible de formaliser les engagements qui vont être pris par la maîtrise d’ouvrage lors de la réalisation du projet.

À ce moment, il est même possible de définir conjointement avec la maîtrise d’œuvre les fonctions à tester, voire les plans de tests à effectuer.
Bruno de Combiens n’est pas tendre sur le sujet : « Le plus souvent la qualité est traitée par-dessus la jambe. Si l’équipe qualité existe, elle teste sur des spécifications qu’elle ne maîtrise pas. » Guy Cargny ajoute : « Il est alors possible de véritablement calibrer ce qui est dangereux dans un projet et de prévoir les tests à effectuer. Dédiés à des développeurs, les cas d’utilisation sont formalisés et déversés dans des scénarios de tests. Le produit ne remet pas en cause notre approche RBT (Risk Base Testing) qui s’appuie sur une gestion des risques maîtrisée en testant les points essentiels. »

Bruno de Combiens raffine : « Bien sûr, on peut vouloir tout gérer mais cela semble difficile de le faire sans avoir une base solide s’appelant la gestion des exigences. Elle constitue la première couche des référentiels de bonne pratiques comme CMMI. Cette vérité est encore plus vraie dans les processus de développement faisant appel à l’externalisation si l’on ne veut pas aller directement dans le mur. »

Dominic Tavassoli conclut ce point sur une boutade : « Si tu ne sais pas où tu vas, tu ne risques pas d’y arriver », en rappelant, là encore, que le formalisme UML et le framework CMMI sur lesquels s’appuient les produits de Telelogic sont les garants du respect de ces bonnes pratiques dans le cycle de développement. On l’a vu, une gestion des exigences bien en place permet d’apporter un surcroît de qualité dans un projet de développement. Les résultats à attendre de la mise en place de ce processus concernent tout autant la productivité et la réduction des coûts des projets. Dominic Tavassoli estime le facteur de retour sur investissement à 4,8 pour 1.


Les résultats d’une bonne gestion des exigences

tabloexig.gifBruno de Combiens est plus prudent : « Si l’on met en place les principaux processus clés dans le développement, c’est-à-dire que l’on souhaite le gérer et non seulement réaliser une revue du code, on peut abaisser les coûts d’un projet de 50 % sur les dimensions que l’on souhaite améliorer comme la qualité des livrables ou les délais de livraison. Une mesure clé est le taux de réécriture. La plupart du temps on passe son temps à réécrire pour que cela fonctionne, mais là on le fait avec -50 %. Nous avons réalisé cette mesure sur des milliers de projets. L’impact est énorme ! Et pas seulement dans les grandes entreprises. TPE et PME se lancent avec des résultats analogues. La tendance actuelle est à une vraie prise de conscience. Il faut reconnaître qu’il y a deux ou trois ans, on prêchait un peu dans le désert. Même dans le monde Microsoft, l’approche se structure. D’ailleurs pour démontrer la réelle valeur de ce type de projet, nous proposons une approche de déploiement rapide, Quickstart, en 5 jours pour faire le tour du produit. Ensuite, nous passons à un vrai projet, en 90 jours avec de vraies mesures, avec calcul de retour sur investissement et incrémentation. Dans l’ensemble, les clients sont satisfaits par cette approche. »

Guy Cargny y voit d’autres avantages :
« Il faut considérer deux choses, la partie développement et la partie tests. Sur la partie développement, il est possible de gagner 10 à 15 %. L’information est automatiquement répercutée dans tout le cycle et évite de refaire certaines choses. Sur la partie tests ce qui coûte, ce sont les redéfinitions et les descriptions des cas de tests. On refait trop souvent ce qui a déjà été réalisé. Nous estimons à une demi-itération le temps économisé. Sur des tests fonctionnels, on est gagnant à la troisième itération. Nous non plus, nous n’avons pas l’impression de parler pour rien. Les plus intéressées actuellement sont les SSII moyennes qui adoptent l’outil assez naturellement. »


Pour aller plus loin

Il existe de nombreux ouvrages actuellement sur le sujet de la gestion des exigences. Tous sont très complets et essaient de s’approcher de la réalité de l’entreprise en évitant de tomber dans le tout théorique. Les plus récents sont les suivants.
« Définition des besoins logiciels » d’Yves Constantinidis, collection études et logiciels informatiques, Édition Hermes Lavoisier.
« Réduire les coûts informatiques par une meilleure gestion des besoins et des spécifications logicielles », ouvrage proposé par Borland en partenariat avec Valtech, Q-Labs et Brainsonic aux Éditions Eyrolles.
« La gestion des projets par étapes, l’analyse des besoins », par Hugues Marchat aux Éditions d’Organisation.
« UML pour les décideurs », de Franck Vallée, Éditions Eyrolles.
« UML 2 par la pratique » par Pascal Roques, chez le même éditeur.
« Comprendre CMMI, une introduction pratique à l’amélioration des processus », Cépaduès Éditions.
Ubuntu
Réduire
Ubuntu Dapper 6.06 LTS Un Linux même pour le débutant
par Noé Barat - copyright L'Informaticien, tous droits réservés.

Ubuntu est une distribution Linux non commerciale s’appuyant sur Debian, qui pourrait tenir la dragée haute à Windows Vista.

La distribution Ubuntu 6.06, The Dapper Drake, qui signifie « le canard pimpant », est sortie le 1er juin. Ubuntu produit une nouvelle version tous les 6 mois, mais cette nouvelle mouture est exceptionnelle pour plusieurs raisons. D’abord elle porte le qualificatif de LTS, ce qui signifie « support à long terme », c’est-à-dire que, concrètement, Dapper sera supporté durant 3 ans pour la version Desktop, et pendant 5 ans pour la version serveur. La deuxième nouveauté est justement la sortie d’une version distincte pour le bureau et aussi pour le serveur : en réalité trois versions du noyau sont utilisables, desktop, server et server-bigiron, qui se destine aux serveurs équipés de huit CPU au minimum. Dapper est une distribution résolument « user-friendly » qui vise des utilisateurs de n’importe quel horizon informatique, débutant sous Linux compris, ou provenant du monde Windows, et ne voulant pas se lancer dans de grand projets complexes en ligne de commande. Dapper attache une grande importance à l’apparence, et l’utilisateur peut tout installer et configurer en mode graphique. L’installation des logiciels et leurs mises à jour est à la portée de n’importe qui. Il existe même un projet du nom d’Instlux qui s’attache à installer Linux Ubuntu ou SuSE sans quitter Windows (http://instlux.sourceforge.net/).

Mark-Shuttleworth.gifL’entreprise Canonical, dirigée par le milliardaire Mark Shuttleworth, qui a eu l’idée d’Ubuntu en 2004, propose un support payant (serveur) au tarif d’environ 700 euros par an. Mark Shuttleworth a d’ailleurs passé un accord avec Sun pour supporter les processeurs UltraSparc T1 (sur les serveurs SunFire T1000 et T2000).
L’installation du serveur se termine sans aucun service actif par défaut, et une simple commande « lamp » installera la pile Apache, PHP et MySQL – avec gestion via une ligne de commande unique et d’un panneau de configuration. Ubuntu propose d’installer le système via un CD-vif permettant de tester l’environnement et de l’installer graphiquement ensuite. Mais l’utilisateur peut aussi choisir d’installer en mode texte, en utilisant l’installateur Debian. Ce dernier point est important pour un administrateur système qui ne possède pas beaucoup de mémoire vive sur son serveur, et qui pense qu’un mode texte est plus stable et donc plus sécurisant (ce qui n’est pas faux). De plus, l’installation en mode texte est plus complète, nécessite moins de ressources (mémoire) et permet par exemple d’installer la distribution sur un disque dur externe ou une clé USB (lire l’encadré ci-contre).

CaptureAlacarte.gif
Alacarte sert d’éditeur de menus.

Ubuntu comporte maintenant le support de l’Airport Extreme. Gnome 2.14 est performant et Ubuntu embarque de nouvelles applications, comme Ekiga pour la VoIP, et « alacarte » qui sert d’éditeur de menus (Dapper comporte aussi un noyau 2.6.15, Firefox 1.5.0.3, OpenOffice.org 2.0.2 et X.org 7.0).

Le menu d’aide et la documentation ont été grandement améliorés avec l’apparition d’un Guide Express pour se familiariser avec Ubuntu. Si vous démonter une clé USB, le système vous le signale graphiquement ce qui évite des pertes de données. Nous avons fort apprécié ce point, plus pratique que sous Windows XP. Par rapport à Breezy, on note rapidement quelques changements comme une interface graphique au fstab (Disk Manager) qui permet de monter vos disques en quelques clics ; une interface graphique permettant de stocker des données personnelles, mais aussi de changer son mot de passe graphiquement (informations utilisateur) ; un outil pour partitionner son disque dur (Gparted) ; un éditeur de menu inclus par défaut (alacarte) ; un nouvel utilitaire de gravure de CD audio permettant de graver directement vos MP3 ou ogg (Serpentine) ; une activation des dépôts en un seul clic ; un assistant graphique pour la gestion des langues ; une gestion facilitée des services, etc.


Installation et démarrage d’Ubuntu sur un disque dur externe
Ubtuntusb, produit payant que vous pouvez obtenir à l’adresse www.zinside.com (pour seulement 30 euros), permet d’installer et de démarrer Ubuntu Dapper sur un disque dur externe USB ou FireWire (1394) avec une capacité minimale libre de 10 Go.
Pour installer l’OS, il suffit d’insérer le CD et de démarrer sur celui-ci. L’avantage de ce système est de pouvoir transporter son bureau avec soi, n’importe où, du moment que vous avez à votre disposition un PC équipé d’un port USB 2 et d’un lecteur de CD-Rom. En bootant sur le CD, le disque dur externe sera reconnu et Ubuntu démarrera automatiquement. Le disque dur de l’hôte n’est donc pas modifié et le Bios non plus : le PC reste intact. Connectez votre disque USB en premier, insérez le CD, démarrez le PC, puis choisissez l’option de démarrage – par défaut Enter. Une fois sur le bureau d’Ubuntu, vous pouvez éjecter le CD qui n’est plus nécessaire.
Notez que cette solution a été retenue par le ministère de l’Éducation national dans le cadre d’un programme pour les handicapés (http://web-ia.ac-poitiers.fr/ia17/Ais17/blub/ubuntUSB_accessible.html), et a été primée au Cervod (Concours d’études et de réalisations pour la valorisation des outils didactiques).



Le test concret de la version Desktop

Nous avons choisi d’installer Ubuntu Dapper Desktop sur un portable HP Pavillon zv6000 qui, jusqu’ici, hébergeait un système en dual-boot Windows XP / SuSE 10.0. Le système XP occupe un espace disque de 25 Go (FAT) sur la partition primaire (\dev\hda1), le swap se réserve la seconde partition de 1 Go (\dev\hda2), et enfin SuSE occupait jusqu’ici 67 Go sur la troisième et dernière partition. Après sauvegarde de nos données (et du mbr, par précaution, à l’aide de la commande dd if=/dev/hda of=/home/noe/mbr_hpzv6000.img bs=446 count=1 dont l’image a ensuite été transférée sur une clé USB), nous avons exécuté le CD-vif d’Ubuntu (AMD 64 bits), et lancé la nouvelle procédure d’installation. Nous avons également modifié le Bios pour que la mémoire de la carte vidéo soit uniquement partagée (UMA memory à 128 Mo), car après avoir effectué quelques recherches sur les forums d’Ubuntu, nous avons pu y lire que dans le cas contraire l’activation 3D ne pourrait être activée (ATI Radeon XPRESS 200M). Cette manipulation comporte un désavantage majeur : la mémoire vive disponible diminue de 128 Mo, ce qui n’est pas rien, même si nous disposons au total de 1 Go.

Une des grandes nouveautés de Dapper est de permettre une installation à partir du CD-vif. Ce qui est réalisable en seulement six étapes, qui sont respectivement le choix de la langue, la sélection de l’emplacement géographique (déterminant l’emplacement géographique des dépôts), la disposition du clavier, la déclaration de votre identité, la sélection d’un disque – nous avons choisi d’effacer /dev/hda3 puis de reformater en ext3 –, et enfin la confirmation de l’installation proprement dite, qui lancera la copie des fichiers. Ces étapes sont claires et simples ; mais pour avoir déjà installé une dapper au-dessus d’une brezzy à l’aide du CD-vif, nous savons aussi que cette procédure d’installation ne doit pas être exécutée pour effectuer une mise à jour (pour passer à Dapper à partir d’un système breezy à jour, il suffit de taper gksudo « update-manager -d »). Au bout de moins de 15 minutes, toutes ces opérations ont été réalisées – ce qui est très rapide vous en conviendrez. Rien n’a été demandé en ce qui concerne l’emplacement de l’amorçage du système. En théorie la procédure à suivre aurait été de ne pas écraser le MBR en raison d’un éventuel « tatouage » de XP (Microsoft a introduit ce système en vue d’interdire qu’un XP pré-installé ne se retrouve sur un autre ordinateur). Mais, comme dans notre cas, GRUB était déjà installé sur le MBR, nous supposons qu’Ubuntu a pu déterminer qu’il pouvait l’écraser sans affecter le système. Le Grub d’Ubuntu est beaucoup moins beau que celui de SuSE 10 ; sinon, nous n’avons rien à lui reprocher. La première ligne affichée s’intitule « Ubuntu kernel 2.6.15-23-amd64-generic ». Nous la validons. Le système démarre rapidement, mais affiche peu après des erreurs sur la partition vfat (celle de windows). Finalement, l’écran de connexion apparaît, puis gnome, avec déjà dix mises à jour de prêtes (l’interface eth0 est opérationnelle – via DHCP – dès le démarrage, ce qui n’est pas une surprise). Les erreurs constatées sur la partition vfat n’en sont pas et Windows XP démarre sans aucun problème ; nous éditons le fichier fstab pour annuler la vérification au démarrage d’Ubuntu en plaçant un 0 en fin de ligne (/dev/hda1  /media/hda1  vfat ... 0).

Ensuite, nous activons la 3D en suivant les instructions données par ATI :

noe@noe-laptop:~$ sudo apt-get update
noe@noe-laptop:~$ sudo apt-get install linux-restricted-modules-$(uname -r)
noe@noe-laptop:~$ sudo apt-get install xorg-driver-fglrx
noe@noe-laptop:~$ sudo aticonfig --initial
noe@noe-laptop:~$ sudo aticonfig --overlay-type=Xv
noe@noe-laptop:~$ fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON XPRESS 200M Series Generic
OpenGL version string: 2.0.5814 (8.25.18)


Le sans fil ne fonctionne pas mais le périphérique est reconnu : le driver du périphérique Broadcom Corporation BCM4318 incorporé à la carte n’est pas complet en raison d’une restriction de la licence. Nous pouvons, soit choisir de le compléter, soit utiliser le pilote 64 bits issu de Windows avec ndiswrapper. Nous décidons d’adopter cette dernière solution vu que nous l’avions déjà testé sous SuSE avec succès et, surtout, une grande stabilité. Il faut d’abord bannir le pilote du kernel :

echo ‘blacklist bcm43xx’ | sudo tee -a /etc/modprobe.d/blacklist
sudo rmmod bcm43xx
sudo modprobe -r bcmwl5
sudo rmmod ndiswrapper
sudo apt-get remove ndiswrapper-utils
sudo rm -r /etc/ndiswrapper/
sudo rm -r /etc/modprobe.d/ndiswrapper


Puis nous devons réinstaller ndiswrapper en prenant le pilote 64 bits à l’adresse ftp://ftp.support.acer-euro.com/notebook/
ferrari_4000/driver/winxp64bit/80211g.zip


sudo apt-get install ndiswrapper-utils
sudo unzip 80211g.zip
cd WL_T60H906(8.0.10.0,XP64_logo)
sudo ndiswrapper -i bcmwl5.inf
sudo ndiswrapper -m
sudo ndiswrapper -l
Installed ndis drivers:
bcmwl5          driver present, hardware present


Nous redémarrons la machine. La distribution montre sa puissance : le portable redémarre très vite, et en moins de 30 secondes nous nous retrouvons face à un bureau Gnome très réactif avec la 3D activée et le Wi-Fi fonctionnel ! En fait, Hotplug a été abandonné au profit d’udevplug ce qui apporte un gain de performance appréciable, car les périphériques sont désormais activés à la demande. Nous constatons aussi que le lecteur de carte mémoire intégré est cette fois reconnu ce qui est une notable amélioration – les dernières versions de Knoppix, SuSE, Mandriva ou Ubuntu Breezy ne le reconnaissait pas.

0000:03:04.3 Mass storage controller: Texas Instruments PCIxx21 Integrated     "
     FlashMedia Controller


Ubuntu existe également dans d’autres versions comme xubuntu, comprenant XFCE 4.3 (qui se destine aux machines peu puissantes), kubuntu, une version KDE, et enfin edubuntu, une version pour les enfants et comprenant des logiciels éducatifs.
• Xubuntu : http://www.xubuntu.org/
• Kubuntu : http://www.kubuntu.org/
• Edubuntu : http://www.edubuntu.org/



Le réseau et l’aide

CaptureMAJ.gif
Le système de mise à jour d’Ubuntu est efficace et simple d’emploi.

Le portable se connecte à Internet via deux réseaux sans fil (maison et bureau), et aussi via occasionnellement l’ethernet 100. Un des points forts de Dapper est de gérer tout ceci avec une grande aisance. Il suffit d’y ajouter l’applet NetworkManager. Celle-ci s’ajoute très facilement à l’aide du menu Ajouter / Enlever des applications (applications Internet). Cette opération réalisée, il devient presque un jeu d’enfant car, avec cette applet au tableau de bord, Ubuntu est maintenant capable de basculer sur n’importe quel réseau.
Mieux : si vous gérer une clé wep, Dapper vous proposera de la conserver dans un « portefeuille » où l’ensemble des mots de passes seront entreposés. Si nous enfonçons la touche d’accès au Web (touche « www ») du portable, Firefox se charge. C’est presque instantané et bien plus rapide que sous Windows XP, et davantage également que sous l’ancienne installation SuSE, pourtant déjà optimisée par nos soins.


EasyUbuntu

CaptureEasyUbuntu3.gifEasyUbuntu a été rédigé en Python ; le script est propre et stable.
Saisir la touche « fn » + F1 fait apparaître le sommaire de l’aide en français. Nous avons à notre disposition le guide du bureau d’Ubuntu. Celui-ci propose une section « tâches courantes » : comme par exemple la lecture d’un DVD, ou le montage vidéo à l’aide du logiciel Kino. Il manque quelques ingrédients à l’installation de base : nous ne pouvons lire des DivX, ni un DVD, ni nous connecter au site en ligne de notre banque faute d’intégration de java.

Si vous avez du mal à vous débrouiller avec la ligne de commandes, sachez qu’il existe un paquet spécial du nom d’EasyUbuntu (un script python avec une interface graphique) qui est capable d’installer un bon nombre de compléments logiciels, tels que des codecs non libres, ou encore la bibliothèque libdbdcss. Malheureusement, le support du flash n’existe pas pour la version 64 bits de Firefox. Vous devez installer Firefox 32 bits et son plug-in flash, ainsi que java et realplayer (http://doc.ubuntu-fr.org/applications/firefox_amd64_flash). C’est assez embêtant si vous devez travailler avec ces technologies, mais la faute n’est pas imputable à Ubuntu. Il existe aussi un script d’installation automatique du nom d’Automatix qui va encore plus loin (http:// www.ubuntuforums.org/showthread.php?t=177646). Néanmoins, nous vous conseillons d’utiliser ces automatismes avec parcimonie, car ils transforment votre système en profondeur sans que vous sachiez exactement ce qui est installé et à quel endroit.


Optimisations

Si Dapper est rapide, il y a moyen de le rendre encore plus véloce. En effet, il existe toute une série d’optimisations qu’il serait dommage d’ignorer, comme l’installation de Swiftfox pour processeurs AMD 64 (ou INTEL). Il s’agit d’une version de Firefox ciblée pour un processeur bien déterminé (l’interface est identique et les extensions aussi). Swiftfox cohabitera avec la version 32 bits et 64 bits générique de Firefox (http://getswiftfox.com/tr-ath64.htm). Vous pouvez également envisager de remplacer Init par InitNG (init Next Generation) : un nouveau process de lancement de Linux, qui va beaucoup plus vite, le temps de démarrage pouvant ainsi être réduit de 50 %. Quelques astuces aussi pourront être appliquées au système de fichiers journalisé ext3 (ajout du writeback). Enfin, la recompilation du kernel en supprimant tout ce qui est inutile n’est pas un luxe si l’on veut travailler le plus efficacement possible.
 
En fait, Dapper est une base stable et durable à partir de laquelle, pour reprendre l’expression de certains développeurs Ubuntu, « on va pouvoir s’amuser », en y greffant XGL + Compiz, InitNG et toute une série d’innovations qui ne sont pas encore stables en ce moment. Il est déjà possible de tester un bureau 3D, mais nous ne vous le recommandons pas, car cette technologie est encore en plein développement (http://doc.ubuntu-fr.org/applications/xgl).


Ubuntu : une distribution parfaite ?

05-cube-fs.gifUbuntu en 3D...
Ubuntu n’est pas parfaite, mais nous pensons sincèrement qu’il s’agit de la distribution à recommander à un nouveau venu dans le monde Linux. Autrement dit, elle n’est pas meilleure que SuSE ou Mandriva, mais différente et surtout beaucoup plus abordable pour tous. Au niveau des fonctionnalités, il s’agit quasiment d’une Debian sid/unstable, mais avec des ajouts propres à Ubuntu. Les échanges Ubuntu/Debian devraient en principe s’effectuer dans les deux sens, ce qui n’est pas certain, car d’aucuns reprochent à Canonical d’embaucher des développeurs Debian sans, ensuite, « leur ménager le temps nécessaire pour continuer leur activité Debian ».

Il n’est pas évident a priori de se procurer le CD d’Ubuntu sans ligne à haut débit (notez au passage qu’il existe une image ISO DVD torrent disponible à l’adresse http://torrent. ubuntu.com:6969/). Heureusement, le service shipit propose de vous livrer Ubuntu par la Poste : https://shipit.ubuntu.com/ et des millions de CD auraient  déjà été expédiés par ce biais. Ensuite, comme nous l’avons constaté, tout ne s’installe pas toujours impeccablement, et malheureusement un petit coup de pouce est parfois nécessaire pour obtenir un système fonctionnel. La dualité 32 / 64 bits n’est pas encore assurée, et il est sans doute préférable de n’installer qu’un OS 32 bits si vous ne voulez pas réaliser l’effort d’installer FireFox en 32 bits sous un environnement 64 bits. Par chance, la communauté Ubuntu est active, et il y a très peu de questions qui ne trouvent réponse avec Google.

En conclusion, la distribution peut encore s’améliorer mais un pas de géant a quand même été réalisé dans le cadre de la simplicité ; nous disposons de Gnome dans toute sa splendeur : simple et fonctionnel. Par rapport à SuSE, nous trouvons Ubuntu plus réactive, plus à la portée d’un utilisateur lambda (configuration des menus, mise à jour du système, sobriété de l’interface, etc.). Nous avons également installé Ubuntu sur un poste isolé qui comprenait du matériel assez exotique comme une carte sans fils qui n’était pas reconnue sous SuSE 10. À notre grande surprise, tout a fonctionné, et le réseau était opérationnel dès le premier démarrage. Chapeau !


Les points forts
• installation en quelques minutes
• démarrage / arrêt très rapides
• gstreamer 0.10 très performant
• clarté de l’organisation des menus
• navigation et démarrage de Firefox très rapides
• mise à jour facile, installation de logiciels supplémentaires très simple
• excellent support du matériel
• encodage MP3 proposé dès l’insertion d’un CD (également ogg, flac ou wav)
Les points faibles
• l’installateur ne détecte pas une ancienne version et écrase le MBR
• la quantité de mises à jour n’est pas adaptée aux utilisateurs n’ayant pas de ligne haut débit


Bonnes Feuilles
Réduire
Les bonnes pratiques de mise en oeuvre d’un portail décisionnel

Business.gifDans leur ouvrage « Business Intelligence et portails, décisionnel dans un environnement Web », paru récemment chez Dunod, André Corbillé et Vincent Dumas nous détaillent les différentes phases pour mener à bien un projet de portail décisionnel. L’extrait choisi met particulièrement en exergue les points pratiques de la mise en oeuvre du projet.


Cet article est un extrait du chapitre 7 « Mise en oeuvre » de l’ouvrage « Business Intelligence et portails, décisionnel dans un environnement Web ».
Auteurs : André Corbillé et Vincent Dumas - Editeur Dunod - Septembre 2006. 184 pages, env. 20 euros.


SPÉCIFICATIONS DÉTAILLÉES

Les spécifications fonctionnelles détaillées précisent les spécifications fonctionnelles générales. Alors que ces dernières dictent les grands principes, les spécifications détaillées en décrivent précisément les règles.

Carte d’identité

bonnes-feuilles-41-1.gif

Les enjeux fonctionnels

L’enjeu fonctionnel est précisément de détailler les principes dictés dans les spécifications générales.

Description de l’étape

Les bonnes pratiques

Spécifications fonctionnelles détaillées de gestion des flux

La spécification des flux consiste à préciser pour chaque donnée du système cible son mode d’alimentation. Cela signifie que pour chaque colonne de chaque table de L’entrepôt (et des différents datamarts), il faut préciser :
• la ou les donnée(s) source(s) ;
• la transformation (par exemple : les calculs, la déduction d’informations par application de règles fonctionnelles, l’opération sur les chaînes de caractères) ;
• les éventuels contrôles de validité et de cohérence à effectuer (et leur degré de gravité si le système de gestion des erreurs est suffisamment évolué).
Comme déjà abordé, ces spécifications sont le produit du chantier « modélisation ». Le modéliste qui crée l’organisation des données en cible se doit de pouvoir mettre en correspondance chacune d’elles avec des données source. Il est donc le plus à même d’en spécifier les flux d’alimentation. Toutefois, il est souhaitable que l’organisation même de ces spécifications soit en cohérence avec l’ETL choisi pour la réalisation. Pour cela, il est souhaitable que les chantiers « modélisation » et « alimentation » s’entendent au préalable sur le formalisme d’échange.
Ajoutons que les principaux outils du marché pour la modélisation (MEGA(1), Power*AMC(2) permettent de générer automatiquement des documentations paramétrables et très complètes. De ce fait, il est souvent intéressant de spécifier les flux directement en utilisant les fonctionnalités de l’outil et générer la documentation qui sera ensuite transmise au chantier « alimentation ».
Spécifications fonctionnelles détaillées de modélisation

La modélisation est une étape intrinsèquement conceptuelle, il faut considérer le modèle conceptuel de données (MCD), comme une spécification fonctionnelle détaillée de l’organisation des données, et le modèle physique des données comme une spécification technique détaillée de l’organisation de la base de données.

Soulignons que dans le cadre de l’utilisation d’un outil de modélisation, le MPD est directement généré à partir du MCD. Certes, des optimisations peuvent être ajoutées au niveau physique ; l’administrateur de base de données y ajoute quant à lui, certains paramètres techniques.

Note : Il faut savoir distinguer l’alimentation de l’entrepôt de l’alimentation des datamarts. Dans le deuxième cas, les spécifications sont infiniment plus simples, car l’organisation logique des données du datamart est en général un sous-ensemble de celle de l’entrepôt, enrichie de quelques optimisations. Puisque les données proviennent exclusivement de l’entrepôt, aucun contrôle n’est requis, ainsi qu’aucun besoin de transformation complexe.

Spécifications fonctionnelles détaillées des restitutions


Concernant les restitutions, les spécifications détaillées précisent pour chaque restitution, la présentation générale du rapport en indiquant pour les données les tables utilisées avec les colonnes(4) utilisées, les règles de gestion codées dans le tableau de bord (filtres, sommes…) et plus généralement l’ergonomie des services du portail.

Extrait de contenu du produit d’étape

Alimentation

Concernant l’alimentation, les spécifications comprennent les principes de chargement, le synoptique détaillé des traitements, la description détaillée des flux ainsi que les règles de calcul des indicateurs.
La figure 1 présente un exemple de spécifications fonctionnelles détaillées d’alimentation de références.

bonnes-feuilles41-2.gif

La figure 2 présente un exemple de spécifications fonctionnelles détaillées d’un flux d’alimentation de données avec une agrégation.

bonnes-feuilles-41-3.gif

La figure 3 présente un exemple de spécifications fonctionnelles détaillées d’un flux d’alimentation de données avec une phase de dédoublonnage.


bonnes-feuilles41-4.gif

Modélisation

Le modèle conceptuel des données (MCD) décrit les données manipulées sur le plan fonctionnel. La modélisation ne fait pas l’objet de spécifications détaillées : le MPD étant simplement la déclinaison physique du MCD.

Restitution

L’exemple de livrable concerne les spécifications détaillées de restitution pour l’analyse des ventes.

Objectif de la restitution

L’analyse est effectuée mensuellement : comparaison du mois avec le mois précédent

Contenu de la restitution

bonnes-feuilles-41-tab1.gif


Définition des indicateurs

bonnes-feuilles-41-tab2.gif


Tables concernées :

• FACT
• PRODUIT
• ETABLI

Ergonomie envisagée


bonnes-feuilles-41tab3.gif


REALISATION/PARAMETRAGE/INTEGRATION

Ce chapitre décrit les tâches de réalisation effectuées à partir des spécifications détaillées.

Carte d’identité

bonnes-feuilles-41-5.gif

Les enjeux fonctionnels

L’enjeu de la réalisation est que le portail décisionnel soit conforme aux spécifications détaillées d’alimentation et de restitution.

Les enjeux techniques

L’enjeu technique majeur est, quant à lui, d’obtenir une application maintenable et conforme aux exigences de performance.


Description de l’étape

Les bonnes pratiques

Le développement

Approche méthodologique


Les étapes du cycle de développement en « V » des applications informatiques sont valables pour le portail décisionnel. La figure 4 représente quelques-unes des étapes du cycle de développement dit en « V ».

bonnes-feuilles-41-6.gif

Le déroulement du projet s’échelonne des spécifications jusqu’à la réalisation des modules de programmes unitaires. Ils sont ensuite intégrés entre eux, sur la base du dossier de conception ou d’architecture (dossier d’architecture). La recette est finalement prononcée quand la réalisation achevée correspond aux spécifications.

Il est difficile de parler de réalisation sans parler de l(organisation du projet. Il est classiquement découpé en trois sous-projets ou « chantiers » :

• le chantier « modélisation » : ce chantier réalise le modèle de données et le met à jour tout le long du projet. Le modèle étant publié aux chantiers de réalisation que sont l’alimentation et la restitution ;
• le chantier « alimentation » ;
• le chantier « restitution ».

Les trois chantiers sont indépendants pour la phase de réalisation (figure 5).

bonnes-feuilles-41-7.gif

Sur le cycle en « V », le développement se situe dans l’étape appelle « réalisation des modules unitaires ». Les équipes de réalisation vérifient elles-mêmes le bon fonctionnement de ce qu’elles mettent en place.

L’alimentation utilise, si possible, un jeu de données réelles pour tester les flux.

L’équipe de restitution peut, quant à elle, réaliser une partie de son travail en parallèle avec l’alimentation, sachant qu’elle ne disposera alors que de données partielles, voire absentes pour la réalisation de ses rapports.

Cependant, il faut compter qu’une grande partie du développement des rapports devra être faite une fois la base alimentée avec des jeux de données représentatifs (ce qui implique du côté de l’alimentation un avancement certain). En effet, la validation unitaire des requêtes, ainsi que la mise en forme des tableaux ne saurait être faite avec des données lacunaires. Car l’utilisation de données insuffisante dans cette phase ne ferait que reporter la charge de travail sur la phase de validation.

Ces tests, dits unitaires - les équipes de réalisation les conçoivent module par module -, ne permettent pas de couvrir l’ensemble des cas. Pour tester, .à un niveau convenable le bon fonctionnement du système il faut procéder aux tests d’intégration.


Réalisation de l’alimentation (gestion des flux)

La réalisation de la gestion des flux concerne les modules suivants :

• l’extraction des données issues des applications du système d’information. Le plus souvent, le résultat est un fichier plat (du type CSV ou XML). Dans d’autres cas, un ETL peut être utilisé. Il permet de s’interfacer directement avec la base de données - y compris les PGI - afin de constituer un flux continu sans passer par un fichier intermédiaire ;
• les traitements de transformation, de transcodification et d’association des données sources avec celles de l’entrepôt. Des règles de gestion plus ou moins complexes sont paramétrées ;
• les traitements de chargement dans l’ODS et de gestion des rejets comprenant les contrôles d’intégrité et de cohérence ;
• la consolidation et l’intégration des données dans l’entrepôt ;
• les agrégations dans les datamarts.

Les composants de la chaîne de traitement sont soumis à des tests unitaires fonctionnels et techniques.

Réalisation de la modélisation

La modélisation est développée au chapitre 6.6.

Réalisation de la restitution

La réalisation de la restitution concerne autant les opérations de paramétrage des briques logicielles que de programmation. Elle englobe :

• le paramétrage des indicateurs métiers au sein de l’outil de valorisation de données (Univers métier) ;
• la réalisation des tableaux de bord conçus à partir des spécifications détaillées ;
• le paramétrage des profils consistant à créer des comptes ou des groupes d’utilisateurs ;
• le paramétrage des droits d’utilisation, pour les profils utilisateurs, par rapport aux services du portail décisionnel (consultation, création de rapports. la demande, restriction des possibilités d’analyse) ;
• l’adaptation de l’ergonomie du portail décisionnel à l’entreprise.

Les Univers et les tableaux de bord sont soumis à des tests unitaires fonctionnels et techniques.

L’intégration

Les deux chantiers de réalisation (alimentation et restitution) ont été réalisés sur des bases de données identiques, mais physiquement distinctes. Les tests d’intégration se font autour d’une seule base de données, dans une configuration matérielle et système aussi proche que possible de celle de l’environnement de production final du portail. Les modules d’alimentation et de restitution sont testés ensemble.

bonnes-feuilles-41-8.gif


La figure 6 illustre le passage de la phase de développement à la phase d’intégration.
Les données sont traitées dans le système de gestion du contenu (alimentation) pour être archivées dans l’entrepôt ou le datamart. Ces mêmes données sont restituées dans les états développés, et il est fréquent de constater des dysfonctionnements lors de l’intégration. Cela est normal, car dans tout projet, les éléments sont réalisés séparément et ensuite intégrés. Les problèmes se produisent avec des spécifications non suffisamment détaillées, imprécises ou avec un dictionnaire des données comportant des erreurs ou enfin que les tests unitaires effectués sur des données reconstituées ne couvrent pas tous les cas.

Réalisation du manuel d’installation

Le manuel d’installation liste l’ensemble des éléments nécessaires. L’installation, comprenant les composants de l’application elle-même, les utilitaires d’installation avec leur manuel.

Réalisation du dossier d’exploitation

Les réalisateurs sont les mieux placés pour rédiger le dossier d’exploitation qui comprend les composants directement exécutables par les machines avec leur ordonnancement, la volumétrie de disques nécessaires aux différentes étapes de la gestion de contenu et les opérations de sauvegardes.

Réalisation du manuel utilisateur

Le manuel utilisateur est réalisé classiquement par l’équipe de développement, bien que ce ne soit pas une obligation. Il présente aux utilisateurs les fonctionnalités de créations de rapports, le mode d’utilisation du rafraîchissement des tableaux de bord en mode
« Pull » ou « Push », l’ergonomie de navigation du portail.


VALIDATION DU PRODUIT

Il s’agit de valider la conformité de l’application au cahier des charges et aux spécifications.

Carte d’identité

bonnes-feuilles41-8.gif


Les enjeux fonctionnels


Les enjeux fonctionnels sont d’éprouver la robustesse de la gestion de contenu, des services du portail décisionnel afin d’accepter la livraison du produit fini, préalable au déploiement utilisateurs.

Les enjeux techniques


L’enjeu technique est l’obtention d’une application maintenable et exploitable.


Écueils à éviter : Exemple rencontré
L’exemple suivant illustre la nécessité d’une phase d’intégration. En phase de développement, le projet comportait classiquement trois chantiers : le chantier d’alimentation, le chantier de restitution et le chantier de modélisation. La modélisation a fourni à l’alimentation et à la restitution une base de données identique. Le développement de la chaîne d’alimentation a été réalisé d’une manière autonome. Les tests ont été réalisés au fil de l’eau par la même équipe, en vérifiant que la base de données (entrepôt) a bien été chargée selon les spécifications. Il en a été de même pour le développement des tableaux de bords. L’équipe de développement des restitutions a initialisé sa propre base de données (autre copie de l’entrepôt) avec des données fictives de tests, qui ont servi à vérifier la mise au point des tableaux de bords. L’ensemble des composants (base de données, programmes d’alimentation, programmes de restitutions) a ensuite directement été livré, en vue d’effectuer la recette. Elle a consisté dans un premier temps à alimenter la base de données, et dans un deuxième temps à restituer les indicateurs dans les tableaux de bord à partir de cette base de données commune. A la deuxième phase (recette des tableaux de bords), des dysfonctionnements apparurent :
• Certaines références (codes) insérées dans la base avaient des valeurs non attendues par la restitution, car les tests imaginés par l’équipe de restitution en phase de développement étaient incomplets.
• Certaines valeurs d’agrégation insérées dans la base de données étaient fausses, et cela n’avait pas été mis en évidence dans les tests de développement de l’alimentation. Si, consécutivement à la réalisation, une étape d’intégration avait été mise en place, ces problèmes auraient été détectés à ce moment-là, et non pas en phase de recette face à la maîtrise d’ouvrage, découvrant la non stabilité de l’application.




Description de l’étape

Les bonnes pratiques

Pour que la recette se déroule dans les meilleures conditions, il est conseillé qu’elle soit guidée par un cahier de recette. En effet, c’est la phase finale du projet qui requiert toutes les attentions et qui exige une rigueur certaine dans l’élaboration des tests. Les scénarios sont réalisés en tenant compte des règles de gestion. La recette porte autant sur la chaîne de gestion de contenu que sur la restitution des données.

Principes de la recette

Les deux classes de tests sont les tests fonctionnels et les tests d’exploitation. Ils sont réalisés dans deux .tapes projet bien distinctes : la VABF et la VSR.

Les tests fonctionnels

Ils s’appliquent aux produits en sortie des trois chantiers du projet : la chaîne d’alimentation (gestion de contenu), l’intégrité de la base de données et les restitutions (présentation des états et intégrité des restitutions).

• la recette de la chaîne d’alimentation consiste à charger des données réelles dans les bases de données. Elles sont extraites des applications sources, avec la volumétrie attendue pour la mise en production définitive. Le premier chargement est particulier et très important : il consiste à initialiser l’entrepôt de données et les datamarts, à partir de l’historique du système d’information.
• Vérifier l’intégrité des bases de données consiste à s’assurer de la cohérence fonctionnelle de ces dernières, une fois les bases chargées.
• La recette des restitutions consiste, entre autre, à vérifier les indicateurs présentés dans les tableaux de bord. Pour ce type de tests, les tableaux de bord sont rafraîchis et les données obtenues sont analysées et comparées avec celles du système d’information.

Les tests d’exploitation


L’ensemble des fonctions d’exploitation est exécuté en mode « normal » et en mode « dégradé » (fonctionnement réduit). Les tests incluent le paramétrage des horaires de lancement de la chaîne d’alimentation des données, le lancement en mode « manuel » de la chaîne d’alimentation, l’arrêt en cours d’exécution de la chaîne d’alimentation suivi de son redémarrage en mode « reprise » sur son dernier point d’arrêt, la visualisation des traces, la supervision du bon déroulement du traitement d’alimentation et la possibilité de rejouer un flux d’alimentation.

Durant la phase de tests d’exploitation, la robustesse du produit est mise à l’épreuve par la génération de divers incidents et pannes.
Des tests sont, de plus, effectués sur la capacité d’installation du produit sur le réseau. Ils sont effectués sur la base de la documentation et des scripts fournis par l’équipe de réalisation.

Phase projet VABF

La vérification de l’aptitude au bon fonctionnement (VABF) se déroule en général sur une plate-forme de qualification.
Les tests d’alimentation concernent le chargement des données dans l’entrepôt, le lancement des agrégations des données, la visualisation des traces de chargement, la visualisation des rejets puis la correction et le rechargement des données rejetées.
Les tests de restitution sont, quant à eux, la connexion de l’utilisateur à l’environnement de restitution, l’accès au référentiel, la présentation des tableaux de bord prédéfinis, les calculs locaux, le rafraîchissement automatique, le rafraîchissement à la demande et la vérification de la compatibilité des données fonctionnelles entre elles lors de la création des requêtes à la demande.
Toutes les actions entreprises, tous les événements constatés, et tous les résultats obtenus sont notés dans un cahier de bord, tenu par les expérimentateurs. Pour chaque problème rencontré des fiches d’observation (FO) sont rédigées, et validées par le responsable de la VABF.


Écueils à éviter : Exemple 1
Cet exemple concerne un projet d’entrepôt de données développé sans utiliser de données réelles. L’ensemble des développements a été testé conformément aux spécifications avec des valeurs fictives, imaginées par les équipes de développement. Des simulations de « panier de la ménagère » ont été réalisées avec des algorithmes de répartition des produits, en quantité et en prix en fonction de critères fonctionnels. La base de données a été initialisée sur cette base. La décision a été prise d’effectuer la recette des tableaux de bord sur les données fictives. La maîtrise d’ouvrage s’est rendue compte rapidement qu’il s’agissait également d’une recette aussi fictive que les données. Les cas nominaux étaient couverts, mais pas ceux moins courants. De plus, il manquait des valeurs. Le point le plus bloquant est la validité générale de la démarche : comment voulez-vous valider le fonctionnement d’un produit quand vous ne l’essayez pas dans des conditions quasi réelles ?

Écueils à éviter : Exemple 2
Cet exemple concerne un projet d’entrepôt de données dont la maîtrise d’ouvrage avait omis l’élaboration d’un cahier de recette. C’est à dire que cette dernière s’est effectuée sans stratégie et scénarios de tests particuliers. Lorsque le portail décisionnel a été ouvert aux utilisateurs, des incohérences fonctionnelles ont été constatées dans l’entrepôt de données. Dans ce cas, il devenait inutilisable aux yeux des utilisateurs. La décision a été prise d’élaborer un cahier de recette en précisant une stratégie et en dressant une liste exhaustive des tests à effectuer. Au final, lorsque la recette fut validée et le portail décisionnel mis à la disposition des utilisateurs, les équipes (MOA et MOE) reçurent des félicitations.



Phase projet VSR
La vérification en service régulier (VSR) est réalisée après la VABF. Elle consiste au suivi du fonctionnement du portail décisionnel dans le réseau de production. Il est surveillé de manière approfondie, et les résultats (les tableaux de bord) ne sont diffusés qu’à des utilisateurs spécifiques, chargés de l’expérimentation.

La VSR est une exploitation normale du produit. Elle ne nécessite donc pas la réalisation de tests particuliers, ni la rédaction d’un cahier de recette.

Au cours de la VSR, en fonction des résultats des tests, différentes décisions peuvent être prises : la livraison d’une nouvelle version sur le site de production, la poursuite de la VSR, le retour en VABF ou encore l’achèvement des tests.

(1) Cf. le site http://www.mega.com.  
(2) Cf. le site http://www.sybase.fr.  
(3) Les colonnes désignent les champs.
DotNet
Réduire
DÉVELOPPEMENT DotNet
Boostez vos applications avec du code « non managé »
Par Frédéric Millot - Copyright L'Informaticien, tous droits réservés

DotNet expose tous les outils nécessaires pour concevoir des algorithmes en code non managé qui allient robustesse et élégance. Avec, preuves à l’appui, un bénéfice non négligeable pour vos applications : jusqu’à presque 100 % de performances en plus…

Pour le commun des développeurs, tout l’intérêt de DotNet repose sur l’utilisation du code « managé » – appelé également « géré ») –, c’est-à-dire de classes dont la structure et le comportement sont en quelque sorte contrôlables par l’OS de la machine hôte. En contrepartie de cette facilité que représente le contrôle des applications par l’OS, une des règles de base du code managé est que les pointeurs en sont proscrits. Là réside la principale explication de la stabilité des nouvelles plates-formes Microsoft. Car, qui dit pointeur, dit accès immédiat à la mémoire, donc plus aucun moyen pour l’OS de protéger les processus cibles de débordements, de dépassement de piles ou de simples corruptions de données par adressage direct.

Mais en évitant les pointeurs dans ses API pour en augmenter la robustesse, DotNet a du même coup nettement diminué ses performances. Avec ou sans pointeurs, la vitesse de traitement des données peut en effet varier du simple au centuple (nous en avons maintes fois fait l’expérience), et dépasser ainsi les limites de l’acceptable. Heureusement, pour les parties de code vraiment stratégiques, celles qui déterminent les possibilités d’utilisation d’un logiciel et/ou qui s’avèrent les plus fréquentes au profilage, il existe une voie de contournement acceptée par l’environnement.
Ajoutons que le C#, indépendamment de DotNet, supporte l’utilisation de pointeurs. Microsoft n’a semble-t-il pas voulu reproduire l’erreur de Java, que bon nombre de développeurs C et C++ ont toujours eu du mal à accepter, précisément parce que, lui, a toujours interdit les pointeurs. Il est donc possible d’optimiser très finement une application via ses routines critiques. C’est ce que nous allons voir ce mois-ci.  

L’idée générale, c’est d’intercaler dans les algorithmes déterminants des instructions dites « unsafe » et marquées ainsi dans le code. Ces instructions sont souvent appelées à partir de l’API Win32 sous-jacente à l’OS. Elles effectuent des manipulations de pointeurs, déclarés au préalable, sur des données le plus souvent bufferisées. Tout cela semble donc bien en contradiction structurelle avec la surface exposée de DotNet, mais celui-ci fournit en réalité tous les instruments nécessaires à l’interaction entre les deux univers. Petite mise en garde : les techniques utilisées sont parfois un brin complexes.
Mais rien ne vaut un bon exemple et plutôt que de nous perdre en conjectures théoriques, abordons tout de suite la mise en œuvre concrète de cette affaire. Pour en couvrir tous les aspects, nous allons nous fixer une mission simple et ambitieuse : diminuer par 10 – au minimum ! – les temps de chargement de 1 000 000 d’enregistrements clients par rapport à une désérialisation traditionnelle en code managé. Comme chaque mois, vous trouverez sur notre site un exemple exécutable complet – et son code source intégral – mettant en musique l’ensemble de la partition. À vous d’en faire le meilleur usage dans vos propres applications.


Commençons par définir un enregistrement client tout ce qu’il y a de plus classique :

[Serializable]
public class Client
{
  public string Numero
  {
    get { return (_strNumero); }
    set { _strNumero = value; }
  }
  string _strNumero;

  public string Nom
  {
    get { return (_strNom); }
    set { _strNom = value; }
  }
  string _strNom;

  public string Adresse
  {
    get { return (_strAdresse); }
    set { _strAdresse = value; }
  }
  string _strAdresse;

  public string CP
  {
    get { return (_strCP); }
    set { _strCP = value; }
  }
  string _strCP;

  public string Ville
  {
    get { return (_strVille); }
    set { _strVille = value; }
  }
  string _strVille;

  public Client()
  {
  }
}

Pour sérialiser ou désérialiser un tableau de 1 000 000 clients en utilisant le code managé le plus orthodoxe, rien de plus simple :

public int Deserialize(string strFileName)
{
  FileStream stream;
  BinaryFormatter formatter;

  try
  {
    formatter = new BinaryFormatter();
    using (stream = new FileStream(strFileName,
      FileMode.Open, FileAccess.Read, FileShare.Read))
      {
       _arrayOfClient = (Client[])formatter.Deserialize(stream);
      }
// INSTRUCTION INVERSE (SÉRIALISATION)
// using (stream = new FileStream(strFileName,
//   FileMode.Create, FileAccess.Write, FileShare.None))
//   {
//     formatter.Serialize(stream, _arrayOfClient);
//   }
    // Retourne OK.
    return (0);
  }
  catch (Exception)
  {
    return (-128);
  }
}


L’avantage de cette méthode, c’est qu’avec une réelle économie de moyens, elle lit toutes les données de notre fichier binaire directement dans les objets cibles regroupés dans le tableau. Mais ces objets sont des types référence, si bien que l’opération nécessite un temps considérable pour que les données soient lues, « marshalées » (c’est-à-dire validées en tant que types références), puis assignées à chacun des champs des objets clients. Pour faire simple, ce temps est dû à la création de tampons mémoire pour chaque champ de chaque enregistrement, afin que les données lues soient « boxées » puis « déboxées », c’est-à-dire qu’elles passent d’un état unsafe à un état safe.

Pour optimiser au maximum les temps de traitement et éviter un intense effort au CPU, nous voulons contourner l’ensemble de ces opérations en lisant directement, à la volée et au format binaire, nos données brutes directement dans les enregistrements correspondants. Pour cela, il nous faudrait des instruments de lecture de bas niveau, qui en plus soient adaptables aux spécificités de nos données métier. Est-ce trop en demander ? Beaucoup de développeurs C# / Dotnet souhaiteraient disposer de telles API rapides. Mais Microsoft a préféré les en dépourvoir, pour précisément les forcer à rester dans le cadre du code managé. C’est un choix raisonnable, dès lors qu’il n’est pas absolument impossible de faire autrement.

Et justement, pour faire autrement et atteindre notre objectif initial, nous allons commencer par extraire de l’API Kernel32.DLL deux fonctions parmi ses plus connues :

public unsafe class UnsafeFileStream : FileStream
{

  [DllImport("kernel32", SetLastError = true)]
  private static extern unsafe bool ReadFile
  (
    Microsoft.Win32.SafeHandles.SafeFileHandle hFile,
    void* pBuffer,
    int numberOfBytesToRead,
    out int numberOfBytesRead,
    int overlapped
  );

  [DllImport("kernel32.dll", SetLastError = true)]
  private static extern unsafe bool WriteFile
  (
    Microsoft.Win32.SafeHandles.SafeFileHandle handle,
    void* bytes,
    int numBytesToWrite,
    out int numBytesWritten,
    int overlapped
  );


Cette extraction a lieu à l’intérieur de la déclaration de notre classe de manipulation de fichiers de bas niveau, qu’on nommera pour l’occasion « UnsafeFileStream ». Notez que cette classe dérive de FileStream et qu’elle peut donc être utilisée en lieu et place de cette dernière. Nous allons ensuite déclarer trois constructeurs de mappage pour les trois constructeurs de la classe de base :

public TG_UnsafeFileStream(string strFileName) :
  base(strFileName, FileMode.Open)
  {
  }

public TG_UnsafeFileStream(string strFileName, FileMode mode) :
  base(strFileName, mode)
  {
  }

public TG_UnsafeFileStream(string strFileName, FileMode mode,   
  FileAccess access) :
  base(strFileName, mode, access)
  {
  }

Venons-en maintenant à la déclaration de nos routines de bas niveau, dont la raison d’être est – rappelons-le – de permettre la lecture et l’écriture de données binaires par l’intermédiaire de pointeurs :

int _Read(void* buffer, int iCount)
{
  int i;
   
  // Initialise le compteur de lecture.
  i = 0;
  // Lit les données brutes par tampons de taille iCount.
  if (!ReadFile(this.SafeFileHandle, buffer, iCount, out i, 0))
    throw new IOException(string.Format("problème de lecture",
    Marshal.GetLastWin32Error()));
  // Retourne le nombre d’octets effectivement lus.
  return (i);
}


int _Write(void* buffer, int iCount)
{
  int i;

  // Initialise le compteur d’écriture.
  i = 0;
  if (!WriteFile(this.SafeFileHandle, buffer, iCount, out i, 0))
    throw new IOException(string.Format("problème d’écriture ",
    Marshal.GetLastWin32Error()));
  // Retourne le nombre d’octets effectivement écrits.
  return (i);
}


Ces deux routines passent directement par les fonctions Kernel extraites plus haut. Tout le « truc », à ce stade, réside dans l’utilisation du handle de bas niveau du fichier correspondant au stream en cours (this.SafeFileHandle, le this faisant référence ici à l’instance de notre classe UnsafeFileStream). Grâce à ce handle, nous pouvons router directement nos appels au noyau du système, qui les exécute à la vitesse de l’éclair. Et pendant qu’on y est, on s’offre même le luxe de récupérer le cas échéant les messages d’erreur de l’OS, marshalés par une méthode statique pour pouvoir être affichés ou loggés directement par la routine ou l’application hôte.

Nous avons donc atteint ici le premier de nos objectifs : nous pouvons maintenant lire et écrire un buffer directement, sous DotNet, en contournant toute la mécanique de contrôle de l’environnement et, par conséquent, en gagnant jusqu’à 90 % du temps de traitement classique. Mais à partir de ce résultat, il est possible, depuis DotNet 2.0, de faire beaucoup mieux encore. Voyez les deux méthodes suivantes :

public int Read<StructType>(void* buffer) where StructType : struct
{
  return(_Read(buffer, Marshal.SizeOf(typeof(StructType))));
}


public int Write<StructType>(void* buffer) where StructType : struct
{
  return(_Write(buffer, Marshal.SizeOf(typeof(StructType))));
}


Grâce à une implémentation élégante donc intelligente des génériques, DotNet 2.0 nous permet de déclarer une structure générique en paramètre formel à nos deux méthodes de lecture et d’écriture. C’est parce qu’elles sont des types valeurs – par opposition aux classes qui sont des types références – que les structures peuvent être déclarées globalement en tant que types génériques. C’est pour cette raison aussi que DotNet peut accepter de ne pas les déplacer en mémoire, et qu’on peut par conséquent pointer dessus de façon fiable. C’est pour cette raison enfin qu’elles peuvent servir de cibles directes à nos opérations de lecture de bas niveau, qui ne demande pour fonctionner qu’un pointeur sur un buffer quelconque.

Cette possibilité ouvre la porte à un niveau d’optimisation encore plus poussé, et cela sans débauche de code, puisque ces deux seules routines déclarées telles quelles une seule fois peuvent se plier à toutes les utilisations métier et cela pour une infinie variété d’objets. Il suffit de leur indiquer quel est le type de la structure à utiliser pour qu’elles permettent de transformer des données binaires brutes en données structurées par simple assignation des blocs d’octets bruts en mémoire. On n’a jamais fait plus rapide.

En pratique, pour passer de ces données brutes à nos objets métier (c’est-à-dire notre million de clients), il va nous falloir déclarer une structure de mappage qui réunisse les deux qualités que nous venons d’évoquer. Premièrement : fonctionner comme un buffer accessible par pointeurs, afin qu’on puisse l’utiliser directement avec nos outils fichiers de bas niveau. Deuxièmement : être structurée de telle sorte qu’elle ne nécessite aucun traitement, réalignement ou autre transformation des données. En d’autres termes, notre structure de mappage idéale devra être conçue de telle sorte qu’elle se prête à un parsing facile et algorithmiquement rapide. Nous allons donc la déclarer de la façon suivante :

[StructLayout(LayoutKind.Sequential, Pack = 1)]
unsafe struct UnsafeClient
{
  public fixed sbyte sbaBuffer[
    Client.ciFIELD_LENGTH_NUMERO +
    Client.ciFIELD_LENGTH_NOM +
    Client.ciFIELD_LENGTH_ADRESSE +
    Client.ciFIELD_LENGTH_CP +
    Client.ciFIELD_LENGTH_VILLE +
    Client.ciFIELDS];
}


Cette déclaration, complexe, appelle plusieurs remarques. D’abord ses attributs. Comme son nom l’indique, « StructLayout » définit la façon dont les données sont structurées dans le type. La constante Sequential de l’énumération LayoutKind signifie que l’exécutif DotNet force les données à être manipulées dans l’ordre de leur déclaration. Sans cet attribut, DotNet pourrait les réarranger pour optimiser son exécution, ce qui les rendrait incompatibles avec le code non managé qui, lui, les attend précisément dans cet ordre là. La valeur 1 pour l’attribut Pack signifie quant à elle que l’alignement en mémoire des données constituant les champs de la structure s’effectue à l’octet près. Passer en revue toutes les options d’alignement des structures unsafe n’est pas l’objet de cet article. Vous en trouverez une liste complète dans les pages MSDN consacrées à l’API System.Runtime.InteropServices (http://msdn2.microsoft.com/en-us/ library/system.runtime.interopservices.structlayoutattribute.aspx). C’est cette API qui est chargée de l’essentiel des interactions entre environnement managé et environnement libre.

Remarquez également que notre structure porte le modificateur « unsafe ». Celui-ci est également utilisable pour qualifier une suite d’instructions, comme nous le verrons ci-dessous. Il faut donc, pour pouvoir utiliser des données unsafe avec du code unsafe que les deux soient ainsi explicitement déclarés. Le modificateur « fixed » complète unsafe en indiquant au ramasse-miettes (alias Garbage Collector) que les données ne peuvent être déplacées en mémoire. Fixed se rapporte ainsi à l’emplacement mémoire où se trouvent les données, et sur lequel pointent les tampons utilisés par les routines de bas niveau. Sachez que la fixation d’une telle zone mémoire n’est permise que dans le contexte d’une déclaration unsafe préalable.

Enfin, il ne vous aura pas échappé que nous ne déclarons finalement qu’un seul champ dans cette structure, un tableau de short bytes dont la longueur correspond à l’addition des tailles de chacun des champs de l’objet client, plus au final un compteur de champs. C’est la façon la plus optimale de déclarer notre tampon de lecture écriture, car nous n’avons ainsi qu’un seul bloc de données à manipuler dans nos opérations de bas niveau. Déclarer et traiter chacun des champs séparément aurait inutilement granularisé les opérations. Dans notre déclaration, cette dimension de tableau est une addition de constantes que nous pouvons définir dans le corps de notre classe Client, comme ceci :

// Nombre de champs dans l’objet.
public const int ciFIELDS = 5;

// Taille des champs.
public const int ciFIELD_LENGTH_NUMERO = 7;
public const int ciFIELD_LENGTH_NOM = 30;
public const int ciFIELD_LENGTH_ADRESSE = 50;
public const int ciFIELD_LENGTH_CP = 5;
public const int ciFIELD_LENGTH_VILLE = 30;


Voilà, nous avons disposé tous les éléments pour passer à la phase opérationnelle de notre mission : (dé)sérialiser nos clients aussi vite que la machine le peut. Il ne nous reste plus maintenant qu’à concevoir les algorithmes qui permettront, grâce à nos méthodes de bas niveau, et par l’intermédiaire de notre structure de mappage, de transformer le contenu de fichiers binaires en objets clients dûment managés (et inversement). En voici deux propositions :

public int DeserializeFast(string strFileName)
{
  int i, j, k, iOffset, iSize, iItems, iFields;
  int[] iaSizes;
  FileInfo fi;
  UnsafeClient unsafeClient;

  try
  {
    if (!File.Exists(strFileName))
      return (-2);
    unsafe
    {
      // Détermine le nombre de clients dans le fichier.
      fi = new FileInfo(strFileName);
      iItems = (int)(fi.Length / sizeof(UnsafeClient));
      // Crée et dimensionne le tableau des clients.
      _arrayOfClient = new Client[iItems];
      // Crée et utilise un stream de fichier unsafe.
      using (UnsafeFileStream ufs = new UnsafeFileStream(strFileName,   
        FileMode.Open))
      {
        // Positionne l’index du stream au début.
        ufs.Seek(0, SeekOrigin.Begin);
        // Initialise la tableau contenant la taille des champs d’un       
        //   objet Client.
        iFields = Client.ciFIELDS;
        iaSizes = new int[iFields];
        // Désérialise les clients un par un.
        for (i = 0; i < iItems; i++)
        {
          // Lit le tampon depuis le disque.
          ufs.Read<UnsafeClient>(&unsafeClient);
          // Prepare les variables de parsing du buffer.
          for (j = 0, iSize = iFields; j < iFields; j++)
          {
            iaSizes[j] = unsafeClient.sbaBuffer[j];
            iSize += iaSizes[j];
          }
          // Peuple les champs des objets clients.
          j = k = 0;
          _arrayOfClient[i] = new Client();
          _arrayOfClient[i].Numero = new string(unsafeClient.sbaBuffer,
            (iOffset = iFields), iaSizes[j++]);
          _arrayOfClient[i].Nom = new string(unsafeClient.sbaBuffer,
            (iOffset += iaSizes[k++]), iaSizes[j++]);
          _arrayOfClient[i].Adresse = new string(unsafeClient.sbaBuffer,
            (iOffset += iaSizes[k++]), iaSizes[j++]);
          _arrayOfClient[i].CP = new string(unsafeClient.sbaBuffer,
            (iOffset += iaSizes[k++]), iaSizes[j++]);
          _arrayOfClient[i].Ville = new string(unsafeClient.sbaBuffer,
            (iOffset += iaSizes[k]), iaSizes[j++]);
        }
        // Ferme le stream de fichier unsafe.
        ufs.Close();
      }
    }
    // Retourne OK.
    return (0);
  }
  catch (Exception)
  {
    return (-128);
  }
}


public int SerializeFast(string strFileName)
{
  int i, j, k, l, iSize, iItems;
  UnsafeClient unsafeClient;

  try
  {
    unsafe
    {
      // Retourne si le tableau des clients n’est pas instancié.
      if (_arrayOfClient == null)
        return (-1);
      // Détermine le nombre de clients à sérialiser.
      iItems = _arrayOfClient.Length;
      // Crée et utilise un stream de fichier unsafe.
      using (UnsafeFileStream ufs = new UnsafeFileStream
        (strFileName, FileMode.Create))
      {
        // Sérialise les clients un à un.
        for (i = 0; i < iItems; i++)
        {
          // Crée un buffer de client.
          unsafeClient = new UnsafeClient();
          // Remplit ce tampon avec tous les champs dss objets clients   
          //   séquentiellement.
          iSize = 0;
          j = _arrayOfClient[i].Numero.Length;
          unsafeClient.sbaBuffer[iSize++] = (sbyte)j;
          for (k = 0, l = Client.ciFIELDS; k < j; k++)
            unsafeClient.sbaBuffer[l++] =  
              (sbyte)_arrayOfClient[i].Numero[k];
          j = _arrayOfClient[i].Nom.Length;
          unsafeClient.sbaBuffer[iSize++] = (sbyte)j;
          for (k = 0; k < j; k++)
            unsafeClient.sbaBuffer[l++] =  
              (sbyte)_arrayOfClient[i].Nom[k];
          j = _arrayOfClient[i].Adresse.Length;
          unsafeClient.sbaBuffer[iSize++] = (sbyte)j;
          for (k = 0; k < j; k++)
            unsafeClient.sbaBuffer[l++] =  
              (sbyte)_arrayOfClient[i].Adresse[k];
          j = _arrayOfClient[i].CP.Length;
          unsafeClient.sbaBuffer[iSize++] = (sbyte)j;
          for (k = 0; k < j; k++)
            unsafeClient.sbaBuffer[l++] =  
              (sbyte)_arrayOfClient[i].CP[k];
          j = _arrayOfClient[i].Ville.Length;
          unsafeClient.sbaBuffer[iSize++] = (sbyte)j;
          for (k = 0; k < j; k++)
            unsafeClient.sbaBuffer[l++] =  
              (sbyte)_arrayOfClient[i].Ville[k];
          // Writes the buffer to disk.
          ufs.Write< UnsafeClient>(&unsafeClient);
        }
        // Ferme le stream de fichier unsafe.
        ufs.Close();
      }
    }
    // Retourne OK.
    return (0);
  }
  catch (Exception)
  {
    return (-128);
  }
}


Si vous nous avez suivis jusqu’ici, la lecture des deux algorithmes précédents ne devrait pas vous surprendre. Si on les récapitule brièvement, ils se déclarent comme effectuant des traitements unsafe, ils déterminent dynamiquement le nombre d’éléments à (dé)sérialiser, ils ouvrent un flux unsafe sur le fichier dont le nom est passé en paramètre puis ils lisent ou écrivent des blocs de données vers/depuis la structure tampon jusqu’à la fin du fichier ou du tableau. À chaque lecture, ces blocs sont parsés en fonction de la taille des champs. Ces indicateurs de taille sont enregistrés séquentiellement à la fin de chaque blocs.

 Autrement dit, à l’offset du champ ciFIELDS se trouvent autant d’octets qu’il y a de champs, et chaque octet contient une valeur représentant la taille du champ, tel que définie dans la classe. Ce sont ces indicateurs qui permettent le parsing rapide soit à partir des constructeurs des strings qui composeront les objets cibles finaux (désérialisation), soit par simple boucles explicitement incrémentales.

Résultat des courses : quelle que soit la machine utilisée, nos algorithmes non managés sont environ 40 fois plus rapides que la méthode DotNet traditionnelle pour effectuer les mêmes traitements. Oui, vous avez bien lu ! Ainsi, sur notre plate-forme de test, nous passons de 6 minutes et 19 secondes… à 12 secondes – et encore, pour un fichier qui, lui, passe de 81 Mo à 124 Mo. Ce bénéfice tend d’ailleurs à s’accroître avec la lourdeur des traitements… Autrement dit, ces algorithmes rendent possibles des opérations qui, sans eux, resteraient inenvisageables en production. Et cela avec une réelle élégance de conception et de codage. Il aurait été dommage de s’en priver, non ?     n

Page 1
Réduire
LES « PLUS » DE VISTA
(1ère Partie)
Vista va-t-il améliorer la productivité des utilisateurs ?
par Hugo Lunardelli - copyright L'Informaticien, tous droits réservés.

wallpaper1proper.gifAu moment où Microsoft s’apprête à finaliser Vista, il reste difficile a priori d’évaluer l’impact de cette nouvelle version de Windows en termes de productivité pour l’entreprise. Après tout, la raison d’être d’un outil est de permettre à son utilisateur de gagner en efficacité et, concernant plus spécifiquement Vista, le moins que l’on puisse en attendre est qu’il permette aux utilisateurs bureautiques d’être plus efficaces que s’ils restaient sous Windows XP.

L’utilisation de Vista nous rendra-t-il plus productif ? Tentons de répondre à la question en examinant les changements introduits par ce système sous l’angle de la facilité d’utilisation, du gain de temps, de l’ouverture fonctionnelle, voire du confort ou de l’esthétique.
Ce dossier se propose de passer en revue les principaux changements amenés par Vista dans l’utilisation au jour le jour de Windows. La première partie traitera en particulier des nouveautés de Vista dans les domaines suivants : nouvelle interface utilisateur, nouveaux explorateurs de Vista, intégration d’un moteur de recherche au système et enfin navigation. Une deuxième partie à paraître le mois prochain traitera plus particulièrement de l’installation, de la performance du système, de son administration et de sa maintenance.

Après cinq ans d’attente et de rebondissements divers, Microsoft s’apprête enfin à commercialiser Vista. Dans les deux ans qui viennent, Microsoft prévoit que deux cents millions de copies de Vista seront déployées. Autant d’utilisateurs qui vont être amenés à découvrir et à s’habituer progressivement à une nouvelle version de Windows.
Jusqu’à une date récente mon expérience avec Vista reposait sur l’installation de la bêta 2, lorsque celle-ci fut rendue disponible en avril dernier. Comme de nombreux utilisateurs curieux d’essayer enfin la première refonte de Windows en cinq ans, l’attente était forte de ce premier contact et la déception fut à la mesure de l’attente. Ayant testé toutes les bêtas de Windows depuis Windows 3.0 en 1990, je me suis trouvé pour la première fois en face d’un système tellement lourd, instable et buggé dans des proportions inédites que j’ai été amené à le désinstaller.

Après cette douche froide, il était difficile de rester optimiste et de prendre au sérieux les intentions de Microsoft de finaliser Vista en 2006.


Et vint la RC1

Contre toute attente, début septembre Microsoft ouvrait les vannes de la Release Candidate 1 de Vista (lire l’Informaticien n° 40). Surprise, ce build s’installait presque tout seul en deux fois moins de temps que la bêta 2. Stable, performant, réactif, en voie de finalisation : telles furent mes premières impressions lors de la prise en main de la RC1. C’est sur cette préversion (en anglais) quasiment finalisée que repose le dossier ci-après.


À la découverte de Vista

Pour avoir lu beaucoup de pages sur Vista, je pensais être d’ores et déjà assez familier du système. Après plusieurs jours d’utilisation et à mon heureuse surprise, force m’est de constater que Vista est fonctionnellement et visuellement beaucoup plus riche que je ne le soupçonnais. De fait, une période d’adaptation est nécessaire pour découvrir progressivement l’étendue des possibilités offertes par Vista.

A contrario, je me suis trouvé désorienté à plusieurs reprises en essayant d’effectuer des tâches courantes, compte tenu des modifications substantielles introduites dans Vista par rapport à XP. C’est particulièrement vrai dans le domaine du paramétrage réseau.
Difficile également de ne pas mentionner l’agacement ressenti au contact du fameux UAC – ou « User Access Control ». Cette surcouche de sécurité qui a pour objectif louable de protéger le système n’en constitue pas moins un encadrement contraignant, obligeant l’utilisateur – et même dans mon cas l’administrateur – à valider la plupart des modifications apportées au système ; comme la sensation de contrainte que l’on éprouve en moto en devant mettre un casque là où d’habitude on roule tête nue. D’un autre côté, je suis désormais plus rassuré en sachant que tout autre utilisateur du système (et notamment mes enfants…) qui sera connecté en mode « utilisateur » ne pourra plus installer n’importe quoi, volontairement ou à son insu.


Aero, la nouvelle interface 3D de Vista

Figure3.gif
Figure 3. Coup d’œil sur toutes les applications ouvertes
via ALT + TAB avec Aero.

Aero Glass représente la signature graphique immédiatement reconnaissable de Vista. En travaillant sur une machine sous Aero Glass, il est difficile de ne pas être séduit par un environnement jouant sur la transparence des éléments, les effets 3D, les animations graphiques, ainsi qu’un grand nombre de petites touches contribuant à une impression d’esthétisme.
Au-delà de l’attrait que représente cette nouvelle interface, il importe de comprendre que pour la première fois dans l’histoire de Windows, Vista se décharge de l’affichage sur le processeur de la carte graphique (GPU) ; sous condition que celle-ci supporte le nouveau WDDM (Windows Driver Display Model). La conséquence de cette division du travail entre le processeur et la GPU est une fluidité de l’interface, un meilleur temps de réponse et la disparition de certains bugs visuels liés à des applications ne répondant plus.
L’exploitation de la GPU autorise un affichage plus riche et donc visuellement plus facilement exploitable de Windows. La barre des tâches, par exemple, affiche une image du contenu des applications ouvertes ce qui permet de visualiser rapidement le document sur lequel on veut revenir. Le même type d’affichage est disponible quand on utilise ALT + TAB pour basculer d’une application à l’autre avec en prime la possibilité de cliquer sur l’application voulue pour faire basculer la fenêtre correspondante au premier plan ; chose impossible sous XP…

Autre application d’Aero : l’affichage de miniatures visuelles (« Live icons ») dans les dossiers. L’Explorateur de Vista permet de visualiser les documents sous la forme d’une icône représentant la première page d’un document. Utile pour repérer d’un coup d’œil la couverture d’un dossier plutôt que de parcourir la liste des noms de fichiers.
Enfin, le flip 3D ou l’affichage en perspective d’un carrousel des applications ouvertes est l’élément visuellement le plus impressionnant. Une fois activé au moyen de la touche Windows + TAB, vous pourrez faire défiler les applications en utilisant la roulette de votre souris tout en visualisant le contenu de chaque fenêtre, y compris une vidéo en cours de lecture sous Windows Media Player ! Là encore, vous pourrez sélectionner la fenêtre voulue en cliquant sur celle-ci.

Si Windows Aero représente le mode graphique le plus évolué de Vista, trois autres options sont disponibles au cas où votre carte graphique ne supporterait pas WDDM.

• Vista Standard représente une version légèrement dégradée du mode Aero, sans la transparence et avec moins d’animations, tout en conservant la fluidité d’affichage.
• Vista Basic correspond au mode graphique de Windows XP avec le look de Vista. Ce mode est supporté par toutes les cartes graphiques utilisées sous Windows XP.
• Windows Classic enfin affiche une interface de style Windows 2000.
Concernant les différents modes d’affichage de Vista, il est important de souligner que Vista est parfaitement utilisable dans sa version Basic, ce qui est le cas de mon PC de bureau. Dans ce mode, l’utilisation de Vista s’apparente visuellement à celle de XP, sans que l’on puisse constater de différences notables en termes de performances dans le domaine de l’affichage.

En d’autres termes, une ancienne machine peut parfaitement être migrée sous Vista, même si elle est dénuée d’une carte graphique récente, de façon à bénéficier des avancées fonctionnelles du système. Rien n’empêche évidemment l’utilisateur de dépenser quelques dizaines d’euros pour l’achat d’une carte graphique supportant Aero Glass, la liste de ces cartes étant disponibles sur les sites d’ATI ou de NVidia, par exemple.
Enfin, l’utilisation de Vista sera d’autant plus confortable que vous disposerez d’un écran large, au format 16:10, qui consent un affichage étendu en largeur et facilite l’utilisation des gadgets Vista qui seront typiquement logés sur le côté droit de l’écran.
L’adage veut qu’un bon dessin soit plus efficace qu’un discours. Concernant Vista, il est clair que la nouvelle interface va introduire des notions jusqu’ici inconnues dans la planète Windows : le sentiment de gratification apporté par une interface visuellement riche, un confort d’utilisation lié au repérage à l’œil des éléments recherchés, une impression de souplesse dans la réponse du système…
Au-delà de Vista à proprement parler, la raison d’être d’un système d’exploitation est de supporter des applications et WPF (Windows Presentation Foundation) sur lesquelles reposent les fonctions graphiques. Vista va permettre l’avènement d’une nouvelle génération d’applications visuellement beaucoup plus riches que les applications 2D des générations précédentes de Windows. Les développeurs sont au travail et on peut s’attendre à voir arriver rapidement un grand nombre de nouveaux outils qui tireront parti de la richesse visuelle de Vista – tels Office 2007 ou l’excellent Paint.NET pour n’en citer que deux.

Figure1bis.gif
Figure 1. Vista avec l’interface Vista Basic conserve le nouveau look de Windows, à l’exclusion de la transparence, des animations…


Les Explorateurs Vista
Quoique apparemment familière, l’interface de Vista va vite révéler un certain nombre de changements et d’additions dont le sens et la portée mettront un certain temps à s’imposer.
Les deux évolutions majeures dans ce domaine concernent le, ou plutôt les explorateurs, ainsi que l’intégration de la fonction de recherche dans toutes les composantes du système – les deux étant d’ailleurs liés.

Il existe en fait plusieurs explorateurs qui vont exposer des outils différents en fonction du type de document manipulé (documents, images, morceaux de musique, vidéos…).
Il suffit pour s’en rendre compte de lancer l’Explorateur de Vista (touche Windows + E) faisant ainsi apparaître une fenêtre qui présente un ensemble d’outils beaucoup plus riche que sous Windows XP.
Sans entrer dans une description exhaustive de l’Explorateur, je soulignerai que la barre d’adresses permet désormais de naviguer entre les dossiers, sans nécessairement faire appel à l’arborescence des dossiers, d’ailleurs toujours disponible à gauche de l’explorateur. On pourra ainsi cliquer sur la flèche comprise entre chaque niveau de l’arborescence explorée. Cela permet d’afficher une liste déroulante des dossiers existant dans chaque niveau et d’en sélectionner un dans cette liste. Une nouvelle façon de naviguer en quelque sorte.

Les nouveaux outils de l’Explorateur

L’Explorateur de Vista offre un choix étendu dans les outils destinés à visualiser, rechercher et éditer les données. Il implémente une autre caractéristique de Vista, que l’on retrouvera dans la fonction de recherche, qui est le caractère contextuel du système. La barre de commandes, par exemple, affichera des options différentes suivant le type de fichiers (document, image, musique) contenu dans un dossier donné.
Cette barre de commandes est désormais horizontale, située juste en dessous de la barre d’adresses, et reprend et enrichit les services de la barre de commandes présente dans Windows XP. La différence essentielle étant que la barre de commandes de l’Explorateur est toujours présente, quoique discrète, alors que sous XP, il fallait choisir entre l’affichage de celle-ci ou de la liste des dossiers.
Parmi les nouveautés de l’Explorateur Vista figure l’ajout de nouveaux volets (« pane ») qui sont désormais au nombre de quatre. On trouve ainsi un volet « Recherche » que l’on examinera plus loin, un volet « Navigation » permettant d’afficher l’arborescence des dossiers, un volet « Prévisualisation » des documents qui affichera le rendu du document à droite, et enfin un volet « Détails », utile par exemple pour visualiser ou éditer les attributs (métadonnées) d’un fichier. On peut par exemple utiliser ce volet pour « tagger » une image en lui conférant des attributs permettant de la retrouver facilement le moment venu.
Chacun de ces volets est optionnel et répond à des besoins différents. Rien n’empêche de les afficher tous, auquel cas l’interface de l’explorateur risque de ressembler à une usine à gaz.

Figure6.gif
Figure 6. Explorateur Vista affichant l’ensemble des volets (recherche, détails, prévisualisation, navigation).

« One more thing » : à l’instar d’Internet Explorer 7 (et aussi de Firefox), toute fenêtre de l’Explorateur est doté d’un cartouche de recherche situé en haut à droite, au même endroit donc que les navigateurs pré-cités.
L’Explorateur cuvée Vista s’avère d’une grande richesse fonctionnelle et permettra à ceux qui s’investiront dans la complétude de ses fonctionnalités de gagner du temps dans les manipulations usuelles.

Page 2
Réduire
Un moteur de recherche intégré pour tout (re)trouver instantanément

Si l’Explorateur s’enrichit de nouveaux outils, la grande nouveauté dans l’utilisation de Vista réside dans son moteur de recherche intégré. À défaut de WinFS promis en 2003 et désormais tombé dans les limbes, Vista comprend un ensemble d’outils de recherche qui vont malgré tout influencer très sensiblement la productivité des utilisateurs.

Au risque de sembler commettre une lapalissade, si l’Explorateur sert à explorer, le moteur de recherche sert à rechercher – et à trouver – rapidement tout contenu du poste de travail.

En poussant un peu, on pourrait dire que la recherche intégrée dans Vista rend presque obsolète le classement et l’exploration traditionnelle basée sur la navigation dans des dossiers. Un utilisateur novice peut ainsi parfaitement créer des documents, copier des fichiers, importer des images sur sa machine en les stockant n’importe où tout en étant en mesure de les retrouver pour peu qu’il se rappelle du nom des objets voulus.
C’est évidemment une approche à déconseiller ne serait-ce que parce que l’on a parfois besoin de retrouver un document sans se souvenir de son nom. Dans ce cas de figure, l’Explorateur retrouve sa raison d’être et, si l’on a fait l’effort de classer ses documents dans des dossiers logiquement organisés, on a toute les chances de s’en sortir.

Instant search

Le moteur de recherche de Vista est intégré dans toutes les composantes du système : dans chaque fenêtre de l’Explorateur, dans le Panneau de contrôle, dans Internet Explorer ou dans le menu Démarrer. Dans l’Explorateur, il est possible à tout moment d’initier une recherche en entrant CTRL + E ce qui a pour effet de positionner le curseur dans le cartouche de recherche situé en haut à droite pour toutes les applications pré-citées.

Menu Démarrer

Quand on enfonce la touche Windows, Vista affiche une série de liens vers des programmes, à l’instar de XP, mais aussi un cartouche de recherche dans lequel le curseur se retrouve par défaut. On peut alors entrer le nom de l’item recherché. Chaque entrée au clavier affichera en lieu et place des programmes une liste dynamique d’objets répondant aux critères voulus et regroupés par type (programmes, documents, e-mails, image…). C’est par exemple très pratique pour lancer un programme dont on ignore l’emplacement ou pour retrouver un e-mail, ou n’importe quel document sur sa machine.
À noter que si Vista ne trouve pas d’items répondant aux critères entrés, un nouveau cartouche de recherche s’affiche en dessous du premier, proposant de transmettre la recherche sur Internet.

Recherche contextuelle

À la différence des outils de recherche tierce partie qui sont apparus ces derniers temps sous XP, la recherche dans Vista est contextuelle. Comme mentionné plus haut, chaque fenêtre de l’Explorateur est dotée de son cartouche de recherche, y compris par exemple le Panneau de contrôle. Si vous êtes dans ce dernier et que vous vous demandez dans quelle section trouver tel ou tel paramètre, il vous suffira d’entrer le mot clé voulu dans le cartouche et le panneau de contrôle affichera les « applets » correspondantes et rien d’autre.
De la même façon si vous êtes dans Windows Media Player et que vous rechercher « colour », les résultats présentés ne concerneront que vos fichiers audio ou vidéo, et non les options d’affichage du Panneau de contrôle.


Volet de recherche

Dans le cas de requêtes complexes et/ou récurrentes, vous pouvez dans l’Explorateur afficher le volet de recherche présentant de nombreuses options supplémentaires (emplacement pour les dossiers non indexés, date, auteur, taille, tags…). Ce volet vous permet de filtrer les résultats par type de documents (e-mail, document, image…). À noter que votre requête peut être sauvegardée pour être exécutée ultérieurement, on parle ici de dossiers virtuels qui afficheront la liste à jour des documents en lien avec la requête sauvegardée.

Figure8.gif
Figure 8. Volet de recherche avancée.


Options de recherche avancées et limites de l’outil

La limite principale de l’outil de recherche tient à ce que Vista ne permet pas d’indexer le contenu de ressources disque en réseau. Seuls seront pris en compte les disques attachés au système, la conséquence en étant de ralentir considérablement le temps nécessaire au traitement de requêtes portant sur des ressources externes.

Il existe deux moyens de contourner cette limitation. Pour les entreprises ayant déployé un réseau sous Windows Server 2003, l’administrateur réseau peut rediriger le contenu du dossier documents vers une ressource disque attachée à un serveur. Le contenu du dossier documents est alors mis en cache sur le poste client pour un accès off line ce qui permet une indexation locale par Vista.
De façon analogue mais sans nécessiter la présence de Windows Serveur, il est possible de synchroniser un dossier réseau avec un poste de travail. De la même façon que dans le cas pré-cité, Vista mettra en cache le contenu du dossier réseau et indexera son contenu.

En termes de productivité, l’intégration de la recherche dans toutes les composantes du système ouvre de nouvelles façons de travailler. Toutes les fonctions de Vista étant exposées au moteur de recherche, rien de plus facile que de lancer un utilitaire sans savoir, ni surtout sans avoir besoin de savoir, où il se trouve. Vous cherchez à afficher la liste des périphériques installés ? Tapez « device » dans le menu Démarrer et le premier choix de la liste sera le « device manager ». Vous cherchez un e-mail envoyé à un correspondant et portant sur un sujet précis ? Appuyez sur la touche Windows et tapez (to: « nom » « attribut ») et vous aurez la liste des e-mails correspondants. L’utilisateur de Vista n’aura plus d’excuse s’il ne trouve pas ses documents et le temps économisé à chercher sera réinvesti dans un travail plus productif.

INTERNET EXPLORER 7
Une navigation enrichie et sécurisée

Par rapport à Internet Explorer 6 qui équipe toujours la très grande majorité des postes Windows, Internet Explorer 7 sous Vista (et bientôt en version finale sous XP) apporte un grand nombre d’évolutions bienvenues.

À l’instar du navigateur Firefox, IE 7 permet d’être simultanément connecté à plusieurs sites dans une même instance du navigateur et de gérer le basculement d’un site à l’autre au moyen d’onglets. On peut ainsi regrouper plusieurs URL dans un dossier d’IE 7 de façon à ouvrir l’ensemble de ces sites ultérieurement en une seule opération. Par rapport à son concurrent, IE 7 offre un mode « Quick Tab » qui affiche sous forme miniature le contenu des différents sites ouverts permettant d’identifier visuellement la page voulue et de cliquer sur celle-ci pour la ramener au premier plan.

Figure9.gif
Figure 9. Le mode « Quick Tab » sous Internet Explorer 7.


IE 7 intègre pour la première fois la gestion de flux RSS

IE 7 comprend l’ensemble des outils permettant de visualiser, de souscrire et de consulter des flux RSS. À noter qu’il est possible de regrouper des flux RSS dans des dossiers, à l’instar de la gestion des favoris.

Au chapitre des touches visuelles bienvenues, notons qu’IE 7 permet de zoomer toute page au moyen d’une liste déroulante en bas à gauche de l’écran. Cette liste permet de spécifier le facteur d’agrandissement souhaité. On peut obtenir plus simplement le même résultat via l’utilisation conjointe de CTRL et du défilement de la molette de la souris ou encore en utilisant CTRL & touches + ou -.

L’impression n’est pas en reste avec un nouveau module Aperçu avant impression. Avec cet outil, on passe facilement du mode Portrait au mode Paysage, on enlève les en-têtes et bas de page, on change les marges et enfin il est possible de réduire la dimension de l’impression pour qu’elle tienne en une page.

L’ensemble de ces fonctionnalités est commun avec la version IE 7 pour Windows XP. La différence entre les deux versions tient à une sécurisation accrue de la version Vista, cette dernière s’exécutant avec des privilèges limités, empêchant de ce fait qu’un programme puisse venir s’installer à l’insu de l’utilisateur.
Au chapitre des performances, à machine équivalente, IE 7 sous Vista m’a paru plus performant que son homologue sous XP. Le temps de chargement d’un dossier contenant 18 URL étant sensiblement plus court sous Vista.

En conclusion de cette première partie, il est possible de répondre par l’affirmative à la question initiale. Vista n’intègre pas de fonction révolutionnaire qui permettrait de conclure définitivement à la nécessité incontournable de son installation séance tenante. Il apporte en revanche un grand nombre de nouveaux outils, de façons de travailler, d’améliorations de détail, de petites touches bienvenues ainsi qu’une nouvelle esthétique particulièrement réussie.

La meilleure façon de s’en convaincre est de l’utiliser au quotidien pour se rendre compte assez rapidement que non, décidément, après une phase préliminaire de découverte, il n’est pas envisageable de revenir sous Windows XP.


Pour aller plus loin
Vista intègre un grand nombre d’outils supplémentaires. Un outil prometteur sur le papier est la reconnaissance de parole qui est censée permettre de piloter Vista à la voix, ainsi que de dicter du texte dans son traitement de texte ou sa messagerie. Vista est un système très évolué qui dévoile progressivement sa richesse fonctionnelle au fur et à mesure de son utilisation quotidienne. Une bonne façon de l’appréhender est de télécharger le « Vista Guide », sur le site Microsoft, qui propose une exploration détaillée du système et permet de raccourcir la période d’apprentissage.
http://www.microsoft.com/windowsvista/getready/preview/resourcecenter.mspx


p.1
Réduire
L’après 3G commence avec le HSDPA
Par Olivier Pavie - Copyright L'Informaticien, tous droits réservés

L’après 3G, ou plus précisément l’après UMTS, s’avère moins une question de technologie qu’une question de consensus. Les applications poussent vers l’usage multiréseau haut-débit mobile, mais les opérateurs détiennent le pouvoir sur le réseau 3G fédérateur de la mobilité : une valse ne se joue qu’une fois que l’orchestre a accordé chacun de ses instruments.

n95_high_videoscreen19970_5.gifLe podcasting et le blogging devraient commencer à bénéficier des technologies du multimédia mobile dès 2007.


Interrogé par nos soins sur l’après 3G, Jean-Louis Constanza, P-DG de Ten-Mobile, a tout d’abord bondi ! « Il faudrait déjà qu’elle ait commencé. » Cette réaction pour le moins surprenante s’avère très proche de la réalité : la 3G « moins », ou « 2G et demi », commence à décoller, ce qui devrait stimuler une croissance de besoins en transfert « descendant » plus rapide.

Le vrai décollage de la 3G est attendu avec l’arrivée du HSDPA, qui semble faire l’unanimité à l’instant présent. Le HSDPA, sous-système HSPA est une technologie 3G qui pourra atteindre les 2 Mbps réels en débit descendant. En attendant, les opérateurs commencent déjà à en parler. À tel point qu’Orange commercialise ce nouveau déploiement technologique dans son offre en le baptisant « 3G+ », comme pour faire croire qu’il ne s’agit plus de la 3G. Mais c’est bien l’évolution de l’écosystème qui reste le cœur de toute la problématique de l’évolution de l’après 3G.


Pas de Killer App en 3G

La seule killer app, c’est la téléphonie mobile. Ce n’est pas une spécificité de la 3G, ou de l’après 3G, mais c’est en tous cas celle qui assure leur place prépondérante et incontournable aux opérateurs. Pour la 3G, la visiophonie n’était pas une killer app, la télévision sur mobile et la VOD sont de nouveaux services pour un terminal multiservice/multiréseau. L’après 3G est un mélange des possibilités de services d’un réseau haut débit, comme celui que propose l’accès à Internet avec la technologie ADSL, couplé à l’écosystème que veulent maintenir les opérateurs.


WiMax et mobilité
C’est en décembre 2005 que l’organisme de normalisation IEEE a validé la version 802.16e du WiMax (802.16) dédiée à la mobilité. À l’origine, le WiMax se destinait plutôt à transporter des données en haut débit (70 Mbits/s) de point à point avec une portée de 50 km. Le but était de déployer un réseau sans fil dénommé Boucle Locale Radio (BLR), là où les opérateurs télécoms auraient eu trop d’investissements à réaliser avec des technologies classiques sans fil et filaires. Avec le WiMax mobile, de nouvelles applications peuvent être envisagées, allant jusqu’à la possibilité d’exploiter ce réseau pour de la téléphonie sur IP et tous les services data sur IP en général. Les premiers Smartphones WiMax mobile ne seraient a priori pas attendus avant 2008.




Quelles applications pour l’après 3G ?

samsungsgh-z560-A-119968_C8.gifLa 3G LTE et la 4G de Samsung se veulent être des alternatives pour 2009-2010.
La problématique des opérateurs est donc de continuer à proposer de nouveaux services innovants tout en les couplant à une bonne rentabilité. Il ne faut pas oublier, comme le fait remarquer Jean-Louis Constanza, que la 3G, depuis la vente des licences UMTS par les États, a coûté plus de 30 à 50 milliards d’euros aux opérateurs et équipementiers en Europe sans qu’une seule application liée à cette licence n’ait réellement été exploitée depuis lors…
Accorder du crédit à ces propos est d’autant plus intéressant que ce qui caractérise l’offre de Ten-Mobile, ce sont des services data illimités (GPRS) comme le push mail compatible Outlook et Windows Mobile ainsi que Hotmail et Messenger illimités pour des prix forfaitaires très réduits. Une politique qui va dans le sens de l’usage d’applicatifs, même si elle reste aujourd’hui limitée.

Pour exemple, l’usage de Messenger se limite au mode « chat » avec ses correspondants et il n’est pas question de pouvoir dialoguer en mode voix (et encore moins en mode vidéo). La raison est bien moins technologique que commerciale. Et même s’il le voulait, en tant que MVNO, Ten est de toute façon coincé par les politiques de ceux qui ont acquis les licences UMTS.
Multiréseau pour demain ?

Les opérateurs mobiles ne lâchent pas leur bande passante pour rien. Les évolutions de la technologie ne doivent pas faire oublier l’obligation de rémunération de toute la chaîne économique. Cela n’empêche pas non plus de développer de nouveaux services, même s’ils sont payants. C’est le marché qui sanctionne dans tous les cas.

Comme le fait remarquer Nicolas Petit, directeur de la division Mobilité chez Microsoft, l’après 3G ne se mesure plus en générations et ne se fonde pas sur un modèle unique gagnant. L’avenir est au modèle d’accès livré avec un packaging multiréseau proche de l’Entertainment. L’interopérabilité des réseaux est un challenge de l’industrie, mais comme le fait aussi remarquer Henri Tallon de Nortel, il reste du chemin à parcourir pour que des terminaux mobiles exploitent des chipsets qui allient autonomie, interopérabilité et multiplicité de réseaux. Chez HTC, dont la marque connue était Qtek jusqu’à juin 2006, le packaging des terminaux se fait aussi en fonction des applications à commercialiser.


3G LTE et 4G contre les réseaux « informatiques »

La seule manière pour les opérateurs de contrer définitivement l’inexorable ascension des réseaux mobiles IP sur WiMax mobile, Wi-Fi mais aussi, pourquoi pas, sur des technologies UWB, c’est d’intégrer une gestion interopérable des réseaux IP à très haut débit dans de nouveaux encapsulages 3G. La 3G LTE et la 4G de Samsung se veulent être les nouvelles alternatives pour 2009-2010 (dans des pays en avance de deux ans comme la Corée du Sud). La 3G LTE se fixe un objectif de débit pouvant atteindre les 100 Mbps. C’est aussi ce qu’envisage de proposer Samsung, avec sa 4G annoncée qui pourrait être un 3G LTE pour s’assurer d’un succès commercial, tout en proposant ses propres spécifications avec ses propres terminaux appuyés sur une évolution de réseau compatible avec l’existant 3G. En attendant cette Super 3G, ou cette 4G – si elles arrivent –, MBMS se veut être le service de diffusion de services multimédias en mode multicast dans le cadre de la 3G.


La TV semble être un enjeu

Si la télévision sur mobile n’est pas une « killer app » en soi, elle semble être cependant un enjeu pour l’ensemble de l’industrie qui se bat pour imposer ses standards et normes en relation directe ou non avec la 3G. Rapporté au marché de la télévision classique, on comprend aisément que le but est de disposer d’un écran publicitaire permanent et négociable d’une façon ou d’une autre auprès des annonceurs : 1 milliard de terminaux TV intimistes potentiels d’ici à 2010, c’est une manne !
La guerre des réseaux est avant tout une guerre à coups de milliards d’euros. Celui qui la gagnera est celui qui saura proposer les meilleurs services aux meilleurs coûts. Au final, une équation tout à fait paisible pour le consommateur, mais pas pour l’industrie qui risque d’y laisser encore des plumes. Mais peut-être est-ce simplement le rôle de l’industrie ? La convergence de tous les réseaux avec un prix forfaitaire illimité interopérable se profile sur la période 2012-2015. Il ne s’agit donc pas de se reposer sur ses lauriers, il y a du chemin à faire !



Glossaire


3G LTE (Long Term Evolution) : également baptisée Super 3G, la technologie veut intégrer et normaliser la télévision avec une qualité au moins équivalente au DVB-H et les services IP haut-débit en général.
DMB-T (Digital Multimedia Broadcasting Terrestrial) : évolution vidéo utilisée en Corée de la norme européenne DAB (Digital Audio Broadcasting) qui sera utilisée pour remplacer la diffusion analogique de la radio FM.
DVB-H (Digital Video Broadcast - Handheld) : norme ETSI de diffusion de la video numérique par voie hertzienne, en l’occurrence pour un environnement mobile portable. La norme est étudiée pour tenir compte de la diffusion en mode Datacast IP en complément de services UMTS et GPRS et se trouve capable de fonctionner dans un véhicule jusqu’à 70 km/h. Il existe plusieurs plages de fréquences pour lesquelles le DVB-H est normalisé. Le DVB-H+ est une extension de DVB-H qui permet d’associer un mode de réception compatible avec les diffusions DVB-S (Satellite) et DVB-T (TNT).
EDGE (Enhanced Data GSM Environment) : évolution du standard GPRS qui permet d’atteindre un débit descendant de 384 kbps.
GPRS (Global Packet Radio Service) : premier service de données du réseau GSM après la transmission de télécopies. Cette spécification permet d’atteindre un débit théorique descendant de 128 kbps.
HSPA (High Speed Packet Access) : HSPA est à l’origine des HSDPA et HSUPA.
HSDPA (High Speed Downlink Package Access) : service de données qui devrait enfin donner sa pleine mesure à l’usage de la 3G. Les spécifications sont faites pour atteindre un débit descendant de 1,8 Mbps réels mais une évolution donne 3,6 Mbps .
HSUPA (High Speed Uplink Package Access) : se veut être une évolution du HSDPA qui tienne compte des besoins en débit montant et qui devrait être capable de proposer une bande passante de 5,7 Mbps. Une évolution du HSUPA à base de chipset Qualcomm propose déjà un débit asymétrique de 7,2 Mbps descendant et 1,5 Mbps montant.
MBMS (multimedia broadcast and multicast service) : service de distribution multicast de services multimedias dans le réseau 3G qui devrait commencer à se déployer en 2008.
UMTS (Universal Mobile Telecommunications System) : appelé aussi 3G, l’UMTS est une norme qui définit un débit théorique de 384 kbps.
W-CDMA (Wideband Code Division Multiple Access) : technologie de multiplexage qui est une évolution de la 3G de base. La 3G d’origine est la 3GPP alors que la 3G à base de W-CDMA est la 3GPP2.

p.2
Réduire
« Démocratiser podcasting et blogging sur mobile »

Guillaume Maigre, CEO de Mobivillage

mobivillageGM19111_Cop19116.gifMobivillage est une société créée en 2000. Elle emploie plus de 100 personnes dans le multimedia mobile, dont 70 sont dédiées au développement et la R & D.
Mobivillage fournit en marque blanche à Orange et SFR les outils d’agrégation de contenus multimédias, ainsi que des contenus en marques blanches (sonneries, logos, etc.), mais aussi des outils capables de faire le « rendering » (y compris de vidéo) de sites Web et de blogs pour les adapter au WAP et aux différentes interfaces de presque tous les types de mobiles.
Au cœur des services multimédias des opérateurs mobiles, Mobivillage voit de nombreux débouchés à l’usage du HSDPA, lequel va se déployer sur 2007-2008. Push mail, jeux interactifs applications du genre Google Map, Ebay, mais aussi démocratisation du podcasting et du blogging à partir de son mobile.



« L’impact de la 3G est nul, on en est à l’avant 3G »

JLC319773_Copier7.gifJean-Louis Constanza, P-DG de Ten Mobile

L’Informaticien : Comment voyez-vous l’après 3G ?
Jean-Louis Contenza : Il faudrait déjà qu’elle ait commencé. Depuis la vente des licences UMTS par les États, la 3G a coûté plus de 30 à 50 milliards d’euros aux opérateurs et équipementiers en Europe sans qu’une seule application liée à cette licence n’ait réellement été exploitée depuis lors. L’impact de la 3G est nul, on en est à l’avant 3G.
L’I. : Comment favoriser ce passage à la 3G puis à l’après 3G ?
J.-L. C. : La 3G, cela a un peu été comme le WAP : pas d’applications viables et rentables. Le HSDPA apporte un débit descendant qui va résolument permettre de passer à une autre façon de voir le haut débit en mobilité. Il se démocratisera réellement d’ici un à deux ans
L’I. : Vos offres commerciales actuelles intègrent des applications « data illimité » pour le push mail, Hotmail, mais aussi pour Messenger : pourquoi ne pas offrir des accès avec des offres VoIP avec Messenger ou avec des logiciels comme Skype ?
J.-L. C. : Le rôle d’un opérateur est de valoriser les modes data. Cela se fait par applicatif. La téléphonie VoIP comme Skype fonctionne avec des terminaux mobiles comme le Qtek 9100 sous Windows Mobile qui intègre le Wi-Fi, et les compatibilités GSM/GPRS/EDGE, mais il n’y a pas d’écosystème pour la faire fonctionner sur le réseau.
L’I. : Pourquoi ne pas trouver un compromis, par exemple de proposer l’usage de la VoIP sur le réseau avec un nombre limité de contacts, ce qui correspondrait à certains types d’abonnements GSM du marché qui proposent des « numéros préférés illimités », mais en apportant le complément de l’échange de données, de fichiers, etc. ?
J.-L. C. : Nous y travaillons…



« Une expertise basée sur nos partenariats en Corée du Sud »

Henri Tallon, Nortel

Depuis la vente de son activité UMTS à Alcatel/Lucent, Nortel s’est recentré sur son activité autour des HSDPA et HSUPA, et prépare la 4G pour un lancement d’ici à 2 ou 3 ans. L’expertise acquise par Nortel provient des activités menées en partenariat en Corée du Sud avec les opérateurs SKT et KTF. Dans ce pays, il y a des applications 3G qui génèrent un véritable retour sur investissement. Les usages préfigurent ce qui va se passer ici. Il y a tout d’abord un mariage de la téléphonie et de la télévision dans les terminaux, même s’il s’agit de l’usage de DMB-T ou S. La télévision selon ce mode est limitée en termes de « packaging » par rapport à ce qu’il est possible d’envisager avec d’autres standards.
Sur le plan 3G pur, le push d’information est courant, les usagers disposent de véritables boutiques dans leur poche. Les services de localisation de la 3G sont employés notamment pour une surveillance du périmètre de déplacement des enfants à qui des terminaux trois boutons très simples sont confiés.
En termes d’après 3G, la 3G LTE est une orientation. Ce qui semble prématuré pour une simple raison de coût d’intégration et d’autonomie, c’est l’interopérabilité sur de multiples réseaux qui serait un couplage sur un seul terminal de la gestion du GSM, de l’UMTS, de WiMax et éventuellement en plus du Wi-Fi qui n’est franchement pas étudié pour cela.



« Le grand déploiement est pour 2007-2008 »

Frédéric Tassy, HTC (Qtek)

HTC-frederictassy_prin19019.gifHTC se positionne clairement sur le marché du Smartphone dont il est le leader avec 80 % du marché Windows Mobile avec sa marque Qtek, désormais HTC (depuis juin 2006), vendue chez Orange sous la marque SPV. Les grandes orientations sont clairement le HSDPA et la télévision mobile avec le support, en fonction des pays, de DMB, et des différentes versions de DVB. Le grand déploiement de la 3G et du HSDPA aura lieu sur 2007 et 2008 avec un mot d’ordre : la convergence du fixe, du mobile et d’Internet.


Jean-Michel Planche, P-DG de Witbe S.A.

« Faire un lapin pour tous ou un lapin pour Orange, un lapin pour SFR et un lapin pour Bouygues ? »

Bio_JMP19878_Copier10.gifLe cadre de notre interview de Jean-Michel Planche est particulier. Il est l’un des précurseurs du marché Internet en France. En 1989, il crée Oléane, le premier « Opérateur Internet », revendu à France Télécom en 1998. Nous avons quelque peu discuté à bâtons rompus sur le sujet de l’après 3G. Jean-Michel Planche est en quelque sorte un « libertaire » du Net, qui milite pour un réseau libre. Après presque une heure de discussion, il a proposé de nous répondre sur son blog. Je l’en remercie doublement. D’une part pour autant s’impliquer dans l’interview en donnant une vision très large du sujet, et d’autre part pour proposer une vraie démarche de dialogue et d’interaction via son blog. La réponse complète est publiée à l’adresse http://jmplanche.wordpress.com/2006/10/02/apres-la-3g/. En voici quelques extraits.

Au départ, honnêtement, 1G, 2G, 2,5G, 2,75G et 3G… Tout cela, c’était du pareil au même pour moi : question de débit. (…)
A priori, il semble y avoir deux « fronts », d’un côté les opérateurs et « leur » technologie ; de l’autre, le monde de l’informatique, le monde des usagers, des bidouilles, j’ai nommé : les Wi-Fi, WiMax, UWB, Zigbee, les réseaux Mesh…
A priori toujours, d’aucuns pensent que ces deux fronts vont s’entrechoquer et que l’un devrait « gagner ». Par exemple, pour les experts du Northern Sky Research, c’est la 3G qui dominera le marché à cause de l’avance même du déploiement de la 3G sur le WiMax par exemple, et surtout vu l’importance des sociétés qui soutiennent ces enjeux. Plus curieusement encore, ces experts ne voient pas une cohabitation pacifique de toutes ces technologies, mais plutôt un raz-de-marée 3G.
Pourquoi pas ? Mais est-ce vraiment la question ?
Si je me souviens bien, en 1998 lorsque j’ai vu ma première connexion Wi-Fi, avec un matériel israélien de derrière les fagots, jamais nous n’aurions imaginé que quelques années plus tard, l’industrie informatique allait s’emparer du phénomène et allait inclure une puce Wi-Fi dans chaque micro ou presque, et jusque dans nos bons vieux lapins. (…)
Mais si maintenant nous regardons le rapport qualité / prix. Vous mettez quoi dans votre lapin comme chipset ? Pis encore, vous faites un lapin pour tous ou un lapin pour Orange, un lapin pour SFR et un lapin pour Bouygues ? (Tout en restant sur le marché français.)
Bref, j’aime bien les innovations techniques lorsqu’elles ne sont pas réservées à une élite.
Et lorsque je vois des initiatives entre les grands qui se réunissent dans un projet « Next Generation Mobile Networks », je m’inquiète.
Même si ce consortium indique être ouvert à tous, je m’interroge de ne voir que des opérateurs de téléphonie mobile à ce jour (Orange, T-Mobile, Sprint Nextel, Vodafone, KPN, China Mobile et NTT DoCoMo).
Je m’étonne lorsque je ne vois pas le secteur de la recherche, de l’Internet, les équipementiers, l’industrie informatique, les organismes de normalisation, des associations « prospectivistes », surtout lorsque l’objectif est d’explorer l’après 3G et de « fixer des niveaux de performance, des recommandations fondamentales et des scénarios de déploiement pour les futurs réseaux mobiles ».
Je suis vigilant lorsqu’on nous explique « qu’en marge, des institutions de standardisation prépareront la normalisation en amont – ouf – des technologies de nouvelle génération pour réseaux mobiles ».

Je me désespère des objectifs premiers : « hauts débits et faibles temps de latence, faibles coûts de fonctionnement et de maintenance et compatibilité avec les réseaux antérieurs. » (…)
p.1
Réduire
LUTTE ANTI-SPAM
Pourquoi les listes blanches et noires sont insuffisantes
Par Renaud Hoffman - Copyright L'Informaticien, tous droits réservés

Listes blanches, listes noires, listes grises, filtres de réputation… le catalogue des techniques anti-spam s’épaissit chaque jour. Pourtant les boîtes à lettres électroniques des entreprises et des particuliers continuent d’être bombardées de messages électroniques non sollicités. Pourquoi ces méthodes sont-elles limitées ?

Le spam (ou pourriel) est difficile à définir, donc difficile à analyser. Quelle différence existe-t-il en effet entre un courriel d’information et un spam ? Tout dépend des attentes des utilisateurs.
« Certains utilisateurs se sont abonnés à une liste d’information, mais ces courriels envoyés en masse ont été bloqués par les systèmes de protection, car précisément considérés comme envoyés en masse, donc suspects », explique Philippe Olivié, directeur du pôle intégration de Cyber Networks.

Secure-Computing.gif

Il faut donc que le logiciel anti-spam sache opérer une distinction entre un spam clairement identifié (UBE – Unsollicited Bulk E-mail) et un envoi en masse (de type UCE – Unsollicited Commercial E-mail) comprenant souvent un lien pour se désinscrire. Les UBE sont des envois massifs – par millions –, issus de grands spammeurs pour piéger quelques personnes avec des offres prétendument prometteuses (Viagra, Cialis, penis enlargment, etc.), alors que les UCE relèvent du commerce électronique licite et juridiquement fréquentable.

C’est là l’un des principaux intérêts des listes blanches, qui doivent découler de la politique de sécurité définie par l’entreprise.

Bien qu’une liste blanche universelle de personnes qui ne seraient pas des spammeurs ne peut humainement pas exister, la plupart des prestataires de la lutte anti-spam propose ce type de listes. Quant aux listes noires, leur élaboration relève du secret Défense, quand ce n’est pas du flou artistique.




Listes blanches (white lists)

« Les listes blanches sont définies dans presque tous les cas de manière manuelle. Il n’existe pas aujourd’hui de bases de données les regroupant. Elles se déterminent par l’étude des flux de courriels reçus par une entreprise et/ou un utilisateur quelconque », souligne David Gaout, spécialiste de la sécurisation des passerelles chez McAfee.
La liste blanche dépend plus d’une prise en compte humaine : elle est purement déclarative. L’entreprise y fait généralement figurer ses contacts électroniques les plus directs (partenaires privilégiés, clients, fournisseurs, listes de diffusion licites et juridiquement acceptables, etc.). La constitution de cette liste est, dans un premier temps, propre à chaque entreprise.
Se pose alors immédiatement le problème des faux-positifs (un utilisateur ne reçoit pas le courriel d’un correspond licite). Il est difficile de demander à chaque utilisateur de vérifier dans son répertoire de quarantaine si un courriel lui est parvenu, surtout si le correspondant n’a pas prévenu le destinataire d’un envoi. Si l’entreprise veut éviter ce type de mésaventure, elle peut décider de considérer la liste blanche ainsi constituée comme une liste de confiance, qui passe outre tous les mécanismes de filtrage sécuritaire, en fonction d’une adresse IP (Internet Protocol) ou d’un nom de domaine (DNS – Domain Name Server). Ce qui revient à ouvrir une brèche volontaire dans le système de protection. Conséquence directe : un spammeur professionnel peut se retrouver sur une liste blanche !
Il n’existe donc pas de service commercial ou en Open Source de listes blanches, contrairement aux listes noires.

McAfee---schema.gif

Listes noires (black lists)

Mécanismes permettant de bloquer les courriers entrants, les listes noires, couplées à un pare-feu (firewall) et à un logiciel anti-virus, permettent de purifier en grande partie la messagerie électronique, dès la passerelle (gateway) de l’entreprise.

Elles fonctionnent selon deux notions distinctes. La première consiste à établir des listes d’utilisateurs, selon le modèle des listes blanches précédemment décrites. L’action est alors définie par l’entreprise elle-même. La seconde consiste à consolider le référencement des courriels reçus par des sites Web spécialisés privés (à caractère commercial) ou publics (communautés). Ces sites publics sont également dénommés RBL (Realtime Blackhole Lists).


Méthodes empiriques

Dans le premier cas, la méthode est tout simplement empirique. Des leurres (honeypots) constitués d’adresses factices sont placés sur le Web en attente des spams. Des statistiques sont alors effectuées pour analyser le contenu, l’intégrité et la qualité des messages, selon les noms de domaine (DNS) d’où proviennent les messages de spam. Cela permet de mettre sur liste noire les spammeurs professionnels en fonction des plages d’adresses IP d’expédition, des relais de messagerie utilisés et/ou des noms de domaine employés (PC zombies) ou usurpés (spoofing). Une machine configurée en open relay a de fortes chances de directement se retrouver en liste noire, sans pouvoir se justifier.
Le critère principal est le volume de spams en provenance d’une même source. Si ce volume est trop important la source se retrouve inévitablement dans la liste noire. Symantec utilise ainsi une infrastructure de collecte composée de plus de trois millions de comptes e-mail, répartis chez des FAI (fournisseurs d’accès Internet) et chez certains clients. « Ces comptes reçoivent en permanence du spam et nous permettent d’identifier les machines source grâce à leur adresse IP. Si l’une de ces adresses voit son taux de spam dépasser 97 %, elle est automatiquement ajoutée à la liste. Ces informations sont rafraîchies et mises à jour automatiquement toutes les heures chez nos clients. Si une machine se retrouve dans la liste et que son volume de spams vient à baisser, elle sera automatiquement supprimée de la liste et ne sera plus filtrée », décrit Vincent Dély, Senior System Engineer chez Symantec Corporation.
Autre méthode : l’anti-relaying. Il empêche le spammeur de rebondir sur un serveur de messagerie licite et de s’en servir comme base arrière pour envoyer sa pollution électronique. Ainsi, le possesseur d’un nom de domaine, au moment où il crée son serveur, va être obligé de faire une requête pour acquérir un nom de domaine par rapport à son adresse IP. Les personnes responsables de la liste noire chez le fournisseur d’accès de cette adresse IP vont alors devoir vérifier s’il est impossible de procéder à l’envoi d’un courriel par rebond à partir de cette nouvelle adresse. Si cette opération est possible, c’est que l’adresse du serveur nouvellement créé est potentiellement vulnérable. Elle est donc immédiatement placée en liste noire pour prévenir l’ensemble des utilisateurs.


Les communautés anti-spam

La seconde méthode de constitution de listes noires passe par les sites Web orientés en communautés (Abuse.net, SpamCop, SpamHaus, SpamArchive, ORDB, DSBL, etc.), auxquels il est possible de souscrire (gratuitement ou non). Ces sites sont alimentés soit par des entreprises qui commercialisent ces listes noires et/ou les alimentent avec leur propre solution anti-spam, soit par des communautés de « justiciers » bénévoles.
Ces derniers emploient alors des méthodes empiriques et/ou automatisées. Des utilisateurs bénévoles, affiliés ou non au site, font spontanément remonter les courriels suspects, parallèlement à des leurres (honeypots) placés sur le Web pour repérer les spammeurs.
Les communautés, qui hébergent des DNS-RBL, cherchent en permanence à identifier les machines qui envoient du spam. Lorsqu’elles identifient une machine de ce type, elle est ajoutée à la liste. S’il s’agit d’une erreur, l’entreprise responsable de la machine doit contacter la communauté qui l’a mise sur liste noire et lui prouver sa bonne foi pour disparaître de la liste. « Il arrive parfois que des FAI, dont les machines véhiculent involontairement un grand volume de spams, se retrouvent sur les listes noires de ces communautés », remarque M. Dély.
Eugénio Correnti, directeur technique chez F-Secure France, confirme que « la validité de ces listes est contrôlée par le groupe, ou la communauté, qui a créé et a la maintenance de la liste. La légitimité de ces entités dépend donc entièrement de la confiance que les entreprises veulent bien leur accorder. L’histoire de MAPS, l’une des premières listes noires du Web, qui a démarré en 1997, montre que les critères utilisés pour figurer dans la liste noire, n’ont pas toujours été respectés, dans la mesure où MAPS a commencé à intégrer des serveurs qui n’émettaient pas du spam, afin de les obliger à travailler avec eux ». Selon d’autres sources, SpamHaus aurait, un temps, agi de même.


Les communautés anti-spam

• Abuse.net :
www.abuse.net/
• CNIL : www.cnil.fr/index.php?1266
Coalition Against Unsolicited Commercial Email (Europe) : www.euro.cauce.org/fr/
• Coalition Against Unsolicited Commercial Email : www.cauce.org/
• CYPANGO : www.cypango.net/spam/
DSBL : http://dsbl.org/main
• Fight Spam : http://spam.abuse.net/
• Halte au Spam : www.halte-au-spam.com/
MAPS : www.mail-abuse.com/
• Ministère de la Culture et de la Communication (Direction du Développement des médias) : www.ddm.gouv.fr/IMG/pdf/plaquette_signal_spam.pdf
• ORDB : www.ordb.org/
• ROKSO : www.spamhaus.org/rokso/index.lasso
SPAM RBL : www.spam-rbl.com/
• SpamAnti.net : www.spamanti.net/
• SpamArchive : www.spamarchive.org/
• SpamCop : www.spamcop.net/
SpamHaus : www.spamhaus.org/
p.2
Réduire
Listes mixtes ou filtre de réputation

Certains prestataires, tels que Secure Computing ou SurfControl, utilisent un système qui combine listes blanches et listes noires.
« Nous disposons d’un réseau de serveurs répartis dans le monde pour piéger et collecter (honeypots) un certain nombre de spams et d’attaques subies (dénis de service). Les attaques sont identifiées par leur source, et la vérification des adresses IP, de leur contenu, et des URL. Ces informations sont ensuite déclarées comme infréquentables », indique Vincent Hamaimi, ingénieur avant-ventes chez Secure Computing. En outre, un certain nombre des 3 000 clients de Secure Computing participe à ce réseau, à l’issue d’une activation dans le produit, qui permet de faire remonter statistiques et informations. Un partenariat avec d’autres acteurs de listes RBL permet d’agréger les résultats au lieu de les faire interroger par les clients. Ces derniers interrogent un filtre de réputation (qui agrège beaucoup plus d’informations pondérées), doté d’un historique dans le temps, contrairement aux RBL.

schema-solution.gif

« Les listes RBL ou les filtres de réputation présentent l’avantage de bloquer directement le spam à la connexion, mais ont l’inconvénient de ne pas savoir la différence entre le spam et l’émetteur d’un spam. Un utilisateur qui se retrouverait à son insu dans ce type de listes, ne pourrait donc plus émettre de courriels légitimes. Pour pallier ce problème, nous fournissons en plus des listes noires de spams et pas seulement des listes noires de spammeurs. Le nombre de faux-positifs décroît ainsi », rappelle Christophe Escudier, consultant avant-ventes chez SurfControl.
Outre les limites techniques de l’usage des listes blanches et noires, d’autres facteurs plus insidieux jouent en la défaveur des combattants du spam : le flou artistique, savamment entretenu par les communautés, autour de leurs pratiques et la relative immunité des spammeurs.


Des communautés volontairement obscures

Généralement, les communautés revendiquent la caution d’un personnage célèbre, réputé dans la communauté Internet, qui se veut garant des bonnes pratiques et des bonnes méthodologies d’analyse de ladite communauté.
« Il peut arriver qu’une grande entreprise – c’est arrivé à certaines banques – se retrouve sur des listes publiques de spammeurs internationaux. Quelques destinataires avaient trouvé leurs messages suspects », note également Mathieu Tarnus, directeur marketing de GOTO Software, éditeur de logiciels. Cela peut d’autant plus se produire que la plupart du temps, les spammeurs utilisent certains serveurs, des machines zombies infectées par un virus, comme relais, de rebond pour propager leurs messages. Dans ce cas, il existe une procédure pour se faire retirer d’une telle liste après discussion, mais elle est généralement plus accessible et plus simple pour une grande entreprise piégée en liste noire, que pour un particulier.
Bien que les méthodes techniques de ces « chevaliers blancs » du réseau, qui restent dans l’ombre et traquent gratuitement pour le bien de tous les méchants spammeurs, restent volontairement dans le flou, pour ne pas renseigner l’ennemi, la lutte s’articule autour d’un ensemble de critères métriques pour déterminer ce qui relève ou non du spam. La vérification des adresses IP ou des en-têtes de courriel s’effectue via des algorithmes spécifiques et secrets, dont chaque communauté s’enorgueillit. Pour Emmanuel David, responsable technique de Risc Group, « les sites de communautés peuvent également s’appuyer sur une analyse du contenu syntaxique du courriel, voire sémantique – avec parfois des outils s’inspirant de l’intelligence artificielle ». Mais, là encore, rien ne filtre…

Les listes noires fonctionnent avec un délai de latence de 24 à 48h. Un nom de domaine sain frappé d’infamie électronique devra donc attendre jusqu’à deux jours, avant de pouvoir de nouveau être considéré comme fréquentable dans le cyber espace. Pour éviter de tels délais, les technologies de listes grises (greylistings) sont apparues.

Goto---schema.gif


Les listes grises (greylisting)

Comme leur nom l’indique, les listes grises sont à mi-chemin technique entre les listes blanches et noires. « Elles exigent un retour : si quelqu’un veut placer un nom de domaine en liste grise, il va commencer par envoyer un courriel à l’expéditeur du présumé spam pour qu’il s’identifie. Sans réponse de la part de l’expéditeur suspect, les portes des listes noires lui sont grandes ouvertes », souligne M. Gaout.

Le greylisting repose sur l’hypothèse qu’une source de messages légitimes est capable d’émettre une seconde fois un message si une erreur temporaire survient, alors que les PC zombies en sont incapables. « Cette technique consiste à légèrement modifier le comportement des serveurs SMTP. Un relais, avant de véhiculer un message, devra vérifier sa connaissance de l’adresse IP de l’ordinateur qui initie la connexion, de l’adresse e-mail source et de l’adresse e-mail de destination. Si l’ensemble de ces trois éléments est inconnu, le message est rejeté avec un message d’erreur temporaire et le serveur d’émission met le message en file d’attente, avant de faire une nouvelle tentative à l’expiration de son temporisateur de réémission », détaille Bruno Rasle, responsable des offres chez Cortina.

Quant au serveur ayant refusé le message, un timer est lancé pour l’ensemble des trois éléments. Une fois le temps écoulé, si le message se présente à nouveau, il est alors accepté par le serveur de messagerie, pour subir d’autres analyses, sur son contenu (anti-spam, anti-virus, etc.). Lors de sa première tentative pour adresser un courriel, un correspondant (en fait le serveur relais) est soumis à cette temporisation. À l’expiration du temporisateur du serveur relais émetteur, le message est à nouveau envoyé. Le filtre de greylisting reconnaît cette réémission par l’ensemble des trois éléments et accepte le courriel.


Les grands spammeurs sont connus

Il n’est pas très compliqué de savoir qui sont les spammeurs. « Plus de 50 % des spams mondiaux sont envoyés par une quinzaine de spammeurs. Ce sont généralement de bons informaticiens, difficiles à trouver », constate M. Tarnus. « Les grands spammeurs sont connus : la base Rokso (Register of Known Spam Operations) référence et permet de suivre dans le temps les 200 plus grands spammeurs professionnels, responsables de 80 % du spam mondial », confirme M. Olivié.

« Ils utilisent des techniques d’envois qui brouillent les pistes et ne permettent pas de remonter à la source. Leurs machines sont généralement situées dans des paradis fiscaux et utilisent les virus pour transformer des machines saines en machines zombies, servant ainsi de relais publics », reprend M. Tarnus. Ces professionnels profitent des failles Internet et en jouent. Ils vont jusqu’à établir des déclarations erronées, n’hésitant pas à se faire passer pour un nouveau FAI, en fournissant des informations vraisemblables. Les FAI licites qui se raccordent à eux par peering reçoivent alors des spams en provenance du pool d’adresses du faux FAI, avec comme argument massue : « les spams ne proviennent pas de moi, nouveau FAI, mais de clients piratés qui ont souscrit un abonnement chez moi ». Quand le pot aux roses est découvert, le spammeur répète son opération et se fait à nouveau passer pour un nouveau faux FAI.

Les spammeurs qui se font arrêter et condamnés par la justice sont généralement ceux qui ont cru bien faire en envoyant un important mailing véritablement commercial, sans penser faire du spam. Ces envois à caractère commercial ne concernent jamais le Viagra ou le Cialis, les médicaments, les accords financiers, les actions boursières ou bien les divers objets destinés à agrandir un pénis, etc.
Pour ne rien arranger, l’arsenal juridique sur le spam n’est pas aussi ferme en France qu’aux États-Unis ou dans certains autres pays européens. En outre, il existe un fort lobbying pour la liberté d’expression et de communication, notions chères aux fondateurs d’Internet, ainsi qu’aux commerçants légitimes sur Internet, « qui voient dans le manque de réglementations très fortes, un moyen efficace de faire de la publicité. Ils ne souhaitent donc que modérément une régulation forte, synonyme de baisse significative de chiffres d’affaires », estime M. Olivié.

La lutte contre le spam sera très difficile, car d’une part, dès qu’une nouvelle technologie apparaît, les spammeurs trouvent rapidement le moyen de la contourner ; d’autre part, parce que pour les spammeurs les NPAI ne sont pas un souci : un courriel est gratuit.


Glossaire

• Anti-relaying : méthode pour empêcher un spammeur de rebondir sur un serveur de messagerie licite et de s’en servir pour envoyer du spam.
• Black lists (listes noires) : mécanismes de blocage des courriers entrants non sollicités.
• DNS-RBL (Domain Name Server-Realtime Blackhole Lists) : liste noire reposant sur des noms de domaine.
• Filtre de réputation : agrégation de listes noires et de listes blanches, mises à jour en temps réel.
• Greylisting (listes grises) : temporisation des messages entrants.
• Honeypots : littéralement pots de miel, leurres informatiques, destinés à attirer les spammeurs
professionnels.
• RBL (Realtime Blackhole Lists) : listes noires généralement élaborées par des communautés d’utilisateurs bénévoles.
• ROKSO (Register of Known Spam Operations) : liste publique des spammeurs professionnels les plus actifs.
• Spam ou pourriel : courrier électronique non sollicité.
• UBE (Unsollicited Bulk Email) : envoi en masse contenant des informations illicites non sollicités (médicaments, par exemple).
• UCE (Unsollicited Commercial Email) : envoi légitime en masse, commercial ou non (listes de diffusion), sollicité ou non, comprenant souvent un lien pour se désinscrire.
• White lists (listes blanches) : listes de correspondants légitimes selon les critères d’une entreprise particulière.
p.1
Réduire
Le stockage et la sauvegarde multisites en question
Par Olivier Bouzereau - Copyright L'Informaticien, tous droits réservés

Des contraintes juridiques et budgétaires forcent les PME à consolider leurs espaces de stockage. Logiciels et boîtes noires répondent à cette nouvelle nécessité.

filer-nas-netapp11562_Copi5.gifUn filer NAS de Network Appliance.
Les responsables de PME multisites sont contraints – par des lois toujours plus strictes – à reconsidérer leur stockage et leur sauvegarde informatiques. Pour éviter la migration chaotique, ils confient volontiers ce mal nécessaire à un responsable de projet. Car, au fil des ans, le risque grandit de constituer des silos de stockage parfaitement autistes les uns vis-à-vis des autres. La volumétrie des fichiers, des bases de données, de la bureautique et de la messagerie électronique, suit une courbe exponentielle. Or, chaque serveur d’application dispose fréquemment de 70 % d’espace libre sur ses disques durs. Et, souvent, il ne peut venir soutenir les serveurs les plus voraces, sauf à réorganiser toute l’infrastructure.

Comment en est-on arrivé là ? L’achat de serveurs dédiés, par application (ERP, CRM, messagerie…), s’accompagne trop souvent d’un généreux stockage dédié, taillé pour les besoins à cinq ans. En outre, les principales agences distantes ont gagné leur autonomie et reproduit ce même mauvais réflexe. Faute d’informaticien, elles ne se préoccupent qu’occasionnellement de la gestion des bandes ou des disques amovibles, ce qui devient désastreux en cas d’inondation, d’incendie ou d’une simple panne liée au matériel.

« On a augmenté la taille du hangar, sans penser à le structurer autrement », compare Marc Landwerlin, responsable de la Business Unit Stockage chez CA France. Selon lui, la baisse du prix du Giga-octet a fait illusion, et l’entreprise a repoussé trop longtemps l’échéance incontournable de la gestion de ses informations.

Acquérir de nouveaux serveurs et de nouveaux médias pendant des années conduit les PME vers l’impasse : « On ne peut plus gérer des Tera-octets d’informations comme on gère quelques Giga-octets. Il faut optimiser et fiabiliser l’espace de stockage », recommande-t-il.

Le défi actuel de la PME consiste à gérer sa volumétrie plus finement, tout en sécurisant ses données et en pérennisant ses investissements. Les dernières solutions préconisées par les fournisseurs, présentent des prix et des niveaux de maturité variables. Entre l’appliance de stockage sous Windows Storage Server et la baie haut de gamme embarquant des fonctions de virtualisation et de réplication des données sur son contrôleur, plusieurs offres ciblent le milieu de gamme à présent. Pour accélérer les sauvegardes, le D2D2T (Disk to Disk to Tape) se généralise : un stockage sur plusieurs rangs permet de lancer le back-up en deux mouvements, des disques de production vers des disques économiques, puis de ceux-ci vers les bandes.

schema-stockage-1.gifLe serveur NAS connecté au réseau local Ethernet.


Après l’attachement direct des disques aux serveurs, les fournisseurs ont plébiscité l’approche NAS (le serveur de fichiers dédié) puis le SAN Fibre Channel. À présent, le marché des PME s’oriente clairement vers la solution SAN iSCSI ; elle est affublée du sobriquet « SAN du pauvre » par ses détracteurs qui pointent une fiabilité et des performances inférieures au SAN Fibre Channel.
Mais la raison de cette attaque est peut-être ailleurs : « Le marché du réseau SAN Fibre Channel est relativement plat ; les nouveaux secteurs de croissance ne sont plus dans les commutateurs ni dans les Directors haut de gamme », signale Thierry Paprocky, directeur général pour l’Europe du Sud de LSI Logic. Une observation corroborée par l’acquisition récente de McData par Brocade, seul acteur d’envergure pouvant encore défier Cisco sur l’infrastructure SAN. Thierry Paprocky recommande aux PME multisites de consolider d’abord leurs données pour mettre en place de nouvelles procédures de back-up essentielles : « Une fois qu’on a un point focal de stockage, on peut le dupliquer en interne… ou de façon externalisée », justifie-t-il.


Un stockage sur plusieurs rangs

Toutes les données numériques n’ont pas la même valeur pour l’entreprise. L’inventaire et la classification des données conduisent à retenir plusieurs classes de stockage.

« Les PME ont de plus en plus de données à stocker et à protéger, mais pas plus de personnel pour les gérer », note Luisa Bordoni, responsable des marchés verticaux du cabinet IDC. Selon elle, la consolidation des données s’impose comme une évidence « pour faire tourner plus d’applications sur le même matériel ».
Regrouper les disques en réseau permet d’en acquérir moins systématiquement. Cela simplifie aussi leur administration. Pour réduire la complexité de gestion des ressources de stockage, les experts recommandent maintenant de ne retenir que deux ou trois fournisseurs. Le stockage en réseau requiert néanmoins une méthode et surtout beaucoup de bon sens. Inventorier et classer ses données – en fonction de la criticité des applications – permet de réserver les matériels les plus coûteux aux informations les plus cruciales. Compte tenu de leur prix, les espaces logiques d’un SAN Fibre Channel conviennent mieux aux transactions financières de l’entreprise qu’aux fichiers musicaux de ses collaborateurs. La présence de baies de disques SATA autorise, en revanche, le déplacement des données les moins sollicitées vers des disques plus économiques. Cette organisation sur plusieurs niveaux favorise la sauvegarde en deux temps, des disques les plus performants vers des disques économiques, puis vers les bandes. Outre une réduction des fenêtres de sauvegarde, ce modèle D2D2T autorise plusieurs voies de restauration.

Les environnements système, les équipements d’interconnexion et les contrôleurs encouragent désormais ce type de stockage multiniveau. Pour consolider les données critiques vers un data center, la meilleure approche dépend de la bande passante, du budget et des compétences disponibles. Les logiciels de back-up et les programmes de transfert d’informations rivalisent d’ingéniosité.

schema-stockage-2.gifL’approche SAN IP (NetApp) isole les flux d’accès aux données des requêtes utilisateurs.



Plusieurs niveaux hiérarchiques

L’attachement direct des disques aux serveurs représente encore 75 % des configurations de stockage des PME ; c’est le mode DAS, Direct Attached Storage. En marge de ce modèle né avec le PC, le stockage en réseau commence à séduire les moyennes entreprises. En particulier, le filer NAS qui n’est autre qu’un serveur de fichiers dédié se complète maintenant d’assistants pour la sauvegarde et les copies instantanées (snapshots). Le SAN Fibre Channel exige, quant à lui, une main d’œuvre plus qualifiée pour mener le travail d’intégration ainsi qu’un budget très conséquent à l’achat et lors de son exploitation. Exigeant, le SAN FC reste la forme la plus aboutie actuellement du stockage en réseau.

Entre ces alternatives, on assiste à un véritable re-carrossage du filer NAS et du SAN, via le protocole iSCSI compatible avec les protocoles TCP/IP du LAN et du WAN, d’où le vocable marketing de SAN IP.

EMC, HP, IBM et NetApp rivalisent sur ce thème pour répondre à un triple besoin des PME : gérer une volumétrie croissante des données, apporter une reprise d’activité rapide en cas de panne et fournir un archivage légal à moindre coût.

Selon les approches, ce sont parfois les serveurs NAS qui se transforment en boîtes noires de stockage et de back-up. Empruntant les technologies iSCSI, elles délivrent les fonctions d’un équipement tout-en-un, NAS et « SAN IP » à la fois. Bien packagées, ces appliances s’avèrent plus simples à installer et à exploiter que les offres SAN Fibre Channel. En particulier, les pilotes iSCSI des environnements Windows Server, linux, Unix et Netware facilitent leur implémentation. Le SAN Fibre Channel demeure toutefois mieux positionné en termes de performances, de fiabilité et d’évolutivité. En outre, ses logiciels de gestion offrent des fonctionnalités de virtualisation, de réplication et de réglage fin parfois absentes des solutions iSCSI.

« Il va exister un recouvrement entre les deux offres SAN (IP et FC), mais la barrière du coût et de la complexité du protocole Fibre Channel freinera toujours les PME à investir dans cette technologie », conclut Luisa Bordoni.

schema-stockage-3.gifL’approche SAN Fibre Channel s’appuie sur une infrastructure hautes performances dédiée.



Le WAFS propose une nouvelle architecture

Au-delà de la segmentation des données, l’émergence d’équipements WAFS suggère une refonte totale du stockage, et des accès distants des agences.

Une nouvelle piste consiste à remplacer les serveurs d’agences par des boîtes noires contrôlées depuis le siège pour mieux consolider les données. Ces appliances WAFS (Wide Area File Services), encore émergeantes, présentent deux intérêts principaux. D’une part, l’entreprise utilisatrice peut faire des économies sur les matériels (serveurs ou filers NAS) et sur les logiciels des agences. D’autre part, le déport et la centralisation des tâches évitent de mobiliser des compétences informatiques sur chaque site. Souvent frileuses, les PME explorent cette approche, en particulier lorsqu’elles disposent déjà de liens étendus avec une bande passante confortable au débit garanti.
En pratique, les services de fichiers sont centralisés. Quelques applications courantes sont accélérées, comme la bureautique et la messagerie Exchange par exemple. Les temps de réponse des utilisateurs en agence s’approchent enfin de ceux du siège ; ils sont fréquemment réduits d’un facteur 2 à 10.

Pour Philippe Nicolas, Chairman de l’association SNIA France, « Les nouvelles offres WAFS d’entrée de gamme forment une bonne réponse de l’industrie au problème du stockage et du back-up multisites. » Ces serveurs proxy sont également des caches réseau et s’accompagnent parfois d’accélérateurs de protocoles sur le réseau étendu. Ils stockent et synchronisent les fichiers automatiquement. Bien que cette piste de consolidation soit encore récente, elle est déjà validée par de nombreux fabricants. L’accélération de flux est la spécialité d’Expand (acquéreur de DiskSites), de F5 Networks et de Riverbed qui rivalisent contre Cisco. Ce dernier a avalé successivement Actona, puis Fineground pour transformer l’offre WAFS en appliance WAAS (Wide Area Application Services) et s’appuyer sur les services de gestion de la qualité de services et les équipements d’interconnexion déjà en place.
L’approche de Perebit a séduit Juniper, tandis que Packeteer a repris les développements de Tacit pour garantir l’intégrité des données entre les succursales et le centre de données. « Malgré l’investissement nécessaire dans ces nouveaux équipements – comptez de 5 000 à 7 000 euros par agence –, la réduction globale du TCO semble intéressante », estime Philippe Nicolas. Au niveau du data center, il faut cependant prévoir un équipement (le Core File Engine) d’une capacité d’autant plus importante qu’il y aura d’agences équipées en WAFS ou WAAS.
p.2
Réduire
Citrix prend très au sérieux cette remise en cause des accès distants et du stockage des données et vient de faire l’acquisition d’Orbital Data, un éditeur spécialiste du WAFS. Une voie diamétralement opposée à celle des serveurs NAS tout-en-un, motorisés de plus en plus fréquemment par Windows Storage Server R2 de Microsoft.  La gamme des serveurs StorageWorks All-in-One d’HP associe à cet environnement, 1 à 3 To d’espace disque, des alimentations redondantes et surtout un assistant pour configurer rapidement les volumes nécessaires à chaque application, snapshots et sauvegardes inclus. Commercialisée de 4 400 euros (1 To en disques SATA et interface iSCSI) à 7 900 euros (pour 876 Go de disques SAS), cette gamme vient rivaliser les serveurs de stockage Primergy de Fujitsu-Siemens, ainsi que l’offre d’entrée de gamme EMC.


Back-up et sites miroirs montent en puissance

stockage-microsoft12347_Co7.gifLe schéma d’une architecture de stockage pour Exchange 2000.
Appliances de back-up, prise en compte des fichiers dupliqués et réplications asynchrones entre sites distants gagnent des automatismes et se démocratisent simultanément.

La protection adéquate à apporter aux fichiers des agences d’une PME doit être capable d’archiver, puis de retrouver et de restaurer rapidement les informations. En règle générale, des disques externes ou des lecteurs de bandes suffisent. L’innovation à ce niveau est rarement de mise dans les petites structures.

Et pourtant, « L’approche actuelle devient “content aware”, c’est-à-dire qu’on tient compte maintenant des contenus pour mieux les protéger et les répliquer. La PME peut ainsi dire si un fichier existe déjà sur ses sauvegardes, ce qui évite de nouveaux investissements réseau, épargne du temps machine et de l’espace disque », note Philippe Nicolas, Chairman de l’association SNIA France. Sans changer d’infrastructure réseau, la PME gagne donc à évaluer les mécanismes récents de déduplication, de factorisation, de data coalescence ou de Single Instance Storage, tous synonymes en réalité.
Embarqués dans des appliances sous Linux ou sous Windows Storage Server aussi bien que dans des logiciels indépendants, ces algorithmes s’appuient sur une cryptographie appliquée à la sauvegarde, traitant la signature et la comparaison de blocs de très petites tailles. Avamar, Asigra, Data Domain, Digilent, Iron Mountain, Symantec, et de nombreux autres, réduisent ainsi le volume des données avant tout déplacement ou back-up.
Sans abuser de tels mécanismes ni recourir à l’émulation de bandes sur disque, EMC Insignia – issu du rachat de l’éditeur Dantz par EMC – s’appuie sur les baies en place dans l’entreprise : « Les PME attendent des solutions intuitives qui, une fois configurées, requièrent un minimum d’interventions », justifie David Mary, ingénieur système de la filiale française. Neuf clients sur dix d’EMC Insignia sont des PME de moins de 250 salariés, fréquemment sans directeur informatique à temps plein. Pour ces structures, l’administration simplifiée et centralisée s’impose et il n’est pas question de les forcer à gonfler leurs réseaux étendus. La réplication de données entre deux sites distants permet la reprise d’activités, en cas d’incident sur un serveur : « Le programme Replistor est installé sur les sites distants avec une programmation automatique des réplications de données. C’est le logiciel Retrospect qui vient ensuite sauver les données depuis le site central », explique-t-il. L’offre Replistor SMB réserve un espace partagé du centre de données pour rapatrier les informations des agences dans la journée – en continu – ou bien chaque soir. Le programme Retrospect assure une sauvegarde le plus souvent de nuit.

Les PME aux budgets restreints peuvent personnaliser ce processus, et réserver une partie la bande passante (128 kbps par exemple) à la sauvegarde. Autre solution, opter pour un package associant une nouvelle baie au logiciel : l’équipement Clariion EMC de 3 To et le logiciel Retrospect avec son agent de back-up (sauvegarde de fichiers  ouverts) sont regroupés moyennant 10 600 euros. Une configuration d’un prix voisin inclue l’agent MS-Exchange pour archiver jusqu’à 2,5 To d’e-mails et d’attachements. Prochainement, l’offre Visual SRM d’EMC Insigna complètera cette offre pour optimiser la disponibilité des données.

stockage-ibm212256_Copier6.gifDe plus en plus de capacité dans des matériels de plus en plus petits.
On note une évolution semblable chez CA, qui reste indépendant de tout matériel cependant : « Les projets de SRM (Storage Resource Management) arrivent maintenant à la portée des PME. Le logiciel Brightstor aide à optimiser les volumes de stockage, à mieux connaître les espaces utilisés par la messagerie, les bases de données Oracle et la bureautique, à mieux prévoir l’avenir pour se réorganiser », assure Marc Landwerlin, responsable de la Business Unit Stockage de l’éditeur CA. Quatre logiciels de la gamme CA s’avèrent complémentaires : Illumin Message Manager pour gérer les migrations, l’archivage et la suppression des e-mails, ArcServe pour la sauvegarde, SVM pour l’allocation dynamique des ressources et XOSoft pour la réplication, la haute disponibilité et la sauvegarde en continue (CDP). La consolidation des données passe par une kyrielle de méthodes possibles. « Or, avec un budget informatique réduit, la PME se préoccupe d’un retour sur investissement plus immédiat que la grande entreprise, qui a les moyens d’investir dans la durée », souligne Marc Landwerlin.

Entre les centres de données distants, deux modes de réplication demeurent possibles, synchrone ou asynchrone. « La location de fibre optique permet des liens synchrones entre deux bâtiments distants. Lorsque la distance est plus importante entre les sites, la consolidation des données s’effectue alors plus souvent en mode asynchrone. Notre logiciel SANtricity (sauvegarde et disaster recovery) copie à présent des centaines de Tera-octets en quelques heures contre deux jours auparavant », compare Thierry Paprocky, directeur général pour l’Europe du Sud de LSI Logic. La bonne stratégie dépend principalement de la disponibilité souhaitée pour les données critiques. Le back-up peut s’effectuer le soir, ou bien on procède à une copie miroir plusieurs fois par jour, le cas échéant, lorsque les liens haut débit le permettent. Méconnu des PME, LSI Logic connaît une croissance annuelle de 20 %. Ce spécialiste des interfaces, contrôleurs et logiciels de stockage inscrit ses produits aux catalogues d’IBM, de NCR, de SGI et de Sun/Storagetek. Son offre PacketLight s’adresse maintenant aux PME dont les sites sont interconnectés par des lignes d’ISP à haut débit, de 10 à 24 Mbps avec débit garanti. « Il y a quatre ans, ce type de liaisons étaient réservées aux grands centres informatiques. Mais ce n’est plus le cas à présent. Les bonnes idées viennent souvent des grands comptes avant de se démocratiser. » Une solution PacketLight d’entrée de gamme avec réplications synchrone et asynchrone, est vendue moins de 20 000 euros pour 20 To environ.


Deux sauvegardes valent mieux qu’une pour Saunier & Associés
Beaugendre_Saunier212258_C8.gifUne sauvegarde externalisée, via Internet, complète le back-up des bureaux d’études distants de Saunier & Associés. La méthode des « delta blocs » permet de conserver les liaisons en place. « Par expérience, la sauvegarde fonctionne toujours, sauf lorsque l’on a eu un problème la veille et qu’on en a vraiment besoin. Un deuxième niveau de back-up n’est jamais un luxe », affirme Aurélien Beaugendre, le Directeur des Systèmes d’Informations de Saunier & Associés, une société d’ingénierie et de conseils active dans la construction, l’énergie, l’eau et l’environnement, et l’aménagement du territoire. Au total, cette entreprise emploie 350 personnes réparties sur 25 sites. Six informaticiens sont chargés des développements et de l’exploitation pour l’ensemble des sites. Le premier niveau de sauvegarde retenu est classique. Il tire profit de bandes et de disques amovibles distribués dans les petites agences. En complément, « Nous avons choisi une solution de déport des données vers un centre externalisé. Nous souhaitions disposer d’une solution simple pour éviter les problèmes relatifs aux incendies et aux inondations sans avoir à gérer la manutention des bandes sur 25 sites », explique le DSI. Le sous-traitant AGS Backup assure ce second niveau de back-up grâce aux automatismes du logiciel Connected Backup PC d’Iron Mountain. Ce programme oriente les mises à jour quotidiennes de plans et de fichiers bureautique vers le Data Center d’IBM à Montpellier. Son approche originale consiste à travailler à partir de « delta blocs », par comparaison de tout ce qui a été modifié depuis la précédente sauvegarde. Elle évite de transmettre plusieurs fois les mêmes fichiers complets, ce qui assure une optimisation de l’espace disque et minimise le trafic réseau. Effectuée de nuit, ce second back-up répercute les modifications inscrites dans les répertoires partagés des serveurs Windows en agence. Les plus petites agences utilisent un stockage sur disque d’origine Maxtor directement relié au réseau Ethernet. Pour sa prise en compte par la solution d’AGS Backup, un module de gestion d’erreurs a été ajouté, en une semaine. « AGS est une petite structure à taille humaine apportant un service de proximité. Nous avons un interlocuteur quasi attitré et très réactif. Au début, les liens étendus formaient la principale interrogation. Certains acteurs prétendaient que notre réseau en place rendait impossible la sauvegarde externalisée. Mais le personnel d’AGS était confiant vis-à-vis de la bande passante utilisée. Nous avons fait des tests qui se sont révélés assez efficaces, puis nous avons commencé le déploiement », retrace le DSI. Dans une première phase, des disques externes ont permis de récupérer 100 % des données des grands sites, puis de les copier dans le data center. Ce travail préparatoire a permis aussitôt de transférer les « delta blocs » correspondants aux mises à jour de la journée, lors des nuits suivantes. « Nous avons testé à plusieurs reprises la restauration des fichiers via AGS Backup pour vérifier le discours des commerciaux. Et nous n’avons jamais été confrontés au fait de ne pouvoir restaurer nos données. Nous avons gagné, de plus, une vraie gestion documentaire car les cinq dernières versions de chaque fichier sont conservées, ce qui est très important dans l’ingénierie-conseil. » Le tarif de cette prestation de service a été négocié au Giga-octet sauvegardé, en partant du volume global de un Tera-octet nécessaire à la protection de l’ensemble des sites. Le choix d’un tel back-up à deux niveaux s’avère pertinent tant que l’afflux d’un très grand volume de données sur une courte période reste rare.