Vous êtes sur la page 1sur 65

FASCICULE INFORMATIQUE GENERALE

Technologies logiciels Gnralits

AVERTISSEMENT
CET OUVRAGE CONTIENT DES REPRODUCTIONS EFFECTUEES PAR L'IGPDE AVEC L'AUTORISATION DU CENTRE FRANAIS D'EXPLOITATION DU DROIT DE COPIE (CFC). TOUTE NOUVELLE REPRODUCTION L'AUTORISATION PREALABLE DU CFC . EST SOUMISE A

Sommaire

SOMMAIRE
ASPECTS DIVERS DU DOMAINE LOGICIEL ................................................................................. 5 1. Notions gnrales ................................................................................................................... 6 1.1. Le programme................................................................................................................... 6 1.2. L'instruction ....................................................................................................................... 6 1.3. La notion de logiciel .......................................................................................................... 6 Typologies................................................................................................................................ 7 2.1. Les programmes systme ................................................................................................ 7 2.2. Les applications ................................................................................................................ 8 2.3. Les logiciels ...................................................................................................................... 8 2.4. Les progiciels .................................................................................................................... 9

2.

LES APPLICATIONS....................................................................................................................... 11 1. Typologie des applications .................................................................................................. 11 1.1. Les applications de traitement par lots ........................................................................... 11 1.2. Les applications transactionnelles .................................................................................. 13 La portabilit des applications............................................................................................. 14 2.1. Les facteurs de la portabilit des applications................................................................ 15 2.2. Effectuer les choix adapts............................................................................................. 16 2.3. Mthode de dveloppement ........................................................................................... 17 2.4. Organisation des programmes ....................................................................................... 20 2.5. L'architecture du code excutable .................................................................................. 22 2.6. Conclusion ...................................................................................................................... 22 L'interoprabilit des applications ...................................................................................... 23 3.1. Les dveloppements spcifiques : les applications interfaces ....................................... 24 3.2. Les middlewares (intergiciels) ........................................................................................ 24 L'intgration d'application (EAI - Enterprise Application Integration)............................. 25 La distribution des applications (applications distribues) ............................................. 26 5.1. L'origine de l'architecture client-serveur ......................................................................... 26 5.2. L'architecture client-serveur "efface" par l'architecture Web ........................................ 27 5.3. Les architectures applicatives "Web-to-Host"................................................................. 28 5.4. Les applications client-serveur sont en voie de disparition ............................................ 29

2.

3.

4. 5.

LES LOGICIELS .............................................................................................................................. 31 1. Les logiciels ducatifs .......................................................................................................... 31 1.1. Les didacticiels................................................................................................................ 31 1.2. Les logiciels base dinformations ................................................................................. 31 1.3. Les logiciels bureautiques .............................................................................................. 32 1.4. Les outils complets de la bureautique ............................................................................ 35 Les systmes experts ........................................................................................................... 36 Les logiciels collaboratifs..................................................................................................... 37 3.1. Le concept de "groupware"............................................................................................. 38 3.2. Le concept de "workflow"................................................................................................ 39

2. 3.

LES PROGICIELS ........................................................................................................................... 43

Toute reproduction mme partielle interdite IGPDE

page 3

Sommaire

1. 2.

Les progiciels de gestion intgrs (PGI) ............................................................................. 43 XRP, le futur des PGI ............................................................................................................. 44

L'INFORMATIQUE DECISIONNELLE............................................................................................. 45 1. Quelques dfinitions ............................................................................................................. 45 1.1. Systme informatis d'aide la dcision SIAD (DSS, Decision support system) .......... 45 1.2. Informatique dcisionnelle (BI, Business Intelligence).................................................... 45 Le processus dcisionnel ..................................................................................................... 46 Les diffrents outils logiciels ............................................................................................... 47 3.1. Datawarehouse - Datamart ............................................................................................. 47 3.2. L'extraction (ETL) ............................................................................................................ 47 3.3. Le Data Mining ................................................................................................................ 47 3.4. Le reporting ..................................................................................................................... 48 3.5. L'analyse multi-dimensionnelle : Le cube OLAP............................................................. 48

2. 3.

LE LOGICIEL LIBRE ("L'OPEN SOURCE")................................................................................... 49 1. Quest-ce quun logiciel libre ?............................................................................................. 50 1.1. Prsentation gnrale et synthtique des logiciels libres ............................................... 50 1.2. Dfinitions........................................................................................................................ 50 1.3. Diffrences de terminologie ............................................................................................ 52 Aspects juridiques................................................................................................................. 52 2.1. Les logiciels propritaires................................................................................................ 52 2.2. Les logiciels libres ........................................................................................................... 53 Mode de fonctionnement du logiciel libre........................................................................... 55 3.1. Le partage de logiciels : lapproche collaborative et pragmatique .................................. 55 3.2. Modle conomique des logiciels libres.......................................................................... 56 Utilisation des logiciels libres .............................................................................................. 58 4.1. Lintrt des logiciels libres ............................................................................................. 58 4.2. Prcautions demploi ....................................................................................................... 59 4.3. Domaines d'utilisation des logiciels libres ....................................................................... 60 4.4. Un enjeu pour l'administration......................................................................................... 62 4.5. Bnfices et risques pour l'administration....................................................................... 62

2.

3.

4.

page 4

Toute reproduction mme partielle interdite IGPDE

Aspects divers du domaine logiciel

ASPECTS DIVERS DU DOMAINE LOGICIEL

Remarque :
Ce fascicule n'aborde que des notions propres l'informatique de gestion et exclus d'autres aspects propres aux domaines : scientifiques (calcul, simulation, ; et industriels (conduite de processus de fabrication, ) ;

En matire d'informatique de gestion, un traitement automatis peut tre dfini comme un processus compos d'actions et de conditions, s'enchanant dans un ordre prtabli afin de faire passer un rfrentiel de donne d'un tat initial un tat final. Pour pouvoir tre ralis, un traitement automatis ncessite la prsence de 2 lments, le "matriel" et le "logiciel" : l'lment "matriel" est compos du processeur, de la mmoire centrale et des priphriques (et leurs supports) ; l'lment "logiciel", concrtis par un programme, applique ces actions et ces conditions sur des donnes partir d'une suite d'instructions.

L'lment "logiciel" formalise le traitement, l'lment "matriel" ralise son excution selon un processus automatis. Mais pour raliser l'automatisation de cette excution, il a t ncessaire de dfinir un mode de fonctionnement automatis de l'ordinateur, que l'on a appel ordinateur "programme interne" (1). Cette architecture (2) a t formalise pour la premire fois en 1945 par le mathmaticien d'origine hongroise John von Neumann que l'on peut rsumer ainsi : le programme est implant en mmoire pendant toute la dure de son excution par le processeur ; les instructions du programme (codes sous forme numrique - binaire) sont agences selon un ordre d'excution squentiel ; le processeur peut tre amen modifier cet ordre squentiel grce la prsence d'instructions (dans le programme) permettant des "ruptures de squence".

L'automatisation de l'excution du programme est ralise dans la mesure o , le programme rsidant en mmoire centrale, toutes les instructions sont directement accessibles au processeur, soit dans l'ordre squentiel, soit par rupture de squence ( la suite d'une instruction de branchement conditionnel ou inconditionnelle).

Remarque :
(1) Par opposition aux premiers calculateurs scientifiques qui taient programme externes. (2) Les principes de "l'architecture de von Neumann" guideront la conception des ordinateurs jusqu' nos jours.

Toute reproduction mme partielle interdite IGPDE

page 5

Aspects divers du domaine logiciel

1.

NOTIONS GENERALES

1.1.

Le programme

Le programme est destin dcrire l'ensemble des actions conscutives qu'un ordinateur (processeur) doit excuter. Il est constitu : d'une suite d'instructions sexcutant en mmoire centrale; faisant elle-mmes rfrence (selon des adresses) aux donnes manipuler.

Le processeur excute squentiellement les instructions jusqu' ce qu'il rencontre une instruction (appele parfois instruction de branchement) provoquant une "rupture de la squence" pour permettre l'excution d'une instruction se situant un autre endroit du programme. Il s'agit donc d'une sorte de jeu de piste dans lequel la machine doit suivre le fil conducteur et excuter les instructions qu'elle rencontre jusqu' ce qu'elle arrive la fin du programme et celui-ci s'arrte.

1.2.

L'instruction

L'instruction est l'lment cl de l'ordinateur car c'est elle qui permet de spcifier au processeur l'action effectuer. Les instructions effectuer sont indiques dans le fichier source et l'ordinateur passe d'une instruction une autre en suivant les instructions indiques de haut en bas (car la lecture d'un fichier se fait de haut en bas). Une instruction est gnralement compose de deux lments: l'oprateur : action effectuer par le processeur la ou les oprandes : une ou plusieurs donnes (adresse mmoire) sur lequel on va effectuer l'opration oprateur oprande(s) oprande(s)

1.3.

La notion de logiciel

