dimanche 21 septembre 2008

Copernic


Non je ne vais pas vous parler d'un illustre astronome, il s'agit d'un projet financé grâce à vos deniers.
Lors de la réforme du système d'information du Minefi (celui des impôts pour faire simple) l'état a voulu dépoussiérer ses anciens systèmes et a donc fait appel à des consultants pour élaborer les règles d'un nouveau système d'information structuré et évolutif. Cette évolution a notamment produit la déclaration en ligne qui est un succès indéniable.
Le projet, baptisé Copernic a été long et difficile, a couté cher (on parle de millions d'euros), il a été mené par l'élite de l'état, notamment quelques X (aidés de consultants sous l'enseigne du poisson ou de l'as de pique au moins). Il cherche a appliquer les meilleurs principes d'architecture de systèmes d'information du moment : urbanisation, architecture orientée service etc...
Ne nous leurrons pas, ce n'est que l'application de principes de base tels que "je dis ce que je fais et je fais ce que je dis" (base du contrat) et du principe de Descartes « Diviser chacune des difficultés que j'examinerai en autant de parcelles qu'il se pourrait et qu'il serait requis pour mieux les résoudre. » qui vise à découper un "gros" problème en plus petits structurés. Il n'est pas besoin d'avoir fait Polytechnique pour appliquer ces principes élémentaires. Découper le système en morceaux cohérents, relativement faiblement couplés, en documentant les interfaces ; c'est la base de ce qui a été pompeusement baptisé SOA (pour architecture orienté services en anglais dans le texte) et qui n'est rien d'autre que de la programmation structurée généralisée.

Là où cela devient intéressant, c'est que les outils actuels, généralisés par Internet (http, xml -qui est un dialecte de sgml beacoup plus ancien-, java...) permettent de calquer la programmation sur ces services ; au prix, il est vrai d'un verbiage que seul les processeurs actuels peuvent absorber (vous avez vu un fichier xml qui embarque sa propre description sur chaque enregistrement, il a pris un embonpoint de 3000 % par rapport au même fichier "plat", exemple vécu). mais cela permet de concevoir des systèmes "auto-gérés" au niveau des communications de données, au lieu de convenir entre partenaires d'une structure figée, on décrypte la structure à chaque enregistrement !
Entre les deux la confusion est facile.
On est donc passé d'une notion de service et de "contrat" qui est applicable indépendamment de la technologie mise en oeuvre à une description technique imbriquée avec les outils.

De fait, Copernic mélange les niveaux de concepts et la technologie, dès les premières descriptions on dit que cela sera du Java, du WebService etc... De plus, c'est désespéremment orienté transactionnel (vous avez déjà essayé de faire du xml verbeux sur des traitements de masse ? Copernic l'impose !)

Corollaire de cela, comme technologie et principes de conception sont intimement imbriqués, à la prochaine évolution technologique (elle est déjà là), vous jetez tout ! Et en période de transition c'est inapplicable !

Cette construction de chercheur, intellectuellement satisfaisante, avec un nombre de couches et d'interfaces important, bénéficie de plus d'un jargonage et d'acronymes la rendant quasiment incompréhensible, notamment grâce à une profusion de sigles et d'expressions convenues ; on est fort loin du "ce qui se conçoit bien s'énonce clairement et les mots pour le dire viennent aisément" de Boileau. Ce jargonnage est typique d'une volonté élitiste et protectionniste que l'on retrouve notamment dans les sectes et les sociétés secrètes. Il n'en est pas question ici, mais cela a la conséquence de rallonger la facture (tout nouvel intervenant au Ministère doit se familiariser avec ce langage abscon).

Bref c'est un bel exemple de travail de consultant qui veut préserver l'avenir (voir précédents articles)...

Mais il y a encore mieux, cette construction est devenue un enjeu de pouvoir. Il y a les "gardiens du temple", en l'espèce le bureau d'architecture qui est responsable du respect de Copernic par les projets. Comme la tendance est à l'économie, chaque responsable de projet essaie d'éviter les fourches caudines de ce bureau pour réaliser son projet à moindre coût et (surtout) affirmer son autorité et son indépendance.

"Qui trop embrasse mal étreint" dit le proverbe, à vouloir construire des règles qui régissent tout, on arrive à une construction qui n'est pas applicable, suscite des positions de pouvoir contre productives et sont extrêmement couteuses (tout en étant fort profitables pour les sociétés de service, mais cela était probablement un objectif).
Ne me méprenez pas, tout n'est pas à jeter, mais pourquoi avoir voulu tout faire d'un bloc, plutôt que construire quelque chose de modulaire et d'évolutif ?

Aucun commentaire: