Pages

samedi 27 décembre 2014

Les enjeux du numérique

La mode est au numérique ([1]). Tout est devenu numérique. Après la photographie, le téléphone, la télévision, le cinéma, … on assiste à la généralisation de la numérisation. Manifestement le terme plait. Comme disait jadis Coluche : « C’est nouveau, ça vient de paraître ». On a  aujourd’hui tendance à mettre ce terme à toutes les sauces.
Après la révolution du numérique vient le temps des stratégies numériques et celle de l’offre numérique, les entreprises numérisent leurs offres, l’administration passe au numérique,…. On parle aussi de l’économie numérique ou de secteur du numérique. Axelle Lemaire, secrétaire d’Etat chargée du Numérique a même imaginé le terme de « République numérique ». Pourquoi pas ! Pour favoriser cette évolution l’administration a créé un « Observatoire du Numérique », elle se fait conseiller par un Conseil National du Numérique, le CNNum, et envisage de créer une « agence du numérique ». On lance aujourd’hui des espaces numériques pour développer la culture numérique et on envisage à terme l’école numérique. Certains s’inquiètent pour l’avenir des libertés numériques pendant que d’autres s’interrogent pour savoir si le numérique crée ou supprime des emplois.
Pour accroitre à la confusion on lui ajoute souvent d’autres « buzz word » comme le Big Data, le Cloud, l’Internet des objets, les imprimantes 3D, …. Cela mène à un discours assez curieux mêlant la technologie et une vision du futur assez utopique. Mais est-ce vraiment l’émergence d’un nouveau monde ?   

Est-ce réellement une révolution ?

Un certain nombre de gourous annoncent que le numérique est une nouvelle étape dans la courte histoire de l’informatique. Selon l’auteur c’est sa 3ème, sa 4ème ou sa 5ème révolution. Il y a eu le temps des mainframes et du batch, puis celui du temps réel et des bases de données, puis ensuite celui de la mini-informatique et de la micro-informatique, qui a été bouleversé par l’arrivée de Internet pour arriver aujourd’hui au numérique. Comme on le voit dans sa courte histoire l’informatique de nombreuses étapes.
En fait le secteur connait depuis soixante ans un flux massif d’innovations. Certaines n’ont qu’un impact limité alors d’autres changent profondément les usages et la manière de traiter l’information. Est-ce que l’étape actuelle dite du numérique est pour autant une révolution ? Et, si c’est le cas quelle sont ses causes et des conséquences ?
Il est d’abord nécessaire de clarifier un point important. Les changements rapides que nous constatons depuis quelques années ne sont pas dues, comme c’est souvent répété, à Internet qui est une innovation des années 70-80 et qui s’est généralisée dans le grand public depuis plus de vingt ans. Ce n’est donc pas la cause des évolutions actuellement constatés.
En fait si on cherche la cause à tous les bouleversements actuellement constatés on observe qu’ils sont dus aux progrès considérables réalisés ces dernières années en matière de miniaturisation des composants et à l’augmentation considérable de leurs performances notamment de leur puissance de traitement.

Vous avez dit SoC

La véritable cause de la révolution s’appelle le SoC pour « System on a Chip ». Grâce aux progrès de la technologie électronique réalisée ces dernières années on est arrivé à mettre tous les composants nécessaire pour faire fonctionner un micro-ordinateur sur un seul composant (Voir sur Wikipédia : Système surune puce). Cela s’est fait notamment grâce au développement d’une architecture Risc originale qui porte le curieux nom d’ARM ([2]).
Pour la petite histoire celle-ci est née d’un projet d’un micro-ordinateur pédagogique lancée par la BBC en 1983 : l’Acorn ([3]). L’entreprise a fabriqué des micro-ordinateurs à partir d’un micro-processeur original reposant sur une architecture Risc. L’entreprise a disparu en 2000 mais avant de disparaître elle a mis dans le domaine public l’architecture de son micro-processeur. Celle-ci a été reprise par de nombreux fournisseurs de micro-contrôleurs, de systèmes de télécommunication, de processeurs graphiques, …. Leur liste est impressionnante.

