Mon avis sur l’affaire de la Société Générale : de la fragilité des systèmes d’information

Un traider serait donc la cause de 5 Milliards de perte pour la SG…

Pour arriver à ce niveau de perte, il aurait spéculer sur 50 Milliards d’euros !

Au début, je ne pensais pas que c’était possible, je penchais donc pour une maneuvre pour charger un bouc émissaire de tous les mauvais placements… Puis mes différentes lectures (ici par exemple) m’ont fait douté : oui, il semblerait que cela soit possible !

Pourtant, la SG dépense des sommes colossales pour son système d’information, dont pas mal de millions d’euros pour la sécurité et le contrôle.

Que peut on en conclure ?

A mon sens, ce qui est marquant, c’est la non maîtrise de ces systèmes d’information.

La pyramide

Pour arriver à un tel résultat, il faut que le système ne soit pas compris par les personnes qui l’analysent.

Et le prix que l’on paye une armée de consultants n’est pas un outil de mesure de qualité…

D’où mon image : la pyramide est inversée, le système est gros et lourd, mais quelques grains de sable peuvent tout faire tomber.

Update de 20h35

En relisant mon billet, je me suis dit que j’étais pas assez explicite.

Petit complément donc.

Un système d’information, c’est du code qui s’exécute. Ce n’est pas une abstraction.

Pour analyser un système, il faut analyser le code. C’est donc pas un travaille ou on manipule des abstractions…

J’ai travaillé dans les banques dans ma jeunesse. Les documents d’analyses ne correspondent pas à ce que font les programmes… Quand il y a des documents d’analyse ! Je me souviens d’une très grosse banque, qui avait un programme très important, au coeur du système. Le programme avait été écrit avec PAC, un générateur de programmes Cobol. Quand je suis arrivé, le programme PAC était perdu, il n’y avait aucun document d’analyse… Donc, la seule façon de comprendre les règles métiers, c’était d’analyser le code généré par PAC… C’est une illustration de la pyramide inversée. Dans un tel contexte, tout peut arriver !

Flash ou Flex ?

Quand on parle d’interfaces riches, il faut parler des technologies permettant de les mettre en oeuvre.

L’une des technologies phare, c’est le Flash.

On connait tous plus ou moins Flash, mais on parle de plus en plus de Flex.

Quelle est la différence ?

Qu’apporte Flex par rapport à Flash ?

Flash recouvre plusieurs choses :

  • Un format de fichier, le SWF, qui contient le média animé proprement dit (les images, les annimations, les films, …) ;
  • Un éditeur : c’est une application Mac ou PC, qui permet de créer des fichier Flash (SWF donc). L’éditeur est orienté design. On pose des images, des objets graphiques, sur une time -line, et on déplace les objets graphiques sur l’échelle de temps ;
  •  Un player : c’est l’application qui permet de lire le Flash. On peut lire un fichier SWF avec une application spécifique, mais le plus souvent, on utilise un plug-ins, intégré au navigateur. C’est donc le navigateur qui joue le rôle de player Flash.
  • Un langage de programmation : ActionScript. On écrit ses programmes depuis l’éditeur, et le langage est interprété par le player.

Flash est donc un ensemble permettant de réaliser des interfaces riches et animées. Flash est orienté design.
Et Flex alors ?

Flex, c’est la déclinaison Flash pour les programmeurs.

Quand on fait du Flex, on travaille en fait sur le même format qu’avec Flash : le SWF.

Pour le client, le résultat est donc exactement le même : c’est un contenu Flash qui apparait dans le navigateur Internet.

La différence, c’est sur la façon dé générer ce fichier SWF.

Flex introduit un nouveau langage, le MXML.

C’est un langage qui permet de décrire l’application Flash que l’on souhaite, et les comportements associés.

On se retrouve donc à faire du Flash, sans l’éditeur graphique, mais plutôt depuis un environnement de développement (Eclipse, …).

Donc, si le résultat est le même, la façon de le faire est complètement différente, et complémentaire.

Dans la réalité d’un projet, les deux approches doivent cohabiter : la partie graphique pourra être réalisée avec l’éditeur Flash, et la partie dynamique pourra être réalisée avec Flex.

Interface riche avec Sylverlight

Microsoft préfère utiliser ses produits pour présenter ses évènements… et c’est bien normal.

Pour présenter les Techdays 2008, Microsoft a développé ce site :

TechDays riches avec Sylverlight

Dans ce site, Microsoft met en avant la force de Sylverlight, à savoir la manipulation de video dans des contenus rich-media. Chaque “pola” est une video, et un clic sur l’une des image lance le petit film. On peut bien entendu déplacer, redimensionner, tourner chaque imagette en toute liberté. sympa.

