forges-esr/intro-etatdeslieux.md
2024-09-29 15:06:23 +02:00

14 KiB
Raw Blame History


title: "Forges de l’Enseignement supĂ©rieur et de la Recherche" subtitle: DĂ©finition, usages, limitations rencontrĂ©es et analyse des besoins author: "CollĂšge Codes sources et logiciels du ComitĂ© pour la science ouverte" date: Mai 2023 logo: ouvrirlasciencelogo.jpg

cspell:disable

mainfont: Marianne

cspell:enable

toc-title: Sommaire titlepage-background: "fond_ouvrir_la_science.jpg{=latex}" titlepage-text-color: 5A28C8 titlepage-rule-color: 5A28C8 section-color: 5A28C8 caption-color: 5A28C8 table-use-row-colors: true logo-width: 12cm colorlinks: true book: true classoption: oneside

draft: Document de travail

cspell:disable

header-includes: | \usepackage{tcolorbox} \tcbuselibrary{theorems} \definecolor{box-color1}{HTML}{bbfae9} \newtcbtheorem{observation}{Observation}{left=.3cm,right=.3cm,toptitle=.3cm,bottom=.3cm,middle=.1cm,colback=box-color1,colframe=box-color1,coltitle=black,fonttitle=\bfseries}{th} \definecolor{box-color2}{HTML}{eaeaea} \newtcbtheorem{autre}{À noter aussi }{left=.3cm,right=.3cm,toptitle=.3cm,bottom=.3cm,middle=.1cm,colback=box-color2,colframe=box-color2,coltitle=black,fonttitle=\bfseries}{th} \usepackage[labelfont={color=box-color1,bf},textfont={color=box-color1}]{caption} \definecolor{bar-color1}{HTML}{7846ff} \definecolor{bar-color2}{HTML}{ffe552} \definecolor{coso-title-color}{HTML}{5A28C8} \usepackage{enumitem} \usepackage{titlesec} \usepackage{moresize} \newcommand{\hsp}{\hspace{20pt}} \titleformat{name=\chapter}[hang]{\Huge\bfseries}{\thechapter\hsp|\hsp}{0pt}{\Huge\bfseries} \titlespacing*{\chapter}{-1.5cm}{10pt}{10pt} \titleformat{name=\chapter,numberless}[hang]{\color{coso-title-color}\HUGE\bfseries}{}{0pt}{\color{coso-title-color}\HUGE\bfseries} \titlespacing*{\chapter}{-1.5cm}{10pt}{10pt} \usepackage{wrapfig} \usepackage{afterpage} \usepackage{authoraftertitle} \hyphenation{ac-ti-vi-tĂ© ac-ti-vi-tĂ©s} \hyphenation{an-cien-nes} \hyphenation{DevLog GitLab OpenAI} \hyphenation{col-la-bo-ra-tion col-la-bo-ra-tions} \hyphenation{comp-ta-bi-li-sĂ© comp-ta-bi-li-sĂ©s comp-ta-bi-li-sĂ©e comp-ta-bi-li-sĂ©es} \hyphenation{de-ve-nue} \hyphenation{Dis-co-ve-ry} \hyphenation{dis-po-ni-bles} \hyphenation{En-sei-gne-ment} \hyphenation{Ă©vo-luent} \hyphenation{exem-ple exem-ples} \hyphenation{exi-gen-ce exi-gen-ces} \hyphenation{exis-te exis-tent} \hyphenation{fa-ci-li-tĂ©} \hyphenation{fonc-tion-na-li-tĂ© fonc-tion-na-li-tĂ©s} \hyphenation{gĂ©-nĂ©-ra-li-sa-tion} \hyphenation{in-con-tour-na-ble in-con-tour-na-bles} \hyphenation{ins-tan-ce ins-tan-ces} \hyphenation{ins-tau-rer} \hyphenation{ins-ti-tu-tion} \hyphenation{li-mi-tĂ© li-mi-tĂ©s} \hyphenation{maxi-mum} \hyphenation{orien-tĂ©es} \hyphenation{par-ta-gea-ble} \hyphenation{per-mettre per-mettant} \hyphenation{pro-blĂš-me pro-blĂš-mes} \hyphenation{pu-blic} \hyphenation{qua-li-tĂ©} \hyphenation{re-la-ti-ve-ment} \hyphenation{respect} \hyphenation{rĂ©a-li-sant} \hyphenation{ti-cket ti-ckets} \hyphenation{tui-la-ge} \hyphenation{usa-ge} \hyphenation{uti-li-sa-teur uti-li-sa-teurs} \hyphenation{uti-li-sĂ©es} \newcommand{\nbforgestotal}{81} \newcommand{\nbforgesgitlab}{72}