Un logiciel est un ensemble des moyens fournis pour utiliser un ordinateur et composs de programmes de diverses natures (diteurs, compilateurs, traducteurs de langages, diteurs de liens, systmes d'exploitation, utilitaires, etc. ).

page 6

Toute reproduction mme partielle interdite IGPDE

Aspects divers du domaine logiciel

2.

TYPOLOGIES

Le domaine du logiciel peut se rpartir en deux grandes catgories : les logiciels systme (ou logiciels de base) ; et les applications, les logiciels et les progiciels.

Le schma ci-dessous rcapitule les diffrents niveaux prsents.


Matriel Systme d'exploitation Autres logiciels systme Logiciels de base

Application

Logiciel/Progiciel

Tout le reste (ordinateur, priphriques et squences dinstructions sexcutant hors de la mmoire centrale) sera considr comme du "matriel". Parmi les squences dinstructions ne sexcutant pas en mmoire centrale, on pourra trouver la partie basse du logiciel de base qui se trouve gnralement dans les mmoires mortes et qui contrle les diffrents dispositifs physiques de la machine. Les logiciels systme (ou logiciels de base) permettent le fonctionnement de lordinateur. Les applications, les logiciels et les progiciels sont destins rpondre aux besoins des utilisateurs. Ils ralisent les traitements automatiss.

2.1.

Les programmes systme

Parmi les logiciels de base, le systme dexploitation est le plus important. Le systme dexploitation est un ensemble de logiciels qui permettent aux diffrents composants internes et externes de lordinateur, en particulier les priphriques de stockage (d'o le nom de systme d'exploitation de disques), de communiquer entre eux. Ces logiciels permettent de donner des instructions lordinateur laide de commandes pour effectuer certaines tches, comme crer, changer, renommer et supprimer les rpertoires et sous-rpertoires et les fichiers, en afficher la liste, en examiner le contenu, effacer lcran, formater une disquette, un disque dur, copier des fichiers, une disquette ou un disque dur, etc. Lobjectif est de masquer la complexit de gestion des diffrentes composantes de lordinateur (processeurs, mmoires, horloge, priphriques) en offrant une couche logicielle intermdiaire entre la machine et les programmes dapplication, qui propose un ensemble dinstructions pour lexploitation des ressources de la machine et prend en charge la gestion du systme. Ainsi, lorsque lon conoit un programme dapplication, "lire un bloc de fichier" ne ncessite pas davoir se proccuper du dplacement des ttes de lecture des disques, de leur positionnement, du nombre doctets transfrer, etc.

Toute reproduction mme partielle interdite IGPDE

page 7

Aspects divers du domaine logiciel

Les autres logiciels systme sont les interprteurs de commande, les compilateurs, les diteurs et tout autre programme, qui ne sont pas des programmes dapplication. Ils ne font pas partie du systme dexploitation. Sils ne conviennent pas lutilisateur, rien ne lempche den changer ou den crire un qui lui convienne mieux. En revanche, il ne peut crire son propre gestionnaire des interruptions du disque, car celui-ci fait partie du systme dexploitation.

Remarque :
Les logiciels systme font l'objet d'un fascicule spcifique. 2.2. Les applications

Les applications sont dveloppes spcifiquement pour couvrir des besoins d'automatisation propres un domaine fonctionnelle particulier d'une entreprise ou d'une administration. Une application comprend : des traitements (programmes) qui intgrent les rgles de gestion du domaine automatis ; et l'organisation de la mmorisation des donnes propres ces traitements.

2.3.

Les logiciels

Les logiciels sont conus pour couvrir des besoins gnriques comme par exemple les suites bureautiques (traitements de textes, tableurs ... Les logiciels ne ralisent que des traitements. Certains logiciels sont indispensables l'utilisation de l'ordinateur (le systme d'exploitation, les environnements d'exploitation, les programmes d'application. . . ). Quelques grands diteurs (Microsoft, Lotus, etc.) mergent du march des logiciels. Leurs produits couvrent de multiples domaines. Les applications qu'ils dveloppent, concernent divers types d'activits et s'appuient sur les configurations matrielles adaptes. Ils sont commercialiss (sous forme de licence d'utilisation). Certains sont livrs avec le matriel; c'est trs souvent le cas du systme d'exploitation. Les autres doivent tre installs en fonction des besoins de l'utilisateur. Ils sont livrs sur diffrents supports. Parfois des disquettes, mais plus couramment sur Cdrom. Ils peuvent mme tre tlchargs partir d'un site fournisseur. Les logiciels voluent parfois. Lorsque les diteurs amliorent leurs produits, qu'ils s'agissent de fonctionnalits ou de corrections d'erreurs , ils sont identifiables, grce leur numro de version ou leur identification commerciale (Word 2000 ; Netscape 6.1 ; Office XP). L'utilisation d'un logiciel (d'un progiciel ou d'une application) ncessite un apprentissage l'aide d'une formation, d'un didacticiel ou d'un manuel. La documentation des diteurs de logiciels se fait de plus en plus rare ou est rduite au minimum, car une aide en ligne est souvent intgre l'application. On peut se procurer des ouvrages dans des magasins ou des librairies spcialises. Il existe une adaptation du logiciel au matriel, mme si cette relation ne semble pas imprative au premier abord. La plupart des logiciels qui connaissent un franc succs sont trs sophistiqus. Si l'on suit les recommandations des diteurs, chaque application ncessite une configuration

page 8

Toute reproduction mme partielle interdite IGPDE

Aspects divers du domaine logiciel

minimale. Les lments essentiels qui permettent de dcrire cette configuration sont le plus souvent : Le type ou la gamme du processeur ; La capacit minimale de la mmoire vive ; La capacit de stockage des disques durs ; La version du systme d'exploitation ; Le type de cartes vido et l'cran ; Les quipements multimdias (carte son, lecteur de cdroms, ).

2.4.

Les progiciels

Les progiciels (ou "produit-logiciel" - package) sont constitus d'un ensemble de programme. Ils sont comparables des applications. Paramtrables et modulables, ils sont dvelopps et commercialiss par des diteurs afin de couvrir l'automatisation des fonctions courantes ou habituelles pour de nombreuses entreprises, comme par exemple : la comptabilit ; la gestion des stocks ; la gestion des ressources humaines

On trouve sur le march de l'informatique, des logiciels volus remplissant des fonctions standards. Ce sont les progiciels gnralistes ou encore progiciels horizontaux. Ils sont diffuss en plusieurs millions d'exemplaires. On les classe dans une catgorie dfinie par la tche principale qu'ils permettent de raliser, mme s'ils empitent sur d'autres domaines . D'autres ont des fonctionnalits spcifiques. Ce sont des logiciels spcialiss ou encore progiciels verticaux.

Toute reproduction mme partielle interdite IGPDE

page 9

Les applications

LES APPLICATIONS
Les applications sont dveloppes spcifiquement pour couvrir des besoins d'automatisation propres un domaine fonctionnelle particulier d'une entreprise ou d'une administration. Les applications assurent lacquisition, la gestion et la restitution des informations. Pour ce faire, elles comprennent : des traitements (programmes) qui intgrent les rgles de gestion du domaine automatis ; et l'organisation de la mmorisation des donnes propres ces traitements.

Les besoins d'automatisation ne sont connus quau sein de lentreprise ou de l'administration qui les a formalis et qui en assure le suivi. Ils voluent au gr des demandes des utilisateurs, souvent de faon complter ou tendre leurs fonctionnalits. Les applications sont dveloppes partir de comptences informatiques internes ou par appel un prestataire externe. La connaissance du type dapplication dvelopper conditionne le choix de l'environnement de dveloppement (langage).

1.

TYPOLOGIE DES APPLICATIONS

Elles sont de deux types (le type dune application dpend de la nature des besoins quelle doit satisfaire) : les applications de traitement par lots; les applications transactionnelles.

1.1.

Les applications de traitement par lots

Les applications de traitement par lots (batch) fonctionnent en mode diffr et laissent une large part lautomatisation des traitements, sans autre intervention de loprateur (que le lancement, le suivi du droulement et la rcupration des rsultats). Les oprations raliser sont groupes dans une mme unit et portent sur un ensemble de donnes dclares pour tre utilises de faon spcifique ce lot. Le droulement des traitements est indpendant de l'utilisateur. Les applications de traitement par lots sont trs frquentes dans les grands systmes o elles permettent de traiter de grands volumes dinformation. Les traitements contenus dans cette unit sont raliss les uns aprs les autres. Ils utilisent, pour ce faire, des fichiers permanents contenant les donnes principales de lapplication, des fichiers mouvements contenant les donnes de mise jour, des fichiers de paramtrage et des fichiers mouvements ou temporaires. On appelle chane de traitement une telle unit. Elle est structure en phases comprenant chacune un ensemble de programmes. Elle est dcrite globalement par un schma de chane et, pour chaque phase, par un expos de phase dcrivant la nature de traitement, leur paramtrage ainsi que la structure des fichiers en entre et en sortie.

Toute reproduction mme partielle interdite IGPDE

page 11

Les applications

Un traitement par lot peut tre dcrit de la manire suivante :


DESCRIPTION DE LA CHAINE DE TRAITEMENT
Fichier
M-CLIENT

Fichier
M-CLIENT

Fichier
M-CLIENT

recycl

Dept 75

Dept 94

PHASE 1 : FUSION Fusion des fichiers M-CLIENT Fusion de tous les fichiers mouvements en un seul. S'il existe, le fichier issu du recyclage des anomalies dtectes lors du traitement prcdent est trait

Fichier
M-CLIENT

Compte rendu d'excution

PHASE 2 : MISE A JOUR Mise jour du fichier P-CLIENT


Fichier
P-CLIENT

Fichier
ANOMALIE

Compte rendu d'excution

Mise jour directe du fichier permanent. Chaque article du fichier mouvement est rpercut sur le fichier permanent. Cette mise jour est contrle et les articles en anomalie sont crits sur le fichier "ANOMALIE".

PHASE 3 : RECYCLAGE Recyclage des anomalies Recyclage des articles mis en anomalie. Un traitement particulier permet de reprendre les articles pour lesquels des anomalies "lgres" ont t dtectes (modification ou suppression d'article inexistant par exemple).

Fichier
ANOMALIE recycl

Compte rendu d'excution

page 12

Toute reproduction mme partielle interdite IGPDE

Les applications

Les fichiers doivent tre dcrits en mme temps que les traitements :
Description des fichiers
Fichier P-CLIENTS
Nom de zone P-ART P-NUM-CLIENT P-NOM P-PRENOM P-DATENAISS P-ADRESSE N C C N X 10 20 20 8 50 Identification du client par un n unique Nom du client Prnom du client Date de naissance sur 8 car, par ex 01011899 Adresse du client Type * Longueur Commentaire

(*) N : numrique, C : caractre, X : alphanumrique Fichier M-CLIENTS


Nom de zone M-ART M-NUM-CLIENT M-COD-MAJ M-NOM M-PRENOM M-DATENAISS M-ADRESSE N C C C N X 10 1 20 20 8 50 Identification du client par un n unique Code de mise jour (C = cration, M = Modification, S = Suppression) Nom du client Prnom du client Date de naissance sur 8 car, par ex 01011899 Adresse du client Type * Longueur Commentaire

(*) N : numrique, C : caractre, X : alphanumrique

Un fichier particulier contient la trace des anomalies dtectes lors du traitement ainsi que les donnes correspondantes, en vue de leur recyclage. Un compte-rendu dexcution est crit dans un fichier de faon tre lu aprs dition ou utilis par un traitement automatique. Il contient les rsultats de comptages raliss dans les programmes de lapplication.

1.2.

Les applications transactionnelles

Les applications transactionnelles fonctionnent en temps rel (mode conversationnel) accordent une place centrale l'utilisateur dans le cadre de procdures interactives ( cet effet, on emploie souvent le terme de "conversationnelles" en lieu et place de "transactionnelles"). Elles permettent un dialogue entre lhomme et la machine. Les applications transactionnelles sont de plus en plus rpandues et favorisent la gestion, sous forme lectronique, des objets habituels utiliss par les organisations tels que les dossiers, les moyens de paiement et le courrier. Le droulement des traitements est dpendant de l'utilisateur. Les applications transactionnelles sont utilises pour lautomatisation de transactions telles que la consultation, la cration, la mise jour ou la suppression dun dossier gr sous forme magntique. Ce type dapplication est bas sur la notion de processus interactif impliquant un dialogue entre lutilisateur et lapplication mise en uvre dans le cadre de ce processus. Gnralement, ce dialogue a pour but de sassurer que les donnes fournies lapplication seront syntaxiquement correctes. Un dialogue spcifique de correction des erreurs remplace le fichier des anomalies utilis dans les traitements par lots.

Toute reproduction mme partielle interdite IGPDE

page 13

Les applications

Une aide la saisie et, en particulier, la rsolution des erreurs dtectes doit tre prvue et spcifie ds le dveloppement de ce dialogue. Lutilisation de contrles sur la validit des donnes saisies, par rapport leur type (numrique ou caractre, par exemple), et sur la cohrence entre rubriques, la fourniture dune aide en ligne, accompagnant la saisie et la conception de messages derreurs explicites sont des facteurs damlioration de la qualit de ces applications. Un fichier de journalisation mmorise toutes les oprations ralises. Il permet de retrouver une image cohrente des donnes dans le cas o une transaction naboutirait pas. Une application transactionnelle peut tre dcrite de la manire suivante :
SCHEMA DE LA PHASE INTERACTIVE

Saisie / consultation

Mise jour du fichier P-CLIENT

Fichier P-CLIENT

Compte rendu d'excution

Fichier de
journalisation (LOG)

La dfinition du dialogue entre loprateur humain et lordinateur doit faire lobjet dune attention particulire. Elle doit prendre en compte les rgles de dfinition des interfaces statiques (visibles lcran ou dans une fentre) et dynamiques (concernant lenchanement des crans ou des grilles de saisie). On trouve galement dans cette catgorie des applications faisant appel des algorithmes trs complexes, tels ceux ddis lanalyse statistique. La prpondrance de leffort de calcul, par rapport au faible volume de donnes, inciterait plutt les classer dans la catgorie des applications orientes vers les traitements, mais leur principal but est de traiter des informations issues du domaine de la gestion.

2.

LA PORTABILITE DES APPLICATIONS

La diversit des architectures matrielles et des systmes d'exploitation pose le problme gnral de la portabilit des logiciels. La dfinition de la portabilit est donne par la norme NF ISO/CEI 9126 267-133 de 1992 : "un ensemble d'attributs portant sur l'aptitude du logiciel tre transfr d'un environnement l'autre, l'environnement pouvant tre organisationnel, matriel ou logiciel".

page 14

Toute reproduction mme partielle interdite IGPDE

Les applications

Cette dfinition, bien vague, recouvre des problmes conceptuels et techniques qui n'ont pas de solutions dfinitives et absolues. Si le but atteindre est vident, les problmes, les moyens et les solutions sont mal identifis car trop frquemment dpendants du logiciel concern. La portabilit des applications (et des logiciels) est un facteur conomique majeur de l'industrie informatique et les mthodes permettant de l'obtenir reprsentent un acquis fondamental du gnie logiciel. Au sein de tout organisme, le problme de la portabilit se pose avec acuit car il est prsent rare qu'il se contente d'un seul constructeur, de ses machines et de ses systmes d'exploitation propritaires. Il importe donc que les applications dveloppes dans tout organisme ou acquises par lui soient portables. De mme, pour toute socit dsirant commercialiser un logiciel de sa conception, la rentabilit de son dveloppement et de sa commercialisation suppose la portabilit. Pour les constructeurs, l'effet induit est une uniformisation oblige de leurs gammes de machines et de leurs systmes d'exploitation. L'AUA (Architecture Unifie d'Applications) du constructeur IBM, est un exemple typique de cette approche puisqu'elle propose un ensemble d'outils, de langages et de services disponibles sur une gamme complte d'ordinateurs. Les dveloppeurs, quant eux, sont conduits utiliser des mthodes permettant leurs programmes de s'excuter dans des contextes varis. Ce chapitre abordera la portabilit des logiciels tant du point de vue technique de la programmation et des langages que de celui plus mthodologique de l'organisation du logiciel et de son dveloppement.

2.1.

Les facteurs de la portabilit des applications

La portabilit n'est pas lie l'application mais induite par la conception et la mise en uvre du logiciel. Le choix d'un langage et de mthodes de programmation en fonction des contraintes de l'application est dterminant. Une bonne organisation des programmes et les principes respects durant le dveloppement dtermineront le degr de portabilit. Si la phase de conception inclut des objectifs de portabilit, dautres facteurs influent sur la portabilit. La dpendance du logiciel par rapport un systme d'exploitation ou un matriel donn est un facteur pouvant en restreindre la portabilit. Elle rsulte souvent d'un choix volontaire. Un logiciel de simulation avec images de synthse peut ncessiter un type d'cran particulier disponible uniquement sur une machine donne et son systme d'exploitation. La portabilit n'est pas recherche et lobjectif est de tirer parti des caractristiques de l'architecture. Ce type de logiciels a une fonction particulire dans un domaine prcis et les critres de portabilit y ont peu d'importance car les systmes informatiques sont ddis des domaines spcifiques tels que laronautique, les systmes de simulation, le contrle de centrales nuclaires, le pilotage de machines, ... Pour des raisons d'conomie ou d'efficacit, on utilise des outils particuliers un systme, par exemple les fonctions de gestion d'cran. Dans ce cas, c'est la portabilit de l'interface utilisateur qui est perdue. Souvent, le dfaut de portabilit induit concerne les interfaces travers les mthodes d'accs aux priphriques. Cela ne remet pas fondamentalement en cause la portabilit du logiciel.

Toute reproduction mme partielle interdite IGPDE

page 15

Les applications

Une conception modulaire des programmes (cf. ci-aprs) permet de minimiser l'impact de cette dpendance en isolant les fonctions non portables. Porter le logiciel sur un autre systme revient remplacer ces modules par d'autres. Enfin, les systmes d'exploitation rcents tendent supporter autant que possible des outils natifs d'autres systmes afin d'amener les dveloppeurs d'application effectuer, un cot peu lev, un portage leur offrant un nouveau march. Un facteur commun entravant la portabilit d'un logiciel est sa dpendance vis--vis d'outils existants et ncessaires son fonctionnement. C'est le cas par exemple de l'utilisation des systmes de gestion de bases de donnes. Cependant, ce type d'outils subit gnralement un processus d'uniformisation de ses interfaces jusqu' l'obtention d'une norme. On observe des stratgies de commercialisation bases sur la normalisation de leurs interfaces de programmation ou du langage d'accs. De ces remarques prliminaires, il ressort que la portabilit totale d'une application (d'un logiciel) est une qualit pratiquement impossible obtenir. Un logiciel peut tre plus ou moins portable, c'est--dire que son portage demandera plus ou moins d'efforts selon les choix qui ont prsid sa conception et les mthodes qui ont t utilises pour son dveloppement.

2.2.

Effectuer les choix adapts

Lors de la conception d'un logiciel, il importe de faire les bons choix et d'utiliser des mthodes de programmation et de dveloppement permettant d'accrotre son degr de portabilit. Rsumonsles avant d'y revenir de manire plus dtaille : le choix des plates-formes vises : tous les logiciels n'ont pas besoin d'tre disponibles sur toutes les architectures et sur tous les systmes d'exploitation ; le choix du niveau d'intgration dans le systme : en fonction de certaines contraintes, gnralement de performances, il peut tre ncessaire d'utiliser les fonctions particulires d'un systme d'exploitation ; le choix des outils : une application utilise souvent des outils logiciels et il est important de bien les choisir ; les mthodes de dveloppement : dans cette catgorie, on retrouve les aspects techniques du gnie logiciel : choix des langages, du style de programmation, organisation des programmes, architecture du code excutable.

Alors que les trois premiers points sont parfois dtermins par l'application, le dernier point se rvle crucial car il s'agit de mthodes pouvant tre appliques toute ralisation. 2.2.1. LES PLATES-FORMES

Une plate-forme dsigne une architecture matrielle et son systme d'exploitation. Une application (un logiciel) n'a pas toujours de vocation universelle et le nombre des plates-formes sur lesquelles il doit tre disponible est dterminer. Un dveloppeur peut tre amen cibler un constructeur et l'une de ses gammes. Cela se rvlera rentable si cette gamme de matriel possde des caractristiques matrielles et logicielles communes. Effectuer un tel choix suppose la prennit des orientations techniques du constructeur mais aussi une informatisation cohrente de la part des utilisateurs. On peut cibler une gamme surtout si le logiciel est destin un secteur informatique bien prcis.

page 16

Toute reproduction mme partielle interdite IGPDE

Les applications

Dans certains secteurs publics, industriels ou conomiques (comme ceux des assurances ou des banques par exemple) il existe de grandes organisations (administrations, entreprises) dont le parc informatique est relativement uniforme. 2.2.2. NIVEAUX D'INTEGRATION

Les systmes d'exploitation possdent des particularits prendre en compte afin d'amliorer les performances ou l'ergonomie d'un logiciel. Ainsi certains grent trs efficacement les mthodes d'accs direct aux enregistrements d'un fichier (VM/CMS par exemple) alors que certains autres ne supportent pleinement que la mthode d'accs squentiel (Unix ou OS/2 par exemple). Utiliser l'accs direct peut rendre le logiciel performant sur le premier type de systmes mais pas sur le second. Dans cette catgorie, on peut galement placer les outils particuliers un systme d'exploitation ou l'utilisation de certaines fonctions typiques du systme. Choisir de restreindre la portabilit des machines couvertes par un mme systme d'exploitation permet d'aller loin dans cette voie sans entamer la portabilit recherche. Il convient d'tre prudent quant la disponibilit relle de telles fonctions. Il est courant que les paramtres d'utilisation de la fonction diffrent sensiblement en haut et en bas de la gamme matrielle. 2.2.3. OUTILS

Il peut tre ncessaire, voire intressant, d'utiliser certains outils qui ne sont pas partie intgrante d'un systme d'exploitation. Les gestionnaires de bases de donnes sont un exemple typique de ce genre d'outils. Il faut vrifier la disponibilit de l'outil sur tous les systmes d'exploitation viss sinon la portabilit de l'application sera considrablement affaiblie. Il faut vrifier les performances de l'outil sur les diffrents systmes. Tel outil conu pour un systme d'exploitation donne peut se rvler trs peu adapt aux caractristiques d'un autre. Finalement, il convient de contrler les interfaces de programmation de l'outil, c'est--dire la description par le dtail des appels de programmes qui permettent d'utiliser cet outil. Il est possible que les paramtres de ces programmes diffrent beaucoup d'un systme l'autre. Dans les cas les plus insidieux, c'est la philosophie mme de l'utilisation de l'outil qui peut tre change.

2.3.

Mthode de dveloppement

Alors que les choix prcdents relvent du bon sens et de l'information, les principes suivants relvent de la mthodologie et sont relativement indpendants de l'application. 2.3.1. LANGAGES

Le choix des langages dans lesquels sera dveloppe l'application est trs important. Si ces langages ne sont pas ports, l'application ne le sera pas non plus sans une rcriture. 2.3.1.1. UTILISER UN LANGAGE NORMALISE

Une premire solution est d'utiliser un langage connu pour sa portabilit.

Toute reproduction mme partielle interdite IGPDE

page 17

Les applications

Il faut prendre garde que les meilleures rputations sont parfois surfaites. Certaines donnes techniques du langage sont souvent dpendantes de l'architecture matrielle qui les supporte. Ainsi, un entier peut tre reprsent sur 16, 32 ou 64 bits selon les processeurs. De mme, on peut utiliser certaines caractristiques relatives aux appels de sous-programmes qui ne seront pas universellement respectes par tous les compilateurs. Si le choix se porte sur un langage existant, il est ncessaire de vrifier les diffrentes versions du compilateur qui seront utilises, d'en mesurer les performances et d'en isoler les caractristiques techniques : format des donnes, ralisation des appels de sous-programmes, limitations diverses telles que taille des programmes et des sous-programmes, taille de l'espace mmoire adressable, taille des fichiers, etc. En effet, elles peuvent influer sur l'algorithmique utilise donc sur la portabilit. Il faut tudier la cohrence des sous-programmes des bibliothques du langage travers ses diffrentes mises en uvre. Il n'est pas rare que deux sous-programmes devant raliser la mme action diffrent trs peu mais de manire gnante sur deux machines diffrentes. Ce peut tre le cas des fonctions d'accs aux fichiers mais parfois aussi et de manire surprenante le cas des fonctions numriques. Enfin, le choix doit se porter sur un langage normalis. La norme est une garantie trs forte de la portabilit des programmes crits dans le langage mme si cette garantie ne peut tre absolue. Les facteurs limitatifs peuvent rendre un programme non portable. Il faut ngliger les extensions non-standards du langage bien que, trs frquemment, celles-ci existent pour pallier les insuffisances de la norme. 2.3.1.2. UTILISER UNE MACHINE VIRTUELLE

Une approche moins classique du langage consiste en la dfinition d'un langage conu spcialement pour l'criture du logiciel et uniquement pour cela. Un tel langage est, en gnral, de bas niveau et porte le nom de machine virtuelle ou de machine abstraite car il ressemble syntaxiquement et smantiquement un langage d'assemblage conventionnel. C'est le cas par exemple de la machine virtuelle LLM3 utilise pour l'criture du systme LeLisp. L'utilisation du langage LLM3 permet le portage du systme LeLisp en deux mois avec une quipe trs rduite. Pour porter le systme LeLisp sur une architecture particulire, il suffit de porter la machine virtuelle LLM3, c'est--dire le compilateur du langage LLM3 ciblant le langage d'assemblage de l'architecture. Une machine virtuelle peut comporter des instructions de trs haut niveau dcrivant des actions spcifiques l'application. Si l'application gre des interfaces utilisateurs, une instruction de la machine virtuelle peut, par exemple, dcrire les caractristiques et l'ouverture d'une fentre. Ces instructions peuvent aussi tre des structures de contrle. Lorsque ces structures sont utilises, le problme principal devient la compilation optimise. Les principes peuvent varier d'une architecture l'autre ; un compilateur ciblant une architecture RISC (Reduced Instructions Set Computer) a une structure diffrente d'un compilateur visant une architecture plus classique. Le dernier point concerne la mise en uvre des machines virtuelles. Les programmes de la machine virtuelle peuvent tre compils en langage d'assemblage pour des raisons d'efficacit. Ils peuvent aussi tre interprts, ventuellement aprs transformation sous une forme plus accessible. Enfin, ils peuvent tre interprts tout en ayant certaines parties compiles pour des raisons d'efficacit.

page 18

Toute reproduction mme partielle interdite IGPDE

Les applications

La raison de ce choix mixte est que le code interprt est en rgle gnrale plus compact mais moins efficace tandis que le code rsultat de la compilation devient bien plus rapide mais au prix d'une occupation mmoire pouvant devenir un facteur bloquant. La technique de la machine virtuelle ncessite un investissement relativement important et des comptences prcises en matire de langages, grammaires, interprtation et compilation. Cependant, l'exprience montre que cet investissement rduit d'un ordre de grandeur le temps et la main-d'uvre ncessaires un portage. 2.3.2. LA PROGRAMMATION

La programmation regroupe lensemble des tches qui concourent crire les programmes et en particulier utiliser les outils du langage. 2.3.2.1. SOUS-PROGRAMME

Une premire rgle conseille de factoriser au maximum le code par l'utilisation de sousprogrammes qui peuvent tre des procdures ou des fonctions. Il est en effet important d'avoir aussi peu que possible de copies d'une portion de code. Et lorsque celle-ci est paramtrable, il est ncessaire d'en faire un sous-programme, pour des raisons de maintenance. L'effet induit est videmment positif : plus le code est factoris, moins il y aura d'occurrences de code susceptibles de devoir tre modifies pour un portage. Un effet ngatif est la rduction des performances car l'appel de sous-programme et la transmission de paramtres sont rarement gratuits. 2.3.2.2. MACRO

Une manire de contrer cet effet ngatif est d'utiliser des macros. Une macro est une dfinition purement syntaxique d'un sous-programme : elle identifie une suite paramtre d'instructions qui sont recopies par le compilateur en lieu et place de l'appel au sousprogramme. Beaucoup de langages, tant impratifs qu'applicatifs ou logiques, permettent au programmeur d'utiliser des macros. Cependant, l'exprience dmontre que l'utilisation intensive de macros est gnratrice de problmes et d'ambiguts difficiles identifier. En effet, le programme tel qu'il a t crit et tel que le programmeur peut le relire n'est pas une image fidle du programme qui est compil ou interprt. Il est donc prfrable de rserver les macros l'identification de portions de code simples et relativement courtes. 2.3.2.3. OUTILS DE HAUT NIVEAU

Un deuxime principe gnralement admis en programmation est d'utiliser, autant que faire se peut, les outils programmatiques de trs haut niveau du langage condition qu'ils soient standards et, de prfrence, normaliss. Ces outils sont, par exemple, les chappements du langage C (setjmp/longjmp) ou ceux similaires du langage Lisp. Raliser un chappement signifie retourner un point pralablement et dynamiquement dsign du calcul en cours. En thorie, le calcul reprend ce point comme si rien n'avait eu lieu. Les programmes d'ordre suprieur sont un autre outil de haut niveau, ce sont des sousprogrammes admettant d'autres sous-programmes en paramtres : pointeur sur des procdures ou des fonctions en langage C, fonctionnelle du langage Lisp ou mtaprdicat de Prolog.

Toute reproduction mme partielle interdite IGPDE

page 19

Les applications

L'utilisation de tels outils, l'instar des "intouchables "goto"", permet de simplifier le code et de le rendre compact. Mais il ne faut pas ngliger le fait que ces outils soient bass sur des mcanismes parfois difficiles comprendre et matriser tant pour le programmeur que pour celui qui les a mis en uvre dans un langage particulier. L'exemple des chappements est, ce titre, significatif. Les outils de trs haut niveau posent des problmes de portabilit et de compatibilit pour ceux qui mettent en uvre les langages. Leur utilisation requiert une grande matrise et une excellente comprhension de leurs smantiques, surtout si plusieurs de ces outils sont utiliss conjointement. La tentation peut tre grande de ngliger ces outils. De la mme faon qu'il peut tre plus facile de se dispenser de la recherche d'un bon test d'arrt dans une boucle par l'utilisation d'un "goto" bien plac, il est aussi facile de se dispenser des outils de haut niveau par des artifices de programmation qui n'utilisent que les lments de base du langage. En agissant ainsi, on accrot la portabilit du logiciel mais au prix d'une complexification des programmes.

2.4.

Organisation des programmes

Un des objets du gnie logiciel est l'organisation des composants d'un logiciel. Le mot cl est modularit. Pour faciliter le portage, les programmes doivent tre logiquement organiss en couches hirarchises et physiquement disposs en modules. Diffrentes mthodes de dveloppement, qu'elles soient fonctionnelles ou orientes objet, permettent d'atteindre ces caractristiques. 2.4.1. COUCHES LOGICIELLES

Dans une organisation logique en couches hirarchiques des programmes, les programmes d'une couche n'utilisent comme sous-programmes que les programmes de la couche elle-mme et ceux des couches infrieures. Si nous prenons l'exemple classique des interfaces graphiques d'un systme, nous savons que le systme repose sur l'utilisation d'lments priphriques tels que l'cran, le clavier et la souris. Ces lments sont physiques. La manire dont on y accde est trs dpendante du matriel. L'accs ces lments formera donc la premire couche appele GPI (Graphic Programming Interface). Puis la ralisation du systme d'interface graphique formera une deuxime couche utilisant les programmes de la premire couche. Cette deuxime couche appele API (Application Programming Interface) contiendra des programmes qui peuvent tre utiliss par toute application. Plus une couche est basse, moins elle est portable. Porter une application construite en couches revient alors porter les couches les plus basses jusqu' atteindre une couche qui ne soit dpendante ni de l'architecture ni du systme d'exploitation. L'organisation logique en couches permet une identification aise des sousprogrammes qui doivent tre modifis lors du portage de l'application.

page 20

Toute reproduction mme partielle interdite IGPDE

Les applications

2.4.2.

MODULES

A l'intrieur d'une couche, les programmes doivent tre physiquement disposs en modules. Un module est un composant logiciel dfini par une interface de programmation et dont le code est inaccessible au programmeur qui utilise le module pour dvelopper son application. La spcification de l'interface dcrit quels sont les sous-programmes du module accessibles aux programmeurs, comment les utiliser et quelles sont leurs fonctions et cela indpendamment de leur mise en uvre. Un module est galement une entit fonctionnelle conue pour couvrir les besoins dans un domaine prcis. Un module pourra, par exemple, tre spcifiquement conu pour permettre des accs aux enregistrements d'une base de donnes particulire. Dans le Graphic Programming Interface de notre exemple, un module peut contenir les fonctions de gestion de la souris, un autre les fonctions d'affichage lmentaire, un autre les fonctions de consultation du clavier, etc ... Si l'on dsire remplacer l'cran de lordinateur, le portage de l'application est ralis par le remplacement du module Ecran dans la premire couche logique. Une organisation aussi idale du point de vue des portages peut avoir des aspects ngatifs. Si les interfaces de programmation dfinissant les modules peuvent tre abstraites, certaines limitations sont souvent imposes par les systmes et les architectures. Le concepteur est alors oblig, pour respecter le schma en couches, de ne considrer que les conditions les plus limitatives. Dans notre exemple, si nous dsirons que notre application soit utilise sur une gamme d'crans, nous devons considrer l'cran la rsolution la plus faible et la palette de couleurs la moins tendue. Les programmes ne sauront utiliser toutes les possibilits des crans haut de gamme, au risque de dvaluer l'application. Le discours idaliste doit donc tre tempr car certaines parties de l'application peuvent dpendre troitement des couches basses et des modifications doivent parfois tre apportes dans les couches hautes. Ainsi, un masque de saisie qui tient physiquement en une seule fentre sur un cran de grande taille et la rsolution trs fine peut devoir tre rparti sur deux fentres lorsque l'cran est de petite taille. 2.4.3. GESTION DES CONFIGURATIONS

La programmation modulaire est un acquis du gnie logiciel dont la ralisation est supporte par les gestionnaires de configurations tels que CVS sous Unix, Change Man sous MVS ou CMS sur VAX/VMS . Un gestionnaire de configuration est indispensable lorsque l'on dsire grer le code d'une application devant tre excute dans plusieurs environnements. Il assure le choix et l'assemblage des composants logiciels (les modules) en fonction de la plate-forme vise (architecture et systme d'exploitation) et de la version demande du logiciel. Il garantit la cohrence du logiciel construit.

Toute reproduction mme partielle interdite IGPDE

page 21

Les applications

2.5.

L'architecture du code excutable

Le dveloppement trs rapide des rseaux et de l'informatique rpartie ou distribue apporte une contribution significative la problmatique de la portabilit. L'efficacit des rseaux locaux est telle qu'il est rarement ncessaire que l'utilisateur d'une application doive excuter cette application sur son propre poste de travail. Une architecture intressante du point de vue de la portabilit est l'architecture client-serveur. Le cur de l'application est excut sur un certain type de plates-formes (les serveurs) alors que l'interface utilisateur peut tre excute sur d'autres types de plates-formes (les clients), les diffrentes plates-formes tant relies par un rseau. Seuls l'interface utilisateur et le protocole de communication entre la plate-forme utilisateur et les plates-formes d'excution doivent tre ports sur les architectures clientes. Cela suppose, bien entendu, une organisation matrielle base de postes de travail disposs en rseau. Ce type d'organisation est de plus en plus courant. On peut alors schmatiser la configuration matrielle et logicielle ainsi : deux machines (A et B) supportent l'excution du corps de l'application tandis que les quatre autres machines (C, D, E et F) sont des postes de travail intelligents grant l'interface avec les utilisateurs de l'application. Les architectures client-serveur amnent le problme de l'intgration de nouvelles machines clientes sur un rseau existant. Il existe des outils permettant de porter les interfaces et qui supportent les principaux environnements : Windows, OS/2-PM, Motif, Open Look, DEC Windows ... Le mme type d'outils quipe la gamme AUA d'IBM. En utilisant ces progiciels, le portage peut dans les meilleurs cas tre ralis sans rcriture de code, l'outil se chargeant de la totalit du portage. Parfois ces outils dispensent mme le programmeur du dveloppement de la gestion du rseau. Dans le schma client-serveur, le corps de l'application est excut sur la machine serveur tandis que seule l'interface utilisateur est excute sur la machine cliente. Ce n'est pas une ncessite et l'un des problmes qui se posent souvent aux concepteurs de telles architectures est celui de la rpartition des traitements entre les deux machines. Certains outils tels Uniface et Supernova permettent galement l'indpendance de la programmation par rapport aux bases de donnes en assurant la portabilit des programmes d'accs ces bases.

2.6.

Conclusion

La portabilit d'un logiciel ne relve pas d'une technique bien formalise. Le bon sens et la recherche d'information guident le dveloppeur dans les choix pralables. Savoir quel niveau d'intgration dans le systme d'exploitation est possible ou bien quels sont les outils externes utiliser est le rsultat d'une tude srieuse pour viter les dconvenues. Le choix des langages est un lment cl. La machine abstraite reprsente une solution lorsque le logiciel dvelopp est appel vivre longtemps. Mais cette technique demande des comptences et des moyens importants. Dans le cas contraire, le langage normalis est alors un bon choix. Il faut galement tenter de respecter des techniques de programmation propres et d'organiser soigneusement son code. L'exprience dmontre que les impasses en ce domaine se rvlent toujours coteuses lors des portages du logiciel.

page 22

Toute reproduction mme partielle interdite IGPDE

Les applications

Enfin, il peut tre intressant de rechercher sur le march des outils de gnration de code qui garantissent la portabilit des modules de l'application qui auront t construits de cette manire. Mais en fin de compte, le facteur le plus limitatif de la portabilit des logiciels est la pression sans cesse exerce sur les quipes en charge de la conception et du dveloppement. "Concevoir portable" ncessite une bonne information et beaucoup de rflexion. Or, les dlais pralables sont toujours trop courts pour permettre cela. Par ailleurs, les impratifs de calendrier et de performances dont les origines sont le plus souvent commerciales et politiques interdisent malheureusement une conception portable des applications. Les objectifs de rentabilit immdiate prennent trop souvent le pas sur les investissements plus long terme que ncessite la portabilit.

3.

L'INTEROPERABILITE DES APPLICATIONS

La construction des systmes dinformation sest faite progressivement, en satisfaisant chaque tape des besoins fonctionnels nouveaux ou complmentaires lexistant. Si au dbut des oprations dinformatisation, chaque systme tait ddi un ensemble distinct, les applications ont de nos jours besoin de communiquer, dchanger des donnes. Aujourd'hui, la complexit et l'extrme diffusion des systmes informatiques (ubiquitous computing) autant que l'environnement conomique comptitif l'extrme rendent ncessaire le dveloppement d'architectures logicielles supportant des applications htrognes tant dans les modles d'informations traites que dans les modes d'change et de coopration. L'interoprabilit des applications (ou la communication inter-applicative) regroupe l'ensemble des moyens mis en uvre afin de faire coexister des applications conues indpendamment les unes des autres, sur des technologies htrognes. De plus ces applications possdent bien souvent leur propre cycle de vie, c'est--dire une volution leur propre rythme pour rpondre aux besoins de leurs utilisateurs et pour intgrer les nouvelles technologies de l'informatique.

Remarque :
L'interoprabilit peut tre dfinie comme l'aptitude de deux ou plusieurs systmes (logiciels ou matriels) fonctionner ensemble en utilisant des standards communs. L'interoprabilit des applications peut tre ralise de diffrentes faons : l'aide d'un dveloppement spcifique dans chaque application. Ceci reprsente un travail important de ralisation. Une autre manire consiste mettre en place un middleware qui assure l'interoprabilit pour toutes les applications via des interfaces. Cela constitue plutt la tendance actuelle afin de limiter les dveloppement et assurer une meilleure souplesse. Une troisime solution consiste utiliser une plate-forme EAI (Enterprise Application Integration - "intgration des applications d'entreprise") qui offre la fois des solutions et des mthodes destines assurer l'intgration des diffrentes composantes du systme d'information.

Toute reproduction mme partielle interdite IGPDE

page 23

Les applications

3.1.

Les dveloppements spcifiques : les applications interfaces

La mise en place d'interfaces spcifiques (point point entre deux applications, ou deux systme d'information) ncessite la dfinition et de dveloppement de structure de donnes accompagnes de traitements de contrle. Pour quelles soient intelligibles par les systmes metteur et rcepteur, la mise en forme des donnes ncessite la mise en uvre de protocoles dchange de donnes qui permettront le dialogue entre applications. Soient deux applications "A" et "B". Ce dialogue s'articule autour d'une interface dite "sortante" (de application "A" vers "B") et ventuellement (selon les besoins de communication) "entrante" entre "B" et "A".
Interface "sortante"

Application "A"
Interface "entrante"

Application "B"

De telles solutions peuvent se prsentes dans divers domaines : entre un systme informatique existant (et relativement ancien) et une nouvelle application (un logiciel de gestion de la relation client par exemple) ; ou dans le domaine des changes de donnes informatises (EDI), par exemple pour la transmission de messages conomiques, tels que les factures, les catalogues et les moyens de paiement.

3.2.

Les middlewares (intergiciels)

Plutt que d'agir directement sur les applications par le dveloppement de traitements spcifiques, une autre manire d'envisager l'interoprabilit des applications consiste faire appel une couche logicielle intermdiaire. Les middlewares, ou "les logiciels du milieu" (que l'on traduit par "intergiciels") apportent aux applications les services d'interoprabilit. 3.2.1. DEFINITION