Cerise sur le gateau, ça marche très très bien sur Mac (installation en deux ou trois clics, puis comportement très fluide).

C’est Brainsonic qui a développé ce petit site.

(Merci Manu pour le lien)

Sun rachète MySQL

Je viens de tomber sur cette news (ici).

Cette aquisition est complètement logique : MySQL est l’une des base de données les plus utilisées, quand on choisi de développer un service sur une architecture sur des logiciels libres. C’est donc un moyen pour Sun d’avoir plus de poids dans le business des services webs.
Le prix d’acquisition serait de 800 millions $ : logiciel libre et gratuit, mais pas sans valeur !

Pour info, le “libre et gratuit” est également au coeur de la stratégie d’IBM, et depuis longtemps. IBM gagne beaucoup d’argent sur le Hard, sur les développements “à façon” (le service quoi), et “donne” le logiciel. C’est une stratégie très forte qui permet à IBM de proposer une solution global (Hard, soft + intégration).

IBM injecte ainsi, par exemple, plusieurs millions $ par ans sur Eclipse, un environnement de développement libre et gratuit.

Architecture (macro) d’un service Web

(re)Passons aux choses sérieuses !

Donc la question, c’est quelle est la façon d’organiser un service web… comme un site marchand par exemple.

En particulier, comment traiter le coeur du service, c’est à dire les bases de données ?

Habituellement, on sépare le service web en “deux parties” :

  • Le front-office : c’est la partie visible par les clients du service. Pour un service e-commerce, c’est le site marchand lui-même.
  • Le back office : c’est donc tout le reste. En fait, le back office regroupe beaucoup de modules (suivant la taille des projets) : CRM, emailing, outils de tracking (business intelligence), lien vers le système logistique, …

Chaque partie à besoin de bases de données pour travailler.

Comment faire ?

  • Faire une seule base, et brancher tous les modules sur cette base centrale ?
  • Mettre une base par module, et développer des logiciels de synchronisation, pour que les données des différents modules soient cohérentes ?

En fait, il n’y a pas de réponse systématique, et il faut prendre en compte beaucoup de paramètres :

  • En règle général, il vaut mieux que le front office ai sa propre base de données, que cette base de données soit exclusive pour le front donc. L’idée, c’est que rien ne doit impacter le front office, qui est le moteur business.
  • On développe rarement les modules “à partir de rien” : on utilise un “framework” pour le front, un module type Sugar CRM pour le CRM, … Or, ces modules ont leurs propres bases de données.
  • Un autre paramètre est le nombre d’Internautes utilisant le Front. A partir d’un certain volume, on n’a plus le choix, il faut une base spécifique pour le Front.
  • Le prix bien sûr, prix des licences logicielles et prix des développements.
  • En particulier, si on a plusieurs bases de données, la synchronisation entre ces bases devient le point clé. Il faut développer des modules de synchronisation, avec des stratégies (quand doit on synchroniser, sur quels évènements). Il faut également penser aux évolutions : les bases de données sont faites pour évoluer. Il faut des modules de synchro pour gérer les versions des bases.

Dans tous les cas, il faut penser cette architecture des bases de données avec soin, c’est l’épine dorsale de tout le système.

Prédictions pour 2008

C’est le moment pour se lancer (mon billet précédent était plutôt une vision moyen / long terme sur l’avenir).

Donc, qu’est-ce qui nous attend pour 2008 ?

Contexte matériel et logiciel…

Explosion des interfaces multi-touch

Je suis convaincu qu’on est au tout début de cette révolution dans les interfaces.

L’iPhone ouvre le bal, la table “Surface” de Microsoft ouvre une autre voie…

Je pense (comme beaucoup d’autres d’ailleur) qu’Apple va poursuivre sa “croisade” en sortant rapidement un ordinateur portable, utilisant les technologies de l’iPhone… ça devrait faire un carton !

Vrai lancement des disques durs SSD

Tout est là pour que les disques durs sans disque dur (à mémoire flash quoi) se développent vraiment. C’est important car ça va changer la performance de nos ordinateurs (le disque dur est la partie la plus lente), leur poid et leur autonomie.

Sortie d’un ordinateur utilisant l’interface type DS

C’est une idée que j’avais en tête depuis longtemps (la métaphore du livre qu’on ouvre, avec un écran à gauche et à droite). Nintendo l’a fait avec sa DS, mais je pense que cette idée pourrait être reprise pour un ordinateur portable… Allo, Steve ?

Rachat (très cher) de Facebook par un grand (Google ? Microsoft ? Yahoo ?)

FaceBook ne peut pas laisser indiférent les grands acteurs Internet. La valeur du service est très élevée : savoir qui est en relation avec qui, ça vaut de l’or… Mon favoris serait bien Google, mais l’investissement de Microsoft peut changer la donne…