cspell:enable

include-before: | \newpage \newgeometry{margin=0.5in} \color{coso-title-color}{\HUGE\thetitle}

\color{coso-title-color}{\Huge Définition, usages, limitations rencontrées et analyse des besoins}

\color{black} \Large \par\noindent\rule{1.5cm}{1.5pt} CollÚge codes sources et logiciels du Comité pour la science ouverte \par\noindent\rule{1.5cm}{1.5pt} GT 2: Outils et bonnes pratiques techniques et sociales

Daniel LE BERRE (co-pilote GT2)
Université d'Artois/CNRS

Jean-Yves JEANNAS (co-pilote GT2)
Université de Lille/AFUL

Roberto DI COSMO (co-pilote du collĂšge)
Inria/Université Paris Cité

François PELLEGRINI (co-pilote du collÚge)
Université de Bordeaux/CNRS/CNIL

\par\noindent\rule{1.5cm}{1.5pt}

\MyDate

\par\noindent\rule{1.5cm}{1.5pt} \vfill DOI : 10.52949/34 \vfill \normalsize Conception graphique : opixido

\noindent\begin{minipage}{0.2\textwidth} \includegraphics{ccby.png} \end{minipage} \begin{minipage}{0.75\textwidth}\raggedright Except where otherwise noted, this work is licensed under https://creativecommons.org/licenses/by-nd/4.0/deed.fr \end{minipage} \vfill \clearpage \restoregeometry

Résumé

LancĂ©e en 1999, la premiĂšre forge logicielle, SourceForge, a Ă©tĂ© conçue pour permettre aux dĂ©veloppeurs de logiciels libres de construire leurs logiciels de maniĂšre collaborative et de les diffuser auprĂšs de leurs utilisateurs. Depuis, les forges logicielles sont devenues un outil incontournable pour tous les dĂ©veloppeurs de logiciels. Elles intĂšgrent les outils de dĂ©veloppement collaboratif (pour le suivi des modifications du code, la gestion des demandes et des rĂ©ponses d’utilisateurs - tickets -, la gestion des contributions, la gestion du projet), l’industrialisation du processus de crĂ©ation du logiciel Ă  partir de son code source (compilation, tests automatiques, assurance qualitĂ©, diffusion des livrables) et des outils de communication comme des forums.

Une forge logicielle, c’est aussi un rĂ©seau social de dĂ©veloppeurs. DĂšs que l’on souhaite favoriser l’utilisation et les contributions autour d’un logiciel, se pose la question de choisir la forge en fonction du public, du rĂ©seau visĂ©. On peut viser un public de dĂ©veloppeurs de l’Enseignement supĂ©rieur et de la Recherche français ou international. Il existe des fĂ©dĂ©rations d’identitĂ© comme RENATER ou eduGAIN qui permettent depuis longtemps ces collaborations. Plusieurs forges de l’Enseignement supĂ©rieur et de la Recherche donnent accĂšs Ă  ces rĂ©seaux de collaboration. Si l’on souhaite ouvrir et partager les codes sources issus de la recherche avec la sociĂ©tĂ© dans son ensemble, deux alternatives existent : les forges communautaires libres ou les forges commerciales. Les forges communautaires libres permettent de diffuser au sein d’une communautĂ© un logiciel libre qui a Ă©tĂ© cooptĂ© par cette communautĂ©. La difficultĂ© est donc de trouver une communautĂ© adaptĂ©e au logiciel que l’on dĂ©veloppe. Les forges commerciales offrent de nombreuses fonctionnalitĂ©s, avec trĂšs peu de contraintes, et souvent de nombreux services quand les logiciels dĂ©veloppĂ©s sont diffusĂ©s sous une licence libre. Parmi ces forges commerciales GitHub, propriĂ©tĂ© de Microsoft est la plus utilisĂ©e, suivi de BitBucket, propriĂ©tĂ© d’Atlassian, et de GitLab, propriĂ©tĂ© de GitLab Inc.