Un middleware peut tre dfini comme l'ensemble du logiciel qui, dans une architecture Client/Serveur, rside entre le client ou le serveur et le systme d'exploitation des plates-formes sur lesquelles il s'excute. Le middleware a pour objectif de rendre l'environnement physique transparent et sans objet pour les applications. Dans un tel environnement, on ne voit plus que des rseaux : on n'adresse plus des plates-formes mais des services, des donnes, des objets. Le middleware s'inscrit compltement dans la dynamique des systmes ouverts avec ses deux principes fondamentaux : Portabilit des applications: celle-ci est possible travers des API (Application Programming Interface). Une API est un ensemble de commandes paramtrables insrer dans un programme pour permettre au client d'accder un service sur un serveur. Elle permet d'accder au middleware ; Interoprabilit des applications : celle-ci est possible travers un protocole qui est constitu d'un ensemble de rgles de communication. Ces rgles assurent le dialogue entre un middleware client et un middleware serveur. LES TYPES DE MIDDLEWARE

3.2.2.

Il existe trois grands types de middleware :

page 24

Toute reproduction mme partielle interdite IGPDE

Les applications

MOM (Message Oriented Middleware) ; MOT (Message Oriented Transaction) ; MOO (Message Oriented Object). LE MOM

3.2.2.1.

Les middlewares MOM sont orients "donne". Ils vhiculent les donnes entre les applications : les changes entre les applications se font travers les donnes. Il s'appuie sur un serveur de messages et ralise ainsi de la messagerie inter-applicative. Tout le problme consiste grer les files d'attente et assurer la transparence des donnes entre les applications. Parmi les produits du march, on peut citer: MQS (IBM), Flowbus (Bull), rgle du jeu (SOPRA), MSQ (Microsoft) ou encore Rendezvous de Tibco ... 3.2.2.2. LE MOT

Les middlewares MOT sont de type traitement. Ils ralisent les changes entre les applications au travers de transactions. Ils s'appuient sur un moniteur transactionnel et ralisent ainsi un dialogue entre transactions distribues. Celui-ci peut tre : deux niveaux (2LTP). Dans ce cas, deux moniteurs transactionnels communiquent, mais l'un d'entre eux est considr comme un terminal. La mise jour des donnes est entirement la charge de l'autre transactionnel. Cela revient un systme centralis. coopratif (CTP). Les deux transactionnels sont au mme niveau et se synchronisent l'un par rapport l'autre. Chacun doit assurer la mise jour des donnes avec possibilit de journalisation. distribu (DTP). Plusieurs transactionnels peuvent communiquer entre eux et des mcanismes permettent d'assurer la synchronisation et la mise jour des donnes avec possibilit de journalisation.

Parmi les produits du march, on peut citer Tuxedo (BEA), CICS (IBM), TDS/TP8 (Bull), MTS (Microsoft). 3.2.2.3. LE MOO

Les middlewares MOO sont de type objet. Ils Les MOO organisent les changes entre les applications au travers des objets. Ils s'appuient sur une architecture objets distribus et ralisent ainsi un dialogue entre objets distribus Celle-ci est caractrise par un modle objet, des composants objets et des services. Parmi les produits du march, on peut citer: COM (Microsoft) et les diffrentes implmentations de CORBA (OMG) : Orbix, Visiobroker, Tuxedo (BEA), CICS (IBM), TDS/TP8 (Bull), MTS (Microsoft).

4.

L'INTEGRATION D'APPLICATION (EAI - ENTERPRISE APPLICATION INTEGRATION)

Les middlewares ne reprsentent en fait que le premier tage d'une offre d'EAI.Il s'agit de gagner en souplesse et de baisser les cots de maintenance des interfaces inter-applicatives. Pour rpondre ce besoin d'interoprabilit, les diffrents protagonistes du logiciel (consortium ou de grands groupes) ont apport diverses techniques cherchant amliorer l'interoprabilit des systmes distribus aussi bien au niveau des modles de conception, des formats d'change de donnes que des intergiciels l'excution.

Toute reproduction mme partielle interdite IGPDE

page 25

Les applications

EAI signifie Enterprise Application Integration, ce que l'on pourrait traduire par "intgration des applications d'entreprise". Les diteurs qui affirment oeuvrer dans le domaine de "l'EAI" proposent donc des logiciels pour instaurer des changes entre des applications qui n'ont jamais t conues pour s'entendre. L'abrviation "EAI" dsigne autant une offre logicielle que les projets d'intgration d'applications. De plus en plus, on a tendance parler de "projets EAI" pour dsigner des intgrations assez complexes, entre une nouvelle application (un logiciel de gestion de la relation client par exemple) et un existant informatique. Les industriels proposent aujourd'hui diffrentes rponses en terme de concepts (composants, infrastructures), de technologies (langages intermdiaires, conteneurs, services Web), de services (persistance, transactions, scurit, courtage) mais aussi de modles (nomenclatures), voire des mtamodles avec la dmarche Model Driven Architecture (MDA).