·       Accent  Italie
·       Alchip  Taïwan
·       AllWinner Technology (ou Quanzhi) Chine (Cortex A8 et A7 avec Mali 400MP et VPU CedarXmaison décodant le QuadHD 2160P22)
·       Altera  États-Unis
·       Amlogic www.amlogic.com  États-Unis/ Chine (Cortex A9)
·       Anyka  Chine
·       Atmel  États-Unis
·       Broadcom  États-Unis (Cortex A9)
·       Celestial Semiconductor  Chine
·       Cypress  États-Unis
·       Freescale  États-Unis
·       Fujitsu  Japon (cortex M3, Cortex A9, A7, A15)
·       HiSilicon  Chine (Cortex A9, A7, A15)
·       Huawei Technologies  Chine (Cortex A9, A7, A15)
·       Infineon  Allemagne
·       Inside Secure  France
·       Matsushita  Japon (Cortex A8)
·       Marvell  États-Unis
·       MediaTek  Taïwan (Cortex A9, A7, A15)
·       NXP  Pays-Bas
·       Nufront (conception)  Chine, usiné par TSMC  Taïwan (Cortex A9)
·       Nvidia  États-Unis (Cortex A9)
·       Parrot  France (ARM926ejs (P6), Cortex A9 (P7))
·       Qualcomm  États-Unis
·       Renesas  Japon (Cortex A9)
·       Rockchip  Chine (Cortex A8, Cortex A9 MPcore, Mali 400 MP)
·       Samsung  Corée du Sud (Cortex A8, Cortex A9, A15 (Exynos 5250), A7)
·       STMicroelectronics  France  Italie et ST-Ericsson (Cortex A9 (U9500), Cortex A15 (A9600))
·       Telechips  Corée du Sud
·       Texas Instruments  États-Unis (Cortex A8 (OMAP3), Cortex A9 (OMAP4), A15 (OMAP5))
·       Toshiba  Japon
·       VIA  Taïwan
·       Xilinx  États-Unis Zinq (FPGA Cortex-A8).
·       ZiiLABS  Singapour
·       ZTE  Chine
Source : Wikipedia : Architecture ARM
Liste des fournisseurs de processeurs reposant sur l’architecture ARM

Ce sont des systèmes 32 bits pouvant aller jusqu’à 8 cœurs sur le même composant. Il existe une version 64 bits de processeurs ARM. Ils fonctionnent avec de nombreux systèmes d’exploitation comme Linux, Android, iOS, Windows,… Le succès des smartphones et des tablettes est due à l’existence des SoC. Rappellons qu’Apple utilise pour l’iPhone et l’iPad des processeurs Cortex ARM. A l’origine c’était l’A4 et c’est l’A8 dans les dernières versions ([4]).

Diagramme d’un SoC en architecture ARM

En utilisant les même processeurs ARM une fondation anglaise a eu l’idée de créer en 2012 un ordinateur complet ayant le format d’une carte de crédit : le Raspberry PI ([5]). Il utilise un processeur ARM de Boardcom et pèse seulement 45 grammes. Il ne coûte que 25 dollars pour la version de base et 35 dollars pour le modèle avec 512 Mo de mémoire centrale. A l’origine il était destiné à la formation mais il y a de forte chance qu’il devienne dans les années à venir le système de base servant à développer de nombreuses nouvelles applications. Depuis mars 2012 en un peu plus de deux ans 3,8 millions de Raspberry ont été vendus. Début Février 2015 La Fondation Raspberry un nouveau modèle qui serait six fois plus puissant que la première version. Il est fonctionne à l'aide d'un processeur ARM Cortex-A7 à quatre cœurs. Sa mémoire centrale passe à 1Go. Le stockage externe se fait sur des cartes MicroSD, celle de votre appareil photographique ou de votre smartphone, pouvant aller jusqu'à 2Go (6). De plus il disposera, le moment venu, de Windows 10. Seul chose qui ne change pas : le prix reste le même.


Le Raspberry Pi Model A

Comme on le voit, le nom qui se cache derrière toutes ces évolutions rapides généralement appelées numérisation est l’acronyme ARM ([7]).

