La prospective en général est un exercice délicat
d'exploration des "futuribles". Dans le domaine de l'informatique, plus
encore qu'ailleurs, le rôle de phénomènes émergents
et inattendus, risque de rendre l'exercice caduque, dans la mesure où
en devenant dominants, ils peuvent orienter l'avenir dans une direction
qui n'avait en aucun cas été anticipée.
Il est donc clair qu'il ne s'agit pas ici de prétendre
dresser un tableau futuriste de l'industrie informatique et de sa composante
logicielle, ne fût-ce qu'à un horizon de 5, 10 ou 15 ans.
Amorcer l'ébauche d'une approche prospective, c'est avant tout faire
le point sur les enjeux fondamentaux les plus critiques et concevoir comment
ils constituent à la fois un défi pour l'informatique de
demain et un axe d'orientation des efforts des acteurs concernés.
Dans une première partie, nous verrons comment l'explosion
du champ des applications constitue sans-doute l'une des premières
manifestations d'une "société de l'information", qui n'avait
pas eu jusque là de fondements effectifs. Dans une deuxième
partie, nous examinerons l'évolution des modes d'organisation de
la production de logiciels et nous discuterons de la question de son industrialisation.
La troisième partie enfin traitera du rôle des infrastructures
de réseaux et de l'adaptation des logiciels à ces nouveaux
modes de communication et d'accès aux sources de l'information.
L'élargissement du champ des applications ; à
propos de l'émergence d'une "société de l'information"
Les coûts des équipements de traitement et de
stockage de l'information, ainsi que ceux des télécommunications
qui sont à la base des réseaux, n'ont cessé de chuter
tandis que les performances, tant des composants que des divers équipements
en cause (il n'est qu'à penser à la capacité des disques
durs), ont connu une progression de nature exponentielle. Tout autorise
à penser que cette évolution vertigineuse n'est pas prête
de s'épuiser, au moins peut-on raisonnablement le prédire
pour la décennie à venir.
Les capacités de traitement de l'information ainsi disponibles,
en propre ou intégrées dans d'autres produits, vont ouvrir
plus encore le chemin à de nouvelles applications et de nouveaux
utilisateurs. De nombreux champs technologiques qui tendront à rapprocher
l'ordinateur de l'homme, comme la visualisation, la réalité
virtuelle, etc., vont connaître d'importants développements,
alors qu'ils n'en sont aujourd'hui qu'à leurs premiers balbutiements.
De nombreuses compétences seront ainsi mobilisées dans les
activités logicielles, bien plus largement que celles traditionnellement
recensées dans ce champ technologique.
Les années 90 ont sans doute, plus que jamais, vu le
passage d'une informatique spécifiée et délimitée,
enfermée dans ses frontières, à une informatique diffusée,
à une irruption des technologies de l'information dans toutes les
composantes, économiques, sociales et culturelles, de la société
de cette fin de siècle.
C'est là sans doute la vraie naissance d'une "société
de l'information" qui ne signifierait plus l'asservissement des organisations
économiques et sociales aux impératifs et aux contraintes
des systèmes informatiques, mais supposerait plutôt que ces
technologies se coulent peu à peu dans les spécifications
des autres domaines d'activités, pour contribuer à la manière
de satisfaire leurs besoins.
Et ceci semble aussi vrai des organisations (productives ou
non) que des objets et des fonctions de la vie quotidienne.
Si l'on prend l'exemple des systèmes d'information dans
les grandes entreprises et grandes organisations, les architectures centralisées
autour des grands ordinateurs mainframes, se traduisaient par le pouvoir
et une forme de préséance hiérarchique de la Direction
Informatique au sein de l'organisation. Le succès des architectures
client-serveur, mais plus encore des concepts de type Intranet, témoignent
d'une tendance à la restauration du pouvoir de l'organisation et
des utilisateurs sur les technologies de l'information.
Plus encore, la montée en puissance d'une intelligence
distribuée et d'une informatique en réseau témoignent
de la progressive intégration des technologies de l'information
au coeur des activités économiques et sociales. Et cela prend
une importance particulière au moment même où s'affirme
l'émergence d'une économie fondée sur la connaissance
(knowledge based economy), au coeur de laquelle les fonctions de recueil,
de mémorisation et de stockage de l'information prennent une place
tout à fait essentielle.
Ainsi les années 90 resteront celles du "downsizing",
c'est-à-dire
du transfert progressif des applications sur des machines plus petites
(notamment micro-ordinateurs en réseaux). La réécriture
ou la conversion des programmes est une opération complexe et délicate
et, par conséquent, lente à réaliser. Face à
ce délai, la stratégie des grands constructeurs a d'abord
consisté à "habiller" les applications mainframes d'interfaces
graphiques (c'est ce qu'on appelé le "revamping"). De nombreux outils
ont été introduits en vue de substituer les anciens terminaux
des applications mainframes. En réalité, même si l'on
a remplacé, en local, le terminal par un micro-ordinateur qui traduit
et présente, l'illusion pour l'utilisateur est de courte durée
car la logique est restée fondamentalement la même (1).
Malgré l'importance des coûts de conversion et
de réécriture, la vraie tendance est donc celle d'une évolution
qui suppose la rupture avec les conceptions passées. Architectures
client-serveur et Intranet en sont des manifestations significatives ;
elles ne sont peut-être que des étapes d'une mutation des
systèmes d'information qui n'a pas encore révélé
toute sa portée.
A l'opposé, ce sont les biens de consommation qui intègrent
de plus en plus une logique de traitement de l'information. La tendance
est au doublement, tous les deux ans, du volume de code intégré
dans ces produits. D'ores et déjà un téléviseur
intègre 500 kilo-octets de logiciel, un rasoir 2 kilo-octets. Les
systèmes de propulsion des nouvelles voitures de General Motors
intègrent plus de 30.000 lignes de programme (2).
Plus que jamais auparavant, la production de circuits intégrés
va devoir incorporer une variété de fonctions logicielles
susceptible de les adapter aux spécifications d'un champ et d'un
nombre toujours croissant de spécifications d'application. La multiplication
de ces niches apparaîtra très rapidement contradictoire avec
la rentabilité de l'organisation de lignes de production spécifiques
à chacune d'entre elles. L'orientation technologique en direction
des circuits pré-diffusés (semi-customed ICs) a représenté
une forme de réponse à cette situation, mais selon une dimension
purement matérielle qui est celle de la logique câblée.
De même que l'a connu en son temps l'informatique, c'est une logique
programmée qui affirmera de plus en plus sa place dans les produits
de la micro-électronique et demandera la disponibilité d'une
compétence adaptée.
En poussant le raisonnement un peu plus loin encore, le composant
devenant ordinateur, intègre en son sein l'intégralité
de l'architecture d'un système de traitement de l'information. Pour
fonctionner, il n'a plus besoin que d'interface avec son milieu de commande
et de communication avec son environnement : périphériques
d'entrée-sortie, capteurs, accès à des réseaux
de communication ... Dès à présent, les besoins de
commande et de mesure ont conduit à recourir de manière croissantes
à des micro-technologies d'interface, essentiellement aujourd'hui
micro-capteurs, mais déjà progressivement: micro-vannes,
micro-moteurs... Dans un avenir raisonnable, les fonctions de traitement
de l'information pourraient s'intégrer encore davantage dans les
autres fonctions. Le traitement de données s'intégrerait
directement à l'objet qu'il est sensé guider et contrôler,
la puissance de calcul se répartirait au plus près de l'utilisation,
dans le foret d'une machine-outil, dans l'injecteur ou les plaquettes de
frein d'une automobile (3). L'intégration micro-électronique
se combine ainsi avec d'autres technologies pour former des objets hybrides
nouveaux; l'ensemble des technologies microscopiques, et notamment la micro-mécanique
(micro-moteurs, micro-machines, micro-capteurs,...), est amené à
jouer conjointement un rôle particulier.
Enfin, un maître mot de l'informatique de demain est
celui de
l'interface homme-machine. Les Japonais qui parlent d'une informatique
humaine ne s'y sont pas trompés. L'ordinateur est certes intégré
au composant, mais ce qui demeure la clef de sa diffusion, est bien l'ensemble
des technologies d'utilisation. Celles qui vont permettre à l'utilisateur
d'accéder à toute la puissance de traitement disponible,
sans recours à un spécialiste ou sans devoir devenir spécialiste
lui-même. Celles qui vont permettre à l'utilisateur de disposer
d'outils aptes à satisfaire au mieux ses besoins. Mais celles aussi
qui vont lui permettre de dialoguer le plus simplement avec la machine,
avec son langage propre, son écriture, sa voix, son langage naturel.
Pour le Japon, c'est une impérieuse nécessité, bien
plus qu'une volonté de devancer le monde. Le Japon, en raison de
son système d'écriture propre, a toujours été
limité dans les possibilités de grande diffusion des outils
informatiques. Témoin en est le faible niveau actuel de pénétration
de la micro-informatique. Dépasser cette barrière relève
ici du bon sens, mais elle ouvre aussi un marché considérable.
Pour devenir cet objet convivial, l'ordinateur devra intégrer
un certain nombre de technologies logicielles : reconnaissance et synthèse
de
la parole, reconnaissance de l'écriture, traitement du langage
naturel. Il offrira à l'utilisateur des interfaces graphiques de
plus en plus évoluées et adaptées (on a même
parlé de "terminaux caméléons"). Il est déjà
-et il sera indubitablement- multimédia, capable de traiter
simultanément et tout aussi bien des données, du son ou des
images. En outre il offrira des technologies matérielles d'entrée-sortie
de qualité sans-cesse améliorée : affichage, clavier,
écran tactile,... Ici les technologies actuellement cantonnées
dans le domaine des périphériques, auront un rôle tout
à fait central à jouer. Dans le même temps, elles renforceront
le caractère de "boîte noire" et de transparence du matériel
qui devra accepter des interfaces homme-machine standardisées, maintenant
ainsi les conditions d'une forte concurrence par les prix et d'une érosion
continue des marges dans ce domaine du hardware.
Vers une industrialisation du logiciel ?
L'activité de développement du logiciel s'organise
encore aujourd'hui selon un mode de production étonnamment artisanal.
Et ceci aussi bien
en ce qui concerne les méthodes de construction et de développement
lui-même qu'en ce qui concerne les divers aspects de sa fiabilité.
Organisation de la production
La montée en puissance des supports matériels
des technologies de l'information et le développement des réseaux
ouvrent la voie à des logiciels intégrant un nombre croissant
de fonctions et de spécifications. Cette évolution vers des
systèmes complexes suppose la mise en oeuvre de plus en plus systématique
de principes de spécialisation et de coopération.
Elle met par conséquent en avant le rôle des intégrateurs
qui détiennent les compétences de maîtrise, tant sur
le plan matériel que sur le plan logiciel, des nouvelles architectures
des systèmes d'information.
Là est sans doute l'une des voies essentielles de l'industrialisation
du logiciel. L'une de ses premières conséquences est, aux
Etats-Unis, une plus grande dispersion entre des pôles spécialisés
(graphique, réseaux, bases de données,...) qui s'autonomisent
les uns vis-à-vis des autres pour rentrer ensuite dans des logiques
combinatoires.
Le génie logiciel joue, dans ce processus, un
rôle central, dans la mesure où c'est sur lui que repose la
possibilité de traduire des problèmes d'organisation complexes
en morceaux simples, réutilisables et gérables. Il fournit
un outillage de base pour les intégrateurs, voire même pour
les utilisateurs.
Ainsi l'innovation dans la production logicielle repose sur
deux grands types de compétences qui relèvent respectivement
de la créativité (prémisse indispensable à
la spécialisation) et de l'organisation. Même s'il
est possible d'imaginer que la spécialisation permette l'utilisation
d'une main d'oeuvre peu qualifiée (donc délocalisable), elle
devrait avant tout rester fondée sur une main d'oeuvre de haut niveau,
proche des sources scientifiques (algorithmes mathématiques, simulation,...)
et travaillant par conséquent selon un mode de production toujours
artisanal.
Mais dans ce contexte, le changement le plus fondamental sera
sans doute celui de la systématisation du recours à des "composants
logiciels" portables et réutilisables. Jusqu'à présent,
dans leur grande majorité, les programmes d'ordinateurs sont produits
de manière tout à fait artisanale et "manuelle", à
partir de langages de programmation bruts et par l'utilisation de techniques
implicites qui ne sont ni répertoriées ni duplicables.
La tendance actuelle va dans le sens d'une double évolution
: un recours accru aux fondements mathématiques de la programmation
(d'où l'importance des liens avec les structures académiques
et universitaires) et, d'une façon plus fondamentale encore, l'émergence
de méthodes et d'organisations commerciales favorable à la
réutilisation de composants logiciels interchangeables.
Traditionnellement, depuis des décennies, les programmeurs
conçoivent leurs programmes en utilisant les ressources de bibliothèques
de sous-programmes et de routines. Mais cette pratique était limitée,
dès lors qu'il se serait agi de changer de langage de programmation,
de plate-forme de mise en oeuvre ou d'environnement système. Plus
encore l'évolution du hardware entraînait l'obsolescence du
software. L'enjeu essentiel aujourd'hui est de trouver les moyens de défaire
les liens qui figent la mise en oeuvre des programmes à un environnement
spécifique d'ordinateur et à d'autres programmes.
Au Japon la réutilisation de composants logiciels standards
est largement répandue depuis de nombreuses années, ce qui
constitue indéniablement une forme d'industrialisation de la production
(4). Cependant cette pratique s'inscrit quasi-exclusivement
dans un contexte "propriétaire". Tous les grands intégrateurs
construisent leurs logiciels à façon en s'appuyant sur de
grandes bibliothèques de "packages" (routines et programmes faits
maison). Alors qu'aux USA, ces composants logiciels pourraient être
commercialisés séparément, ils sont, au Japon, vendus
intégrés dans des logiciels sur-mesure.
Nous sommes entrés désormais dans l'ère
de la réutilisation des pièces de programmes, ce qui suppose
une évolution vers une configuration où la programmation
sera avant tout le ré-assemblage de composants préexistants
en des architectures logiques complexes. Ces objets auront été
créés par des professionnels, l'assemblage du programme pourra
dans certains cas être le fait de non spécialistes de l'informatique,
mais utilisateurs ou spécialistes d'un domaine d'application concerné.
Cette évolution fondamentale dans l'environnement de programmation
devrait contribuer à corriger l'asymétrie des progrès
entre hardware et software depuis les origine de l'informatique (5).
Elle implique aussi une certaine forme de concentration.
Les économies d'échelle vont rapidement prendre
le pas, dans un marché nouvellement gagné aux guerres de
prix. Dans la mesure où les ventes de logiciels vont croître
très fortement en volume, elles vont permettre à un petit
nombre de producteurs de réaliser des profits considérables,
avec des marges unitaires décroissantes. À terme on peut
s'attendre à ce que ne subsistent que deux ou trois producteurs
d'un composant donné (6). La plupart des producteurs
de logiciels ne feront
alors qu'intégrer des composants produits par d'autres (en écrivant
les
composants spécifiques non disponibles).
Bien souvent ce seront les utilisateurs eux-mêmes qui
intégreront les composants nécessaires à la réalisation
de leurs applications. Sans sortir de leur champ de compétences
propres, ils pourront développer des utilisations de l'informatique
spécifiques à leurs besoins, en toute transparence, ignorant
la plupart du temps qu'il font de la programmation.
Fiabilité, tests et certification
La fiabilité des grands systèmes logiciels complexes
est loin d'être acquise. Des études concernant les projets
logiciels de grande échelle, ont montré que pour six nouveaux
systèmes effectivement mis en oeuvre, deux ont échoué.
En outre, les délais effectifs de réalisation dépassent
en moyenne de moitié les prévisions, et de manière
croissante avec la taille des projets. Pour les trois-quarts d'entre eux,
les défaillances opératoires, qui systématiquement
subsistent, entraînent un mode de fonctionnement différent
de celui prévu, voire pas de fonctionnement du tout...(7)
Mais ces problèmes de fiabilité ne concernent
pas seulement les très grands systèmes. D'un point de vue
plus général, les fondements traditionnels de la programmation
sont en train d'évoluer à mesure que les équipements
progressent en puissance et en rapidité. Dans ce même temps,
les fonctions les plus simples se voient dotées d'une sophistication
nouvelle et par conséquent d'une complexification des logiciels
d'application correspondants. Si l'on prend l'exemple des logiciels de
traitement de texte ou de présentation
graphique, les nouveaux produits offerts ont intégré
des progrès considérables au plan des fonctionnalités,
de la qualité de présentation, des interfaces
graphiques, qui sont désormais considérées comme
des acquis.
L'idée qu'un logiciel comporte nécessairement
des défauts, qui se révéleront à l'usage et
se corrigeront au fil du temps et des versions, paraît de moins en
moins acceptable. Elle doit progressivement faire place à celle
d'une programmation sans défauts, argument fort de marketing,
mais aussi nécessité incontournable pour un nombre croissant
d'applications. Et les applications dites "sensibles" (sécurité,
risque élevé,...) ne sont pas les seules concernées.
Dans le cas d'applications incorporées dans des objets quotidiens
(appareils domestiques, de l'interrupteur au lave-vaisselle par exemple),
il n'est pas envisageable économiquement d'effectuer des opérations
de rapatriement ou de mise à jour, en cas de détection d'un
problème. Quant aux applications intégrées dans des
systèmes complexes d'un autre domaine (exemple de l'automobile)
il n'est pas acceptable qu'un défaut de programmation puisse mettre
en péril le bon
fonctionnement (arguments de sécurité -exemple de l'ABS-
ou de coût -exemple du contrôle d'injection dans une voiture
de haut de gamme-).
La fiabilité des programmes est aujourd'hui principalement
fondée sur des méthodes de type "beta-testing", qui consistent
à faire tester le produit par une grand nombre de "pré-utilisateurs"
cobayes. Ainsi le système Chicago de Microsoft a été
testé par 10 000 utilisateurs. Le programme de traitement de texte
Word 6 (qui occupe un volume de 48 Mo (8) en version
complète) a été développé sans aucune
sorte de méthode formelle, mais sur la base de "tolérance
de faute" et de tests extensifs (9).
Cependant, réussir à produire un code immédiatement
sans failles est une tâche difficile. Aux Etats-Unis, le Département
de la Défense applique des méthodes et standards de test
très rigoureux pour assurer la fiabilité des programmes utilisés
au coeur de missions sensibles. Ces standards ont été récemment
utilisés pour la certification d'un satellite du DoD et de
la NASA, à destination d'une orbite lunaire.
Mais les erreurs en conditions réelles d'utilisation
sont très difficile à anticiper, car elles apparaissent
seulement sous certaines conditions parmi un très grand nombre de
situations possibles, difficilement envisageables de manière exhaustive.
Et il n'est pas clair que les méthodes actuellement utilisées
pour produire des logiciels critiques sûrs, puissent évoluer
et s'étendre en conformité avec les besoins futurs. Il est
même probable au contraire que, pour les systèmes en temps
réel au moins, on en soit aujourd'hui à un point de rupture
(10).
La demande d'une informatique de plus en plus distribuée
complexifie encore le problème. Très souvent les défaillances
d'un système résultent d'une situation qui n'avait pas su
être envisagée. Et ici l'effet des réseaux joue un
rôle d'amplification de par la croissance combinatoire de l'ensemble
des états possibles. Dès lors qu'un système croît
en complexité, il finit par atteindre un niveau tel que plus personne
n'est en position de maîtriser à soi seul la compréhension
de l'ensemble et les méthodes traditionnelles de développement
s'avèrent inefficace et obsolètes.
Vers la constitution d'infrastructures de l'information
: Internet et les autoroutes de l'information
Aujourd'hui, la possibilité d'accéder à
une infrastructure comme Internet est en train de faire tomber les obstacles
à la circulation de l'information, par delà la distance géographique,
par delà les standards d'ordinateurs et de logiciels. D'abord, les
standards de communication TCP/IP en oeuvre sur Internet, ouvrent la possibilité
pour des dizaines, voire des centaines de millions d'ordinateurs de communiquer,
quelque soit leur marque, leur système d'exploitation et leurs logiciels
d'application. Ensuite le langage html (hypertext markup language), espéranto
de l'Internet, offre à tous les systèmes connectés
la possibilité de présenter leur propre information sous
la forme de pages graphiques.
L'étape suivante est sans doute plus critique encore
: elle consiste à offrir non seulement le partage des ressources
informationnelles, mais aussi le partage des outils, des programmes ; et
ceci risque de profondément bouleverser le paysage informatique.
Dès aujourd'hui, nombre de programmes sont disponibles
en "freeware" et en "shareware" (11) sur l'Internet.
Et les barrières à l'entrée pour une telle offre sont
absolument minimes. Les grands éditeurs des logiciels de navigation,
tout comme les dizaines d'entreprises "startups" éditrices de logiciels
pour "le Net" utilisent ce support comme une base de leur stratégie
marketing. Ils y cherchent parfois à provoquer des formes de lock-in
technologiques (12) pour fidéliser une clientèle.
Très vite apparaîtra sur le réseau une
offre de logiciels spécifiques que l'on pourra acquérir pour
un usage unique ou limité, et donc rémunérer en fonction
de l'usage effectif que l'on en fera. Cela constituerait évidemment
une innovation commerciale radicale vis-à-vis de la situation actuelle,
où un logiciel est acheté une fois pour toutes et payé
selon un tarif de licence, forfaitaire et global, incluant le plus souvent
une pléthore de fonctionnalités dont la plupart des usagers
n'utiliseront qu'une petite partie.
Plus encore, la frontière entre contenu et applications
va tendre à s'estomper, permettant de proposer une large gamme de
"services-réseau" sur un mode interactif, à l'exemple d'un
catalogue électronique qui comportera son propre programme pour
effectuer une commande. C'est la notion de "logiciel jetable" (disposable
software) ou d'"applets", petits logiciels qui nichés dans les pages
d'un serveur Web créent, pour l'utilisateur, une machine virtuelle
afin de tirer partir des informations et données obtenues (aussi
bien pour réserver un ticket d'avion que pour consulter la Bourse
ou pour visionner une animation ou un clip).
Les conséquences possibles d'une telle évolution
sont difficiles à anticiper, tant elles peuvent bouleverser le fonctionnement
de l'industrie informatique, par la remise en cause de la logique jusque
là prévalente de course à la puissance :
Une hypothèse, sur laquelle misent beaucoup d'acteurs de l'industrie,
est le concept de "PC-Net", ordinateur personnel, fondé sur une
capacité limitée de stockage et de traitement et qui tirerait
sa puissance effective des ressources du réseau. Les informations
basiques sont celles disponibles sur le réseau ; les programmes
sont obtenus à partir du réseau quand ils sont nécessaires,
pour le temps nécessaire et selon le profil nécessaire. Une
sorte de "just-in-time software", qui permet de réduire au minimum
les coûts fixes et de les reporter sur la forme de vrais coûts
marginaux d'utilisation. Et l'on peut facilement imaginer que le concept
s'étende au système d'exploitation lui-même, permettant
de transformer l'architecture du système selon les spécifications
de l'utilisateur (par exemple les différents membres d'une famille)
ou du besoin d'utilisation précis. La mise en oeuvre effective de
tels concepts ne serait évidemment pas sans conséquence sur
la manière de concevoir les équipements eux-mêmes.
On perçoit les enjeux d'une telle hypothèse pour l'industrie
informatique toute entière.
Internet est en croissance ultra-rapide : de l'ordre de 10
à 15 % par mois. Le marché des logiciels pour l'Internet
représente aujourd'hui à peine 0,6% des 100 milliards de
dollars du marché mondial du logiciel. Mais c'est un marché
qui croît à un rythme annuel de 100% et devrait atteindre
les 4 milliards de dollars avant l'an 2000, alors que le marché
de 19,3 milliards des logiciels pour mainframes devrait à peine
croître de 2% en 4 ans pour atteindre 19,6 milliards de dollars en
1999...(13)
De Sun à Microsoft en passant évidemment par
Netscape et Oracle, tous les grands éditeurs de logiciel préssentent
qu'Internet peut être à la source d'un nouveau modèle
économique de l'industrie du logiciel et intègrent cette
hypothèse parmi leurs toutes premières priorités stratégiques.
Microsoft a établi des passerelles Internet avec la plupart de ses
logiciels et ses propres outils de navigation. Oracle offre des outils
de navigation et une version Web de son logiciel de bases de données.
Sun a créé Java,
un langage de programmation orienté objet (14),
basé sur C++ et conçu spécialement pour le Net. Il
a concédé des licences à un grand nombre de développeurs
et le distribue gratuitement pour l'enseignement et la recherche. Les applications
commencent à proliférer. IBM a créé une "Internet
Software Unit", et tandis qu'il explore le développement de son
propre "Web executable language", il s'interroge sur l'opportunité
de prendre une licence Java. Netscape a également créé
son propre langage LiveScript et Microsoft son VisualBasic. (15)
Dans ce nouvel environnement, de nouvelles catégories
d'applications vont émerger. L'une d'entre elles, qui est apparue
récemment et qui tend à jouer un rôle important dans
le futur, est celle des agents intelligents (16).
Ces "agents" sont capables de se déplacer dans les réseaux
pour interagir avec certains programmes, en vue par exemple d'une recherche
particulière (une information, la recherche d'un billet d'avion,
un achat,...). La rupture fondamentale est ici dans le fait d'utiliser
"l'intelligence" pour effectuer une recherche au sein d'une information
non-structurée, plutôt que de pré-structurer cette
information elle même (ce qui n'exclut pas qu'il y ait encore beaucoup
de progrès à attendre dans la conception des bases de données).
Cette évolution peut être interprétée
comme significative du passage d'une ingénierie logicielle
à une ingénierie informationnelle (17).
L'approche traditionnelle de structuration de l'information a montré
ses limites. La principale difficulté d'une exploitation de ressources
en réseau tient avant tout au caractère pléthorique
des données disponibles. L'information résulte de la mise
en connexion des données et du propos, ce qui implique que la
recherche d'information, pour un
utilisateur donné, soit portée par une forme "d'intelligence
sémantique". C'est là un aspect fondamental d'une optique
de représentation des connaissances.
Un tel contexte crée des opportunités d'entrée
assorties de faibles
barrières, sur des niches de marché susceptibles d'être
occupées par de petites entreprises, pour un marché par définition
mondial.
Ainsi, s'il paraît illusoire de vouloir dresser un tableau
futuriste précis de l'industrie du logiciel, il reste néanmoins
possible de dégager certaines tendances fortes. Celles-ci résultent
de la place majeure occupée désormais par le logiciel au
sein des systèmes d'information.
D'abord, la multiplicité des problèmes à
résoudre et la nécessité (compétitive) de répondre
de manière fine aux nouveaux "besoins" d'utilisation supposent d'évoluer
vers des systèmes de plus en plus universels, dans lesquels les
logiciels s'imposent progressivement comme substituts des architectures
câblées.
Le deuxième point est relatif à la complexification
croissante des produits logiciels eux-mêmes et tout particulièrement
des logiciels d'application. Cette complexité croissante ne correspond
pas uniquement à l'objectif de résoudre des tâches
complexes ; elle résulte également des stratégies
concurrentielles des grandes firmes du logiciel, qui ont imposé
un rythme d'innovation accéléré, comme arme stratégique
en vue de la recherche de positions dominantes (18).
Cette complexification impose de nouveaux modes de production et d'organisation
industrielle qui conduisent nécessairement à des ruptures
fortes.
La troisième dimension, ensuite, est celle de la diffusion,
diffusion dans les structures économiques et sociales renforcée
par le développement des réseaux, mais aussi diffusion dans
les objets quotidiens qui, en intégrant des fonctions électroniques
et un code "embarqué", deviennent eux-mêmes systèmes
d'information. Cette diffusion, en même temps qu'elle est source
de progrès pour l'utilisateur, est également génératrice
d'une dépendance nouvelle à l'égard de technologies
sophistiquées, qui occultent pour l'individu le mode de mise en
oeuvre des techniques. Réparer une voiture ou un rasoir électrique,
n'est plus seulement affaire de mécanique ou d'électricité,
mais nécessite de recourir à des compétences informatiques
pointues et de décrypter des fonctions de traitement de l'information
dont l'expression n'est en général pas explicite (absence
du code source).
Ainsi la généralisation des technologies de l'information
dans le mode de vie et de travail quotidien contribuera de plus en plus,
en retour, à éloigner l'utilisateur standard de techniques
qui lui étaient précédemment relativement proches.
Ce phénomène révèle un aspect souvent peu discuté
de la "société de l'information", où la technologie,
en même temps qu'elle se rapproche du citoyen, tend à lui
échapper de manière radicale et à lui confisquer sa
part d'autonomie en matière de technique.
Bibliographie
Business Week, "The software Revolution", December 4, 1995.
Business Wekk, "The Web keeps spreading", January 8, 1996.
Cusumano (M.A.), The software Factory, Oxford University
Press, 1991.
Conklin (P.F.) and Newcomer (E.), "The Keys to the Highway",
in Lebaert (Ed.) 1995.
EITC , Software Technology. The Key Enabler for the Information
Society, EITC Conference Proceedings, June 6, European Commission,
DG III, 1994.
Gazis (D.G.), "The Evolving Ressource", in Lebaert (Ed.) (1995).
Gibbs (W.W.), "Software Chronic Crisis", Scientific American,
September, 1994.
Lebaert (Ed.), The Future of Software, The MIT Press,
1995.
Vaskevitch (D.), "Is any of this relevant", in Lebaert (Ed.)
1995.
Zimmermann (J.B.), "L'industrie du logiciel, de la protection
à la normalisation", in Baslé M., Heraud J.A. et Perrin J.
(Eds.) "Changement institutionnel et changement technologique",
CNRS Editions, 1995.
Notes
-
Vaskevitch (1995)
-
Gibbs (1994)
-
Laquelle se serait elle-même transformée
peu à peu en un système complexe de traitement de l'information.
-
Cusumano (1991)
-
Gazis (1995)
-
Conklin & Newcomer (1995)
-
Gibbs (1994).
-
Il n'est pas inintéressant de rappeler à
ce propos que les premiers micro-ordinateurs, il y a à peine plus
d'une quinzaine d'années, ne comprenaient que des lecteurs de disquettes
de capacité de 360 kilo-octets, ce qui limitait à ce volume
(et souvent beaucoup moins) les premiers traitements de textes commercialisés.
Les premiers disques durs introduits dans la première moitié
des années 80 avaient une capacité de 10 mega-octets, ce
qui représentait une augmentation considérable de la capacité
de stockage, mais sans commune mesure avec les capacités actuelles
qui sont couramment de un ou plusieurs giga-octets.
-
EITC (1994)
-
Ibidem
-
Le freeware est une diffusion gratuite ; le shareware
propose à l'utilisateur de payer une contribution volontaire si
le programme le satisfait et s'il compte l'utiliser.
-
Ainsi Netscape a vendu des millions d'exemplaires de
son Browser "Navigator" à un prix très peu élevé.
Récemment, il est passé à l'étape suivante
en vendant son logiciel de création de serveur aux entreprises qui
veulent créer et exploiter un site Web. En ajoutant ses propres
extensions au standard html, les pages Web créées avec le
logiciel de Netscape ne seront pleinement lisibles que lues avec un browser
Netscape (selon BW 04.12.95). Cette stratégie vise clairement à
accéder progressivement à une position dominante en établissant
des formes d'incompatibilité dans un espace précisément
construit sur des concepts d'hétérogénéité
et d'ouverture...
-
Business Week (1996)
-
Donc susceptible de s'intégrer dans un contexte
multimédia.
-
Business Week (1995)
-
Dont la conception est en bonne partie héritée
des principes de "virus"...
-
EITC (1994)
-
Ces aspects stratégiques ne sont pas sans rapport
avec le problème de la propriété intellectuelle du
logiciel