diff --git a/etatdeslieux.md b/etatdeslieux.md index 5d55064..0e1f254 100644 --- a/etatdeslieux.md +++ b/etatdeslieux.md @@ -67,7 +67,7 @@ Publication et maintenance de sites web Rédaction d'articles scientifiques -: en utilisant des outils de composition de documents tels que LaTeX, en passant éventuellement par un langage semi-structuré comme markdown, asciidoc ou reStructuredText plus simple à appréhender comme source ; +: en utilisant des outils de composition de documents tels que LaTeX, en passant éventuellement par un langage semi-structuré comme Markdown, AsciiDoc ou reStructuredText plus simple à appréhender comme source ; Partage de données, de modèles @@ -103,7 +103,7 @@ Il est important de pouvoir accueillir ce type de projets. Dans ce cadre, l'outi Plus généralement, il est aussi important, pour certains projets, de pouvoir interagir avec des utilisateurs hors Enseignement supérieur et Recherche (collecte de retours via des « tickets », contribution de code, de documentation). C'est un facteur décisif pour qu'une communauté d'utilisateurs et de contributeurs puisse se développer autour de ces logiciels. \end{observation} -La modularité et la construction de logiciels par l'intégration de composants (c'est-à-dire d'autres briques logicielles), rendus disponibles grâce au cadre de la science ouverte et une diffusion libre, sont aussi des vecteurs facilitateurs de collaborations, disciplinaires comme interdisciplinaires. +La modularité et la construction de logiciels par l'intégration de composants (c'est-à-dire d'autres briques logicielles), rendues disponibles grâce au cadre de la science ouverte et une diffusion libre, sont aussi des vecteurs facilitateurs de collaborations, disciplinaires comme interdisciplinaires. Les logiciels libres de la recherche peuvent aussi servir de sujets d'étude pour les chercheurs en génie logiciel. Les rendre accessibles sur une forge bien identifiée favoriserait leur réutilisation dans ce cadre. De plus, en intégrant l’état de l’art en matière de génie logiciel (analyse statique de code, tests, assurance qualité, documentation, etc.), une forge académique permettrait à l'ensemble de la communauté de profiter des nouvelles avancées dans ce domaine. @@ -124,7 +124,7 @@ Une stratégie minimaliste est de diffuser le logiciel en l'état, sans favorise Une stratégie plus volontariste est de diffuser le logiciel sur une forge, pour permettre des retours d'autres utilisateurs (notamment via un système de tickets). Il est alors préférable de réaliser en amont un effort de documentation sur le fonctionnement et la construction du logiciel, pour éviter des sollicitations fréquentes sur ces sujets. Il s'agit ici d'une véritable approche de valorisation du logiciel. De plus en plus de projets de recherche intègrent cet aspect durant le déroulement du projet. -Une stratégie accomplie est d'ouvrir le développement même du logiciel, pour faciliter les contributions d'autres développeurs (au travers des MR/PR). Il est alors pertinent de documenter le fonctionnement interne du logiciel pour faciliter la plongée dans le code, par exemple en rédigeant un « manuel de maintenance ». Il est aussi utile de documenter le processus de contribution: style de code attendu, processus de soumission de MR/PR, de relecture de code, fonctionnement de la CI, accord de cession de droits d'auteur, etc. Les forges permettent généralement de faciliter ce processus, pour favoriser les contributions. Cela peut être décisif dans la prise d'envol d'un projet logiciel, dont la maintenance et le développement peuvent alors être supportés par une communauté internationale (bénéficiant donc d'une puissance de travail importante), plutôt que la seule équipe de recherche à l'origine du logiciel (avec ses moyens limités). +Une stratégie accomplie est d'ouvrir le développement même du logiciel, pour faciliter les contributions d'autres développeurs (au travers des MR/PR). Il est alors pertinent de documenter le fonctionnement interne du logiciel pour faciliter la plongée dans le code, par exemple en rédigeant un « manuel de maintenance ». Il est aussi utile de documenter le processus de contribution : style de code attendu, processus de soumission de MR/PR, de relecture de code, fonctionnement de la CI, accord de cession de droits d'auteur, etc. Les forges permettent généralement de faciliter ce processus, pour favoriser les contributions. Cela peut être décisif dans la prise d'envol d'un projet logiciel, dont la maintenance et le développement peuvent alors être supportés par une communauté internationale (bénéficiant donc d'une puissance de travail importante), plutôt que la seule équipe de recherche à l'origine du logiciel (avec ses moyens limités). Les forges utilisées pour le déroulement du projet et pour la valorisation du logiciel peuvent être différentes, afin de s'adapter aux besoins respectifs de ces deux versants. @@ -231,7 +231,7 @@ Récemment, le ministère de l’éducation nationale et de la jeunesse a annonc \textit{Par ailleurs, les communautés d’enseignants (et d’autres acteurs de l’éducation) peuvent également être des lieux de construction de nouveaux outils. Des professeurs, notamment -de NSI ou de SNT, sont en attente d’une «forge» qui leur permettrait de collaborer entre pairs +de NSI ou de SNT, sont en attente d’une « forge » qui leur permettrait de collaborer entre pairs et de partager du code informatique. Le ministère répond dorénavant à ce besoin avec la mise à disposition d’une forge technologiquement souveraine et mutualisée à l’échelle nationale.} \end{autre*} @@ -277,7 +277,7 @@ On peut noter, à la fin des années 2010, le passage de la technologie GForge/F ### Pourquoi tant de forges auto-hébergées ? -Il est difficile de répondre à cette question car il existe sans doute de nombreuses raisons à cet état de fait. Il est néanmoins possible d'avancer quelques éléments susceptible d'expliquer cette situation. +Il est difficile de répondre à cette question car il existe sans doute de nombreuses raisons à cet état de fait. Il est néanmoins possible d'avancer quelques éléments susceptibles d'expliquer cette situation. Tout d'abord, on peut noter que la quasi-totalité des forges répertoriées sont des instances de GitLab. Ce logiciel est très simple à installer et à maintenir, et n'est pas gourmand en ressources informatiques. Il peut donc être facilement déployé dans un établissement à moindre coût, humain et financier. @@ -301,7 +301,7 @@ Plus récemment, Eclipse a décidé de migrer vers GitLab sa plateforme techniqu > *If Eclipse projects want any hope of drawing those fresh young minds into their open source world, and turning casual explorers into productive contributors, it needs to be as simple as pulling a Minecraft mod. It needs to be on GitHub, or on a modern stack that works just like it, such as GitLab.* -Pour résumer, les pratiques de développement ont évolué de façon significative, avec le passage rapide en quelques années des forges orientées utilisateurs aux forges orientées développeurs qui ont mis au centre de l’attention le code source et facilité l’adoption massive de l’approche de contribution via les *forks* et les *pull requests* ou *merge requests*. +Pour résumer, les pratiques de développement ont évolué de façon significative, avec le passage rapide en quelques années des forges orientées utilisateurs aux forges orientées développeurs qui ont mis au centre de l’attention le code source et facilité l’adoption massive de l’approche de contribution via les *forks* et les *pull requests* ou *merge requests*. \begin{observation}{}{} Un défi majeur pour une forge nationale est donc de surveiller activement les évolutions des usages et des solutions techniques, et d’engager les transformations nécessaires pour permettre d’offrir à tous les utilisateurs un environnement familier et cohérent avec les outils qu’ils utilisent lorsqu'ils collaborent sur d’autres projets logiciels. @@ -313,17 +313,17 @@ En l’absence d’une stratégie ambitieuse dans ce sens, et au vu de la facili ### Difficulté d'interaction avec la société -La principale limitation des forges disponibles actuellement dans l'Enseignement supérieur et de la Recherche est le fait que le public de ces forges ((c'est-à-dire les personnes pouvant créer un compte) est limité : la plupart des instances de forges disponibles ne permettent pas à une personne extérieure à l'Enseignement supérieur et de la Recherche de créer elle-même un compte sur ces plateformes. Il existe donc un frein à l'interaction avec la société. +La principale limitation des forges disponibles actuellement dans l'Enseignement supérieur et de la Recherche est le fait que le public de ces forges (c'est-à-dire les personnes pouvant créer un compte) est limité : la plupart des instances de forges disponibles ne permettent pas à une personne extérieure à l'Enseignement supérieur et de la Recherche de créer elle-même un compte sur ces plateformes. Il existe donc un frein à l'interaction avec la société. Si certaines de ces forges permettent la création de comptes externes, elles sont souvent difficiles d’accès (par exemple, pour `gitlab.inria.fr`, un compte externe doit être « parrainé » par une personne membre d’une équipe-projet Inria) et limitées (le compte externe GitLab ne permet pas de créer ses propres projets). Il est donc souvent impossible, ou à tout le moins très difficile, de proposer des changements avec ce genre de compte, car cela nécessite d'effectuer un *fork* du projet original, et donc de créer un projet propre sur la forge. Rapporter un bogue nécessite d’avoir obtenu un compte au préalable, ce qui peut être rédhibitoire. -> L'approche d'OW2 est pragmatique : elle permet à chacun de créer un compte sur sa plateforme, mais limite par défaut à deux le nombre de créations de nouveaux projets. Cela permet à un utilisateur d'un logiciel OW2 d'interagir facilement avec le système de tickets et de pouvoir proposer une contribution de code. Les gestionnaires de la forge ont pu constater que cette ouverture par défaut n'est pas une source de création de comptes fantômes. OW2 délègue cependant la création de comptes à son annuaire, et pas directement à sa forge. +> L'approche d'OW2 est pragmatique : elle permet à chacun de créer un compte sur sa plateforme, mais limite par défaut à deux le nombre de créations de nouveaux projets. Cela permet à un utilisateur d'un logiciel OW2 d'interagir facilement avec le système de tickets et de pouvoir proposer une contribution de code. Les gestionnaires de la forge ont pu constater que cette ouverture par défaut n'est pas une source de création de comptes fantômes. OW2 délègue cependant la création de comptes à son annuaire, et pas directement à sa forge. > RENATER propose la création d'un [compte réseau universel (CRU)](https://services.renater.fr/federation/outils/comptes-cru/index) pour permettre aux personnes extérieures à l'Enseignement supérieur et de la Recherche d'accéder à ces services en acceptant ce fournisseur virtuel d'identité. > Certaines forges permettent l'authentification à l'aide du compte CRU. \begin{observation}{}{} -En général, les logiciels de forges tels que GitLab ne permettent pas de limiter la création de projets à de simples contributions (c'est-à-dire à des \textit{forks} de projets de la plateforme). Il n'y a pas non plus de moyen d'empêcher un utilisateur de déposer des des photos ou vidéos sur son espace de projet. +En général, les logiciels de forge tels que GitLab ne permettent pas de limiter la création de projets à de simples contributions (c'est-à-dire à des \textit{forks} de projets de la plateforme). Il n'y a pas non plus de moyen d'empêcher un utilisateur de déposer des photos ou vidéos sur son espace de projet. Or, permettre la création de projets à des personnes extérieures à l'établissement peut poser des problèmes juridiques, tels que de respect de \href{https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000042031970}{la loi du 24 juin 2020 relative à la lutte contre les contenus haineux sur Internet}. \end{observation} @@ -633,7 +633,7 @@ société toute entière. S’il existe bien une forge nationale pour l'Enseignement supérieur et la Recherche, SourceSup, son évolution fonctionnelle a divergé des pratiques d’une bonne partie des développeurs de -l'Enseignement supérieur et de la Recherche, et aucune évolution majeure n'est prévue à ce jour; sous sa forme actuelle, +l'Enseignement supérieur et de la Recherche, et aucune évolution majeure n'est prévue à ce jour ; sous sa forme actuelle, elle ne répond donc plus aux besoins exprimés. La disponibilité de solutions sous licences libres pour installer des forges qui diff --git a/intro-etatdeslieux.md b/intro-etatdeslieux.md index 25cbae8..ccd6ff5 100644 --- a/intro-etatdeslieux.md +++ b/intro-etatdeslieux.md @@ -121,9 +121,9 @@ include-before: | 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 artefacts associé 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. +Les forges logicielles sont principalement conçues pour gérer sur tout leur cycle de vie les différents artefacts 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 logiciels 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. +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.