Mutation ou révolution ?

Dans ces conditions va-t-on assister à la multiplication des « objets connectés » ? L’Internet des objets fait rêver et déjà certain annoncent que d’ici quelques années des milliards de systèmes seront connectés à Internet et échangeront entre eux des quantités massives d’informations. On est en pleine science-fiction. En fait quels sont les besoins en ce domaine ? Est-ce qu’on vraiment besoin de piloter une lampe électrique à l’aide d’un processeur ? C’est sous une nouvelle forme un retour de la veille idée de la domotique. Mais elle ne s’est jamais développée. D’ailleurs est-ce que cela a un sens ? Est-ce qu’une lampe éclaire mieux lorsqu’elle est pilotée par un processeur ?
Il est vrai qu’on trouve des processeurs dans un nombre croissant de produits comme les voitures, les compteurs électriques, les machines-outils, les camions, les tracteurs, les télévisions, …. Mais tous les produits n’ont pas besoin d’avoir un processeur pour améliorer ses performances. L’utilité d’un processeur dans un manteau ou dans une chaussure est assez limitée.
Par contre, on intègre de de plus en plus ces systèmes à des équipements existants et ces équipements sont souvent connectés à Internet. Ceci est rendu possible par l’augmentation de la puissance des processeurs. Ils sont de plus en plus puissants et sont capables de supporter des systèmes d’exploitation complexes capables de faire fonctionner des protocoles sophistiqués et puissants. Il est ainsi possible de connecter ces équipements à Internet pour améliorer les fonctions disponibles.
Mais tout ceci ne constitue pas une révolution, c’est plutôt une mutation qui va permettre d’imaginer de nouvelles applications. On ne change pas de logique. Ce qui évolue c’est le nombre de nouveaux usages qui apparaissent. Mais ils sont sans commune mesure par rapport à celles qui vont probablement dans les années à venir.

Le retour des systèmes d’information

L’analyse montre que la plupart des nouvelles applications reposent sur des systèmes d’information.. Quelques exemples permettront d’apprécier leur variété et leur complexité.
·       Les moteurs de recherche reposent sur une gigantesque base de données classée par mot clé et permettant de faire le lien avec toutes les pages où celui-ci apparait. Pour la constituer l’ensemble des pages accessibles du Web sont lues et copiées sur les disques du moteur de recherche (le cache) puis chaque page est analysée, les noms, les verbes et les adjectifs sont isolés et l’index est mis à jour. Les moteurs de recherche sont des systèmes d’information de taille gigantesque.
·       La billetterie et la réservation de place. Ces applications concernent de nombreux domaines comme le transport aérien et ferroviaire, la location de voiture, la réservation de chambre d’hôtel, la vente de places de spectacles ou d’exposition, la gestion des appels de taxis,… Dans tous les cas le fournisseur dispose d’une base de données des places, des chambres, des sièges ou des taxis. Le client choisi la réservation qu’il souhaite faire, son heure, le cas échéant il paie et reçoit un billet en format PDF.
·       Le virement électronique et le paiement en ligne sont au cœur de nombreuses applications. Il faut assurer une transaction complétement sécurisée et s’assurer que la personne effectuant la transaction est effectivement celle qui est autorisée à la faire. Les bases de données mises en jeux sont les bases des comptes, des mouvements et des personnes. Les banques sont aujourd’hui arrivées à un niveau de standardisation élevé grâce à la procédure SEPA, Single Euro Payments Area. Faut-il encore que les banques mettent en place des dispositifs de sécurité suffisants !
·       Les compteurs intelligents notamment les compteurs électriques. C’est le projet Linky d’EDF. Il est ainsi possible de mesurer en permanence la consommation du client et en informer en temps réel le distributeur. Il est ainsi possible de mieux anticiper les besoins et d’adapter la production. Cela évite de mobiliser des milliers d’agents chargés de relever les compteurs. De plus les distributeurs annoncent de nouveaux services aux clients de façon à réduire le montant de leurs factures. « Qui vivra verra ». C’est le retour de la veille idée de la domotique. 
Mais ce ne sont pas les seules applications de ce type. On peut aussi citer des systèmes de messageries comme Tweeter, de diffusion de photos comme Instagram ou Flickr, de diffusion de vidéos comme You Tube ou Dailymotion, de diffusion de musique comme Spotify ou Deezer, de reconnaissance de musique comme Shazam. Toutes ces applications reposent sur un système de requête et une base de données. On retrouve les mêmes fonctions de base dans les nombreuses applications de commerce électronique qui reposent aussi sur une base de données des produits et un système de requêtes. A cela s’ajoute, bien sûr, un certain nombre de fonctions comme la facturation, la tenue de stock, la gestion des prélèvements sur ces stocks, la logistique des colis, les prélèvements bancaires,… 