5.

LA DISTRIBUTION DES APPLICATIONS (APPLICATIONS DISTRIBUEES)

La tendance est d'aller vers une informatique distribue pour bnficier des possibilits apportes par l'volution des technologies en particulier au niveau des postes clients, des serveurs et des rseaux. Tout ceci s'inscrit dans le cadre de l'interoprabilit des applications. La distribution des applications s'inscrit naturellement dans le cadre des architectures distribues. Dans ce domaine, il existe plusieurs possibilits d'architectures, avec pour chacune des spcificits qui rpondent des besoins particuliers faisant appel diffrentes techniques que nous allons dcrire ci-dessous.

5.1.

L'origine de l'architecture client-serveur

Les annes 70 et 80, que ce soit sur terminaux ou sur PC, n'offraient que des interfaces en mode caractre (saisie au clavier). Larchitecture client-serveur fut une volution majeure de linformatique pour deux raisons : une interface graphique (sur le pixel) plus conviviale permettant lutilisateur un apprentissage plus ais des applications qui lui sont fournies ; une amlioration considrable de la productivit des dveloppeurs lis aux outils de dveloppement proposs qui ont permis doffrir une plus grande ractivit aux entreprises dans la mise en service de ses nouvelles applications. Ce qui demandait des mois, voire des annes de dveloppement en Cobol pouvait tre mis en service en quelques mois, et de plus avec une interface graphique plus conviviale et donc plus intuitive pour lutilisateur.

Avec une manipulation plus conviviale des applications, sans perdre les avantages des applications "caractre", ces interfaces ont, dans un premier temps, t freines par une complexit d'utilisation accrue, et bien entendu, par des postes utilisateur pas toujours la hauteur en termes de performance (mmoire et puissance insuffisantes). Mais assez rapidement (ds le dbut des annes 90) les nouveaux projets se sont majoritairement orients vers l'architecture client-serveur, alors qu'une partie du parc applicatif a commenc migrer du mode caractre vers le client-serveur.

page 26

Toute reproduction mme partielle interdite IGPDE

Les applications

Bien avant larriv du navigateur Web sur le poste client, sont apparus des produits dits de "deuxime gnration" dont les traitements ntaient plus positionns sur le client mais centraliss sur un serveur intermdiaire tel que lont peu le voir aujourdhui avec des serveurs dapplications comme WebLogic de Bea ou WebSphere d'IBM. Le fer de lance de la deuxime gnration avait pour nom l'diteur Forte dont l'offre est aujourd'hui maintenue par Sun. Ces produits ont combl une partie des lacunes de la premire gnration, notamment multi-plateforme, architecture distribue, programmation objet. En fait, mme les produits de seconde gnration nont pas eu le succs auquel ont pouvait sattendre, en grande partie cause dune complexit de mise en uvre trs structurante (notation UML, programmation objet, architecture distribue). Or les clients taient habitus une mise en uvre rapide dapplications (do larriv de mthodes de type RAD), et cest ce quils ont retrouv dans les dveloppements adosss aux technologies Intranet.

5.2.

L'architecture client-serveur "efface" par l'architecture Web

A peine l'architecture client-serveur s'est-elle rpandue qu'elle fut remise en question par l'arrive d'une nouvelle technologie : le Web. Sans apport d'un point de vue fonctionnel, c'est surtout grce sa standardisation qu'Internet a russi aller au-del de sa vocation originelle et a pu percer dans un domaine o on ne l'attendait pas : la gestion informatique. Des dveloppements adosss aux technologies Internet/Intranet rpondaient aux exigences des matrise d'ouvrage : moins de contraintes, une plus grande rapidit de mise en uvre, une centralisation des traitements et un client ... enfin "lger". En quelques annes, l'architecture Web a pris le pas sur le client-serveur, relguant aux oubliettes une technologie qui n'a mme pas eu le temps de s'imposer massivement et durablement dans les entreprises. Pourtant, un rapide tude comparative des mrites respectifs de ces deux architectures n'est pas dnue d'intrt L'architecture Web s'apparente en effet aux applications mainframe, le poste de l'utilisateur faisant quasiment office de terminal passif. L'architecture client-serveur classique, ou client-serveur de donnes, est l'inverse fonde sur la prsence des applications sur le poste des utilisateurs. Passons sous silence les architectures "hybrides", qu'il s'agisse du client-serveur dit "de seconde gnration" ou des applications graphiques Java multi-niveaux arrives un peu plus tard et qui n'ont pu s'imposer en cumulant les cueils de chacune des approches.

Toute reproduction mme partielle interdite IGPDE

page 27

Les applications

En synthtisant les expriences de ces dernires annes, on peut relever les lments suivants pour chacune des architectures : Point forts de l'architecture Web - Dploiement - Cinmatique - Cible utilisateur largie - Accs distant - Gestion centralise - Intgration de l'existant - Evolutivit de l'architecture - Standardisation des traitements - Prennit - Rutilisation Points forts de l'architecture client-serveur - Richesse de l'interface graphique - Dialogue avec applications clientes - Saisie de masse, saisie complexe - Disponibilit au niveau application - Scurit - Impressions - Maturit des solutions - Matrise des applications