Bataille sur le terrain des interfaces riches : avantage Adobe

Rude bataille sur le terrain des interfaces riches, avec la monté en puissance de Microsoft avec Silverlight pour essayer de contrer Adobe sur le terrain Flash / Flex / Air. Mon pronostic : avantage Adobe en 2008, mais Microsoft nous a montré par le passé qu’ils savent tenir la distance, et qu’ils deviennent dangereux vers la version 4… Cela met la pression à Adobe, et c’est tant mieux pour nous !

Et pour le e-commerce…

Les grands acteurs multiplient les expériences “rich commerce”

Le Rich commerce : le e-commerce utilisant les interfaces riches pour vendre plus, vendre mieux, vendre différemment… Un vrai sujet, dont je vous reparlerais bien vite…

Comme je l’ai souvent dit, la solution est de choisir “le beurre et l’argent du beurre”. C’est à dire, poursuivre le développement du site “traditionnel”, et de développer en parallèle d’autres sites, utilisant des interfaces plus innovantes. Ce n’est pas un hazard si c’est la stratégie d’Amazon…

L’autre axe, c’est d’enrichir le coeur du service, en ajoutant, aux bons endroits, des contenus “riches”. Je suis ainsi convaincu que la vidéo va poursuivre son développement en 2008.

Pour la 3D, je pense qu’il y a des expériences intéressantes, mais que le vrai développement de la 3D pour le e-commerce attendra encore un peu…

Développement de la poche de valeur, entre les marchands et les clients

C’est l’un de mes sujets favori !

Je ne prends pas beaucoup de risque sur un tel pronostic… Cette valeur est déjà bien réelle, avec des acteurs comme Kelkoo, Shopping.com…

Mais ce marché doit évoluer, se restructurer. Cette valeur est aujourd’hui bien peu cultivée !

Je prédit donc la sortie de nombreux nouveaux services sur ce secteur. Pour les utilisateurs, la difficulté sera de choisir parmi la multitude de services, qui se ressemblent un peu tous… Jusqu’à ce que certains trouvent la recette miracle, comme Facebook ans un autre domaine. Je pense que la concentration dans ce domaine se fera, mais plus tard (faut bien que j’en garde pour 2009 ;) ).

Vrai démarrage du m-commerce

Là je prend un risque. Je suis sûr que ce jour viendra, mais quand ? C’est une question compliqué, lié pour beaucoup aux grands opérateurs. Ils s’accrochent à leurs “vaches à lait” mais les brèches s’ouvrent, avec comme signe marquant le deal signé par Apple avec Orange (partage des revenus, entre Apple et Orange sur les services, services gérés par Apple et non par l’opérateur…).

Le monde SAAS selon Amazon

Pour tout le monde, Amazon, c’est un boutique de vente en ligne.

Mais Amazon a également une offre SAAS qui s’enrichie de mois en mois.

Le SAAS, c’est l’idée, à mon avis promise à un très grand avenir, que les systèmes d’informations vont évoluer, et que ces systèmes seront de plus en plus répartis, et géré non pas par les entreprises directement, mais par des tiers.

Le leader du domaine, c’est bien entendu salesforce.com qui propose une solution CRM en mode SAAS donc.

C’est donc une approche “métier”, c’est à dire proposer un service, qui cible directement un besoin de l’entreprise (le suivi des contacts commerciaux en l’occurence).

Logo d'Amazon Web ServicesAmazon propose une approche opposée, qui “part du bas”.

Ils ont commencé par S3 (Simple Storage Service), qui consiste à proposer du stockage en mode “service” : un client peut ainsi louer en ligne un espace de stockage.

Le prix est à l’usage, 100% dépendant des volumes :

  • 0,18$ par GB et par mois ;
  • 0,10$ par GB envoyé vers l’espace de stockage ;
  • 0,18$ par GB sortant de l’espace de stockage ;
  • 0,012$ par requête.

On paye donc tout, mais 100% au volume et sans limite basse. Un petit service va donc payer quelques $ par mois. On est à fond sur l’idée des petits ruisseaux qui font les grands fleuves.

Amazon a étendu son offre avec la mise en ligne d’une base de données, sur le même principe : Amazon Simple DB.

Le prix est calqué sur le modèle de S3, on paye au stockage, et aux requêtes.

Enfin, Amazon propose une offre de paiement en ligne, également en mode SAAS.

L’idée est clair : proposer des briques de bases, qui permettent de construire des applications en ligne, le plus simplement possible, et avec un prix complètement dépendant de l’usage : pas cher au début, plus cher ensuite, mais si il y a du trafic, on peut imaginer qu’il y a des revenus (quoi que ;) ).