La véritable nature de ces nouvelles applications

Ces applications sont apparemment très différentes les unes des autres. Cependant si on analyse ses principaux éléments on constate l’importance de quatre composants qui constituent le cœur de tout système d’information :
·       Les entrées de données. La saisie des données est faite directement par le client à l’aide d’un browser type Chrome. Certains interfaces sont particulièrement intuitifs d’autres sont plus complexes et très rapidement on s’y perd. Le faite que la saisie soit faite par une personne, qui n’a reçu aucune formation particulière, nécessite un effort spécifique de conception. De plus, il faut que l’application résiste à toutes les fausses manœuvres que les utilisateurs peuvent faire.
·       Des bases de données. C’est le cœur de la plupart des applications. Ce peut être un catalogue de produits, une base clients ou l’historique des transactions. Elles peuvent être de taille considérable comme celles des moteurs de recherche. Elles doivent avoir des temps de réponse rapides car le client attend devant son écran. Ces bases peuvent être stockées sur les serveurs du fournisseur ou sur des serveurs se trouvant sur le cloud.
·       Des traitements. La plus grande partie des opérations se font en temps réel mais il existe aussi des traitements importants qui se font en batch comme dans le cas des moteur de recherche. Ce sont notamment toutes les opérations concernant les bases de données de façon à optimiser les temps de traitement en temps réels.
·       Des sorties. Celles-ci peuvent être faite en transactionnel et se traduire par une page HTML affichant les résultats mais elles peuvent aussi comprendre la production de fichiers PDF (billetterie), de bases de données,… Ici aussi le temps de réponse est un critère important. L’utilisateur a de plus en plus de mal à comprendre que le résultat du traitement ne soit pas disponible immédiatement. A la rigueur il accepte de recevoir un mail avec le résultat du traitement en pièce attachée mais il faut que le temps d’attente soit court sans cela il s’inquiète et change de fournisseur.
Comme on le voit ces applications fonctionnant sur le Web sont de véritables systèmes d’information analogues à ceux utilisés en gestion comme la paie, la facturation, la comptabilité,… Seul différences les volumes d’opérations sont nettement plus importants, sans commune mesure avec ceux des applications classiques avec plusieurs centaines de milliers voir plusieurs millions d’utilisateurs simultanés actifs au même moment. Il est pour cela nécessaire de disposer d’une puissance de traitement considérable et avoir des programmes d’une grande fiabilité.
La numérisation de l’économie est en fait une extension du domaine classique des systèmes d’information avec un niveau de performance et de qualité avec ce qui était habituellement accepté dans le domaine de la gestion. Ceci fait que la mise au point de ces applications représente des développements conséquents. Ils amènent à s’interroger sur deux problèmes particulièrement délicats :
·       Le choix du langage. Il faut qu’il soit rapide, puissant et fiable. Souvent on recourt dans le même projet de plusieurs langages notamment un pour le serveur et un autre stocké dans la page active. L’idée d’un langage unique comme Java pour tous les usages est contredite par l’observation des développements effectués.
·       La gestion de projet. Il est nécessaire de développer des codes de taille importante dans des délais très courts. Fréquemment on recourt à plusieurs équipes qu’il faut coordonner. De plus, contrainte supplémentaire, il est souhaitable de tester les programmes. Pour accélérer ce processus on met en place une version « beta » accessible par des utilisateurs volontaires, à charge pour eux de signaler les bugs résiduels. 