Certaines forges, communautaires ou commerciales comme GitLab, peuvent ĂȘtre auto-hĂ©bergĂ©es par des Ă©tablissements de l’Enseignement supĂ©rieur et de la Recherche, certains disposant ainsi de leur propre forge publique. Cet Ă©tat des lieux en comptabilise \nbforgestotal auxquelles s’ajoutent les forges Ă  usage interne. Ces forges auto-hĂ©bergĂ©es sont souvent simples Ă  installer : d’un simple exĂ©cutable pour des solutions comme Gogs, Gitea ou Forgejo, Ă  un ensemble de logiciels prĂ©configurĂ©s intĂ©grĂ©s Ă  une distribution Linux pour GitLab par exemple. GitLab est en effet une forge commerciale (gitlab.com) basĂ©e sur un logiciel libre de forge que l’on peut installer sur ses propres serveurs. Le modĂšle Ă©conomique de GitLab Inc. est basĂ© sur la vente de licences pour apporter des fonctionnalitĂ©s supplĂ©mentaires aux utilisateurs du service en ligne ou des administrateurs des forges auto-hĂ©bergĂ©es.

De fait, l’installation d’une forge auto-hĂ©bergĂ©e pour du dĂ©veloppement collaboratif interne nĂ©cessite peu de moyens humains ou matĂ©riels, et offre une large palette de solutions. Par contre, dĂšs que l’on souhaite s’ouvrir sur l’extĂ©rieur, intĂ©grer des solutions d’industrialisation du dĂ©veloppement logiciel, mettre en place des bonnes pratiques de dĂ©veloppement, un effort plus consĂ©quent est nĂ©cessaire et le choix de la solution peut ĂȘtre guidĂ© par des critĂšres diffĂ©rents : popularitĂ© de la plateforme, fonctionnalitĂ©s offertes, robustesse.

Dans l’enseignement supĂ©rieur et la recherche, les dĂ©veloppeurs de logiciels soutiens ou issus de travaux de recherche ont le choix entre diverses forges pour hĂ©berger leur production logicielle. Si leur Ă©tablissement dispose d’une forge, c’est la solution la plus simple, surtout si aucune interaction en dehors de l’établissement n’est nĂ©cessaire.

Quand un besoin d’interaction plus important est nĂ©cessaire, les communautĂ©s qui dĂ©veloppent des logiciels de recherche se tournent frĂ©quemment vers les forges commerciales en ligne, comme en tĂ©moignent les laurĂ©ats du premier prix science ouverte du logiciel libre de recherche : 9 projets hĂ©bergĂ©s sur GitHub et un projet hĂ©bergĂ© sur SourceForge. L’effet rĂ©seau social « on va ou il y a le plus de monde », et la portĂ©e internationale des projets justifient ce choix. Il faut cependant se souvenir qu’une forge commerciale peut disparaĂźtre en peu de temps : ce fĂ»t le cas pour la forge de google, Google Code, dont l’activitĂ© a cessĂ© au bout de neuf annĂ©es d’existence, en quelques mois. La mĂȘme mĂ©saventure est arrivĂ©e Ă  la solution d’hĂ©bergement Gitorious. De plus, ces forges ont des conditions d’utilisation que chaque membre doit accepter Ă  titre individuel et non au titre de son Ă©tablissement.

Les forges auto-hĂ©bergĂ©es sont un moyen de minimiser ce genre de problĂšme. Il peut cependant aussi arriver que la solution choisie ne soit plus maintenue, ou dĂ©veloppĂ©e sous une licence libre : c’est arrivĂ© avec le code de SourceForge, maintenu dans une version communautaire sous le nom de GForge, qui a lui mĂȘme changĂ© de licence, pour ĂȘtre maintenu dans une version communautaire sous le nom de FusionForge, pour arriver Ă  un logiciel peu dĂ©veloppĂ© maintenant (la derniĂšre version du logiciel date de 2018).

Le choix de l’auto-hĂ©bergement, et de la forge utilisĂ©e, n’est donc pas anodin. Sur les \nbforgestotal forges rĂ©pertoriĂ©es, \nbforgesgitlab sont des instances de GitLab (les autres forges utilisent FusionForge, Gitea, Gogs, Redmine, Trac ou Tuleap). On peut expliquer cette domination de GitLab par sa simplicitĂ© d’installation et de maintenance et la richesse des fonctionnalitĂ©s offertes.

