{"id":1552,"date":"2017-09-20T16:17:00","date_gmt":"2017-09-20T14:17:00","guid":{"rendered":"https:\/\/xeddixx.cluster029.hosting.ovh.net\/?p=1552"},"modified":"2026-02-10T10:36:33","modified_gmt":"2026-02-10T09:36:33","slug":"2017-09","status":"publish","type":"post","link":"https:\/\/www.francq.info\/index.php\/blog\/2017-09\/","title":{"rendered":"Des plates-formes logicielles de recherche ouvertes"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Publier constitue depuis toujours une des activit\u00e9s des chercheurs. Partager ses r\u00e9sultats revient \u00e0 soumettre ses travaux \u00e0 ses pairs. Il s\u2019agit non seulement d\u2019assurer la&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Reproductibilit%C3%A9\" rel=\"noreferrer noopener\">reproductibilit\u00e9<\/a>, mais aussi de faciliter la diffusion de l\u2019innovation scientifique (th\u00e9orique et pratique) au sein de la communaut\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Avec l\u2019importance grandissante de l\u2019informatique dans la recherche, les outils logiciels deviennent essentiels pour les scientifiques (simulateurs, solveurs, algorithmes d\u2019optimisation, etc.). Pour autant, ces logiciels ne jouissent pas d\u2019un statut comparable \u00e0 d\u2019autres produits de la recherche.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On les per\u00e7oit souvent comme de simples commodit\u00e9s \u00e0 l\u2019instar des appareils de mesure ou de laboratoire. On estime que ces logiciels ne sont pas r\u00e9ellement des contributions scientifiques et ce, m\u00eame si les algorithmes qu\u2019ils implantent rel\u00e8vent clairement de la recherche en informatique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette perception erron\u00e9e des logiciels de recherche d\u00e9bouche sur des probl\u00e8mes de reproductibilit\u00e9. De plus, l\u2019absence (quasi) totale de valorisation du d\u00e9veloppement d\u2019algorithmes freine consid\u00e9rablement la recherche acad\u00e9mique en informatique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je pense qu\u2019une r\u00e9flexion doit imp\u00e9rativement avoir lieu au sein de la communaut\u00e9 scientifique. Des politiques contribuant \u00e0 l\u2019\u00e9mergence de plates-formes logicielles de recherche&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Open_source\" rel=\"noreferrer noopener\">open source<\/a>&nbsp;sont en effet indispensables.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><a><\/a>La diversit\u00e9 des algorithmes et de leur mise en \u0153uvre<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Les appareils de mesure et de laboratoire sont, par nature, interchangeables<sup data-fn=\"b735a002-0304-43c9-8c80-4f7070738e77\" class=\"fn\"><a href=\"#b735a002-0304-43c9-8c80-4f7070738e77\" id=\"b735a002-0304-43c9-8c80-4f7070738e77-link\">1<\/a><\/sup>. Lorsqu\u2019on remplace un thermom\u00e8tre par un autre de pr\u00e9cision \u00e9quivalente, on mesure la m\u00eame temp\u00e9rature (s\u2019ils ne sont pas d\u00e9fectueux). Ce n\u2019est pas forc\u00e9ment le cas pour les logiciels.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les algorithmes proposent souvent des r\u00e9sultats variables pour un m\u00eame probl\u00e8me<sup data-fn=\"a42aea8f-c997-45ac-9c36-2008e64c487c\" class=\"fn\"><a href=\"#a42aea8f-c997-45ac-9c36-2008e64c487c\" id=\"a42aea8f-c997-45ac-9c36-2008e64c487c-link\">2<\/a><\/sup>. M\u00eame diff\u00e9rentes mises en \u0153uvre d\u2019un algorithme donn\u00e9 se comportent parfois diversement\u200a<sup data-fn=\"81cd8347-24b8-4e9d-aeec-604a775f63df\" class=\"fn\"><a href=\"#81cd8347-24b8-4e9d-aeec-604a775f63df\" id=\"81cd8347-24b8-4e9d-aeec-604a775f63df-link\">3<\/a><\/sup>. Sans parler des autres choix d\u2019implantation (m\u00e9thodes de calcul, param\u00e9trage, fonctions de co\u00fbts, etc.).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comme je l\u2019ai expliqu\u00e9 dans\u00a0<a href=\"https:\/\/www.francq.info\/index.php\/blog\/2017-08.html\" rel=\"nofollow\">mon billet de juillet-ao\u00fbt<\/a>, la qualit\u00e9 du d\u00e9veloppement d\u2019un algorithme se r\u00e9v\u00e8le un \u00e9l\u00e9ment crucial de l\u2019efficience du logiciel final. Un \u00ab<em>hack<\/em>\u00bb particuli\u00e8rement bien pens\u00e9<sup data-fn=\"538f19b6-ddfe-4281-be1a-4e88405c5f3f\" class=\"fn\"><a href=\"#538f19b6-ddfe-4281-be1a-4e88405c5f3f\" id=\"538f19b6-ddfe-4281-be1a-4e88405c5f3f-link\">4<\/a><\/sup>\u00a0peut conduire \u00e0 un gain final significatif (y compris dans celui de la solution produite).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le contexte d\u2019utilisation importe aussi. Prenons le pr\u00e9traitement de donn\u00e9es. Parfois, pour utiliser un logiciel, on transforme les donn\u00e9es brutes en \u00abdonn\u00e9es utilisables\u00bb<sup data-fn=\"3cd15338-cbf1-4295-9d6f-6acd6234f7cd\" class=\"fn\"><a href=\"#3cd15338-cbf1-4295-9d6f-6acd6234f7cd\" id=\"3cd15338-cbf1-4295-9d6f-6acd6234f7cd-link\">5<\/a><\/sup>. Or quelques petits changements (pas toujours explicit\u00e9s) dans un pr\u00e9traitement suffisent \u00e0 alt\u00e9rer le r\u00e9sultat final\u200a<sup data-fn=\"f93264d8-8925-4b2b-9271-fc86d19ca6ce\" class=\"fn\"><a href=\"#f93264d8-8925-4b2b-9271-fc86d19ca6ce\" id=\"f93264d8-8925-4b2b-9271-fc86d19ca6ce-link\">6<\/a><\/sup>.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><a><\/a>La reproductibilit\u00e9 scientifique \u00e0 l\u2019heure des logiciels<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Les chercheurs se trouvent donc devant une abondance de choix. Quels algorithmes utiliser ? Quelles implantations choisir ? Quels pr\u00e9traitements appliquer aux donn\u00e9es brutes ? Autant d\u2019informations indispensables, mais rarement toutes disponibles, pour assurer la reproductibilit\u00e9 scientifique impliquant un traitement informatique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Depuis plusieurs ann\u00e9es, des chercheurs en appellent \u00e0 l\u2019utilisation de&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Open_source\" target=\"_blank\" rel=\"noreferrer noopener\">logiciels open source<\/a>&nbsp;pour rencontrer ces enjeux de reproductibilit\u00e9&nbsp;[<a href=\"#1\" rel=\"nofollow\">1<\/a>,&nbsp;<a href=\"#2\" rel=\"nofollow\">2<\/a>]. En rendant le&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Code_source\" target=\"_blank\" rel=\"noreferrer noopener\">code source<\/a>\u200a<sup data-fn=\"2455df96-f421-4706-a17d-553c766e9aa2\" class=\"fn\"><a href=\"#2455df96-f421-4706-a17d-553c766e9aa2\" id=\"2455df96-f421-4706-a17d-553c766e9aa2-link\">7<\/a><\/sup>&nbsp;accessible \u00e0 tous, n\u2019importe qui peut t\u00e9l\u00e9charger les logiciels, ausculter leur fonctionnement et les ex\u00e9cuter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si, \u00e0 la disponibilit\u00e9 du&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Code_source\" rel=\"noreferrer noopener\">code source<\/a>, on ajoute \u00e9galement celle des donn\u00e9es et du param\u00e9trage des programmes, la reproduction de r\u00e9sultats publi\u00e9s devient envisageable (pour autant que l\u2019on dispose des ressources computationnelles n\u00e9cessaires \u00e0 l\u2019ex\u00e9cution de ces programmes sur ces donn\u00e9es).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour favoriser les&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Open_source\" target=\"_blank\" rel=\"noreferrer noopener\">logiciels open source<\/a>, certains demandent que les journaux scientifiques exigent des auteurs la disponibilit\u00e9 des programmes utilis\u00e9s&nbsp;[<a href=\"#2\" rel=\"nofollow\">2<\/a>]. Ils proposent diff\u00e9rents niveaux d\u2019ouverture suivant que tout le&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Code_source\" target=\"_blank\" rel=\"noreferrer noopener\">code source<\/a>&nbsp;est partag\u00e9, ou seule une partie de celui-ci (par exemple pour des raisons de propri\u00e9t\u00e9 intellectuelle).<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><a><\/a>Utiliser des logiciels open source ne suffit pas<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Les&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Logiciel_propri%C3%A9taire\" rel=\"noreferrer noopener\">logiciels propri\u00e9taires<\/a>&nbsp;ne sont disponibles que sous forme binaire, ce qui emp\u00eache toute v\u00e9rification de leur fonctionnement. Il para\u00eet \u00e9vident qu\u2019ils sont donc un frein \u00e0 la reproductibilit\u00e9 et \u00e0 la diffusion des id\u00e9es.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De plus, lorsqu\u2019un&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Logiciel_propri%C3%A9taire\" rel=\"noreferrer noopener\">logiciel propri\u00e9taire<\/a>&nbsp;n\u2019est plus maintenu, ce qui arrive souvent pour des&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Niche_de_march%C3%A9\" rel=\"noreferrer noopener\">logiciels de niche<\/a>, les chercheurs perdent toute capacit\u00e9 \u00e0 r\u00e9pliquer leurs propres exp\u00e9rimentations ! Alors que, lorsque l\u2019on dispose du&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Code_source\" rel=\"noreferrer noopener\">code source<\/a>, on peut le&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Compilateur\" rel=\"noreferrer noopener\">recompiler<\/a>&nbsp;(en l\u2019actualisant si n\u00e9cessaire).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Promouvoir l\u2019utilisation de&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Open_source\" rel=\"noreferrer noopener\">logiciels open source<\/a>&nbsp;appara\u00eet d\u00e8s lors comme la solution au probl\u00e8me de reproductibilit\u00e9 de la partie informatique des recherches. Malheureusement, \u00e7a ne suffit pas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La complexit\u00e9 de certaines recherches mobilisant l\u2019informatique (climat, biom\u00e9dical, physique quantique, etc.) implique la mobilisation de centaines de composants logiciels, parfois \u00e9crits dans diff\u00e9rents&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Langage_de_programmation\" rel=\"noreferrer noopener\">langages de programmation<\/a>, g\u00e9rant plusieurs formats de fichiers et manipulant des milliers de param\u00e8tres.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il devient alors tr\u00e8s difficile de comprendre r\u00e9ellement les contributions des diff\u00e9rents composants et la mani\u00e8re dont ils s\u2019articulent. Et acc\u00e9der \u00e0 des millions de lignes de&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Code_source\" rel=\"noreferrer noopener\">code source<\/a>&nbsp;n\u2019apporte pas forc\u00e9ment une solution pour y voir plus clair.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pire, comme les chercheurs utilisent r\u00e9guli\u00e8rement des logiciels diff\u00e9rents pour ex\u00e9cuter les m\u00eames t\u00e2ches, le processus de v\u00e9rification revient \u00e0 r\u00e9\u00e9valuer en permanence les m\u00eames algorithmes implant\u00e9s dans diff\u00e9rents logiciels pour assurer la reproductibilit\u00e9 de tous les r\u00e9sultats de recherche.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><a><\/a>Le diable se cache dans les d\u00e9tails<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Le lecteur pourrait se dire que je cherche \u00e0 couper les cheveux en quatre. Des articles scientifiques d\u00e9crivent g\u00e9n\u00e9ralement pr\u00e9cis\u00e9ment les algorithmes mobilis\u00e9s. Les d\u00e9tails pratico-pratiques ne pr\u00e9sentent donc pas de r\u00e9elle importance pour \u00e9valuer une recherche les utilisant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mais, comme expliqu\u00e9 ci-dessus, l\u2019implantation particuli\u00e8re d\u2019un algorithme joue un r\u00f4le dans les r\u00e9sultats produits. En outre, la motivation des d\u00e9veloppeurs est rarement explicit\u00e9e. Ils poursuivent leur propre strat\u00e9gie qui diff\u00e8re g\u00e9n\u00e9ralement de celles des utilisateurs.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En particulier, le manque de temps et\/ou de motivation fait que tous les&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Open_source\" rel=\"noreferrer noopener\">logiciels open source<\/a>&nbsp;n\u2019int\u00e8grent pas les derniers perfectionnements. Un chercheur en informatique peut, par exemple, d\u00e9velopper un&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Open_source\" rel=\"noreferrer noopener\">logiciel open source<\/a>&nbsp;pendant sa th\u00e8se et ne plus travailler dessus par la suite. Ce logiciel, quoique accessible, devient alors vite obsol\u00e8te.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">D\u00e8s lors qu\u2019internet donne acc\u00e8s \u00e0 des millions de&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Open_source\" rel=\"noreferrer noopener\">logiciels open source<\/a>, repr\u00e9sentant parfois des centaines d\u2019implantations diff\u00e9rentes d\u2019un m\u00eame algorithme, on se demande comment choisir la meilleure implantation pour ses recherches.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cela suppose des comp\u00e9tences ad\u00e9quates pour \u00e9valuer la qualit\u00e9 d\u2019un logiciel, ce qui est rarement le cas. De plus, une telle analyse prendrait un temps consid\u00e9rable. La tentation est alors de se pr\u00e9cipiter sur le premier logiciel venu sans r\u00e9ellement en examiner l\u2019excellence.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La majorit\u00e9 des chercheurs se retrouvent donc compl\u00e8tement d\u00e9pendants des concepteurs des logiciels qu\u2019ils utilisent.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><a><\/a>Le r\u00f4le de ceux qui d\u00e9veloppent les logiciels<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">On peut distinguer deux cat\u00e9gories de personnes qui contribuent \u00e0 des logiciels mobilis\u00e9s par la recherche. D\u2019une part, des ing\u00e9nieurs informaticiens, parfois chercheurs en informatique. D\u2019autre part, des chercheurs d\u2019autres domaines (tels la physique) qui apprennent la programmation \u00absur le tas\u00bb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si certains ing\u00e9nieurs informaticiens publient leur\u00a0<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Code_source\" target=\"_blank\" rel=\"noreferrer noopener\">code source<\/a>, la majorit\u00e9 d\u2019entre-eux ne le font cependant pas. De plus, le d\u00e9veloppement de \u00ab<a href=\"https:\/\/www.francq.info\/index.php\/blog\/2017-08.html\" rel=\"nofollow\">programmes \u00e9l\u00e9gants<\/a>\u00bb et r\u00e9utilisables n\u2019\u00e9tant pas valoris\u00e9 dans la carri\u00e8re acad\u00e9mique, rares sont les chercheurs qui adoptent les meilleures pratiques de d\u00e9veloppement.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Du coup, m\u00eame lorsque l\u2019on peut acc\u00e9der au&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Code_source\" rel=\"noreferrer noopener\">code source<\/a>&nbsp;d\u2019un logiciel, sa r\u00e9utilisation se r\u00e9v\u00e8le souvent ardue. On assiste d\u00e8s lors au r\u00e9flexe de red\u00e9velopper les m\u00eames algorithmes (en particulier de base) et ce, m\u00eame lorsque des implantations&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Open_source\" rel=\"noreferrer noopener\">open source<\/a>&nbsp;existent.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><a><\/a>Une perte d\u2019\u00e9nergie consid\u00e9rable des chercheurs<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">J\u2019ai proc\u00e9d\u00e9 \u00e0 une petite exp\u00e9rience informelle. L\u2019algorithme&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/K-moyennes\" rel=\"noreferrer noopener\">k-Means<\/a>&nbsp;est souvent une r\u00e9f\u00e9rence dans les&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Partitionnement_de_donn%C3%A9es\" rel=\"noreferrer noopener\">probl\u00e8mes de partitionnement de donn\u00e9es<\/a>. Une simple recherche avec le mot-cl\u00e9 \u00abk-Means\u00bb dans&nbsp;<em><a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Google_Scholar\" rel=\"noreferrer noopener\">Google Scholar<\/a><\/em>&nbsp;renvoie \u00e0 29.200 articles publi\u00e9s en 2016.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Imaginons que 25% de ces articles utilisent r\u00e9ellement l\u2019algorithme, et que 10% des auteurs l\u2019ont red\u00e9velopp\u00e9 pour l\u2019occasion. Cela repr\u00e9sente 740 implantations pour 2016. Supposons de plus qu\u2019une impl\u00e9mentation demande 0,08 ann\u00e9e\/homme de d\u00e9veloppement<sup data-fn=\"b9ca5087-9701-431e-99e8-bfeb65bb2292\" class=\"fn\"><a href=\"#b9ca5087-9701-431e-99e8-bfeb65bb2292\" id=\"b9ca5087-9701-431e-99e8-bfeb65bb2292-link\">8<\/a><\/sup>. Au total, nous arrivons, pour la seule ann\u00e9e 2016, \u00e0 59 ann\u00e9es\/hommes de d\u00e9veloppement \u2013 pour rien !<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><a><\/a>Le probl\u00e8me de la qualit\u00e9 des logiciels de recherche<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Quant aux autres chercheurs qui s\u2019improvisent ing\u00e9nieurs informaticiens, ils atteignent rarement les standards de qualit\u00e9 qui garantissent la r\u00e9utilisation du logiciel sur le long terme (conception claire, interface de programmation coh\u00e9rente, documentation d\u00e9taill\u00e9e, processus de r\u00e9visions, etc.).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Leurs modules logiciels mal con\u00e7us, lorsqu\u2019ils sont assembl\u00e9s pour produire une solution logicielle complexe r\u00e9pondant \u00e0 une probl\u00e9matique de recherche actuelle, repr\u00e9sentent autant de risques concernant leur maintenance, les&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Bug_(informatique)\" target=\"_blank\" rel=\"noreferrer noopener\">bogues<\/a>&nbsp;et autres&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Effet_de_bord_(informatique)\" target=\"_blank\" rel=\"noreferrer noopener\">effets de bord<\/a>\u200a<sup data-fn=\"9347e6eb-d5b4-4fd8-a6b8-9a1bc3bbbc73\" class=\"fn\"><a href=\"#9347e6eb-d5b4-4fd8-a6b8-9a1bc3bbbc73\" id=\"9347e6eb-d5b4-4fd8-a6b8-9a1bc3bbbc73-link\">9<\/a><\/sup>&nbsp;et donc,&nbsp;<em>in fine<\/em>, la reproductibilit\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0 cela s\u2019ajoute la&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Rotation_de_l%27emploi\" target=\"_blank\" rel=\"noreferrer noopener\">rotation de l&#8217;emploi<\/a>&nbsp;tr\u00e8s \u00e9lev\u00e9e dans la recherche acad\u00e9mique. Moins de 5% des doctorants seront stabilis\u00e9s \u00e0 terme&nbsp;[<a href=\"#3\" rel=\"nofollow\">3<\/a>]. La cons\u00e9quence est que les modules logiciels deviennent tr\u00e8s vite inutilisables, et que les chercheurs suivants consacrent du temps \u00e0 les red\u00e9velopper.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><a><\/a>Les enjeux des logiciels utilis\u00e9s dans la recherche<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Les quelques \u00e9l\u00e9ments que je viens d\u2019\u00e9voquer permettent d\u2019identifier quatre r\u00e8gles \u00e0 respecter en mati\u00e8re de logiciels utilis\u00e9s dans la recherche :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Promouvoir des&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Open_source\" target=\"_blank\" rel=\"noreferrer noopener\">logiciels open source<\/a>&nbsp;qui garantissent l\u2019accessibilit\u00e9 au&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Code_source\" target=\"_blank\" rel=\"noreferrer noopener\">code source<\/a>.<\/li>\n\n\n\n<li>Assurer le tra\u00e7age pr\u00e9cis du contexte d\u2019exp\u00e9rimentation impliquant des logiciels (donn\u00e9es brutes, pr\u00e9traitements et param\u00e9trage des diff\u00e9rents modules).<\/li>\n\n\n\n<li>\u00c9viter le red\u00e9veloppement inutile des m\u00eames logiciels pour se focaliser uniquement sur l\u2019optimisation de ceux existants.<\/li>\n\n\n\n<li>Cr\u00e9er un environnement de d\u00e9veloppement bien con\u00e7u qui permette \u00e0 des chercheurs non ing\u00e9nieurs informaticiens d\u2019ajouter \u00abproprement\u00bb leurs modules logiciels personnels.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Pour rencontrer ces diff\u00e9rents enjeux, je d\u00e9fends le d\u00e9veloppement de&nbsp;<strong>plates-formes logicielles de recherche ouvertes<\/strong>&nbsp;et la cr\u00e9ation de v\u00e9ritables&nbsp;<strong>collaborations entre les ing\u00e9nieurs informaticiens et les autres chercheurs<\/strong>.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><a><\/a>Les plates-formes logicielles de recherche<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Une plate-forme logicielle de recherche propose un&nbsp;<em><a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Framework\" rel=\"noreferrer noopener\">framework<\/a><\/em>&nbsp;coh\u00e9rent pour d\u00e9velopper des applications d\u00e9di\u00e9es \u00e0 un domaine particulier (tel la mod\u00e9lisation climatique). Une telle plate-forme est d\u00e9velopp\u00e9e et maintenue par la communaut\u00e9 scientifique correspondante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les parties prenantes partagent les co\u00fbts de d\u00e9veloppement (par une participation directe au d\u00e9veloppement et\/ou par une contribution financi\u00e8re). Elles concourent ainsi \u00e0 la diffusion des connaissances, notamment en assurant une r\u00e9utilisation ais\u00e9e des modules logiciels d\u00e9velopp\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019\u00e9laboration de plates-formes logicielles suppose tout d\u2019abord l\u2019adoption d\u2019un ensemble coh\u00e9rent de concepts. Ensuite, il faut identifier les processus globaux et les d\u00e9composer en groupes de t\u00e2ches et de sous-t\u00e2ches, chaque t\u00e2che ou sous-t\u00e2che pouvant \u00eatre ex\u00e9cut\u00e9e par un ou plusieurs algorithmes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On peut, par exemple, d\u00e9composer le&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Partitionnement_de_donn%C3%A9es\" target=\"_blank\" rel=\"noreferrer noopener\">partitionnement de donn\u00e9es<\/a>&nbsp;en trois t\u00e2ches : (i) identifier les caract\u00e9ristiques des objets \u00e0 partitionner<sup data-fn=\"cc4a8dd7-dc1c-4ba6-a3ed-ec53a7944682\" class=\"fn\"><a href=\"#cc4a8dd7-dc1c-4ba6-a3ed-ec53a7944682\" id=\"cc4a8dd7-dc1c-4ba6-a3ed-ec53a7944682-link\">10<\/a><\/sup>, (ii) \u00e9tablir une similarit\u00e9 entre objets sur base de ces caract\u00e9ristiques et (iii) d\u00e9tecter les objets similaires. Plusieurs solutions existent pour ces trois t\u00e2ches.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a><\/a>La n\u00e9cessit\u00e9 d\u2019une architecture en couches<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sch\u00e9matiquement, une \u00abbonne\u00bb plate-forme logicielle adopte une&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Mod%C3%A8le_OSI#Architecture_en_couches\" target=\"_blank\" rel=\"noreferrer noopener\">architecture en couches<\/a>&nbsp;(Figure&nbsp;1). Chaque couche se base sur les couches inf\u00e9rieures (plus g\u00e9n\u00e9riques) et propose des fonctionnalit\u00e9s aux couches sup\u00e9rieures (plus sp\u00e9cifiques).<\/p>\n\n\n\n<p class=\"has-text-align-center figtab wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"136\" class=\"wp-image-1553\" style=\"width: 900px;\" src=\"http:\/\/xeddixx.cluster029.hosting.ovh.net\/wp-content\/uploads\/2025\/10\/plate-forme_de_recherche.png\" alt=\"\" srcset=\"https:\/\/www.francq.info\/wp-content\/uploads\/2025\/10\/plate-forme_de_recherche.png 594w, https:\/\/www.francq.info\/wp-content\/uploads\/2025\/10\/plate-forme_de_recherche-300x45.png 300w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n\n\n\n<p class=\"has-text-align-center legende wp-block-paragraph\">Figure 1. Une architecture multi-couches.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les couches basses implantent les briques g\u00e9n\u00e9riques et forment l\u2019ossature de la plate-forme. Ces couches impactant transversalement l\u2019ensemble de la plate-forme, les choix qui y sont effectu\u00e9s exigent l\u2019implication d\u2019ing\u00e9nieurs informaticiens.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Au contraire, les couches les plus \u00e9lev\u00e9es ne demandent pas forc\u00e9ment de comp\u00e9tences informatiques avanc\u00e9es. Plusieurs&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Plugin\" rel=\"noreferrer noopener\">plugins<\/a>, ex\u00e9cutant la m\u00eame t\u00e2che mais avec une approche diff\u00e9rente, sont interchangeables.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une telle architecture isole les couches les plus hautes,&nbsp;<em>a priori<\/em>&nbsp;moins stables, du reste de la plate-forme. Non seulement cela r\u00e9duit les risques d\u2019<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Effet_de_bord_(informatique)\" rel=\"noreferrer noopener\">effets de bord<\/a>, mais cela favorise l\u2019introduction d\u2019approches innovantes qu\u2019il suffira le plus souvent d\u2019implanter comme un nouvel&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Plugin\" rel=\"noreferrer noopener\">plugin<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Notons qu\u2019il existe d\u00e9j\u00e0 des plates-formes pour certains domaines, comme&nbsp;<em><a href=\"https:\/\/protege.stanford.edu\/\" target=\"_blank\" rel=\"noreferrer noopener\">Prot\u00e9g\u00e9<\/a><\/em>&nbsp;pour la mod\u00e9lisation d\u2019ontologies num\u00e9riques&nbsp;[<a href=\"#4\">4<\/a>], ou encore le projet&nbsp;<em>Clear Climate Code<\/em>&nbsp;dans le domaine de la climatologie&nbsp;[<a href=\"#5\" rel=\"nofollow\">5<\/a>]. Avec la&nbsp;plate-forme&nbsp;<em>GALILEI<\/em>, j\u2019ai moi-m\u00eame tent\u00e9 d\u2019en cr\u00e9er une pour l\u2019analyse de donn\u00e9es textuelles et la d\u00e9tection de communaut\u00e9s d\u2019utilisateurs&nbsp;[<a href=\"#6\" rel=\"nofollow\">6<\/a>].<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><a><\/a>La n\u00e9cessit\u00e9 d\u2019une collaboration pluridisciplinaire<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Le d\u00e9veloppement d\u2019une plate-forme logicielle de recherche ne se limite pas \u00e0 un challenge informatique. Certains choix sur lesquels reposera l\u2019architecture d\u00e9pendent directement de l\u2019\u00e9tat de la recherche dans un domaine particulier (tel les enjeux \u00e9pist\u00e9mologiques).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La d\u00e9composition des processus globaux en t\u00e2ches et sous-t\u00e2ches suppose en effet un consensus au sein de la communaut\u00e9 scientifique. Si un d\u00e9saccord existe entre les chercheurs (par exemple sur les \u00e9l\u00e9ments constitutifs d\u2019un mod\u00e8le climatique), impossible de concevoir une plate-forme f\u00e9d\u00e9ratrice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une fois un accord sur cette d\u00e9composition trouv\u00e9, les ing\u00e9nieurs informaticiens apparaissent les mieux plac\u00e9s pour \u00e9laborer cette plate-forme. Bien entendu, des \u00e9changes continus avec les autres chercheurs restent indispensables pour mod\u00e9liser les diff\u00e9rents \u00e9l\u00e9ments.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0 la lisi\u00e8re de la biologie et de la m\u00e9decine, la&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Bio-informatique\" rel=\"noreferrer noopener\">bio-informatique<\/a>, qui \u00e9merge comme un domaine de recherche \u00e0 part enti\u00e8re, illustre mon propos. Des informaticiens appliquent leurs techniques aux donn\u00e9es m\u00e9dicales (<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/S%C3%A9quen%C3%A7age_de_l%27ADN\" rel=\"noreferrer noopener\">s\u00e9quen\u00e7age de l&rsquo;ADN<\/a>,&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Imagerie_m%C3%A9dicale\" rel=\"noreferrer noopener\">imagerie m\u00e9dicale<\/a>, etc.).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Des collaborations pluridisciplinaires existent donc d\u00e9j\u00e0. Mais elles sont encore peu nombreuses et se limitent \u00e0 des domaines tr\u00e8s sp\u00e9cifiques. Il faut absolument multiplier ces collaborations.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">J\u2019ai ainsi la chance de participer au&nbsp;projet&nbsp;<em>FAMe<\/em>, une collaboration avec des m\u00e9di\u00e9vistes visant \u00e0 num\u00e9riser les donn\u00e9es sur les famines durant l\u2019<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Antiquit%C3%A9\" target=\"_blank\" rel=\"noreferrer noopener\">Antiquit\u00e9<\/a>&nbsp;et le&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Moyen_%C3%82ge\" target=\"_blank\" rel=\"noreferrer noopener\">Moyen \u00c2ge<\/a>. L\u2019objectif est de mieux comprendre les variations de la production agricole. Un enjeu d\u2019une grande actualit\u00e9.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><a><\/a>L\u2019indispensable effort de d\u00e9veloppement logiciel dans la recherche<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Au regard du mod\u00e8le d\u2019architecture logicielle, la conception et le d\u00e9veloppement des couches les plus basses sont d\u00e9terminants. De mauvais choix impliquent en effet quasi m\u00e9caniquement l\u2019\u00e9chec du projet complet. L\u2019implication d\u2019ing\u00e9nieurs informaticiens reste donc cruciale.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">D\u2019autant plus que des choix de programmation pointus peuvent aboutir \u00e0 du&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Code_source\" target=\"_blank\" rel=\"noreferrer noopener\">code source<\/a>&nbsp;plus s\u00fbr et de meilleure qualit\u00e9.&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Bjarne_Stroustrup\" target=\"_blank\" rel=\"noreferrer noopener\">Bjarne Stroustrup<\/a>&nbsp;montre, par exemple, que certaines fonctionnalit\u00e9s tr\u00e8s pr\u00e9cises d\u2019un&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Langage_de_programmation\" target=\"_blank\" rel=\"noreferrer noopener\">langage de programmation<\/a>\u00e9vitent des&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Bug_(informatique)\" target=\"_blank\" rel=\"noreferrer noopener\">bugs<\/a>&nbsp;de&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Conversion_des_unit%C3%A9s\" target=\"_blank\" rel=\"noreferrer noopener\">conversion des unit\u00e9s<\/a><sup data-fn=\"804b3524-a74a-4841-8462-7afe3c473ab2\" class=\"fn\"><a href=\"#804b3524-a74a-4841-8462-7afe3c473ab2\" id=\"804b3524-a74a-4841-8462-7afe3c473ab2-link\">11<\/a><\/sup>&nbsp;[<a href=\"#7\" rel=\"nofollow\">7<\/a>].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Loin de se limiter \u00e0 l\u2019architecture g\u00e9n\u00e9rale, l\u2019approche en couches s\u2019applique \u00e9galement aux approches logicielles de r\u00e9solution. Prenons les&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Algorithme_g%C3%A9n%C3%A9tique\" target=\"_blank\" rel=\"noreferrer noopener\">algorithmes g\u00e9n\u00e9tiques<\/a>. Pour faire simple, cette approche s\u2019inspire de l\u2019\u00e9volution pour r\u00e9soudre des&nbsp;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Optimisation_(math%C3%A9matiques)\" target=\"_blank\" rel=\"noreferrer noopener\">probl\u00e8mes d&rsquo;optimisation<\/a>&nbsp;[<a href=\"#8\" rel=\"nofollow\">8<\/a>].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sans rentrer dans les d\u00e9tails, les&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Algorithme_g%C3%A9n%C3%A9tique\" rel=\"noreferrer noopener\">algorithmes g\u00e9n\u00e9tiques<\/a>&nbsp;proposent un cadre g\u00e9n\u00e9ral bas\u00e9 sur diff\u00e9rents \u00abop\u00e9rateurs\u00bb (croisement, mutation, etc.) qui varient au gr\u00e9 des probl\u00e8mes. Chaque cat\u00e9gorie de probl\u00e8mes implique des op\u00e9rateurs sp\u00e9cifiques, des adaptations particuli\u00e8res \u00e9tant \u00e9galement n\u00e9cessaires au sein d\u2019une m\u00eame cat\u00e9gorie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On retombe en fait sur une&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Mod%C3%A8le_OSI#Architecture_en_couches\" rel=\"noreferrer noopener\">structuration en couches<\/a>. On retrouve \u00aben bas\u00bb l\u2019<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Algorithme_g%C3%A9n%C3%A9tique\" rel=\"noreferrer noopener\">algorithme g\u00e9n\u00e9tique<\/a>&nbsp;g\u00e9n\u00e9rique. Puis, au fur et \u00e0 mesure qu\u2019on s\u2019approche d\u2019un probl\u00e8me concret (\u00aben haut\u00bb), on sp\u00e9cialise les diff\u00e9rents op\u00e9rateurs en r\u00e9utilisant les fonctionnalit\u00e9s des couches pr\u00e9c\u00e9dentes.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le plus efficace revient \u00e0 laisser les ing\u00e9nieurs informaticiens implanter diff\u00e9rents op\u00e9rateurs g\u00e9n\u00e9riques (mais adaptables) dans les couches basses. Les autres chercheurs se chargent ensuite de la seule sp\u00e9cialisation de l\u2019<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Algorithme_g%C3%A9n%C3%A9tique\" rel=\"noreferrer noopener\">algorithme g\u00e9n\u00e9tique<\/a>&nbsp;n\u00e9cessaire pour r\u00e9soudre leur probl\u00e8me concret.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Et ce que je viens d\u2019esquisser pour les&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Algorithme_g%C3%A9n%C3%A9tique\" rel=\"noreferrer noopener\">algorithmes g\u00e9n\u00e9tiques<\/a>&nbsp;pourrait \u00eatre g\u00e9n\u00e9ralis\u00e9e \u00e0 quasi toutes les approches logicielles utilis\u00e9es en recherche. En d\u2019autres termes, tous les domaines de recherche profiteraient du d\u00e9veloppement de&nbsp;<a target=\"_blank\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Biblioth%C3%A8que_logicielle\" rel=\"noreferrer noopener\">biblioth\u00e8ques logicielles<\/a>&nbsp;transversales et ouvertes !<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><a><\/a>Favorisons des plates-formes logicielles de recherche ouvertes<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Pour faire avancer la recherche moderne, il devient indispensable de promouvoir des plates-formes logicielles de recherche ouvertes. Il importe d\u2019am\u00e9liorer le financement de leur d\u00e9veloppement, et d\u2019inciter de bons ing\u00e9nieurs informaticiens \u00e0 s\u2019y atteler. On en cependant est loin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les bailleurs de fonds refusent bien souvent de financer explicitement ce type de projets. Ils affectionnent plut\u00f4t des recherches \u00abplus sexy\u00bb aux objectifs aussi ambitieux qu\u2019irr\u00e9alistes&nbsp;[<a href=\"#9\" rel=\"nofollow\">9<\/a>]. \u00c0 cela s\u2019ajoute le d\u00e9ficit chronique dans le financement de recherches pluridisciplinaires&nbsp;[<a href=\"#10\" rel=\"nofollow\">10<\/a>].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les dipl\u00f4m\u00e9s en informatique se retrouvent souvent mal arm\u00e9s pour participer \u00e0 de \u00abgros\u00bb projets informatiques. Les \u00e9tudes pourraient les encourager \u00e0 contribuer \u00e0 des plates-formes ouvertes plut\u00f4t que limiter leurs travaux pratiques \u00e0 de \u00abpetits programmes\u00bb<sup data-fn=\"24509d83-53e3-455d-a453-d5fbc533ffe2\" class=\"fn\"><a href=\"#24509d83-53e3-455d-a453-d5fbc533ffe2\" id=\"24509d83-53e3-455d-a453-d5fbc533ffe2-link\">12<\/a><\/sup>. Cela permettrait aussi de sensibiliser les futurs chercheurs en informatique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Avec une \u00e9valuation acad\u00e9mique bas\u00e9e avant tout sur les articles scientifiques, le d\u00e9veloppement n\u2019est plus consid\u00e9r\u00e9 aujourd\u2019hui comme une activit\u00e9 scientifique r\u00e9elle valorisable mais \u00abcomme un simple exercice p\u00e9riph\u00e9rique\u00bb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les \u00abbonnes<sup data-fn=\"ffabd9c0-d0ed-4a6c-9c5d-ed693296631a\" class=\"fn\"><a href=\"#ffabd9c0-d0ed-4a6c-9c5d-ed693296631a\" id=\"ffabd9c0-d0ed-4a6c-9c5d-ed693296631a-link\">13<\/a><\/sup>\u00bb revues scientifiques ont un r\u00f4le \u00e0 jouer. La publication d\u2019un plus grand nombre d\u2019articles consid\u00e9r\u00e9s comme de v\u00e9ritables contributions scientifiques et d\u00e9di\u00e9s \u00e0 des plates-formes logicielles de recherche ouvertes constituerait un incitant fort pour les chercheurs en informatique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il appara\u00eet urgent que les universit\u00e9s et les bailleurs de fonds changent de paradigme d\u2019\u00e9valuation acad\u00e9mique. Un \u00e9largissement des crit\u00e8res semble indispensable<sup data-fn=\"84b6d2f2-25b2-4e6a-9681-957fe9d929a6\" class=\"fn\"><a href=\"#84b6d2f2-25b2-4e6a-9681-957fe9d929a6\" id=\"84b6d2f2-25b2-4e6a-9681-957fe9d929a6-link\">14<\/a><\/sup>. Une prise en compte des contributions concr\u00e8tes en mati\u00e8re de logiciels de recherche serait notamment la bienvenue, m\u00eame lorsqu\u2019elles ne se mat\u00e9rialisent pas dans des articles scientifiques. Mais ceci est une autre histoire\u2026<a href=\"http:\/\/www.twitter.com\/pascalfrancq\" target=\"_blank\" rel=\"noreferrer noopener\"><\/a><\/p>\n\n\n\n<h5 class=\"wp-block-heading\">R\u00e9f\u00e9rences<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"1\">[1]&nbsp;Matthias Schwab,&nbsp;Martin Karrenbach&nbsp;&amp;&nbsp;Jon Claerbout, \u00abMaking scientific computations reproductible\u00bb,&nbsp;<em>Computing in Science Engineering<\/em>, 2(6), pp. 61\u201367, 2000.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"2\">[2]&nbsp;Darrel C. Ince,&nbsp;Leslie Hatton&nbsp;&amp;&nbsp;John Graham-Cumming, \u00abThe Case for Open Computer Programs\u00bb,&nbsp;<em>Nature<\/em>, 482(7386), pp. 485\u2013488, 2012.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"3\">[3]&nbsp;Kendall Powell, \u00abThe future of the postdoc\u00bb,&nbsp;<em>Nature<\/em>, 520(7546), pp. 144\u2013147, 2015.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"4\">[4]&nbsp;Mark A. Musen, \u00abProt\u00e9g\u00e9: community is everything\u00bb,&nbsp;<em>International Journal of Human-Computer Studies<\/em>, 62(5), pp. 545\u2013552, 2005.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"5\">[5]&nbsp;Nick Barnes&nbsp;&amp;&nbsp;Darnes Jones, \u00abClear climate code: Rewriting legacy science software for clarity\u00bb,&nbsp;<em>IEEE Software<\/em>, 28(6), pp. 36\u201342, 2011.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"6\">[6]&nbsp;Pascal Francq, \u00abThe GALILEI Platform: Social Browsing to Build Communities of Interests and Share Relevant Information and Expertise\u00bb, Dans&nbsp;<em>Open source for knowledge and learning management : strategies beyond tools<\/em>,&nbsp;Miltiadis D. Lytras&nbsp;&amp;&nbsp;Ambj\u00f6rn Naeve&nbsp;(\u00e9d.), Idea Group Publishing, pp. 319\u2013342, 2007.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"7\">[7]&nbsp;Bjarne Stroustrup, Software development for infrastructure,&nbsp;<em>IEEE Computer<\/em>, 45(1), pp. 47\u201358, 2012.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"8\">[8]&nbsp;John H. Holland,&nbsp;<em>Adaptation in Natural and Artificial Systems<\/em>, University of Michigan Press, 1975.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"9\">[9]&nbsp;Marc Aud\u00e9tat&nbsp;(dir.),&nbsp;<em>Sciences et technologies \u00e9mergentes: pourquoi tant de promesses ?<\/em>, Hermann, 2015.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"10\">[10]&nbsp;Lindell Bromham,&nbsp;Russell Dinnage&nbsp;&amp;&nbsp;Xia Hua, \u00abInterdisciplinary Research Has Consistently Lower Funding Success\u00bb,&nbsp;<em>Nature<\/em>, 534(7609), pp. 684\u2011687, 2016.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Notes<\/h5>\n\n\n<ol class=\"wp-block-footnotes\"><li id=\"b735a002-0304-43c9-8c80-4f7070738e77\">Il existe \u00e9videmment des dispositifs exp\u00e9rimentaux dont les co\u00fbts exorbitants rendent la multiplication impossible. C\u2019est notamment le cas du CERN. Mais, th\u00e9oriquement, si on disposait de fonds illimit\u00e9s, on pourrait recr\u00e9er plusieurs CERN fournissant les m\u00eames r\u00e9sultats. <a href=\"#b735a002-0304-43c9-8c80-4f7070738e77-link\" aria-label=\"Aller \u00e0 la note de bas de page 1\">\u21a9\ufe0e<\/a><\/li><li id=\"a42aea8f-c997-45ac-9c36-2008e64c487c\">Il existe, par exemple, plusieurs m\u00e9thodes num\u00e9riques pour calculer une transform\u00e9e de Fourier. Certains algorithmes sont tr\u00e8s rapides mais plus approximatifs alors que pour d\u2019autres, c\u2019est le contraire. Bien entendu, les r\u00e9sultats sont souvent assez proches. Mais des petites diff\u00e9rences qui s\u2019accumulent aboutissent parfois \u00e0 des \u00e9carts finaux non n\u00e9gligeables. <a href=\"#a42aea8f-c997-45ac-9c36-2008e64c487c-link\" aria-label=\"Aller \u00e0 la note de bas de page 2\">\u21a9\ufe0e<\/a><\/li><li id=\"81cd8347-24b8-4e9d-aeec-604a775f63df\">Modifier l\u2019ordre de calculs arithm\u00e9tiques sur des nombres r\u00e9els introduit g\u00e9n\u00e9ralement des diff\u00e9rences dans le r\u00e9sultats dues aux erreurs d\u2019arrondis. <a href=\"#81cd8347-24b8-4e9d-aeec-604a775f63df-link\" aria-label=\"Aller \u00e0 la note de bas de page 3\">\u21a9\ufe0e<\/a><\/li><li id=\"538f19b6-ddfe-4281-be1a-4e88405c5f3f\">Un exemple d\u2019astuce est l\u2019utilisation d\u2019heuristiques d\u2019optimisation locale. Il s\u2019agit d\u2019algorithmes qui cherchent \u00e0 am\u00e9liorer un tout petit aspect bien particulier d\u2019un probl\u00e8me. Bien qu\u2019elles ne repr\u00e9sentent parfois que quelques lignes dans un programme qui peut en contenir des milliers, ces heuristiques am\u00e9liorent souvent la qualit\u00e9 des solutions produites. <a href=\"#538f19b6-ddfe-4281-be1a-4e88405c5f3f-link\" aria-label=\"Aller \u00e0 la note de bas de page 4\">\u21a9\ufe0e<\/a><\/li><li id=\"3cd15338-cbf1-4295-9d6f-6acd6234f7cd\">Dans le cas d\u2019un document texte compos\u00e9 de mots, de phrases, de paragraphes et de chapitres, on le repr\u00e9sente souvent par un vecteur dont les coordonn\u00e9es repr\u00e9sentent les mots qui y sont pr\u00e9sents, et dont les poids sont pond\u00e9r\u00e9s par une m\u00e9thode qui tient compte de leur caract\u00e8re discriminant ou non. <a href=\"#3cd15338-cbf1-4295-9d6f-6acd6234f7cd-link\" aria-label=\"Aller \u00e0 la note de bas de page 5\">\u21a9\ufe0e<\/a><\/li><li id=\"f93264d8-8925-4b2b-9271-fc86d19ca6ce\">Un exemple classique en traitement de donn\u00e9es textuelles est d\u2019\u00e9liminer les mots vides (un, une, le, la, etc.). M\u00eame si ce pr\u00e9traitement est mentionn\u00e9, la composition exacte du dictionnaire de mots vides utilis\u00e9 n\u2019est jamais pr\u00e9cis\u00e9e. Or, l\u2019ajout de quelques mots cl\u00e9s \u00abbien choisis\u00bb influence le r\u00e9sultat du pr\u00e9traitement et donc, par voie de cons\u00e9quence, les r\u00e9sultats finaux. <a href=\"#f93264d8-8925-4b2b-9271-fc86d19ca6ce-link\" aria-label=\"Aller \u00e0 la note de bas de page 6\">\u21a9\ufe0e<\/a><\/li><li id=\"2455df96-f421-4706-a17d-553c766e9aa2\">Les logiciels sont d\u00e9velopp\u00e9s gr\u00e2ce \u00e0 des langages de programmation qui permettent d\u2019\u00e9crire les instructions qui devront \u00eatre ex\u00e9cut\u00e9es par l\u2019ordinateur. L\u2019ensemble des instructions d\u2019un programme \u00e9crites dans un langage de programmation s\u2019appelle le code source du programme. <a href=\"#2455df96-f421-4706-a17d-553c766e9aa2-link\" aria-label=\"Aller \u00e0 la note de bas de page 7\">\u21a9\ufe0e<\/a><\/li><li id=\"b9ca5087-9701-431e-99e8-bfeb65bb2292\">J\u2019ai utilis\u00e9 le logiciel open source\u00a0<em>SLOCCount<\/em>\u00a0pour estimer l\u2019effort de d\u00e9veloppement de ma propre implantation de l\u2019algorithme. <a href=\"#b9ca5087-9701-431e-99e8-bfeb65bb2292-link\" aria-label=\"Aller \u00e0 la note de bas de page 8\">\u21a9\ufe0e<\/a><\/li><li id=\"9347e6eb-d5b4-4fd8-a6b8-9a1bc3bbbc73\">Un effet de bord se produit lorsqu\u2019un composant logiciel modifie inopin\u00e9ment des \u00e9tats du programme (comme la valeur de variables) qui influencent d\u2019autres composants. <a href=\"#9347e6eb-d5b4-4fd8-a6b8-9a1bc3bbbc73-link\" aria-label=\"Aller \u00e0 la note de bas de page 9\">\u21a9\ufe0e<\/a><\/li><li id=\"cc4a8dd7-dc1c-4ba6-a3ed-ec53a7944682\">On peut d\u00e9composer cette t\u00e2che en sous-t\u00e2ches reprenant l\u2019extraction des donn\u00e9es brutes et leur transformation en donn\u00e9es utilisables par ou plusieurs pr\u00e9traitements. <a href=\"#cc4a8dd7-dc1c-4ba6-a3ed-ec53a7944682-link\" aria-label=\"Aller \u00e0 la note de bas de page 10\">\u21a9\ufe0e<\/a><\/li><li id=\"804b3524-a74a-4841-8462-7afe3c473ab2\">En 1999, la NASA perd la sonde\u00a0<em>Mars Climate Orbiter<\/em>, qui avait co\u00fbt\u00e9 la bagatelle de $ 654 millions, \u00e0 cause d\u2019une erreur de navigation. Cette derni\u00e8re \u00e9tait due \u00e0 un bogue dans le logiciel embarqu\u00e9 relatif \u00e0 la conversion des unit\u00e9s. <a href=\"#804b3524-a74a-4841-8462-7afe3c473ab2-link\" aria-label=\"Aller \u00e0 la note de bas de page 11\">\u21a9\ufe0e<\/a><\/li><li id=\"24509d83-53e3-455d-a453-d5fbc533ffe2\">Souvent, les diff\u00e9rents cours sont associ\u00e9s \u00e0 des travaux pratiques ind\u00e9pendants focalis\u00e9s sur un tout petit aspect, souvent ultra-pointu. La mise en place de projets personnels plus ambitieux, de pr\u00e9f\u00e9rence coupl\u00e9s \u00e0 des initiatives plus importantes, apporterait une r\u00e9elle plus-value aux formations actuelles. <a href=\"#24509d83-53e3-455d-a453-d5fbc533ffe2-link\" aria-label=\"Aller \u00e0 la note de bas de page 12\">\u21a9\ufe0e<\/a><\/li><li id=\"ffabd9c0-d0ed-4a6c-9c5d-ed693296631a\">L\u2019\u00e9valuation acad\u00e9mique ne se base pas seulement sur le nombre de publications, mais \u00e9galement sur la qualit\u00e9 accord\u00e9e aux journaux dans lesquels elles sont publi\u00e9es. Actuellement, seul un nombre somme toute assez restreint de revues anglo-saxonnes sont consid\u00e9r\u00e9es comme de qualit\u00e9 (\u00abrevues de rang A\u00bb). En pratique, publier dans une revue qui n\u2019est pas per\u00e7ue comme \u00abbonne\u00bb ou ne rien publier du tout revient au m\u00eame. <a href=\"#ffabd9c0-d0ed-4a6c-9c5d-ed693296631a-link\" aria-label=\"Aller \u00e0 la note de bas de page 13\">\u21a9\ufe0e<\/a><\/li><li id=\"84b6d2f2-25b2-4e6a-9681-957fe9d929a6\">Loin des discours officiels d\u2019universit\u00e9s \u00abancr\u00e9es dans la Cit\u00e9\u00bb, les aspects d\u2019enseignement et de service \u00e0 la communaut\u00e9 rentrent tr\u00e8s rarement en compte lors de l\u2019\u00e9valuation d\u2019un dossier acad\u00e9mique. <a href=\"#84b6d2f2-25b2-4e6a-9681-957fe9d929a6-link\" aria-label=\"Aller \u00e0 la note de bas de page 14\">\u21a9\ufe0e<\/a><\/li><\/ol>","protected":false},"excerpt":{"rendered":"<p>Publier constitue depuis toujours une des activit\u00e9s des chercheurs. Partager ses r\u00e9sultats revient \u00e0 soumettre ses travaux \u00e0 ses pairs. Il s\u2019agit non seulement d\u2019assurer la&nbsp;reproductibilit\u00e9, mais aussi de faciliter la diffusion de l\u2019innovation scientifique (th\u00e9orique et pratique) au sein de la communaut\u00e9. Avec l\u2019importance grandissante de l\u2019informatique dans la recherche, les outils logiciels deviennent [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"[{\"content\":\"Il existe \u00e9videmment des dispositifs exp\u00e9rimentaux dont les co\u00fbts exorbitants rendent la multiplication impossible. C\u2019est notamment le cas du CERN. Mais, th\u00e9oriquement, si on disposait de fonds illimit\u00e9s, on pourrait recr\u00e9er plusieurs CERN fournissant les m\u00eames r\u00e9sultats.\",\"id\":\"b735a002-0304-43c9-8c80-4f7070738e77\"},{\"content\":\"Il existe, par exemple, plusieurs m\u00e9thodes num\u00e9riques pour calculer une transform\u00e9e de Fourier. Certains algorithmes sont tr\u00e8s rapides mais plus approximatifs alors que pour d\u2019autres, c\u2019est le contraire. Bien entendu, les r\u00e9sultats sont souvent assez proches. Mais des petites diff\u00e9rences qui s\u2019accumulent aboutissent parfois \u00e0 des \u00e9carts finaux non n\u00e9gligeables.\",\"id\":\"a42aea8f-c997-45ac-9c36-2008e64c487c\"},{\"content\":\"Modifier l\u2019ordre de calculs arithm\u00e9tiques sur des nombres r\u00e9els introduit g\u00e9n\u00e9ralement des diff\u00e9rences dans le r\u00e9sultats dues aux erreurs d\u2019arrondis.\",\"id\":\"81cd8347-24b8-4e9d-aeec-604a775f63df\"},{\"content\":\"Un exemple d\u2019astuce est l\u2019utilisation d\u2019heuristiques d\u2019optimisation locale. Il s\u2019agit d\u2019algorithmes qui cherchent \u00e0 am\u00e9liorer un tout petit aspect bien particulier d\u2019un probl\u00e8me. Bien qu\u2019elles ne repr\u00e9sentent parfois que quelques lignes dans un programme qui peut en contenir des milliers, ces heuristiques am\u00e9liorent souvent la qualit\u00e9 des solutions produites.\",\"id\":\"538f19b6-ddfe-4281-be1a-4e88405c5f3f\"},{\"content\":\"Dans le cas d\u2019un document texte compos\u00e9 de mots, de phrases, de paragraphes et de chapitres, on le repr\u00e9sente souvent par un vecteur dont les coordonn\u00e9es repr\u00e9sentent les mots qui y sont pr\u00e9sents, et dont les poids sont pond\u00e9r\u00e9s par une m\u00e9thode qui tient compte de leur caract\u00e8re discriminant ou non.\",\"id\":\"3cd15338-cbf1-4295-9d6f-6acd6234f7cd\"},{\"content\":\"Un exemple classique en traitement de donn\u00e9es textuelles est d\u2019\u00e9liminer les mots vides (un, une, le, la, etc.). M\u00eame si ce pr\u00e9traitement est mentionn\u00e9, la composition exacte du dictionnaire de mots vides utilis\u00e9 n\u2019est jamais pr\u00e9cis\u00e9e. Or, l\u2019ajout de quelques mots cl\u00e9s \u00abbien choisis\u00bb influence le r\u00e9sultat du pr\u00e9traitement et donc, par voie de cons\u00e9quence, les r\u00e9sultats finaux.\",\"id\":\"f93264d8-8925-4b2b-9271-fc86d19ca6ce\"},{\"content\":\"Les logiciels sont d\u00e9velopp\u00e9s gr\u00e2ce \u00e0 des langages de programmation qui permettent d\u2019\u00e9crire les instructions qui devront \u00eatre ex\u00e9cut\u00e9es par l\u2019ordinateur. L\u2019ensemble des instructions d\u2019un programme \u00e9crites dans un langage de programmation s\u2019appelle le code source du programme.\",\"id\":\"2455df96-f421-4706-a17d-553c766e9aa2\"},{\"content\":\"J\u2019ai utilis\u00e9 le logiciel open source\u00a0<em>SLOCCount<\/em>\u00a0pour estimer l\u2019effort de d\u00e9veloppement de ma propre implantation de l\u2019algorithme.\",\"id\":\"b9ca5087-9701-431e-99e8-bfeb65bb2292\"},{\"content\":\"Un effet de bord se produit lorsqu\u2019un composant logiciel modifie inopin\u00e9ment des \u00e9tats du programme (comme la valeur de variables) qui influencent d\u2019autres composants.\",\"id\":\"9347e6eb-d5b4-4fd8-a6b8-9a1bc3bbbc73\"},{\"content\":\"On peut d\u00e9composer cette t\u00e2che en sous-t\u00e2ches reprenant l\u2019extraction des donn\u00e9es brutes et leur transformation en donn\u00e9es utilisables par ou plusieurs pr\u00e9traitements.\",\"id\":\"cc4a8dd7-dc1c-4ba6-a3ed-ec53a7944682\"},{\"content\":\"En 1999, la NASA perd la sonde\u00a0<em>Mars Climate Orbiter<\/em>, qui avait co\u00fbt\u00e9 la bagatelle de $ 654 millions, \u00e0 cause d\u2019une erreur de navigation. Cette derni\u00e8re \u00e9tait due \u00e0 un bogue dans le logiciel embarqu\u00e9 relatif \u00e0 la conversion des unit\u00e9s.\",\"id\":\"804b3524-a74a-4841-8462-7afe3c473ab2\"},{\"content\":\"Souvent, les diff\u00e9rents cours sont associ\u00e9s \u00e0 des travaux pratiques ind\u00e9pendants focalis\u00e9s sur un tout petit aspect, souvent ultra-pointu. La mise en place de projets personnels plus ambitieux, de pr\u00e9f\u00e9rence coupl\u00e9s \u00e0 des initiatives plus importantes, apporterait une r\u00e9elle plus-value aux formations actuelles.\",\"id\":\"24509d83-53e3-455d-a453-d5fbc533ffe2\"},{\"content\":\"L\u2019\u00e9valuation acad\u00e9mique ne se base pas seulement sur le nombre de publications, mais \u00e9galement sur la qualit\u00e9 accord\u00e9e aux journaux dans lesquels elles sont publi\u00e9es. Actuellement, seul un nombre somme toute assez restreint de revues anglo-saxonnes sont consid\u00e9r\u00e9es comme de qualit\u00e9 (\u00abrevues de rang A\u00bb). En pratique, publier dans une revue qui n\u2019est pas per\u00e7ue comme \u00abbonne\u00bb ou ne rien publier du tout revient au m\u00eame.\",\"id\":\"ffabd9c0-d0ed-4a6c-9c5d-ed693296631a\"},{\"content\":\"Loin des discours officiels d\u2019universit\u00e9s \u00abancr\u00e9es dans la Cit\u00e9\u00bb, les aspects d\u2019enseignement et de service \u00e0 la communaut\u00e9 rentrent tr\u00e8s rarement en compte lors de l\u2019\u00e9valuation d\u2019un dossier acad\u00e9mique.\",\"id\":\"84b6d2f2-25b2-4e6a-9681-957fe9d929a6\"}]"},"categories":[2],"tags":[15,96,97],"class_list":["post-1552","post","type-post","status-publish","format-standard","hentry","category-techno","tag-architecture","tag-economy","tag-social"],"views":21,"_links":{"self":[{"href":"https:\/\/www.francq.info\/index.php\/wp-json\/wp\/v2\/posts\/1552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.francq.info\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.francq.info\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.francq.info\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.francq.info\/index.php\/wp-json\/wp\/v2\/comments?post=1552"}],"version-history":[{"count":8,"href":"https:\/\/www.francq.info\/index.php\/wp-json\/wp\/v2\/posts\/1552\/revisions"}],"predecessor-version":[{"id":2822,"href":"https:\/\/www.francq.info\/index.php\/wp-json\/wp\/v2\/posts\/1552\/revisions\/2822"}],"wp:attachment":[{"href":"https:\/\/www.francq.info\/index.php\/wp-json\/wp\/v2\/media?parent=1552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.francq.info\/index.php\/wp-json\/wp\/v2\/categories?post=1552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.francq.info\/index.php\/wp-json\/wp\/v2\/tags?post=1552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}