Je ne sais pas ce que cette expérience d’Amazon va devenir, mais je suis convaincu par l’approche, que ce soit mis en oeuvre par Amazon ou par d’autres.

Petites réflexions sur le business model du logiciel

Le logiciel est un domaine ou les prix sont bizares : Un même programme peut être vendu sur une échelle de prix pratiquement infinie, de la gratuité à plusieurs millions d’euros.

Qu’est-ce qui permet de fixer un prix ? Est-ce le coût de fabrication, plus le coût de maintenance, plus une marge raisonnable ?

Pas du tout, pour le logiciel, comme pour tratiquement tout en fait, le prix n’est fixé que par un seul critère : le prix que les acheteurs sont prêts à mettre.

Cette réflexion est vrai dans d’autres domaines.

Ainsi, on peut trouver une montre pour 100 €, 1 000 €, 10 000 €, 100 000 € …

Toutes ces montres donnent l’heure ! Bien sur, on pourra dire que les matières premières ne sont pas les mêmes. Mais pour une montre à 10 000 €, les matières premières représentent quelle part réelle du prix de vente ? 20% ? Le reste, c’est la part du rêve…

Comme le logiciel est par définition “sans matière première”, l’élasticité du prix est totale.

Logiciel et bâtiment

C’est une analogie intéressante, que je vous propose de creuser (c’est le cas de le dire).

Comme je l’ai souvent dit, le e-commerce est mis en œuvre via du logiciel : Front office, back office, suivi des commandes, emailing, … Tous ces composants sont mis en musique via des lignes de code…

Le logiciel est un artisanat neuf, et c’est sain de chercher des repères par rapport à des industries plus anciennes.

Donc le bâtiment.

Pour construire une maison, il faut faire d’abord un plan.

En fait, avant de faire le plan, il vaut mieux creuser le besoin : nombre d’enfants, souhaits (avoir le soleil le matin, …), budget, délais, …

Ensuite, un architecte va faire le plan donc, et il va y avoir plusieurs aller-retours entre l’architecte et le client.

Après, il faut de la patience, tout le monde le sait : on rentre dans la partie réalisation. Un architecte ou un maître d’œuvre va diriger les opérations, et coordonner les activités de plusieurs corps de métier : terrassier, maçon, platrier, électricien, plombier, menuisier…. Pendant cette phase là, on ne peut plus tout changer, et plus le projet avance, et moins on peut changer de choses.

La réussite du projet final tient sur plusieurs critères :

  • L’intelligence de l’architecte, pour réellement comprendre les besoins et envies des clients, qu’ils n’expriment parfois pas clairement ;
  • Le savoir faire de l’architecte, pour trouver les artisans bien adaptés au projet, et les faire travailler au bon moment ;
  • Le savoir faire individuel de chaque artisan : même si le maçon fait un très bon boulot, si le peintre « salope tout », le résultat final sera décevant ;

Par contre, plus les « couches basses » font du bon boulot, et plus on peut rattraper les erreurs : si c’est le maçon qui fait du mauvais boulot, il n’y a pas grand chose à faire…

On peut dire tout ça pour le logiciel :

  • Comme pour le bâtiment, un logiciel doit être conçu, il faut faire des plans ;
  • Il faut faire ces plans en discutant avec le « client » (équipe e-commerce de la grosse entreprise, patron pour la petite entreprise, …) ;
  • Il faut avoir un bon architecte (vous avez mes coordonnées ;) ) ;
  • Il faut ensuite être très patient, parce que pour monter tout ça, ça prend du temps ;
  • Enfin, le résultat final est dépendant de la qualité des artisans, individuellement.

Mais voilà, le logiciel, ça s’appelle également du soft : on croit que c’est mou.

De plus, le marketing de certains acteurs du logiciel nous laissent croire qu’on peut tout faire, tout demander, n’importe quand, et que le logiciel s’adaptera.

On le sait tous : le nombre de projets ne respectant aucun de ces « fondamentaux » est effarant : on démarre sans plan, on change de plan tout au long du développement, on recrute les équipes sans vraiment « challenger » les compétences par rapport aux objectifs, le tout se faisant sans architecte !

On rentre ensuite dans une spirale infernale, qui creuse l’écart entre les équipes marketing ou management et les équipes techniques. Pour les « marketeurs », la technique coûte cher, ne produit rien de bon, avec des délais incroyables ;
Pour les tecky, les marketeurs changent d’avis tous les jours, imposent des délais irréalistes, et ne reconnaissent pas la valeur du travail fait.

Il y a du pain sur la planche !

Pourquoi ?

Pourquoi, quand vous essayez d’expliquer que telle tâche va nécessiter 3 mois, à 3 développeurs, y-a-t-il toujours une “bonne âme” pour expliquer qu’un gars tout seul en un mois pourrait faire le travail ?