L’intĂ©rĂȘt de disposer d’une forge spĂ©cifique Ă  l’Enseignement supĂ©rieur et de la Recherche, quelle que soit l’échelle (Ă©tablissement, nationale, europĂ©enne, internationale) se pose donc. Les forges d’établissement apportent une rĂ©ponse quand le dĂ©veloppement est interne Ă  l’établissement et qu’une forge d’établissement existe. On maĂźtrise dans ce cas les fonctionnalitĂ©s offertes, et l’accĂšs aux donnĂ©es, par contre cela n'autorise que trĂšs peu ou pas le dĂ©veloppement entre plusieurs Ă©tablissements. Quand une forge d'Ă©tablissement n'existe pas ou n'offre pas aux porteurs de projets d'inviter des contributeurs externes, une forge nationale ou europĂ©enne permettrait d’offrir une alternative Ă  l’utilisation des forges commerciales.

Au milieu des annĂ©es 2000, une forge nationale, SourceSup, a Ă©tĂ© mise en place par RENATER pour dĂ©passer ces restrictions d’interaction. Cependant, cette forge, qui reprĂ©sentait l’état de l’art lors de sa crĂ©ation, propose dĂ©sormais Ă  ses utilisateurs une collection d’outils qui sort des standards de dĂ©veloppement actuels.

Cet Ă©tat des lieux dresse le panorama des forges et pratiques existantes et met en avant un certain nombre d’observations et de points de vigilance sur la situation actuelle.

...

Introduction

Ce rapport porte sur les forges logicielles utilisĂ©es dans les Ă©tablissements de l’enseignement supĂ©rieur et de la recherche (ESR). En particulier, il s'intĂ©resse aux pratiques et aux besoins, en terme de gĂ©nie logiciel, pour valoriser au mieux les productions logicielles issues de la science ouverte. L’objectif de ce document est de faire un premier Ă©tat des lieux des forges logicielles utilisĂ©es dans l’Enseignement supĂ©rieur et la recherche français et d’identifier les moyens de rendre plus visibles les productions logicielles issues de la science ouverte.

Les forges logicielles sont principalement conçues pour gĂ©rer sur tout leur cycle de vie les diffĂ©rents artĂ©facts associĂ©s aux activitĂ©s de gĂ©nie logiciel, comme le code source, les fichiers binaires ou encore les documentations. Les forges peuvent aussi ĂȘtre utilisĂ©es pour la rĂ©daction collaborative d’articles scientifiques ou de documentation, ou encore de pages web, Ă  l’aide d’outils de transformation de fichiers textes faiblement structurĂ©s (par exemple, Markdown et AsciiDoc). Ces activitĂ©s nĂ©cessitent de plus une intĂ©gration continue avec les outils de transformation, de dĂ©ploiement et de publication ouverte du code source, de la documentation. Ce document n’est donc pas strictement limitĂ© au logiciel proprement dit, son code source et ses binaires, mais Ă  la gestion de tous les artefacts produits et Ă©changĂ©s pour produire un logiciel de qualitĂ©, partageable et rĂ©utilisable. Les forges logicielles sont aussi utilisĂ©es pour partager des donnĂ©es, des modĂšles, de maniĂšre collaborative. Leur usage impacte donc les trois piliers de la science ouverte.

Notons que cette analyse ne concerne que les besoins de l’activitĂ© recherche de l’Enseignement supĂ©rieur et de la Recherche. Elle ne concerne pas les besoins de forges en enseignement, ni ceux des outils de systĂšme d’information pour le fonctionnement des Ă©tablissements. Il s’agit en premier lieu de faire un Ă©tat des lieux des pratiques actuelles et des propositions d’actions afin de favoriser de bonnes pratiques de dĂ©veloppement et de valorisation de la production logicielle. Cette proposition d’action s’appuie sur une analyse des limitations actuelles, et une premiĂšre estimation des besoins communs.

Ce document structurĂ© autour de trois chapitres prĂ©cise pour tous le rĂŽle des forges logicielles et dresse pour les publics avertis en dĂ©veloppement logiciel un premier Ă©tat des lieux des forges de l’Enseignement supĂ©rieur et de la Recherche et de leurs usages. Sur la base de l’analyse des limitations rencontrĂ©es par les Ă©tablissements de l’Enseignement supĂ©rieur et de la Recherche, des premiĂšres pistes d’action sont suggĂ©rĂ©es.