L’importance de la gouvernance des systèmes d’information

Comme on le voit ces nouvelles applications comprennent des niveaux de risques importants. Il est nécessaire de chercher à les réduire par une meilleure gouvernance des systèmes d’information. Les efforts concernent particulièrement quatre domaines :
·   La dérive des projets. Comme tout développement important le principal risque est celui de la dérive des délais : la mise en place du site traîne et le marketing s’énerve. Mais il y aussi la dérive des coûts qui est souvent lié à celle des délais. Elle est mal vécue par les financiers. Ceci est « du classique de chez classique » en matière de système d’information. Il est nécessaire de s’en protéger efficacement.
·       La maintenance de ces applications est lourde. Du code mal écrit nécessite de nombreuses adaptations qui sont autant de verrues qui fragilisent le système. Or les hommes du marketing sont très imaginatifs et demandent souvent de nombreux ajouts. De plus il faut faire de nombreuses variantes de l’application pour s’adapter aux nombreux environnements existants : iOS, Android, Windows, …
·       La multiplication des versions. Face à la pression de la concurrence il y a le risque de passer en mode évolutif avec des versions successives qui se suivent rapidement. On arrive ainsi à une release par mois, voire dans certains cas une par jour. C’est un rythme très élevé et très vite le code est mis en production sans être réellement testé.
·       Des applications trop lentes. Finalement tout cela se traduit par des applications peu performantes. Ceci peut être dû à plusieurs causes : le code est trop volumineux est sature la mémoire centrale du système. On parle du « footprint » du code, c’est-à-dire de l’occupation mémoire du programme. Mais il y a aussi le temps moyen de chargement d’une page HTML. Mais il y a aussi le temps de réponse à une validation qui peut être dû à la taille du code mais aussi à la vitesse d’exécution de ce code par le processeur du système utilisé.
Entre toutes les applications nouvelles qui apparaissent tous les jours il se produit un phénomène analogue à la sélection naturelle des espèces. Comme les utilisateurs ont le choix entre de nombreux sites, certains sont bien conçus et rapides et d’autres sont peu pratiques et lents. Dans ce cas leur choix est vite fait. Le succès d’Amazon ou de Google n’est pas le fait du hasard. Certains fournisseurs ont développés de véritables usines à gaz. Les jours de ces applications sont comptés. C’est la dure loi des systèmes d’information.
La gouvernance des systèmes d’information a justement pour objectif d’améliorer les performances et l’efficacité des systèmes d’information.





[1] - Les anglo-saxons utilisent le terme digital. En français on a préféré celui de numérisation.
[2] - En anglais arm veut dire bras.
[3] - En anglais acorn est un gland.
[4] - Ils ont été développés et fabriqués par Samsung qui a son tour l’a utilisé dans ses smartphones et ses tablettes. A la suite des différents procès entre Apple et son fournisseur la firme à la pomme il a eu recours pour son dernier A8 à un fondeur Taiwanais TSMC. C’est un processeur 64 bits qui comprend 2 milliards de transistors. Il fonctionne sur le récent iPhone 6 et une version voisine, le A8X, est utilisé par l’iPad Air 2. Il comprend 3 milliards transistors.
[5] - En anglais Raspberry : Framboise
[6] - Les microSD existe en 3 formats. Les microSD versions 1.0 ou 1.1 ont une capacité de 16 Mo à 2 Go. Les microSDHC, norme SD 2.0, vont de 4 à 32 Go. Les microSDXC ont une capacité théorique de 2 To (vous avez bien lu : 2 terra-octets !). La densité d'une carte microSD est 40 fois supérieure aux meilleurs disques durs. Une carte 2 Go coûte 7 € et une carte 64 Go coûte 26 € !! 
[7] - L’architecture ARM concurrence sérieusement l’architecture traditionnelle d’Intel. La réponse d’Intel est l’architecture Atom. Ils sont surtout utilisés dans les netbooks, les ultra-portables, les box TV-Internet,…