Les deux architectures, fondamentalement diffrentes, ne rpondent pas aux mmes besoins. Pour cette raison, il parat un peu htif d'enterrer le client-serveur qui prsente toujours des atouts consquents pour les applications mettant en uvre des problmatiques fortes de saisie, d'impression ou qui doivent prsenter des capacits graphiques volues. Sans aucun doute, l'arrive du Web, et plus gnralement des applications multi-canaux, a permis la refonte de systmes d'informations composs d'applications mode caractre et client-serveur, et la mise en place de nouveaux types d'application (sites institutionnels, applications B2C, portails d'entreprise...). Mais il reste des contextes particuliers o les technologies Web se rvlent trop inadaptes, o la migration n'est pas envisageable. Dans ces cas de figure, gnralement dans les situations o la productivit constitue un facteur dterminant pour la russite du projet, le client-serveur reste la solution la plus mme de rpondre au mieux aux attentes des entreprises. Mme s'il ne s'agit pas de l'architecture la plus rcente

5.3.

Les architectures applicatives "Web-to-Host"

Les solutions de Web-to-host sont constitues par l'ensemble des procds qui permettent d'accder depuis un navigateur Web des ressources (applications, donnes, etc.) hberges sur un ordinateur central (mainframe) d'entreprise. Ces outils ouvrent des passerelles entre applications trois-niveaux et systmes centraux d'entreprise. Deux types de solutions qui s'appuient sur des technologies pour le moins diffrentes. Les premires, qui ont pris leur essor suite l'mergence du client/serveur puis du Web, inaugurent la structuration des applications en couches (interface client/logique applicative/accs aux donnes) et l'exploitation d'un modle relationnel de structuration des donnes. Les secondes se composent gnralement de programmes d'ancienne gnration (principalement en langages Cobol et Fortran) dont les contenus sont le plus souvent stocks au sein de bases hirarchiques, le tout accessible par le biais de postes de travail propritaires.

page 28

Toute reproduction mme partielle interdite IGPDE

Les applications

5.3.1.

FONCTIONNEMENT DE CES TECHNOLOGIES

Les dispositifs de Web-to-host mis au point l'origine se connectent aux grands systmes en passant par les crans verts de ces derniers. A la manire de simples utilisateurs, ils commencent par renseigner les champs de saisie des interfaces en question en fonction des requtes Web qui leur sont adresses. Ils analysent ensuite les chanes de caractres constituant la rponse, avant de les traduire au format HTML (ou XML). Ces middleware d'intgration sont comparables des "passe-plats" liant deux univers technologiques. 5.3.2. LES GRANDS DOMAINES D'APPLICATION

On compte principalement trois catgories de projets de Web-to-host : la publication dans des formats Web de documents en provenance d'un systme central d'abord, l'invocation de bases de donnes hirarchiques ensuite, et enfin l'ouverture depuis un serveur d'applications de connexions interactives avec des logiciels sous mainframe.

Confronte cette triple problmatique, la mthode du Web-to-host a donn naissance plusieurs sortes d'outils, dont le plus populaire est sans doute le "traducteur" d'applications en mode Web (nouvelle interface, alternative "l'cran vert"). Mentionnons galement les mulateurs (d'crans verts) pour postes PC - le plus souvent bass sur des machines virtuelles Java, et enfin l'utilisation du Web-to-host comme moyen d'intgration interapplicative (des applications Web sont construites partir de diverses applications existantes sur systmes centraux). 5.3.3. L'APPORT DES TECHNOLOGIES XML ET LES WEB SERVICES

XML et les Web Services fournissent une technologie d'intgration non-intrusive qui pourrait offrir une alternative plus qu'intressante aux mcanismes de Web-to-host (dcrits ci-dessus). Mais encore faudrait-il que les systmes actuellement en production soient mis jour en ce sens. Ce qui est loin d'tre le cas chez la plupart des utilisateurs qui se recrutent notamment dans les secteurs bancaire, administratifs et industriel. Une fois cette tape ralise, parions que le Web-to-host tel que nous le connaissons n'aura plus lieu d'tre. L'implmentation des services Web par les environnements centraux ncessite en effet la mise en oeuvre d'un serveur d'applications, une fonction que propose depuis 2001 le systme d'exploitation commercialis par IBM sur ce terrain (zSeries) ...

5.4.

Les applications client-serveur sont en voie de disparition

Il est vrai qu'il reste encore un parc install important dapplications client-serveur en fonctionnement qui remplissent leurs devoirs. Mais elles sont en attente dune rcriture future ... Les outils de dveloppements sont apparus la fin des annes 80 ou dbut 90. Ces produits ont rencontr plusieurs obstacles dans leurs volutions. Ils n'tait pas multi-plateforme (peu ou pas de versions Unix).

Toute reproduction mme partielle interdite IGPDE

page 29

Les applications

Le dveloppement du client lourd (le poste utilisateur) a conduit une course effrne vers la puissance du poste client (Intel peut dire merci aux applications client-serveur). Les rseaux ont connu une grosse croissance de leur trafic, lie des accs peu optimiss aux bases de donnes. Enfin, n'oublions pas le problme le plus rdhibitoire pour les grandes entreprises, savoir la difficile mise jour des postes clients sur lesquels taient installes toutes ces applications. Toutefois les projets fondes sur des technologies de l're Internet comme les EJB ont d mal s'panouir. Tous les diteurs ont mis sur les serveurs dapplications Java et surtout sur les composants EJB (Enterprise Java Beans), mais lont voit encore que les entreprises ont prfr le dveloppement de Servlets ou de JSP (Java Server Pages) bien plus faciles mettre en uvre.

page 30

Toute reproduction mme partielle interdite IGPDE

Les logiciels

LES LOGICIELS
Les logiciels sont conus pour couvrir des besoins gnriques comme par exemple les suites bureautiques (traitements de textes, tableurs ... Les logiciels ne ralisent que des traitements. Ils sont commercialiss (sous forme de licence d'utilisation) par des diteurs.

1.

LES LOGICIELS EDUCATIFS

Certains logiciels sont dits ducatifs parce qu'il ont t conus pour le monde scolaire ou l'ducation en gnral. En ducation, on distingue plusieurs grands types de logiciels.

1.1.

Les didacticiels

Les didacticiels sont des logiciels ducatifs dont le but est denseigner un contenu. Jusqu' l'apparition des CD-Rom, les didacticiels taient la plupart du temps enregistrs sur des disquettes qu'on pouvait utiliser tel quel, dans certains cas, ou en les installant sur le disque rigide du microordinateur. On distingue quatre types de ces didacticiels : les exerciseurs : ils prsentent une srie de questions et de rponses sur une matire donne qui servent rpter des lments de connaissance ou dvelopper des automatismes (ex.: Pentathlon intellectuel, Puces numriques) ; les tutoriels : ils se prsentent gnralement sous la forme de pages-crans qui prsentent tour tour les lments dune matire donne ; celles-ci sont suivies gnralement de questions et de rponses pour vrifier la comprhension du contenu enseign ; les simulateurs : ils visent simuler une ralit dans une discipline donne sur laquelle lusager peut agir par la modification de diffrentes variables dont les effets saffichent lcran ; les jeux ducatifs : ils prsentent les lments dapprentissage dune matire donne sous forme ludique (ex.: Jeux de calcul, Les petites espadrilles, Campagne lectorale, Voyage en Nouvelle-France). La plupart des didacticiels se prsentent aujourd'hui sous support CD-ROM et la plupart sont maintenant de type multimdia, c'est--dire qu'ils comportent du texte, des images, du son, etc.

1.2.

Les logiciels base dinformations

Ce sont des logiciels qui contiennent des informations sur un ou des sujets donns. Il y en a deux grands types : les banques de donnes : elles contiennent des informations stockes dans des champs relis entre eux, auxquelles l'utilisateur peut avoir accs, ventuellement distance, et par des procds de recherche par rubrique, mots-clefs, etc. les hypermdias ou multimdias : ce sont des banques de donnes dont les informations peuvent tre aussi bien textuelles, sonores, iconographiques ou vidographiques qui sont organises selon un systme associatif plutt que hirarchique. L'utilisateur les parcourt grce

Toute reproduction mme partielle interdite IGPDE

page 31

Les logiciels

un systme de navigation base de boutons qui relient entre elles les informations (Encyclopdie, dictionnaire, etc).

1.3. Les logiciels bureautiques Quatre types d'application forment la base de la bureautique : le traitement de texte, le tableur grapheur, le gestionnaire de bases de donnes, et le logiciel de prsentation.

1.3.1.

LE TRAITEMENT DE TEXTE

Les traitements de texte les plus connus sont Word (Microsoft), WordPerfect (Corel), Word Pro (Lotus), Mac Write Pro. Le traitement texte sert l'laboration de documents de natures diffrentes : lettres, rapports, manuels, bulletins, brochures, curriculum vitae, ouvrage littraire, etc Les fonctions trs nombreuses permettent de travailler sur un texte et de changer la prsentation ou l'apparence d'un document : saisie et modification de texte ; organisation des paragraphes ; mise en forme de pages, de paragraphes, de caractres ; dfinition et utilisation de styles ; cration et mise en forme de tableau ; cration et utilisation de modles de document ; correction des fautes et du sens du texte.

Le document peut contenir des objets comme des graphiques, des Images, des tableaux, de la couleur, et mme des liens . La mise en forme peut tre visualise l'cran avant impression. Le document peut tre imprim en un ou plusieurs exemplaires . Le traitement de texte offre galement les fonctions de publipostage (lettres personnalises pour chaque destinataire) , de cration d'enveloppes et d'tiquettes . Des outils de synthse automatique, de mise en forme automatique, d'insertion automatique (glossaire, champ, etc.) sont des fonctions courantes. Les styles dfinissent l'apparence de plusieurs lments du texte d'un document, tels que les enttes, les lgendes et le corps de texte. Les styles facilitent la mise en forme des documents. Appliquer un style, c'est obtenir instantanment l'ensemble de mises en forme de paragraphes et/ou de caractres. Ils servent aussi de base pour la cration des plans et des tables des matires. Le modle sert de base un nouveau document. Il peut contenir du texte, les insertions automatiques, les macros, les barres d'outils , ainsi que les touches de raccourci et les paramtres de menus personnaliss .

page 32

Toute reproduction mme partielle interdite IGPDE

Les logiciels

Les tableaux sont utiliss pour structurer les informations et crer des mises en page attrayantes avec, par exemple, des colonnes de texte et de graphismes disposs cte cte. 1.3.2. LE TABLEUR

Le tableur sert effectuer des calculs, mais permet galement de faire des analyses de donnes et prsenter des informations chiffres. Son rle dominant est la gestion des donnes chiffres ou calcules : gestion financire liste de donnes prsentation de valeurs gestion de stock calcul (amortissement, planification, statistiques, etc.). Les tableurs les plus connus sont: Excel ( MICROSOFT), 1-2-3 (LOTUS), Quattro Pro. Les fonctions principales d'un tableur sont : les modifications (ajout, dplacement, copie) de donnes ; la mise en forme et la prsentation ; la cration de formules de calcul labores ; la cration de graphiques de plusieurs types (courbes, secteurs, etc.).

La prsentation en liste de donnes permet de stocker une grande quantit d'informations sous un aspect comprhensible. Les donnes sont saisies sur une feuille de calcul sous forme de tableau (lignes, colonnes). L'intersection d'une ligne et d'une colonne est appele cellule. Elle peut recevoir une valeur ou une formule de calcul. Les diffrents outils du tableur facilitent l'organisation, la gestion, le tri, la recherche de donnes. Le tableur intgre souvent des fonctions de gestion de base de donnes.

1.3.3.

LE GESTIONNAIRE DE BASE DE DONNEES

En micro-informatique, les bases de donnes les plus rpandues sont: Access (Microsoft), Paradox (Borland), FoxPro (Microsoft) Approach (Lotus), Visual Basic, Clipper, Dbase. Une base de donnes sert en principe manipuler des donnes, pour grer des listes, des rpertoires, pour faire la gestion d'informations diverses concernant un sujet prcis : prsenter des donnes sous diffrentes formes (tableaux, formulaires, tats) . stocker et grer des informations ; retrouver des informations ; analyser des volumes de donnes ; imprimer les rsultats d'une demande sous une forme approprie.

Le gestionnaire de base de donnes offre les fonctionnalits suivantes : conception de bases de donnes . protection et administration de bases de donnes . cration et personnalisation de tables . cration et personnalisation de requtes . cration et personnalisation de formulaires et d'tats . cration et utilisation de macros . manipulation de donnes .

Toute reproduction mme partielle interdite IGPDE

page 33

Les logiciels

mise en oeuvre de filtres . programmation . aperus et impressions d'tats . travail sur Internet ou sur un rseau intranet . conversion de bases de donnes . importation et exportation de donnes . attachement de tables externes une base

On constitue une base de donnes en crant une ou plusieurs fichiers (ou table) de donnes qui regroupent l'information par sujet prcis. Des relations entre les fichiers permettent de fournir les informations cohrentes reprises sur plusieurs fichiers. Un fichier est constitue de champs et d'enregistrements (colonnes et ligne d'un tableau). Le champ est une catgorie prcise concernant le sujet de regroupement. Par exemple : le champ "nom" du fichier des clients. L'enregistrement est un regroupement de champs concernant un enregistrement du fichier (une occurrence d'une table). Par exemple: le nom, l'adresse, le numro de tlphone d'un client. On peut comparer un enregistrement une ligne d'un tableau. On utilise un formulaire pour insrer des donnes dans une fichier, les consulter ou les modifier . On utilise une requte pour afficher, modifier ou analyser les donnes de diffrentes manires ou pour les utiliser comme source d'un formulaire ou d'un tat. On applique un filtre aux donnes afin d'isoler un sous-ensemble d'enregistrements. Une macro comporte une ou plusieurs actions effectuant chacune une opration particulire (ouverture de formulaire ou impression d'tat) . Les macros permettent d'automatiser les tches habituelles . Un module est un ensemble de dclarations et procdures associes pour former une unit.

1.3.4.

LE LOGICIEL DE GRAPHISME (PRESENTATION)

Un programme de prsentation permet de crer, concevoir, organiser des prsentations pour des exposs ou des confrences. La prsentation est une succession de diapositives afficher au fur et mesure d'un scnario. La diapositive peut contenir du texte mis en forme, des images, des graphiques, des photos, des sons. Les animations rendent la prsentation plus attractive. Des liens hypertextes facilite la navigation entre diapositives. Certains paramtres comme la dure d'affichage, le passage automatique d'une diapositive l'autre enrichissent le scnario. Lors de l'affichage, l'outil de pointage (souris ou autres) permet d'inscrire du texte sur la vue prsente, de souligner ou de raturer des zones. Le lancement d'application ou l'accs des pages HTML font partie des fonctionnalits apportes aux dernires versions . Les logiciels de graphisme les plus connus sont: Persuasion (ALDUS), Powerpoint (MICROSOFT), Draw Perfect, Harward Graphics, Freelance Graphics.

page 34

Toute reproduction mme partielle interdite IGPDE

Les logiciels

Les logiciels de graphisme permettent d'effectuer pour des spectateurs une prsentation ou faire un expos sur un sujet donn en s'appuyant sur une succession de diapositives contenant du texte, des images fixes ou animes et mme du son. Ces logiciels proposent les fonctionnalits suivantes : cration de prsentations ; ajout d'objets, de graphismes, de tableaux ; utilisation de diapositives ; programmation de scnarios ; ajout et mise en forme de textes, de paragraphes ; vrification orthographique ; cration de pages de commentaires ; utilisation d'objets, de sons, d'images ; animation de texte et d'objets ; minutage des vues ; masquage de certaines vues ; ajout de musique, de son, de film ; ajout de transitions ; projection de prsentations ; Prise en charge du multimdia et du Web.

Le logiciel de prsentation est l'outil du formateur, du confrencier ou du simple amateur de prsentation agrable. Pour une prsentation multimdia, les priphriques adquats sont ncessaires. Pour une prsentation un groupe, l'utilisation d'un projecteur connect l'ordinateur est du plus bel effet.

1.4.

Les outils complets de la bureautique

Ces ensembles sont senss fournir l'utilisateur tous les outils de base. C'est dire un traitement de texte, un tableur grapheur, un gestionnaire de bases de donnes. Un logiciel de prsentation ou de communication complte la gamme. Si un seul logiciel compose l'ensemble, on parle alors de logiciel intgr.

1.4.1.

LES SUITES (OU PACK) LOGICIELLES

Les suites sont constitues de plusieurs logiciels complmentaires et offrent l'utilisateur un panel des logiciels les plus utiliss en bureautique. Le plus souvent l'offre de l'diteur est compose d'un traitement de texte, d'un tableur / grapheur, d'un logiciel de gestion de bases de donnes, d'un logiciel de prsentation. Les suites les plus connues sont: Office (MICROSOFT), SmartSuite (LOTUS), Star Office, Perfect Office Certaines suites comme SmartSuite de Lotus sont composes d'outils bureautiques classiques (traitement de texte, tableur, base de donnes), mais comprennent galement des utilitaires pour publier des documents pour l'intranet de l'entreprise. SmartSuite inclut en standard un logiciel de reconnaissance vocale.

Toute reproduction mme partielle interdite IGPDE

page 35

Les logiciels

Les fonctionnalits sont celles correspondant chacun des logiciels fournis. L'avantage d'un tel choix rside dans le fait que chaque application est issue du mme diteur et par consquent, offre la mme ergonomie, les mmes logiques d'emploi, rpond au mme standard, ce qui facilite ou simplifie l'change de donnes entre les applications. Chaque logiciel de la suite est indpendant et peut tre install ou non.

1.4.2.

LES LOGICIELS INTEGRES

Comme les suites, les logiciels intgrs sont constitus de plusieurs logiciels complmentaires utiliss en bureautique. L'offre est souvent compose d'un traitement de texte, d'un tableur / grapheur, d'un logiciel de gestion de bases de donnes, d'un logiciel de communication. Les logiciels intgrs les plus connus sont: Frame Work, GEM, SYMPHONY (Lotus), WORKS (Microsoft). Les fonctionnalits sont celles correspondant chacun des logiciels fournis dans l'ensemble indissociable. En effet, l'installation de l'intgr impose la totalit des applications livres. Les logiciels intgrs offrent comme avantage une interconnexion directe entre applications qui se fait au sein mme du logiciel, sans faire appel l'interface graphique ou au systme d'exploitation. Autre avantage, chaque application offre la mme ergonomie, les mmes logiques d'emploi, rpond au mme standard, et autorise forcment l'change de donnes entre les applications. Comme inconvnient, les logiciels non exploits occupent de la place inutilement et un logiciel ne peut tre remplac par une version plus rcente sans invitablement installer l'ensemble.

2.

LES SYSTEMES EXPERTS

Les applications utilises dans le domaine de laide la dcision ont pour principal objet lidentification des problmes en vue de leur rsolution. Les systmes experts sont des applications informatiques qui tentent dautomatiser les capacits de raisonnement ainsi que les connaissances dun ou de plusieurs experts dans un domaine spcifique. Des processus de raisonnement automatiss permettent lanalyse des caractristiques dune application pour donner des conseils, recommander des actions ou fournir des conclusions. Un systme expert est constitu de quatre composants principaux : une base de connaissances, qui est la codification sous forme automatise de la connaissance dun expert et de ses rgles demploi, un module dacquisition des connaissances, qui alimente la base de connaissance par des faits et des rgles heuristiques, un moteur dinfrence, ou base de rgles, qui simule le raisonnement de lexpert en activant les rgles de la base de connaissances qui sont pertinentes pour rsoudre le problme pos, un module de trace, fournissant la dmarche suivie par le systme, ce qui permet dexpliquer le rsultat produit.

page 36

Toute reproduction mme partielle interdite IGPDE

Les logiciels

Pleine de promesses, la technologie des systmes experts sest heurte la complexit de sa mise en uvre et aux limites du raisonnement par infrence qui ne peut remplacer, lui seul, le raisonnement dun expert humain. Une volution des systmes experts vers des systmes moins complexes, les systmes base de connaissances (SBC, ou KBS "Knowledge Based Systems"), a permis dautomatiser la rsolution de problmes de complexit moyenne. Laide la slection, en fonction de critres qualitatifs et quantitatifs, de dossiers ou de candidatures, est rendue possible. Dans les domaines relevant de lapplication de rgles de gestion voluant constamment, telles que les rgles juridiques ou fiscales du fait des changements de lgislation et de la jurisprudence, les SBC se rvlent plus faciles mettre en uvre que les systmes traditionnels qui font lobjet dune maintenance lourde.

3.

LES LOGICIELS COLLABORATIFS

La notion de logiciel collaboratif est trs vaste. Trop vaste ? Elle recouvre en effet tout ce qui permet de communiquer et de travailler ensemble dans une entreprise, une administration, du simple dispositif qui permet de s'changer des mails la plateforme d'ingnierie partage. Ces outils peuvent prsenter de nombreux avantages. Ils acclrent la circulation de l'information entre les collaborateurs. Ils permettent plusieurs personnes de travailler sur une mme application (groupware), de faire progresser un document, un projet vers un but commun. Ils peuvent encore faire gagner du temps en autorisant le partage de savoir-faire, en vitant de recrer des procdures. Avec la notion de workflow enfin, ils permettent de contrler et d'acclrer les interactions entre les diffrents intervenants qui participent une tche. De plus, l'heure d'Internet, l'utilisation de logiciels collaboratifs pourrait largement dpasser le cadre de l'entreprise et de l'administration pour lui permettre de se synchroniser avec ses partenaires. Les tches de planification pourraient en particulier tre amliores (tablissement de plannings collaboratifs). Les avantages du travail collaboratif, en particulier les rductions de cot qu'il peut entraner, sont donc bien perus. Pourtant, leur utilisation n'est pas encore gnralise. Il faut peut-tre leur laisser le temps de s'implanter. Pourtant, mme quand les outils sont largement diffuss, on semble les bouder. Combien d'entre nous utilisent toutes les fonctions collaboratives d'un logiciel de messagerie (agenda partag, affectation et suivi des tches, etc.), les fonctions avances de rvision d'un logiciel de traitement de texte ? Il y a au moins trois raisons qui peuvent expliquer cet usage frileux : La premire tient sans doute une absence de formation. Si l'on n'utilise pas ces fonctions, c'est peut-tre tout simplement que l'on ignore leur fonctionnement, voire leur existence. La deuxime tient la motivation que l'on reoit de la part du management : est-on suffisamment incit utiliser des outils collaboratifs ? Leur rentabilit a-t-elle t effectivement dmontre au sein de l'entreprise ? Leur usage est-il encadr dans le cadre de nouvelles mthodes de travail ? A-t-on vraiment envie de changer ses habitudes ?

Toute reproduction mme partielle interdite IGPDE

page 37

Les logiciels

La troisime tient la culture de l'entreprise. Les outils collaboratifs respectent rarement la hirarchie. Ils ne fonctionneront que dans des structures o les organigrammes auront t considrablement aplatis et o chacun accepte de collaborer sur un pied d'galit.

Comme souvent, c'est ce facteur humain qui est le plus difficile matriser...

3.1.

Le concept de "groupware"

Le groupware recouvre un ensemble de fonctions fournies pour assister les membres dun groupe dans leurs tches dintrt gnral. Messagerie, bases de donnes et de documents communes et forums lectroniques sont les composants de base dune solution groupware. Au del des conomies de temps et despace, le groupware permet de favoriser la mise en commun du savoir et des expriences pour un approfondissement des traitements et des dcisions dans des limites de cots raisonnables. 3.1.1. DEFINITION

Le groupware signifie littralement "travail de groupe". Un projet de groupware rsume (ou contient) lui seul, tous les systmes de management qui ont fleuri ces dernires annes (reenginering, total quality management, lean management,...), en cherchant faire autrement, mieux, plus vite et avec moins. Outre la dimension culturelle et organisationnelle quil suppose, le groupware bnficie des dernires technologies de traitement de linformation : rseaux, messagerie, multimdia, architecture client/serveur,... Il sinsre galement dans des techniques connexes : workflow, gestion lectronique de donnes, change lectronique dinformations, gestion de bases de donnes, outils daide la dcision. Le groupware contraint dpasser un concept de taylorisation assiste par ordinateur pour aller vers une responsabilisation et une autonomie croissante des utilisateurs, au travers dune mise disposition plus grande de linformation. Une chose est claire : le groupware repose essentiellement sur le facteur humain de nos organisations... Il est donc hors de question de le considrer comme purement informatique ! 3.1.2. MISE EN UVRE DUN PROJET DE "GROUPWARE"

Techniquement, il suppose lexistence dune configuration en rseau des postes de travail. Il est donc ncessaire a priori deffectuer un mini-audit : des matriels en place ; du rseau et du systme dexploitation ; des logiciels dapplication (production et bureautique) ; des procdures en uvre au sein du cabinet ; des utilisateurs et de leurs besoins (et droits daccs induits).

Culturellement, lintroduction dun environnement groupware entrane inluctablement : une culture organisationnelle oriente vers le partage de linformation ; des besoins de formation sur lapplicatif groupware ;

page 38

Toute reproduction mme partielle interdite IGPDE

Les logiciels

un apprentissage des processus et procdures ("reengineering" ventuel).

La mise en place dun groupware est un projet dinvestissement stratgique pour lentreprise. Linvestissement initial ne dbouchera sur des rsultats probants qu moyen terme (6 mois un an minimum), rsultats quil faut savoir quantifier et contrler. 3.2. Le concept de "workflow"

Outil informatique d'origine industrielle, le workflow propose des solutions d'optimisation et de rationalisation des flux d'informations, que ces informations soient des documents, des procdures ou des messages complmentant les systmes de gestion lectronique de documents et d'informations.

3.2.1.

DEFINITION

Le workflow fait aujourd'hui partie de ces appellations non contrles, au sens mouvant, qui recouvrent un ensemble de notions plus ou moins floues.. Les concepts et technologies du workflow sont issus du monde industriel, et plus exactement de la fabrication. On y retrouve en effet les schmas classiques de production que sont les activits squentielles et les activits simultanes. C'est dans ce secteur d'activit qu'ont t appliqus les principes d'optimisation du type JIT (Just In Time ou Juste temps) et TQM (Total Quality Management ou gestion de la qualit totale) avec, entre autres consquences, le travail flux tendus, la suppression des tches et des stocks intermdiaires, la recherche de la diminution des taux d'erreurs. Des travaux thoriques tels que ceux d'Ellis, les modles de Petri ou les mthodes ICN, associs aux approches industrielles, ont donn naissance aux premiers outils workflow. Aujourd'hui encore, tous les outils workflow sont sous-tendus pour des concepts industriels, notamment l'optimisation des procdures. En l'absence de dfinition officielle du workflow, il rgne une certaine confusion et un mlange des concepts avec le groupware, la GED, etc. Nous proposons comme dfinition du workflow celle d'outil dcisionnel coopratif dont les paramtres sont les suivants : un nombre limit de personnes ; devant accomplir en un temps limit ; des tches articules autour d'une procdure dfinie ; et ayant un objectif global.

Nous pouvons donc dire que le workflow est un systme: pro-actif : le champ est dfini a priori; le workflow guide la procdure ; dterministe : la finalit est connue.

Il y a donc lieu de bien souligner que le ct dterministe du workflow, avec des limites dans le temps, le distingue nettement du groupware qui est un lieu d'accueil r-actif et circonstanciel, sans contraintes de temps et d'espace et qu'il n'y a pas de lien systmatique avec la GED (Gestion Electronique de Document). Enfin, la gestion ventuelle n'est qu'un sous-produit du workflow. 3.2.2. 3.2.2.1. LES FONCTIONS PRINCIPALES DU WORKFLOW FONCTIONNALITES DE BASE

Gnralement, les workflows prennent en charge les trois tches de base suivantes :

Toute reproduction mme partielle interdite IGPDE

page 39

Les logiciels

grer les procdures de travail ; coordonner les charges et les ressources ; et superviser le droulement des oprations.

La ralisation de ces tches s'excute au travers des multiples fonctionnalits disponibles, parmi lesquelles on peut citer : la manipulation d'objets organisationnels de base : processus, procdure, rle, cas traiter ; les scripts, les simulations et la gestion des procdures ; les fonctions d'organisation standard : re-routage, affectation multiple, mise en attente avec gestion des dlais, gestion des priorits, affectation de status, suivi des vnements ; la gestion des documents composites : donnes, fichiers, messages, images, EDI ; l'intgration en environnement de dveloppement, en amont, par la dfinition de liens avec les AGL et en aval, par la gestion des bibliothques d'API ; des outils de suivi et d'exploitation des activits. FONCTIONS SPECIALISEES

3.2.2.2.

Le workflow prsente quatre fonctions spcialises : la simulation ; la modlisation ; l'analyse ; le monitorat

La simulation permet de tester des hypothses de fonctionnement, soit en jouant sur des paramtres simples, savoir le temps, le stock traiter, le nombre d'acteurs ncessaires, soit en jouant sur des paramtres complexes: l'optimisation des fiches d'attente, le travail en flux tendus, la gestion des absences. Il s'agit d'un outil trs pris des organisateurs et des consultants, notamment dans le cadre de dmarches de type "Process Re-Engineering" que l'on peut traduire par re-conception des processus. La modlisation permet de dessiner et d'crire des procdures avec un outil graphique. On reprsente le schma gnral d'une procdure, les objets manipuls (par exemple des documents), les contraintes de temps, de dlais et de stocks. La modlisation peut tre utilise comme base de tests pour vrifier des hypothses (fonction de simulation) puis comme rfrentiel de l'organisation. L'analyse est lie la simulation. Cette fonction permet de mettre en application des standards et des units d'uvre administratives tels que des temps moyens de traitement pour une procdure donne, le cot de traitement d'un dossier, le cot d'un acte de gestion. Cette fonction s'apparente la thorie statistique de gestion des fiches d'attente. La bonne utilisation de ce module a au moins trois retombes. Elle permet: de mettre en oeuvre des principes de comptabilit analytique dans le secteur tertiaire ; de faire l'analyse de la valeur sur les processus, base de toutes les dmarches dite de "Business Process Re-Engineering" ou re-conception des processus ; de mettre en oeuvre des indicateurs de pilotage d'activit (par exemple, le nombre de dossiers en cours de traitement).

Quant au monitorat, il permet de savoir qui fait quoi dans une procdure. Cette fonction permet donc d'intervenir, notamment pour redistribuer des tches, r-affecter des priorits, mettre des situations en attente. On y trouve galement des outils statistiques et des indicateurs d'alerte qui permettent de formaliser les procdures de gestion, rationaliser les flux d'information, grer et optimiser les ressources et les charges, simuler des modles d'organisation, contrler l'excution des tches et gagner en efficience (efficacit administrative) et en productivit.

page 40

Toute reproduction mme partielle interdite IGPDE

Les logiciels

3.2.3.

LES APPLICATIONS DU WORKFLOW

Il existe plusieurs applications du workflow. Les exigences de la norme ISO 9000 d'ISO 9000 en termes d'auditabilit, de traabilit de l'information, de mise jour des circuits de dcision et de dlgation en font un terrain idal pour la mise en oeuvre d'un workflow orient procdure. Il est d'ailleurs vraisemblable que des fournisseurs se spcialisent dans ce march trs porteur. Par ailleurs, le Business Process Re-Engineering (ou B.P.R.) vise passer d'une approche fonctionnelle une approche par processus multi-fonctionnels et d'une perspective interne une perspective client. Les objectifs sont des amliorations trs nettes en matire de cot, de dlai, de qualit. Le workflow constitue un support idal du B.P.R. en permettant l'limination de couches de management et l'amlioration de deux ratios cls qui sont le taux de succs au 1er passage et la valeur active d'un processus (c'est--dire le temps effectivement travaill). Il permet galement: d'introduire du paralllisme dans le travail et l'limination des boucles; de contrler des sources de blocage; de redfinir certains mtiers et d'effectuer le dport vers des fonctions commerciales; de centraliser du back-office; de dcentraliser du front-office.

Les solutions de workflow s'adaptent de nombreux besoins dans les entreprises comme dans les administrations. Elles rpondent au besoin de grer de gros volumes d'informations en automatisant les tches administratives lies aux rclamations, aux commandes mais galement aux transferts de fonds. Elles s'avrent aussi un lment primordial pour la gestion de procdures, parmi lesquelles l'on peut citer les dpenses, les rglements, les souscriptions et le traitement des demandes. De mme, le workflow est un auxiliaire efficace dans le processus de management pour l'organisation de runions et le partage de l'information. Sous forme d'application gnrique, le workflow rpond aux besoins de la majorit des entreprises. Parmi les exemples les plus significatifs, la gestion du courrier entrant ou sortant et celle des tlcopies et des appels tlphoniques constitue une premire phase d'utilisation de ces techniques. Il en est de mme pour la gestion de pices ou de documents administratifs, par exemple des factures ou des rclamations, pour lesquelles les procdures permettent le suivi permanent d'un dossier. Des solutions de workflow peuvent s'adapter des applications spcifiques ou verticalises conues pour rpondre un besoin d'une entreprise ou d'une administration. Dans le cas de services publics, le workflow s'applique la gestion des actes et des registres comme celle des dossiers de cotisations ou de prestations. Il en est de mme dans le monde bancaire pour la gestion des mouvements et des dossiers de prts, depuis l'instruction jusqu'aux oprations purement financires. Il existe ainsi des banques rseau qui, pour une partie de leurs crdits aux entreprises, ont mis en oeuvre un workflow coupl la GED dans des agences bancaires, avec dmatrialisation complte des supports papier. Le monde des assurances est un des secteurs o le workflow complte les autres techniques de gestion notamment pour le suivi des dossiers des assurs et celui des sinistres. Enfin, pour terminer cette liste des champs d'application possibles, mentionnons que l'industrie peut utiliser le workflow pour un bon nombre de suivis de procdures ou la gestion de configuration.

Toute reproduction mme partielle interdite IGPDE

page 41

Les logiciels

3.2.4.

LES TENDANCES FUTURES DU WORKFLOW

Le march du workflow a vu arriver de grands diteurs de logiciels avec des produits gnriques peu onreux mais avec un cot de l'intgration significatif. Par ailleurs, le workflow s'est enrichit de complments comme l'EDI et la messagerie X400 puis s'est ouvert une coopration "inter-workflow" laquelle s'est ajout la disponibilit de workflows imbriqus. A moyen terme, ces techniques s'enrichiront de systmes base de connaissances, c'est--dire capable de travailler sur le sens de l'information, premire volution vers l'ingnierie de la connaissance. Le workflow devrait aussi mettre en oeuvre le concept du "Bus Applicatif Interactif", vritable colonne vertbrale applicative des architectures futures. Lui-mme s'ouvrira en tant qu'outil de conception et de programmation des organisations. Le workflow se prsente donc bien comme le support des futures applications du "dcisionnel applicatif".

page 42

Toute reproduction mme partielle interdite IGPDE

Les progiciels

LES PROGICIELS
Les progiciels (ou "produit-logiciel" - package) sont comparables des applications. Paramtrables et modulables, ils sont dvelopps et commercialiss par des diteurs afin de couvrir l'automatisation des fonctions courantes ou habituelles pour de nombreuses entreprises, comme par exemple : La comptabilit ; La gestion des stocks ; La gestion des ressources humaines

Les fonctionnalits des progiciels sont clairement dlimites et voluent peu au fur et mesure des versions du fait du fort taux de couverture des besoins de leurs utilisateurs.

1.

LES PROGICIELS DE GESTION INTEGRES (PGI)

Alors que les applications rpondent des besoins spcifiques, les PGI (en anglais : ERP Entreprise Ressource Planning) rpondent des besoins globaux et gnralistes des entreprises ou des administrations. Les premiers PGI intgraient dans leur concept : les gestions commerciale, comptable, financire et de production. Ce concept sest ensuite gnralis en y ajoutant : la gestion des ressources humaines, la gestion administrative, la gestion des ventes, la gestion des achats et la gestion de la logistique. Le but est doptimiser lensemble pour une meilleure productivit. Certains PGI fonctionnent depuis 20 ans. Ils ont fait lobjet dadaptations constantes aux nouvelles technologies et aux nouveaux besoins des entreprises. Aujourdhui cest Internet et le dveloppement par composants qui conditionnent lavenir des PGI. Ils sintroduisent dans les entreprises en se substituant aux applications dveloppes spcifiquement et permettent une gestion standardise, plus efficace et moins coteuse. Ce sont des systmes dinformation globaux qui imposent de nouveaux modles de structures et dorganisations du travail, lintrieur comme la priphrie de lentreprise. Leurs caractristiques dintgration et de travail en temps rel provoquent des changements dans le travail en modifiant les fonctions et les tches la fois dans le domaine des contenus des qualifications et dans celui des conditions de travail. Elles induisent aussi une transparence et une traabilit qui facilitent lidentification des responsabilits, les contrles automatiss et la comparaison en continu des performances et des cots. La mise en place dun PGI s'inscrit dans un projet global de rorganisation complte de lentreprise qui concerne tant les structures, les flux ou les fonctions que les organisations du travail et le management.

Toute reproduction mme partielle interdite IGPDE

page 43

Les progiciels

2.

XRP, LE FUTUR DES PGI

Le PGI de premire gnration (celui des annes 90) amorce un tournant majeur vers lexternalisation avec Internet. Ainsi, il ne devra plus ncessairement tre implant dans lentreprise utilisatrice, ses services pourront tre utiliss, partiellement ou totalement, via le rseau Internet, do le concept deXternal Resource Planning (XRP). LXRP englobe de nouvelles fonctionnalits tels que le commerce lectronique (e-commerce), lIntranet, laide la dcision, la gestion de la relation client, les ressources humaines ou la gestion de la chane logistique. Les entreprises pourront ainsi communiquer et travailler en temps rel avec leurs clients et fournisseurs.

page 44

Toute reproduction mme partielle interdite IGPDE

L'informatique dcisionnelle

L'INFORMATIQUE DECISIONNELLE
Si la gestion des donnes de production est assure par les applications transactionnelles ou de traitement par lots, lexploitation de ces donnes des fins de pilotage est facilite par la mise en uvre des systmes daide la dcision. Les donnes ne naissent pas pertinentes; elles le deviennent. Si le principe d'une informatique de gestion est unanimement acquis, transformer des donnes chiffres en informations stratgiques, en les regroupant et en les recoupant tel est l'objectif des systmes informatiss daide la dcision (SIAD), encore appels systmes de pilotage (EIS).

1.

QUELQUES DEFINITIONS

1.1.

Systme informatis d'aide la dcision SIAD (DSS, Decision support system)

Systme informatique intgr, conu spcialement pour la prise de dcision, et qui est destin plus particulirement aux dirigeants d'entreprise. Le systme d'aide la dcision est un des lments du systme d'information de gestion. Il se distingue du systme d'information dans la mesure o sa fonction premire est de fournir non seulement l'information, mais les outils d'analyse ncessaires la prise de dcision. Ainsi, il est habituellement constitu de programmes, d'une ou de plusieurs bases de donnes, internes ou externes, et d'une base de connaissances. Il fonctionne avec un langage et un programme de modlisation qui permettent aux dirigeants d'tudier diffrentes hypothses en matire de planification et d'en valuer les consquences.

1.2.

Informatique dcisionnelle (BI, Business Intelligence)

Systme interprtant des donnes complexes permettant aux dcideurs (dirigeants d'entreprise) de prendre des dcisions en connaissance de cause. Les donnes sont analyses selon plusieurs dimensions (type de produits, rgions et saisons par exemple). L'informatique dcisionnelle permet la recherche active et l'exploitation, sur le plan dcisionnel, de l'ensemble des renseignements stratgiques essentiels qu'une entreprise doit possder, si elle veut faire face la concurrence et occuper la premire place, dans son secteur d'activits. L'informatique dcisionnelle propose une vision d'ensemble des outils d'aide la dcision allant de la base de donnes relationnelle, en passant par le DW (Data Warehouse), au DM (Data Mining) et finalement au KDD (Knowledge Discovery in Databases). Il nous permet d'observer leur positionnement dans la chane de production d'information et de connaissances. Quatre socits principales se partagent ce march : - les deux leaders, qui sont Cognos et Business Objects - deux entreprises de taille plus rduite et qui connaissent actuellement quelques difficults (Brio technology et Microstrategy). Business Objects, leader du secteur, conserve nanmoins un bon nombre d'atouts, dont l'intercommunicabilit lie au vecteur de l'Internet, pour prenniser sa position

Toute reproduction mme partielle interdite IGPDE

page 45

L'informatique dcisionnelle

En 2003, selon Gartner Dataquest, l'informatique dcisionnelle sera l'un des critres les plus importants que les entreprises prendront en compte dans l'valuation de leurs ventuelles solutions informatiques. Elles considreront les dpenses d'informatique dcisionnelle comme un impratif concurrentiel inhrent aux processus dcisionnels. L'informatique dcisionnelle sera la tendance montante des prochaines annes parce que les entreprises (et administrations) visent une meilleure exploitation de leurs applications oprationnelles et notamment des progiciels de gestion intgre, de gestion de la relation client et de gestion de la chane logistique. Ce sont les services de production, de contrle, de vente, de marketing et de gestion qui en manifestent gnralement le besoin. Il n'est donc pas surprenant que la plupart des grandes entreprises aient dj mis des solutions appropries en uvre ou soient en passe de le faire. Cependant, les multiples dfis relever empchent encore nombre d'entre elles d'intgrer ces solutions dans leurs services et entranent surtout les difficults suivantes : Une exprience insuffisante de l'informatique dcisionnelle pour tirer des connaissances exploitables partir d'informations non structures ; Un manque de ressources humaines pour la mise en uvre et l'exploitation des solutions d'informatique dcisionnelle ; Un cot d'entre lev du matriel, des logiciels, de la maintenance et de l'exploitation (dans la plupart des cas, plus de 50 % des cots informatiques actuels) ; Une lacune de comptences diversifies en ingnierie des processus, en construction d'entrepts de donnes et en administration de bases de donnes.

2.

LE PROCESSUS DECISIONNEL

Le processus dcisionnel comporte quatre grandes tapes : Etape 1 : extraction des donnes. Pour produire les indicateurs voulus, il convient d'aller chercher les donnes o elles se trouvent. Connect aux diffrentes applications et bases de donnes, l'outil d'ETL se charge de rcuprer ces donnes et de les centraliser dans une base de donnes particulire, l'entrept de donnes. Etape 2 : consolidation. Une fois les donnes centralises, celles-ci doivent tre structures au sein de l'entrept de donnes. Il s'agit d'un pr-traitement permettant aux outils d'analyse d'y accder plus facilement, sachant que ces entrepts ne sont pas nourris la main. Etape 3 : traitement. En fonction d'une question plus ou moins complexe pose l'aide d'un formulaire, l'outil d'analyse recueille la requte et confronte les donnes correspondantes, de faon produire les indicateurs voulus. Etape 4 : restitution. Egalement appele reporting, cette tape se charge de diffuser et de prsenter les informations valeur ajoute de telle sorte qu'elles apparaissent de la faon la plus lisible possible pour le dcideur.

page 46

Toute reproduction mme partielle interdite IGPDE

L'informatique dcisionnelle

3.

LES DIFFERENTS OUTILS LOGICIELS

3.1.

Datawarehouse - Datamart

Le datawarehouse est un ensemble de donnes historises variant dans le temps, organis par sujets, consolid dans une base de donnes unique, gr dans un environnement de stockage particulier, aidant la prise de dcision dans lentreprise.

Il assure trois fonctions essentiels : la collecte de donnes de bases existantes et chargement ; la gestion des donnes dans lentrept ; l'analyse de donnes pour la prise de dcision.

Le datawarehouse regroupe, historise et rsume les donnes de lentreprise. D'un point de vue technologique, il n'y a priori que trs peu de diffrences entre un datawarehouse et un datamart. Les deux sont des entrepts de donnes part entire. Mais sur son utilisation, le datawarehouse s'avre compltement centralis, et regroupe des informations en provenance d'applications transversales ou dissmines travers l'entreprise, en vue de produire une vision plus globale lors de l'tape de restitution. De l'autre ct, le datamart est plus spcialis suivant une fonction ou un domaine vertical de l'entreprise. Et l'on trouve, par exemple, des datamarts spcifiques relis aux centres d'appels afin d'analyser le service client.

3.2.

L'extraction (ETL)

L'ETL (Extract Transform and Load) permet de rcuprer des donnes stockes par diffrentes applications de l'entreprise. Pour en extraire les donnes utiles, l'outil d'ETL (Extraction transfer loading) doit pouvoir se connecter aux sources, qu'il s'agisse des applications ou des bases en production. En ce sens, il joue un rle d'intgration au niveau des donnes. De son ct, l'EAI (Enterprise application integration) est un domaine gnral qui regroupe toutes les formes d'intgration entre des applications, des processus ou/et des interfaces. Par voie de consquence, l'ETL est donc un sous-ensemble de l'EAI positionn sur l'intgration des donnes.

3.3.

Le Data Mining

Les entreprises ne s'intressent pas seulement leurs activits passes, mais cherchent aussi anticiper l'avenir. A cette phase, elles commencent utiliser des outils de data mining pour

Toute reproduction mme partielle interdite IGPDE

page 47

L'informatique dcisionnelle

identifier les interrelations de sries de donnes aux caractristiques similaires, tablissent des rapports entre leurs diffrents produits et services et dcouvrent ainsi de nouvelles opportunits commerciales. En gnral plus anciens que les algorithmes d'analyse multi-dimensionnelle, ceux de data mining emploient une approche statistique pour dessiner des courbes dans le temps. A partir d'un certains nombre d'vnements observs et historiss, il est parfois possible de prvoir selon les critres entrs au pralable comment la courbe va voluer. Par exemple, le data mining est souvent utilis par les oprateurs pour prvenir le "churn", c'est dire le moment mme o les abonns d'un rseau de tlcommunication vont devenir infidles. Dans ce cadre, seule une historisation du comportement de l'utilisateur (achat de services, degr d'utilisation...) permet de dfinir des probabilits en fonction de critres tirs d'observations pralables.

3.4.

Le reporting

L'utilisation des rapports de l'entrept de donnes (le reporting) permet aux dcideurs d'obtenir des rponses relatives l'historique de l'entreprise. Le regroupement des donnes en provenance des principales sources d'information peut tayer des dcisions qui affectent l'ensemble de l'entreprise.

3.5.

L'analyse multi-dimensionnelle : Le cube OLAP

Pour pouvoir analyser des donnes reprsentant l'activit d'une entreprise, il faut pouvoir les modliser suivant des axes. Ainsi, pour prendre l'exemple le plus courant, le chiffre d'affaires par catgorie de client sur un produit donn se dcline en trois axes au minimum : chiffre d'affaires, catgorie de clients, et produit. De nombreux autres axes peuvent tre dfinis, notamment en fonction de la zone gographique, du prix, ou d'un commercial de l'quipe en charge des oprations. Ici, le cube est une vue de l'esprit car il comporte en gnral plus de trois dimensions. Le "cube" en question reprsente les axes de l'entreprise voqus dans l'exemple prcdente. Ensuite, OLAP (OnLine Analytical Processing) qualifie la mthode analytique en tant que telle, qui s'applique ce modle multi-dimensionnel.

page 48

Toute reproduction mme partielle interdite IGPDE

Le logiciel libre

LE LOGICIEL LIBRE ("L'OPEN SOURCE")


C'est le projet GNU (1), initi par Richard Stallman et dvelopp par des "hackers" (2), qui est l'origine des logiciels libres. De trs nombreuses communauts de dveloppeurs, dont des fondations, se sont ensuite cres dans le monde, composes de bnvoles, d'tudiants, de chercheurs, etc. Elles ont ensuite volu - pour certaines - vers des ensembles de contributeurs constitus en socit. Parmi les premiers producteurs de logiciels libres on trouve l'universit de Californie, Berkeley (sous licence BSD) et le Massachusetts Institute of Technology (sous licence MIT) soucieux de faire profiter l'administration et les entreprises amricaines des dveloppements raliss par leurs laboratoires. Des entreprises pionnires, d'abord aux Etats-Unis puis dans le monde entier, ont alors contribu l'essor des logiciels libres, adopts ensuite par des entreprises majeures du domaine informatique comme IBM qui a intgr Linux son offre et Sun Microsystems qui a contribu l'laboration de la suite bureautique OpenOffice.org. Le succs et le dveloppement massif des connexions de rseaux l'Internet sont en grande partie dus aux logiciels libres qui servent grer les bases techniques des changes d'information. Ce choix de favoriser la circulation de la technologie travers la mise en commun des logiciels est un changement profond qui aboutit des modles conomiques nouveaux pour les entreprises produisant ou utilisant du logiciel libre et des contextes nouveaux pour les administrations. Les logiciels libres ("Open Source") constituent une nouvelle tendance de l'industrie du logiciel.

Remarque :
(1) Le projet GNU (GNU is Not Unix - acronyme rcursif) a dmarr en 1984, sous l'impulsion de Richard Stallman, avec la mission de dvelopper un systme Unix compltement libre. Des centaines de logiciels ont t dvelopps ce jour par cette organisation regroupant de nombreux volontaires bnvoles. Le projet GNU est probablement le pilier fondamental du mouvement des logiciels libres. La Free Software Fondation est trs respecte au sein de la communaut du logiciel libre pour cette raison. Tout les outils GNU sont bien sur placs sous licence GPL. (2) En traduction littrale, "hacker" signifie "mordu dinformatique". A la base, ce mot a t lanc dans les annes 1980 par une communaut dsirant se diffrencier des crackers (ou pirates), notamment en termes de finalit daction. En effet, la diffrence des crackers dont le seul objectif est de casser les systmes de scurit, les hackers pntrent un environnement pour le connatre, et ainsi faire progresser les mthodes de protection utilises.

Toute reproduction mme partielle interdite IGPDE

page 49

Le logiciel libre

1.

QUEST-CE QUUN LOGICIEL LIBRE ?

1.1.

Prsentation gnrale et synthtique des logiciels libres

Dun point de vue technique, un logiciel libre est un logiciel dont le code source est librement disponible, duplicable, modifiable et redistribuable. Cependant, la disponibilit du code source nimplique pas elle seule la qualification de "libre" pour un logiciel. D'un point de vue juridique, un logiciel libre est avant tout un logiciel protg par le droit d'auteur et soumis une licence qui le rglemente et en dlimite les droits et obligations affrents . Souvent oppos au logiciel propritaire, qui habituellement ne comporte que des droits d'usage, le logiciel libre s'en distingue par les droits plus importants accords par l'auteur du logiciel aux bnficiaires de la licence. Un logiciel libre est donc bien soumis au droit d'auteur et au code de la proprit intellectuelle. Sa licence permet ainsi d'utiliser un logiciel, mais elle permet galement au bnficiaire de la licence d'tudier le fonctionnement du logiciel - ce qui est parfois possible sous certaines conditions avec les logiciels propritaires - de modifier le logiciel pour son usage propre et de redistribuer les modifications qu'il a effectues sur le logiciel - ce qui est gnralement interdit avec les logiciels propritaires. Elle prserve cependant les droits de l'auteur du logiciel qui reste libre de le diffuser sous d'autres licences. La mise en uvre de certains de ces droits implique cependant le plus souvent des devoirs. Ces droits et devoirs peuvent tre parfois difficiles apprhender pour les personnes parties prenantes dans le projet. Cette mconnaissance pourrait devenir un frein lusage des logiciels. Lapprhension de ces droits ncessite de bien comprendre la nature du phnomne des logiciels libres et den mesurer les forces et les limites.

1.2.

Dfinitions

Des dfinitions des logiciels libres ont t produites par deux organismes : la Free Software Foundation et lOpen Source Initiative. Ces dfinitions sont en pratique quivalentes. Pour la Free Software Foundation (FSF), un logiciel est considr comme libre si sa licence accorde les quatre liberts suivantes lutilisateur : La libert d'excuter le programme, pour tous les usages ; La libert d'tudier le fonctionnement du programme, et de l'adapter ses besoins. Pour ceci l'accs au code source est une condition requise ; La libert de redistribuer des copies ; La libert d'amliorer le programme et de publier ses amliorations, pour en faire profiter toute la communaut dutilisateurs et de dveloppeurs. Pour ceci l'accs au code source est une condition requise.

La FSF a cr le concept de "gauche dauteur" (copyleft). Celui-ci dfinit une licence qui reprend les quatre liberts dcrites ci-dessus et dont les termes doivent tre repris lidentique en cas de nouvelle distribution. Ceci permet dviter quune distribution du logiciel modifi restreigne les droits initiaux.

page 50

Toute reproduction mme partielle interdite IGPDE

Le logiciel libre

C'est donc le contenu de la licence qui permet de qualifier le logiciel de libre ou de propritaire, et non la simple disponibilit des sources. Alors que la dfinition de la FSF place laccent sur les grands principes respecter pour quun logiciel puisse tre qualifi de logiciel libre, les critres de lOpen Source Initiative (OSI) sont plus pratiques et plus techniques. Ils permettent de dterminer la nature libre ou propritaire dune licence de logiciel. Ils se dcomposent selon les neuf points suivants. 1.2.1. LA REDISTRIBUTION LIBRE

La licence ne doit pas restreindre la vente ou la distribution du logiciel libre intgr dans un autre logiciel contenant des programmes de diffrentes origines. La licence ne doit pas exiger de compensation d'aucune sorte en change de cette intgration. 1.2.2. CODE SOURCE

Le programme doit inclure le code source, et doit autoriser la distribution du code source comme de l'excutable compil. Quand une forme quelconque du produit est distribue sans le code source, il doit tre clairement indiqu par quel moyen il est possible d'obtenir le code source, pour une somme qui ne doit pas excder un cot raisonnable de reproduction, ou en le chargeant gratuitement via Internet. Le code source doit tre la forme privilgie par laquelle un programmeur modifie le programme. Un code source dlibrment confus est interdit. Les formes intermdiaires de code source, telles que celles rsultant d'un pr-processeur ou d'un traducteur, sont interdites. 1.2.3. TRAVAUX DERIVES

La licence doit autoriser les modifications et les travaux drivs, et doit permettre leur distribution dans les mmes termes que la licence du logiciel d'origine. 1.2.4. INTEGRITE DU CODE SOURCE DE L'AUTEUR

La licence peut restreindre la distribution du code source modifi seulement si elle autorise la distribution de fichiers patchs avec le code source, dans le but de modifier le programme la compilation. Lauteur peut ainsi garantir lintgrit de son code source dans le processus de diffusion successive du logiciel. La licence doit explicitement permettre la distribution de logiciels obtenus partir du code source modifi. La licence peut exiger que les travaux drivs portent un nom ou un numro de version diffrents du logiciel d'origine. 1.2.5. ABSENCE DE DISCRIMINATION ENVERS DES PERSONNES OU DES GROUPES

La licence ne doit pas tre discriminante l'encontre de personnes ou de groupes de personnes. 1.2.6. ABSENCE DE DISCRIMINATION ENVERS DES DOMAINES D'ACTIVITE

La licence ne doit pas restreindre ni interdire l'usage du logiciel un quelconque domaine d'activit. Par exemple, il ne peut interdire l'usage du logiciel dans le cadre d'une activit professionnelle, ou en exclure l'usage pour la recherche gntique. 1.2.7. DISTRIBUTION DE LICENCE

Les droits attachs au programme doivent s'appliquer tous ceux qui il est distribu sans qu'il leur soit besoin de se conformer des termes de licence complmentaires. 1.2.8. LA LICENCE NE DOIT PAS ETRE SPECIFIQUE A UN PRODUIT

Les droits attachs au programme ne doivent pas dpendre du fait que le programme fait partie d'un logiciel en particulier. Si le programme est spar du logiciel dans lequel il est intgr, et

Toute reproduction mme partielle interdite IGPDE

page 51

Le logiciel libre

utilis ou distribu selon les termes de la licence, toutes les parties qui le programme est redistribu doivent avoir les mmes droits que ceux accords avec le logiciel dans lequel il est intgr l'origine. 1.2.9. LA LICENCE NE DOIT PAS IMPOSER DE RESTRICTIONS SUR D'AUTRES LOGICIELS

La licence ne doit pas imposer de restrictions sur d'autres logiciels distribus avec le programme sous licence. Par exemple, la licence ne doit pas exiger que les autres programmes distribus sur le mme support physique soient aussi des logiciels libres.

1.3.

Diffrences de terminologie

Ces diffrences de terminologie nimpliquent aucune diffrence pratique. Les logiciels libres et les logiciels code source ouvert (Open Source) dsignent la mme ralit. La diffrence se situe un niveau thorique. Les tenants du logiciel libre emploient ce terme pour insister sur les quatre liberts attaches un logiciel. Ces quatre liberts sont des critres mais galement des justifications thiques lexistence des logiciels libres. Les tenants de lemploi du terme "code source ouvert" (Open Source) insistent sur les caractristiques oprationnelles, et en particulier la disponibilit du code source sans tenter de fournir de justification thique.

2.

ASPECTS JURIDIQUES

Lavnement des supports de distribution bon march comme lInternet et le cdrom a favoris la diffusion de logiciels dvelopps en dehors des canaux habituels de la profession. Selon le niveau de contribution demand lutilisateur (gratuit), la disponibilit du code source (transparence) ou encore limportance accorde la notion de proprit (droits dauteur), ces logiciels sont qualifis de domaine public, logiciel libre, gratuiciel ("Freeware"), partagiciel ("Shareware") ou encore propritaires. Cest la nature de la licence associe au logiciel qui dtermine lappartenance lune de ces familles de produits. Le concept de logiciel libre est ainsi rattach lensemble des logiciels couverts par un type de licence particulier : les licences de logiciels libres.

2.1. 2.1.1.

Les logiciels propritaires LES LOGICIELS PROPRIETAIRES "CLASSIQUES"

En rgle gnrale, les logiciels propritaires sont distribus sous forme dexcutable binaire et ne fournissent pas de moyen daccs au code source. Pour dfendre ses intrts (commerciaux ou autres), le dveloppeur dune solution propritaire interdit notamment (souvent) la libre redistribution de son produit et veille (trs souvent) ce quil constitue une bote noire pour ses utilisateurs, en interdisant notamment l'analyse du code source. En consquence, ces derniers nont pas la possibilit dadapter le logiciel leurs besoins, den corriger les ventuels bogues ou

page 52

Toute reproduction mme partielle interdite IGPDE

Le logiciel libre

dy apporter des amliorations. En gnral, ils passent par un club d'utilisateurs pour que leurs demandes d'volutions soient ventuellement prises en compte. 2.1.2. LE "FREEWARE"

Souvent dvelopps titre de hobby par un dveloppeur unique, ces logiciels sont (comme leur nom lindique) gratuits. Le terme "free" est ici associ la notion de gratuit. En revanche, la disponibilit du code source est laisse la discrtion du dveloppeur qui demeure propritaire de son uvre (notion de "copyright"). Dans la pratique, on constate que le code source dun "freeware" est rarement disponible. 2.1.3. LE "SHAREWARE"

Le concept de "shareware" est trs similaire celui de freeware. Il sen diffrencie par le niveau de contribution demand lutilisateur. Un "shareware" nest pas gratuit, mais son prix reste toutefois modeste (souvent quelques euros). De plus, la licence contient en gnral des limitations dans le nombre de copies, la dure de l'utilisation et le territoire concern. Il existe de nombreux drivs de lapproche "shareware", comme le "postware" - o lauteur demande pour seule rtribution de lui envoyer une carte postale. L aussi, le code source est rarement disponible. 2.1.4. SYNTHESE

"Freewares" et "sharewares" sont donc des logiciels caractre propritaire. Leur domaine dapplication reste principalement ax sur les accessoires de bureau. Le monde du Macintosh ou de Microsoft Windows en proposent de nombreux. Ces deux familles de logiciels ne sont pas directement lies la notion de licence au sens o nous lentendons lorsque lon parle de logiciels libres. Lappartenance lune de ces familles renseigne avant tout sur la gratuit ou la modicit du prix du produit. La licence qui sy rattache est propre au logiciel et se rduit le plus souvent quelques lignes rdiges par lauteur indiquant les restrictions quil souhaite imposer la distribution comme lutilisation du produit.

2.2.

Les logiciels libres

Par raction aux droits jugs trop restreints associs aux logiciels propritaires, les dveloppeurs de logiciels libres ont opt pour lappellation "logiciel libre" ("Free Software") "free" tant associ la notion de libert et non de gratuit. Lambigut contenue en anglais dans le terme "free" pourrait laisser supposer quun logiciel libre est forcment gratuit. Or il nen est rien. Le support physique de distribution, l'assistance fonctionnelle et technique, la formation ou encore l'adaptation du produit peuvent tre soumis rtribution, et c'est gnralement le cas. La promotion du terme Open Source tente (entre autres) de rsoudre ce problme d'interprtation. Il se veut le vecteur des notions de transparence et douverture mises en avant dans la communaut des dveloppeurs et clients de logiciels libres.

Toute reproduction mme partielle interdite IGPDE

page 53

Le logiciel libre

Ainsi, la licence qui accompagne un logiciel libre concde de nombreux droits ses utilisateurs au nom de lintrt commun. Lutilisateur se voit autoris modifier le code du programme, le distribuer librement, et mme vivre de cette activit. Lobjet juridique dune licence de logiciels libres est de garantir lutilisateur un accs libre au code source. Certaines licences, comme la GPL (General Public License, licence produite par la FSF), souhaitent rendre laccs au code source permanent afin de lutter contre toute "propritarisation" abusive du logiciel ainsi publi. Avec les licences de logiciels libres les plus courantes, la distribution dun logiciel n'est pas limite dans le temps, sauf interruption lie au non respect des clauses de la licence. Lauteur, qui conserve ses droits, pourra toutefois en distribuer une version drive par ses soins sous des clauses plus restrictives la version initiale restant libre. Il est de mme possible, pour un auteur, de mettre le mme logiciel sous deux licences libres diffrentes. Certaines licences, comme la licence GPL, interdisent de construire une solution propritaire partir de logiciels libres. Dautres licences, comme les licences de type MIT (Massachusetts Institute of Technology, dsigne la licence tablie par le MIT) ou BSD (Berkeley Software Design, dsigne la licence tablie par l'universit de Californie, Berkeley), permettent les travaux drivs propritaires. Cette possibilit offerte lexploitation propritaire dune base de code constitue la principale distinction entre les diffrentes licences de logiciels libres. Juridiquement, le logiciel libre nest pas un logiciel sans droit. En effet, celui-ci reste rgi par les dispositions de la licence et lauteur du logiciel reste titulaire de lensemble des droits dauteur. En effet, comme il a prcdemment t rappel, la qualit de logiciel libre se dduit de la nature des droits et obligations dcrits dans la licence. Ainsi, lobjet des licences de logiciels libres consiste en une mise disposition du logiciel et sa cause est la volont de permettre la libre volution du logiciel. Elle na pas pour objet de transfrer un droit de proprit ou la renonciation au droit dauteur ou encore de "faire tomber" le logiciel dans le domaine public. Ainsi, en diffusant son logiciel libre, lauteur peut sassurer que la libre utilisation du logiciel nest pas perturbe par les agissements des licencis. lchelle internationale, les textes de lois en matire de protection du logiciel sont trs dissemblables. Selon les pays, les logiciels relvent du droit dauteur, du droit des marques, de celui des brevets, de la proprit intellectuelle, ou encore de textes spcifiques aux logiciels. En rgle gnrale, la distribution et lutilisation des logiciels sont rgies par une combinaison de tout ou partie de ces textes. Dans le domaine public, le logiciel n'appartient personne mais tout le monde peut l'utiliser. Il est mme permis de construire une offre propritaire sur la base d'un code issu du domaine public. Un lment "tombe dans le domaine public" principalement : du fait du titulaire des droits qui les abandonne (par exemple : le titulaire dun brevet cesse de payer les redevances de maintien de la protection accorde par le titre de brevet. Lobjet du brevet tombe ainsi dans le domaine public), du fait de lextinction de la protection par arrive de son terme (par exemple, un logiciel est protg par le droit dauteur jusqu 70 ans aprs la mort de son auteur ; pass ce dlai, le logiciel tombe dans le domaine public).

Dans le droit franais du logiciel, lauteur qui divulgue le code objet et le code source du logiciel quil a cr, sans pour autant associer le logiciel une licence, ne perd pas ses droits d'auteur sur ce logiciel, tant qu'il n'y a pas renonc explicitement. Il est important de souligner que les remarques faites sur les licences de logiciels libres peuvent parfois sappliquer galement aux licences de logiciels propritaires, comme par exemple la limitation des garanties apportes lutilisateur dun logiciel.

page 54

Toute reproduction mme partielle interdite IGPDE

Le logiciel libre

Les licences - notamment la GPL - offrent un cadre lgal trs prcis aux logiciels libres. Des tribunaux ont rcemment reconnu leur validit. Cela tant, l'utilisateur doit tre particulirement vigilant au statut des composants estampills "logiciels libres" qui lui sont fournis et l'obligation de redistribution des dveloppements qu'il effectue, sauf se procurer des composants sous une autre licence (BSD par exemple). Par ailleurs, la licence GPL n'implique aucunement un support de l'auteur, et encore moins une garantie contre d'ventuels problmes.

3.

MODE DE FONCTIONNEMENT DU LOGICIEL LIBRE

La licence des logiciels libres permet en pratique de partager le code source d'un logiciel, accompagn de tous les lments permettant de parvenir au logiciel final excutable par lutilisateur. Cette simple particularit dans la licence du logiciel fait basculer vers un modle de dveloppement logiciel particulier, vers un modle de dveloppement conomique diffrent et vers une nouvelle rpartition des responsabilits dans le secteur de lindustrie logicielle.

3.1.

Le partage de logiciels : lapproche collaborative et pragmatique

Lmergence des logiciels libres repose sur un phnomne simple : la volont de mutualiser les logiciels. Les logiciels sont un bien essentiellement immatriel et reproductible peu de frais. La mutualisation de leur dveloppement est une approche naturelle pour rduire les cots ou amliorer la qualit dun logiciel en accroissant son caractre gnrique, sa souplesse, sa richesse fonctionnelle et sa modularit. Cette ide de mutualisation est lorigine des logiciels libres. Dvelopps selon un mode de travail collaboratif, les logiciels libres sont labors grce aux contributions des membres de la communaut. Un "core team" - compos de contributeurs de haut niveau - effectue les contrles, assure la cohrence et la qualit des dveloppements. Cette organisation permet de produire des logiciels dont le cot est limit et la technicit leve. De plus, la communaut joue un rle important dans le dboguage (d'autant plus rapide que les contributeurs sont nombreux) des nouvelles versions, assurant un contrle qualit (parfois) grande chelle et ractif. Un projet de logiciel libre se droule habituellement selon les trois phases suivantes. 3.1.1. LA PHASE DE DEVELOPPEMENT INITIAL

Un projet de logiciel libre est le rsultat de limplmentation dun besoin par un utilisateur donn (un dveloppeur individuel ou une socit). Dans une optique de mutualisation de leffort, lutilisateur/dveloppeur initial du projet dcide de partager le rsultat du dveloppement. Il publie alors le programme accompagn de son code source sous une licence de logiciels libres.

Toute reproduction mme partielle interdite IGPDE

page 55

Le logiciel libre

3.1.2.

LA PHASE DESSOR

La phase dessor est la phase durant laquelle le dveloppeur initial du projet reoit des contributions permettant damliorer son dveloppement initial. Le logiciel du dveloppeur initial remplit un besoin rel pour plusieurs autres utilisateurs / dveloppeurs, qui choisissent de lutiliser, mais galement de lamliorer pour ladapter leur besoin. Ces contributions permettent de faire voluer le code en terme de fonctionnalit et de gnricit. 3.1.3. LA PHASE DORGANISATION

La phase dorganisation est atteinte lorsqu'une quipe se met en place autour du dveloppeur initial pour rationaliser, coordonner les volutions du code, prendre en compte les besoins de nouveaux utilisateurs/dveloppeurs, etc. Le code devient un standard pour sa communaut de dveloppeurs, et les cots de maintenance sont rpartis dans la communaut de dveloppeurs (mais il y a un cot li au travail de coordination et au maintien de la cohrence densemble). La caractristique des logiciels libres est dmaner parfois de personnes physiques, parfois dtre la proprit conjointe de plusieurs personnes ou entits. Par ailleurs, les projets sont souvent des projets internationaux regroupant des contributeurs issus de diffrents pays.

3.2. 3.2.1.

Modle conomique des logiciels libres LES MOTEURS DE LA PRODUCTION DE LOGICIEL LIBRE

Les entits qui contribuent au niveau mondial la production de logiciel libre relvent du secteur public aussi bien que du secteur priv. 3.2.1.1. LE SECTEUR PUBLIC

Dans le secteur public les premiers contributeurs ont t les laboratoires de recherche et les universits, qui ont t rejoints par les administrations centrales et les collectivits locales. Pour un chercheur dans un laboratoire ou une universit, le cadre du logiciel libre permet de diffuser des travaux innovants une large communaut ou aussi d'effectuer une contribution ponctuelle qui vient s'ajouter un ensemble dj labor. Dans les deux cas, la contribution du chercheur reste identifiable et peut accrotre sa notorit. Pour les administrations centrales et les collectivits locales, une des motivations est la mise en place d'interfaces ou d'outils utilisables par des entits connexes mais non relies hirarchiquement, une autre motivation est la diffusion parmi les fournisseurs d'interfaces standardises comme, par exemple, pour le transfert de contenus multimdias. 3.2.1.2. LE SECTEUR PRIVE

Dans le secteur priv les facteurs dcidant les socits produire du logiciel libre sont lis au rle de la socit en tant que constructeur informatique, diteur de logiciels, distributeur ou intgrateur de systmes. Certaines socits combinent plusieurs de ces rles. La majorit des constructeurs informatiques voit Linux comme une faon d'largir la diffusion de leurs matriels. Certains constructeurs vont mme jusqu' contribuer aux logiciels libres, soit pour accrotre les fonctionnalits et les performances de Linux, soit, pour largir l'offre de logiciels sur leurs plates formes Linux ainsi qu'Unix. Certains diteurs de logiciels qui veulent percer sur un march contrl par un petit nombre d'acteurs placent leur logiciel sous licence libre afin de lui assurer une diffusion maximale. Leurs

page 56

Toute reproduction mme partielle interdite IGPDE

Le logiciel libre

revenus proviennent de la fourniture de services connexes : formation, support ou mme fourniture anticipe de la dernire version moyennant une redevance. Les distributeurs de logiciels libres prennent des engagements de maintenance de ces logiciels. Ils sont donc directement intresss contribuer la communaut de dveloppement constitue autour d'un logiciel. Les socits de services intgrent dans les systmes qu'elles ralisent des composants en logiciel libre. Elles sont ainsi amenes contribuer la maintenance de ces composants. Par ailleurs les socits de services ralisent des logiciels libres pour le compte d'administrations ou de socits. 3.2.2. 3.2.2.1. LES REVENUS TIRES DES LOGICIELS LIBRES LES REVENUS DIRECTS

Les revenus directs lis aux logiciels libres sont de deux ordres. Des revenus lis la distribution des logiciels libres. Contrairement un avis couramment rpandu, la gratuit nest pas une caractristique intrinsque du logiciel libre. Il est possible pour un logiciel libre d'tre diffus moyennant une contrepartie montaire. C'est le cas par exemple pour les distributions de Linux. On constate cependant frquemment une diffusion gratuite par publication sur un site web. Des comptences fortes en termes notamment d'intgration sont le plus souvent ncessaires. Des revenus lis la fourniture de services connexes par les distributeurs ou par les socits de service. Les services fournis autour des logiciels libres sont notamment l'intgration, le dveloppement d'extensions, la formation, le support et la maintenance, ce qui constitue une autre forme de dpenses (fixes), moins de possder ses propres quipes en interne, La ralisation de logiciels libres par une socit de services pour le compte d'un donneur d'ordres peut aussi entrer dans cette catgorie de revenus. D'une manire gnrale, les cots sont dports vers le service. Dans l'hexagone, des socits de services spcialises dans les logiciels libres (SSLL) se sont cres, mais peu parviennent pour le moment sortir du lot. Les grandes SSII ont pris le train en marche avec un certain succs. Des fournisseurs tels que IBM, Oracle, HP ou Dell fondent eux aussi une large partie de leur stratgie sur Linux et les logiciels libres. Globalement, l'offre est varie.

3.2.2.2.

LES REVENUS INDIRECTS

Les revenus indirects dcoulent des avantages concurrentiels qu'une socit acquiert en s'appuyant sur le logiciel libre. Ces avantages varient suivant le profil de la socit : un constructeur qui intgre des logiciels libres largit son offre de systmes d'exploitation et de logiciels, ce qui contribue son effort de vente ; une socit de services peut accrotre sa productivit en intgrant des composants libres.

Toute reproduction mme partielle interdite IGPDE

page 57

Le logiciel libre

4.

UTILISATION DES LOGICIELS LIBRES

4.1.

Lintrt des logiciels libres

Lintrt des logiciels libres peut se dcomposer selon les sept points suivants. 4.1.1. COUT D'INVESTISSEMENT

Le cot des licences est nul ou, dans le cas d'un distributeur, faible. Les logiciels libres ne ncessitent pas en gnral d'acquisitions de matriel spcifiques, ils peuvent gnralement fonctionner avec du matriel standard de type PC, ainsi que sur de nombreuses plates-formes matrielles. Ils se caractrisent souvent par une demande de ressources matrielles moins importante que pour les logiciels propritaires, pour obtenir une rponse quivalente en terme de performances. 4.1.2. COUT DE FONCTIONNEMENT

En terme de maintenance, la participation aux volutions ralises par la communaut de dveloppeurs favorise la mutualisation des travaux et donc la rduction des cots. 4.1.3. QUALITE ET PERFORMANCE

La qualit technique du code, crit en mettant l'accent sur la fiabilit et la performance, relu et corrig est assure par de nombreux programmeurs qui prennent en compte les remarques d'une communaut d'utilisateurs active. La libre disposition du code source et la logique de composants permettent d'adapter le logiciel (llexibilit) au type d'utilisation, donc, le cas chant, de l'allger et d'en optimiser les performances. 4.1.4. SECURITE

L'accs au code source facilite la dtection d'ventuels trous de scurit intentionnels ("backdoors") dans un logiciel libre, bien que ceux-ci soient habituellement extrmement difficiles dtecter. 4.1.5. OUVERTURE ET INTEROPERABILITE

Les logiciels libres sont "ouvert" car ils respectent gnralement les standards dicts par les instances de standardisation et de normalisation alors que certains diteurs importants s'en cartent. Le respect des standards par les logiciels libres implique que l'offre de logiciels libres respecte les critres du cadre commun d'interoprabilit.

page 58

Toute reproduction mme partielle interdite IGPDE

Le logiciel libre

4.1.6.

PERENNITE

Le gage de la prennit pour les logiciels libres repose notamment sur la taille de la communaut de dveloppeurs et de clients. 4.1.7. INDEPENDANCE

Lindpendance lgard dun diteur est favorise par la libre disponibilit du source, ainsi que la possibilit de le modifier et le redistribuer, permettant, si ncessaire, une personnalisation dun logiciel par une organisation. Le logiciel peut ainsi voluer indpendamment de son dveloppeur, soit par des volutions effectues par des quipes internes lorganisation, soit par sous-traitance. De mme, lindpendance est galement vraie lgard des prestataires. Le logiciel libre est un moyen daccrotre la concurrence pour le service autour des logiciels libres par un accs plus large la connaissance autour dun produit donn. ce titre, lemploi des logiciels libres dans les administrations permet de stimuler la concurrence dans les marchs publics. Dans les marchs de ralisation de logiciels passs par l'administration, lemploi de logiciels libres et la diffusion du rsultat comme logiciel libre, permettent dautres prestataires de prendre connaissance des travaux effectus et de se positionner sur les marchs ultrieurs de maintenance corrective ou volutive.

4.2.

Prcautions demploi

Les logiciels libres prsentent de nombreux avantages, mais leur usage suppose quelques prcautions demploi. Ils demandent notamment de connatre la manire dont fonctionne le secteur du logiciel libre. La licence d'un logiciel libre autorise en pratique son bnficiaire tre utilisateur de loutil mais galement producteur dvolutions du logiciel. Chaque utilisateur de logiciel est donc potentiellement un contributeur. Dans ce schma le rle de lditeur est tenu par un groupe de contributeurs, coordonns, en gnral, par l'auteur. Lutilisateur dun logiciel libre doit donc comprendre que la transformation du rle dditeur dans la relation triangulaire entre socit de services, diteur et clients entrane une responsabilit accrue pesant sur le couple client/prestataire de service. Ces responsabilits accrues doivent tre prises en compte : soit par un accroissement du rle de lutilisateur, par exemple en devenant lui-mme dveloppeur/contributeur, ou en effectuant la veille technologique ncessaire pour comprendre les volutions dun logiciel libre ; soit par un accroissement de la responsabilit des prestataires de service, afin quils assurent et se partagent des rles nouveaux (support de type diteur, assistance la publication de code libre, animation dune communaut autour dun logiciel, etc.).

Dans tous les cas il faut bien comprendre que le pendant cette gratuit des licences est une reprise en main de responsabilits thoriquement assures par lditeur. Il faut donc choisir une solution logiciel libre en tant conscient de cette contrainte et disposer de solutions permettant de grer cette situation (quipe interne, sous-traitance, etc). En revanche, il nest pas ncessaire dtre contributeur de logiciels libres, cest--dire diffuseur de modification pour bnficier des avantages des logiciels libres prsents plus haut.

Toute reproduction mme partielle interdite IGPDE

page 59

Le logiciel libre

4.3.

Domaines d'utilisation des logiciels libres

Il est aujourdhui difficile de cantonner les logiciels libres un domaine dapplication particulier. Les logiciels libres sappliquent donc potentiellement tous les domaines dactivit du logiciel. Ils se dveloppent particulirement rapidement ds lors quchange de donnes et interoprabilit sont en jeu. Les performances et la rputation de stabilit des logiciels libres en font aujourd'hui des concurrents srieux pour les solutions propritaires. Partant de domaines extrmement techniques comme les noyaux de systmes dexploitation et les services dinfrastructure rseau, le champ dapplication des logiciels libres stend aujourdhui progressivement aux applications mtiers et utilisateurs. Ce champ englobe les applications orientes Web, comme les applications denseignements distance, de gestion de contenus et les applications destines tre utilises sur le poste de lutilisateur final, comme la suite bureautique "OpenOffice" par exemple. Une liste non exhaustive est prsente titre d'illustration. 4.3.1. POSTE DE TRAVAIL ET SERVEUR nature Systme d'exploitation (poste de travail et serveur) Suite bureautique

Produit Linux (sous diverses distributions) "OpenOffice" 4.3.2.

SYSTEMES D'EXPLOITATION EMBARQUES/TEMPS REEL Produit nature Sous diverses distributions Bas sur le noyau libre C5 Hrit du rachat de Cygnus en 1999

Linux Jaluna-1 eCos 4.3.3.

DEVELOPPEMENT/PUBLICATION DE CONTENU nature Moteur de publication de documents XML Framework pour application Java Plate-forme de dveloppement soutenue par IBM Accs aux donnes, s'adosse JDO Plate-forme de dveloppement soutenue par Sun Middleware de messagerie asynchrone Langage de programmation interprt Moteur de publication Langage de programmation interprt Bus applicatif pour l'EAI Outil de mapping objet-relationnel Moteur de publication de contenu Publication de contenu

Produit Cocoon Strusts Eclipse Lido Community Edition NetBeans Joram Perl PHPNuke Python Appli-Bus Hibernate Spip Zope

page 60

Toute reproduction mme partielle interdite IGPDE

Le logiciel libre

4.3.4.

OUTILS DE CLUSTERING ET DE GRID Produit nature Pour btir des architecture Grid Administration de clusters Pour environnements tolrance de panne Installation et exploitation de clusters Haute disponibilit, quilibrage de charge IP Solution de mise en clusters, supporte par la Nasa

Globus Toolkit Clic Kimberlite Oscar Cluster Suite Scyld Beowulf 4.3.5.

SYSTEMES DE GESTION DE BASE DE DONNEES (SGBD) Produit nature Base de donnes relationnelle Base de donnes transactionnelle Base de donnes transactionnelle

MaxDB MySQL PostGreSQL 4.3.6. INFRASTRUCTURE RESEAU

Produit Bind NMAP Nagios Ximian Red Carpet VNC Network Samba Squid 4.3.7.

nature Serveur de noms de domaine Logiciel de cartographie rseau Outil de monitoring rseau Gestion centralise des PC et serveurs Prise de contrle distance Gestion de l'infrastructure Red Hat Serveur de fichier sous Linux Serveur proxy-cache sur Unix et Linux

AUTHENTIFICATION / ANNUAIRE / PKI Produit nature Solution de PKI Serveur Radius Infrastructure cl publique Annuaire LDAP

EuPKI FreeRadius IDX-PKI OpenLDAP 4.3.8.

SERVEURS D'APPLICATION ET SERVEURS WEB Produit nature Serveur Web utilis par la majorit des sites Serveur de page Web dynamiques Moteur de servlets et d'application JSP Serveur d'application J2EE Serveur d'application Java/XML Serveur d'application J2EE Moteur d'excution PHP

Apache PHP Tomcat JBoss Enhydra Jonas Zend Engine 4.3.9. SECURITE Produit Security Linux Bastille IPCop Firewall Nessus SmoothWall Snort

nature Pare-feu, filtrage de contenu Renforce la scurit sous Linux Pare-feu disponible en franais Scanner de vulnrabilits Pare-feu requrant peu de ressources Logiciel de dtection d'intrusion

Toute reproduction mme partielle interdite IGPDE

page 61

Le logiciel libre

4.3.10. MESSAGERIE Produit Sympa IMP Sendmail Qmail nature Gestion de liste de diffusion Outils de webmail crit en PHP Serveur SMTP trs rpandu Serveur SMTP

4.4.

Un enjeu pour l'administration

Dans le cadre de la modernisation des systmes dinformation de ltat, les administrations sont incites privilgier le recours aux solutions ouvertes proposes par le march. Aujourdhui, la qualit de certains logiciels libres a permis de rpandre leur utilisation et contribue la diffusion des concepts sous-jacents. Le primtre fonctionnel couvert par les logiciels saccrot rgulirement et stend maintenant des serveurs aux applications clientes. L'offre de services s'est multiplie et diversifie. Ce dveloppement en France s'inscrit dans un dveloppement des logiciels libres dans l'Union europenne et au niveau international. Les ministres aussi bien que les collectivits territoriales sont maintenant des utilisateurs significatifs des logiciels libres mais aussi des producteurs de logiciels libres. Cette multiplication des projets ainsi que la nouveaut de l'approche en matire de licences des logiciels impliquent que l'administration progresse dans la construction d'un cadre, notamment administratif et juridique, cohrent et sr. C'est pourquoi le Comit Interministriel pour la Rforme de ltat a donn mission l'ATICA (Agence pour les Technologies de lInformation et de la Communication dans lAdministration) de proposer aux administrations une dmarche de choix et dusage de licences de logiciels libres.

4.5.

Bnfices et risques pour l'administration

Le recours aux logiciels libres constitue un des leviers de la modernisation des systmes dinformation de ltat. La possibilit de recourir selon les circonstances tant aux logiciels libres que propritaires largit les possibilits de choix des administrations ; les bnfices pour les administrations de ltat, les tablissements publics de ltat et les collectivits locales sont de plusieurs ordres. 4.5.1. Accder a un patrimoine considrable de logiciels souvent de qualit et conformes aux normes. 4.5.2. Matriser le rapport cot total de la solution/adquation aux besoins par le renforcement de la concurrence, afin de maintenir ce ratio a un niveau le plus bas possible. 4.5.3. Matriser les logiciels eux-mmes et pouvoir sassurer de leur prennit.

La matrise du logiciel sentend ici deux niveaux, un premier niveau technique - o ladministration est capable de comprendre et de modifier le logiciel afin de faciliter son intgration et/ou son volution, un second niveau o ladministration dispose dun meilleur contrle sur la

page 62

Toute reproduction mme partielle interdite IGPDE

Le logiciel libre

politique dvolution de son parc applicatif et dune manire gnrale sur la matrise de la gestion des biens publics. Cet argument prend une rsonance particulire dans des domaines touchant la scurit tel que lauthentification et lidentit du citoyen ou ceux relatifs lintgrit, la confidentialit et laccessibilit au cours du temps des donnes. 4.5.4. Capitaliser les nombreux dveloppements ralises par et pour l'administration afin de faire bnficier rapidement l'ensemble des administrations d'un logiciel d'intrt gnral dvelopp pour une entit administrative donne. Cette capitalisation peut concerner des entits majeures de l'administration, comme par exemple les administrations centrales ou les collectivits locales mais aussi se situer au niveau europen en faisant bnficier des dveloppements, sur des domaines transverses, les services concerns des pays de l'Union europenne. 4.5.5. Tout dveloppement et dploiement de logiciels comporte des risques.

Lutilisation des logiciels libres, en donnant une plus grande marge de manuvre aux utilisateurs, ncessite aussi de leur part une comprhension claire des implications nouvelles lies leur plus grand contrle sur le logiciel. Il convient d'viter les principaux facteurs de risque suivants : Raliser des dveloppements en utilisant des composants logiciels libres dont les licences sont incompatibles entre elles. La disponibilit du code source permet techniquement de composer un logiciel en utilisant le code source de composants ou des logiciels tout entiers soumis des licences diffrentes. Les matrises douvrages doivent veiller la compatibilit des composants afin de garantir la lgalit du produit rsultant. L'implication de l'administration comme responsable des logiciels dvelopps ou modifis, en ce qui concerne la problmatique du respect du droit dauteur ou de la garantie. La diffusion publique de logiciels raliss ou modifis par ladministration ncessite de sassurer que les droits des auteurs soient respects et de prciser les garanties qui sont fournies avec ces logiciels (quil sagisse de logiciels libres ou propritaires). La disponibilit du code source rend plus aise la vrification dventuelles violations du droit dauteur et elle demande donc une plus grande attention la provenance du code source qui est incorpor dans le logiciel.

Toute reproduction mme partielle interdite IGPDE

page 63

Institut de la Gestion Publique et du Dveloppement Economique


20, alle Georges Pompidou 94306 Vincennes cedex SERVEUR PEDAGOGIQUE INTRANET

http://alize.alize/crp/tic 2004