ROOT, logiciels d'analyse du CERN : comment finir par dire non ˆ l'Europe. ------------------------------------------------------------------------- Mon Psy m'avait pourtant dit d'arrter avec ROOT... Bon enfin, allons-y. J'ai beaucoup apprŽciŽ les rŽactions de ce forum car cela rejoint un combat que je mne avec d'autres (trop peu) depuis maintenant plus de 20 ans pour le cas PAW et 10 ans pour le cas ROOT. En gros, comment faire pour que le CERN, un laboratoire qui prŽtend avoir le Ç E È d'EuropŽen dans son nom et qui va bient™t tre, avec le LHC, au coeur de la physique mondiale, arrte de produire du logiciel pour la physique qui est une honte pour l'humanitŽ ? D'abord il faut dŽmolir les idŽes reues ; ROOT n'a pas ŽtŽ Ç pensŽ È par des physiciens. Le drame est qu'il a ŽtŽ pensŽ par de mauvais informaticiens qui ont la chance d'tre Ç sur place È, donc proche des physiciens et lˆ o sont produites les donnŽes. Ces gens, donc dans une position de facto dominante, sont hŽlas de trs mauvais ingŽnieurs et de plus en position idŽale pour faire passer ˆ peu prs n'importe quoi ; c'est le Ç syndrome Bill Gates È bien connu des gens qui se battent pour avoir enfin un operating system (oups, un Ç systme opŽratif È) supportable. Ce syndrome est en gros celui de quelqu'un qui arrive avec un bout de code mal fichu mais qui a le bon gožt d'arriver au moment opportun pour capturer une niche Žcologique importante. Pour ROOT, le parallle avec Windows est vraiment saisissant. Voir ma page Ç HEP soft-war ? È ˆ (pub) http://OpenScientist.lal.in2p3.fr pour une comparaison. Donc ROOT n'a pas ŽtŽ pensŽ par des physiciens mais bien par de mauvais Ç ingŽnieur logiciel È (je prŽfre ce terme ˆ Ç informaticiens È. Sans tre pŽjoratif, ce n'est pas le mme boulot d'Žcrire du logiciel scientifique que de faire de l'exploitation ; voir ma diatribe sur la question ˆ la section Ç HEP soft-war ? Software for Physics Department in labs È). Du fait de l'emplacement stratŽgique du garage o il a ŽtŽ mal conu (donc prs du CERN), ROOT a profitŽ de contribution multiple de certains physiciens et de 10 ans d'input des physiciens sur PAW. Donc au premier ordre, il est vrai que ROOT fait 99% du boulot que demande un physicien. Et alors ? Et alors il est vrai aussi que Windows finit par faire 99% du boulot que l'on demande a un OS, mais que tout le monde est d'accord pour dire que l'humanitŽ se portera mieux lorsqu'on en sera enfin dŽbarrassŽ. Un machin mal fichu demeure un machin mal fichu et un jour ou l'autre cela vous saute ˆ la figure. Donc il faut s'y coller et le plus t™t sera le mieux. Ë propos des physiciens, il est ˆ noter que j'ai dit Ç certains È. ƒtant dans un laboratoire HEP non-CERN, je c™toie tous les jours des gens qui s'arrachent les cheveux avec ROOT et souvent les laptops (oups, les Ç sur les genoux È) volent contre les murs. D'ailleurs, depuis 1995 o ROOT a commencŽ ˆ polluer nos machines, je suis ˆ peu prs sžr que le taux de commandes de Ç sur les genoux È, c'est le cas de le dire, a progressŽ, chez nous, de manire significative. Mais ˆ propos de mes chers physiciens, il y a tout de mme quelque chose que je ne comprends pas. En gros, en HEP nous rŽcupŽrons pas mal Ç de crme È : X, normalien, centralien, etc... En principe, on s'attendrait ˆ ce que ces gens aient deux brins de jugeote sur les questions techniques. Mais de manire surprenante, quasiment aucun ne se lve en place publique pour faire quelque chose pour avoir du meilleur logiciel ; pour ROOT, tout le monde supporte sans broncher. Curieux, ceci est probablement ˆ corrŽler avec le passage trs tardif chez nous du FORTRAN ˆ des langages orientŽs objets. HEP a fini par percuter dix ans aprs le reste de l'humanitŽ, bizarre. Des fois il y a des choses qui m'Žchappent. Soudainement, quand on parle logiciel les gens deviennent incroyablement bouchŽs (restons polis) et la Ç crme se met ˆ tourner È. Si un sociologue ou un psychologue cherche un sujet de thse, il y a matire en HEP... (au fait HEP = High Energy Physics). Pour les gens qui ne sont pas convaincus que ROOT est mal fichu, je peux en apporter une preuve simple ; l'existence de la mŽthode TClass::Draw() qui rŽsume ˆ peu prs tout. En gros ces mauvais ingŽnieurs ne sont pas fichu de faire la diffŽrence entre un systme d'introspection et un package graphique ! Pour que tout le monde suive ; en gros un systme d'introspection est un truc basique important, qui hŽlas manque cruellement a C++ (sans commentaire). Cela permet, entre autres, par programme, d'interroger une classe sur son hŽritage, ses gentils membres, ses mŽthodes (pas catholiques pour ROOT), etc... Ceci permet de faire beaucoup de choses intŽressantes comme, par exemple, d'Žcrire des adaptateurs de manire gŽnŽriques pour faire le lien des classes Ç data È (description des donnŽes dans un dŽtecteur par exemple) avec des Ç facilitŽs È comme, par exemple, un systme de stockage, o de scripting ; par exemple enrober (?) du C++ vers du Python. (Voir ma page architecture sur le modle BAF ou SAF). Fort bien, donc l'introspection est basique et devrait venir avec tout langage OO (donc gros ratŽ du c™tŽ C++). Ici soyons honntes, ceci a ŽtŽ bien vu du c™tŽ du garage qui a vu l'intŽrt de coupler l'introspection avec le stockage pour produire automatiquement des streamers pour des classes data (ou user) ; d'o CINT et le TClass, trs bien. Mais peut-on m'expliquer pourquoi avoir une mŽthode Draw() dans une classe Class ??? Le fond du problme est que malgrŽ tout, ces garagistes ne sont pas capables de sŽparer les problmes et de comprendre qu'il faut du logiciel pour gŽrer le stockage des donnŽes et d'autres logiciels pour gŽrer le graphique ou l'interface utilisateur. C'est la base du processus scientifique que de sŽparer les problmes. Un sympt™me de l'esprit intriquŽ, au sens quantique, de ces gens est par exemple le lien avec CINT. CINT (pour Crashy INTerpreter ?) est un interprŽteur C++ qui a ŽtŽ dŽveloppŽ hors ROOT et est hŽlas distribuŽ maintenant ˆ travers ROOT. (Ne cherchez pas de site pour CINT, il n'y en a pas, et c'est dommage). CINT en lui-mme pourrait tre intŽressant pour plein de chose hors ROOT, et donc il semble raisonnable de dire : je prends la distribution standard de CINT, je l'installe hors ROOT, et aprs je fais une installation de ROOT en s'appuyant sur l'installation standard de CINT. Ce que tout le monde fait avec zip, freetype2, OpenGL, X11, etc... Mais non ! Avec CINT, a ne marche pas ; les garagistes ont rŽussi ˆ polluer CINT avec du code spŽcifique pour ROOT, et donc CINT doit tre construit de manire spŽciale pour ROOT (il y a des cpp : #ifdef G__ROOT dans CINT !). Donc CINT est maintenant intriquŽ, polluŽ par ROOT et il faut faire une installation spŽciale pour CINT. C'est la mme chose que si en gros le Ç ROOT core team È s'Žtait acoquinŽ avec Brian Paul, dŽveloppeur de Mesa (free OpenGL) ou Guido Van Rosum, dŽveloppeur de Python, et avait fini par les convaincre qu'il faut des Ç features È spŽciales pour ROOT de tel manire que maintenant il faudrait une installation spŽciale d'OpenGL ou Python pour que ROOT marche bien. Tout le monde trouverait cela aberrant ; mais non, pas au CERN ! Et personne ne bronche. Et le cas CINT n'est pas isolŽ. Le problme c'est que tout est comme cela ; bref, au secours ! Un truc conceptuellement super dans ROOT est la Ç g intrication È. En gros les Ç services È du Ç framework È sont accessibles par des pointeurs globaux ; les gXxx (gSystem, gStyle, gDirectory, etc...). Et chaque T-classe d'un Ç g service È utilise les autres Ç g services È ˆ travers cela. En gros l'encapsulation, une base de l'orientŽ objet, est cassŽ ˆ la base. Pour le dŽveloppeur c'est un cauchemar ˆ suivre. En particulier il y a des relations entre classes qui n'apparaissent jamais ˆ travers les mŽthodes et donc impossibles ˆ suivre, par exemple, avec Doxygen. Et je ne parle pas des liens fait avec des strings (non pas ceux la) en passant par l'interprŽteur (donc par gInterpreteur !). (Des strings qui ne sont mme pas des std::string (il y a des C string, donc strcmp, etc... !) et, forcŽment, des TStrings). Si quelqu'un vous montre un diagramme des classes de ROOT fait avec Doxygen, ATTENTION ; une bonne partie de l'iceberg est invisible ! L'Žquation ROOT = T-tanic (ou T-panic d'ailleurs) n'est, hŽlas, pas une blague. Tiens, ˆ propos de blagues sur ROOT, si vous en avez, je les collectionne (voir ma section Ç Anti-DŽpression È sous Ç HEP soft-war ? È). Pour l'utilisateur c'est aussi trs difficile ˆ suivre ; on ne sait jamais trop o on en est puisque un objet o un Ç g service È, par un changement instantanŽ de son Žtat, a potentiellement un impact sur tout les objets ! Un sympt™me clair de cela est que beaucoup de gens prŽfrent ne pas exŽcuter deux fois le mme script CINT (.C) dans la mme session ; pas mal de gens prŽfrent relancer ROOT sur le script. Et le systme de commande Žtant du C++ (donc plein de pointeurs en direct) cela ne simplifie pas les choses ; pas facile de savoir o en est l'interprŽteur. Donc un scŽnario Ç de la vie de tous les jours È qui consiste ˆ Žditer son script avec un Žditeur externe puis exŽcuter plusieurs fois sous la mme session du programme, n'est en gŽnŽral pas fiable. Les gens modifient le script et relancent ROOT ! Au moins dans PAW on pouvait faire cela. Et c'est pourquoi les gens prŽfrent maintenant un prompt Python. On pourrait croire que l'on pourrait rŽgler tous ces problmes en sautant dans un TGV pour Genve pour discuter de manire raisonnŽe avec ces gens qui sont sensŽs tre reprŽsentatifs du meilleur que l'ingŽnierie logiciel scientifique EuropŽenne peut produire. Mais non, on se heurte ˆ un mur. Et lˆ on tombe sur un problme de fond qui est en fait trs similaire avec le cas Windows. Qu'un logiciel (ou autre chose de fabriquŽ d'ailleurs) ne soit pas parfait, soit. Ici on pourrait paraphraser le gars de Nazareth qui semble avoir ŽtŽ en contact avec un trs grand dŽveloppeur : Ç que celui qui n'a jamais fait de bug jette le premier sur-les-genoux È. Le problme n'est donc pas le fait qu'il y a des choses ˆ revoir ; le problme est que le processus scientifique de critiquer par les paires ou collgues ne fonctionne pas avec ROOT. Jamais une Ç software review È n'a ŽtŽ faite par des paires ! Les garagistes se sont toujours arrangŽs pour que les pseudos revues soient en fait une sorte d'opinion d'un groupe d'utilisateurs physiciens Žvidement trs choisi. Je proposerais mme un truc. Je propose, donc publiquement, qu'une revue de ROOT soit faite avec dans le comitŽ : Richard Stallman, Bjarne Stroustrup, Guido van Rosum, un gars de SUN ayant participŽ au design de java, Josie Wernecke (Open Inventor Architecture Group SGI), le gars qui a fait MySQL. Je ne veux personne ayant participŽ ˆ l'Žcriture de Windows puisque personne n'a jamais pu voir les sources de Windows. Si ces gens arrivent ˆ la conclusion que ROOT est une percŽe majeure de l'humanitŽ pour le logiciel, alors d'accord, je m'Žcraserai jusqu'ˆ ma retraite. ƒvidemment, les physiciens sont ŽcoutŽs ˆ propos de nouvelles fonctionnalitŽs, mais pas les gens qui sont payŽs pour avoir un regard sur le Ç comment c'est fait È et qu'on appelle en bout de cha”ne lorsque l'utilisateur ne s'en sort pas. En gros, tout ingŽnieur logiciel arrivant avec des critiques sur le Ç comment c'est fait È est vu, dŽtectŽ comme un Ç ennemi a la cause È qui doit en gros tre ŽliminŽ. Cela ne vous rappelle pas quelque chose ? Et lˆ, je pense qu'un psy aurait pas mal ˆ dire. Ce comportement profondŽment fraternel, qui est un des fondement Žconomique des ex colonies anglaises, est peut-tre la rgle du jeux dans les compagnies privŽes ou dans des laboratoires ˆ tendance trs nationale mais, est Žvidement totalement inacceptable venant d'un laboratoire (donc le CERN pour les retardataires) qui a ŽtŽ crŽŽ pour fŽdŽrer les ressources, et donc l'ingŽnierie, d'une collection de pays EuropŽen pour faire de la science ; ressources que chacun ne pourrait pas se payer seul. Quelque part un comportement Ç ˆ la Bill Gates È vis a vis des instituts des pays membres du CERN est en gros Ç anti CERN constitutionnel È. IntŽressant n'est-ce pas ? Je suis sžr que certains d'entre vous ont en tte cette image d'Epinal du CERN comme une grande fraternitŽ de peuples se groupant autour de l'anneau de collision pour faire de la science et o, en gros, il ne manque plus que le feu de camp au milieu et Hugues Aufray ˆ la guitare (et Hisse et ho). Quand on Ç non discute È avec le chef garagiste, il est surprenant de voir qu'il a en tte le modle Boeing alors que, vu qui le paye, il devrait avoir en tte le modle Airbus ! (Et qui d'Airbus ou Boeing va maintenant avoir la plus grosse... capacitŽ de transport ?) (Ë propos de salaire, je n'ose mme pas comparer les salaires CERNois avec le mien. D'ailleurs je ne vais plus au CERN avec mon Scenic ; mme propre (il faut bien, c'est la Suisse), cela fait tache sur le parking). Il est clair que maintenant la situation est bien bloquŽe. Comme Bill, les garagistes se protgent maintenant derrire le nombre de leurs pauvres utilisateurs physiciens. Et comme Žtrangement ceux-ci s'Žcrasent (problme de gros sous ?) (ou bien on ne touche pas au CERN ?) et bien rien ne se passe. En tout cas, si certains de mes concitoyens ont votŽ en Mai pour moins d'Europe dans leur vie sans trop savoir pourquoi ; je peux maintenant leur donner de bonnes raisons. En fait, aprs une longue rŽflexion sur le sujet, je pense maintenant comprendre ce qui ne va pas, et qu'en fait le problme est plus profond que l'on ne pense. En fait l'activitŽ Ç dŽveloppeur, ingŽnieur de soft pour la physique (ou une science en gŽnŽral) È n'est en gros pas reconnue en tant que tel. Tout est encore du bricolage d'individu et en gros les gens (crme ou pas) finissent par tre content de trouver quelque chose qui fonctionne, mme ˆ peu prs. Le code est soit produit par des physiciens qui devraient normalement concevoir des dŽtecteurs ou buller sur la nature du monde ; ou bien produit au sein de Ç service informatique È par des ingŽnieurs n'ayant souvent pas de vue sur la physique. Et il est clair que le courant a du mal ˆ passer. En gros on voit souvent dŽbarquer, donc au service Ç informatique È, des physiciens disant Ç mon programme Geant4 ne reproduit pas correctement les courbes de physique hadronique de diffusion de pi sur des protons È ; peux-tu m'aider ˆ dŽcoincer cela ? Bien sžr trs cher ; heu, as-tu vŽrifiŽ que ton pi vaut bien 3.14 ? Et croyez-moi que les gens qui sont capables de faire face ne courent pas les rues. Dans mon service (donc informatique) on nous appelle gentiment les Ç super dŽveloppeurs È. (D'ailleurs si un de mes super chefs lit cela, il serait sympa de penser ˆ mon super salaire, au moins pour avoir la super bagnole qu'il faut pour aller en mission au CERN). En gros, le code n'est toujours pas produit par des personnes qui seraient donc des professionnels du soft mais ayant aussi un regard sur la physique. En fait la notion de Ç service dŽveloppement logiciel pour la physique È est un cha”non manquant dans toute cette histoire et un jour, il faudra bien faire quelque chose (Vois ma section Ç Software for Physics Department in labs È). Ce manque existe aussi au CERN. En fait, lˆ-bas, on ne sait pas o caser les Ç dŽveloppeurs pour la physique È ; chez CERN/IT ou bien dans les expŽriences ? Il est intŽressant de noter que le chef garagiste a souvent fait la navette IT / expŽrience (et donc a fini par dŽprimer dans... son garage !). (La dŽpression, c'est terrible, c'est incroyable les btises que l'on peut faire dans ces cas la). En fait CERN/IT (300 personnes !) n'a clairement plus voix au chapitre et est clairement dŽdiŽ exploitation (donc du GRID maintenant). Au point de vue logiciel pour la physique, les pauvres sont coincŽs ˆ maintenir CERN/PAW (parce qu'il reste pas mal d'utilisateurs dans le monde), alors que les dŽveloppements de ROOT se font en fait spirituellement dans un garage. (Donc lorsque l'on dit que ROOT est maintenu, dŽvelopper par le CERN ; il faut faire attention ˆ ce que l'on dit et surtout ˆ ce que l'on achte ; rien n'est clair sur ce point, surtout si CERN/IT est censŽ reprŽsenter la voix du soft !). Quant aux expŽriences (donc pour le LHC ; ALICE, ATLAS, LHCb, CMS), elles sont totalement incapables de mettre une ligne de code en commun. (Et c'est dommage parce que a draine pas mal de crme). Pour les expŽriences LHC, il a ŽtŽ finalement fait un truc appelŽ Ç LCG È pour tenter de mettre du soft en commun ; pour l'instant le rŽsultat est en gros une concatŽnation des bases des softs des quatre expŽriences. En gros la synergie conceptuelle plus la mise au propre, qui aurait dž tre faite pour partager les efforts, n'a pas ŽtŽ faite ; et le CERN porte une grosse part de responsabilitŽ la dedans (rappelez vous de ce que veut dire Ç E È dans CERN). Et soyez sžrs que chacun prend bien soin de ne pas dŽpendre du soft des autres. En langage physicien, on peut rŽsumer cela en disant que LCG est une collaboration Ç fermionique È alors que cela aurait dž tre, depuis au moins dix ans, une collaboration Ç bosonique È. (En fait, qu'en on y pense, l'Europe c'est assez bien cela ; une fŽdŽration fermionique d'Žtats). Qui est responsable ? Les garagistes y sont pour beaucoup, a c'est sžr. Mais en fait, tout le monde et personne ! En fait le principal problme est que, historiquement, on n'a pas compris que le Ç logiciel pour la physique È est une activitŽ en soi ˆ mettre en parallle avec l'Žlectronique, la mŽcanique, l'exploitation. Et en particulier que ce n'est pas un sous-produit de l'exploitation comprise comme Ç informatique È (informe et ˆ tiques). Dans mes pages, je fais l'analogie avec Harry Potter ; Žcrire l'histoire d'Harry Potter n'est pas le mme boulot que d'imprimer les millions de livres pour la plante. Historiquement, lorsque les laboratoires de physiques (par exemple ˆ Orsay) ou bien le CERN ont ŽtŽ crŽŽs, les gens ont mis les Ç Žcrivains È dans le mme giron que les Ç Žditeurs È. (En fait, ils avaient mme pas conscience qu'il y avait des Ç Žcrivains È). Et PAW, ROOT viennent de cela. Qui aurait pu forcer une refonte ˆ temps de ROOT ? Seule une entitŽ, comme une Ç Software for Physics Division È composŽe d'Žcrivains professionnels et avec suffisamment de bouteille pour tre ŽcoutŽ par les expŽriences, et surtout avec sa voix propre dans les divers conseils du CERN aurait pu faire cela. Manque de chance, cette entitŽ n'existe pas ! (Et aprs tout, qui peut bl‰mer les garagistes de profiter de la situation ? Comme pour Windows, tant qu'il y a des gens ˆ la vue basse pour acheter...) LCG est peut-tre un dŽbut de cette entitŽ, mais cela arrive trop tard pour le LHC, et les garagistes ont tout fait pour cela. En particulier le CERN va rater le premier systme de stockage de masse OO open source bien fichu. Tant pis, mais bon, en fait ce labo est dŽjˆ connu pour tre passŽ ˆ c™tŽ de pas mal de choses et j'ai l'intime conviction, qu'il aurait pu inventer l'OO et un langage comme java (il y a eu une pŽriode o des gens Žcrivaient des compilateurs au CERN). Bon il y a eu le web, mais j'aimerais bien avoir l'opinion profonde de Tim Berners-Lee sur le CERN. (Tiens, d'ailleurs pourquoi il n'est plus au CERN celui-la ?) Donc le soft du LHC va tre une honte technologique. Mais bon, ne dramatisons pas, si tout le hardware est bien fait, et le Higgs est au rendez vous, mme un soft bien pourri devrait pouvoir tomber dessus. Mais il serait tout de mme quelque part immoral que ce soit un comportement Ç ˆ la Bill Gates È et surtout le soft qui va avec qui plot le Higgs.... En tout cas lorsque vous verrez des plots de Higgs partout dans les revues et que vous reconna”trez que c'est fait en ROOT (c'est facile ˆ repŽrer) au moins vous, vous saurez de quoi il en retourne. (En fait le CERN devrait imposer que les plots pour les revues soient au moins faits en GNUplot, ou n'importe quel logiciel de plotting dŽdiŽ). Maintenant que nous sommes fixŽs sur le LHC, il faut voir ce que l'on peut faire pour l'aprs LHC ( Linear Collider, et tous les programmes qui ne sont pas rattachŽs au CERN). Pour ceux que cela intŽresse de voir ce que je propose, voir OpenScientist donc ˆ http://OpenScientist.lal.in2p3.fr . (‚a mžri, a mžri. ‚a va bient™t tre trs buvable). Tiens, fa”tes moi penser un jour de parler des softs de simulation en HEP (Geant4, FLUKA, VMC, etc...). Lˆ aussi il y a des pauvres utilisateurs qui s'arrachent les cheveux. Il y a pas mal ˆ dire (et encore une fois on tombe sur les mmes pollueurs). Systme de stockage OO ; appel d'offres : --------------------------------------- Oui, donc le CERN va nous rater un systme de stockage de masse OO open source bien fichu et donc le problme reste entier (sauf que maintenant j'ai Rio, mais cela ne suffit pas). En gros il me faudrait une couche d'IO genre HDF5 (ou Rio) sur lequel on aurait rajoutŽ une couche OO gr‰ce ˆ un systme d'introspection C++ (sans mŽthode Draw Žvidemment) avec lequel on pourrait dŽclarer des classes Ç user È et qui nous produirait les streamers pour la couche de base (par exemple HDF5 ?). En plus il faudrait que le streaming soit compatible avec un parallle fait en java (parce que mes copains du groupe AIDA de SLAC sont en java). Si les streamers pouvaient tre Ç pure abstract È, cela serait gŽnial. Et le tout en open source, tournant donc au moins sur les trois Ç sur les genoux È du moment (Linux, MacOSX, et le Win machin de l'autre). (Du transactionnel ne m'intŽresse pas et a priori du relationnel non plus). Si quelqu'un a quelque chose... Sinon tant pis, comme d'habitude je finirai bien par faire le boulot. La retraite est encore loin. Voilˆ, voilˆ. Bon il faut que je retrouve mes anti-dŽpresseurs et que je m'y recolle. (En plus, avec tout a, je viens de rater poubelle la vie sur la 3). (Tiens, en fait a donne des idŽes. On pourrait proposer aux scŽnaristes des Žpisodes o l'affreux FrŽmont commence ˆ installer ROOT sur toutes les machines du quartier du panier : enfin un vrai virus. Ë creuser...) Remerciements ˆ mon jeune Padawan pour tre tombŽ sur ce forum. Le peu de fois o il va seul au CERN, je m'inquite qu'il ne croise ˆ la cantine l'empereur Sith ou Vadehors ; il n'est pas encore prt... (qui l'est d'ailleurs ?) Pour les gens non HEP : la cantine du CERN est Žvidemment un endroit hautement stratŽgique sur cette plante ; c'est lˆ qu'est fait le vrai travail de pub, de racolage et surtout de dŽmolition de tout produit concurrent et des bonshommes qui vont avec ; lˆ, on voit le vrai visage de l'Europe. URL : http://OpenScientist.lal.in2p3.fr