# Modérer un dépôt logiciel dans HAL : dépôt source et dépôt SWHID

Sabrina Granger, Morane Gruenpeter, Alain Monteil, Estelle Nivault, Jozefina Sadowska

► To cite this version:

Sabrina Granger, Morane Gruenpeter, Alain Monteil, Estelle Nivault, Jozefina Sadowska. Modérer un dépôt logiciel dans HAL : dépôt source et dépôt SWHID. [Rapport Technique] Inria; CCSD; Software Heritage. 2022. hal-01876705v2

HAL Id: hal-01876705

https://inria.hal.science/hal-01876705v2

Submitted on 26 Oct 2022

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>
# Modérer un dépôt logiciel dans HAL :
dépôt source et dépôt SWHID

## Sommaire

<table><tr><td>I.</td><td>[Infos pratiques] Vos contacts au CCSD et à SWH</td><td>3</td></tr><tr><td>II.</td><td>[Introduction] Sigles et acronymes utilisés</td><td>3</td></tr><tr><td>III.</td><td>[Introduction] Comparatif des méthodes de dépôt</td><td>4</td></tr><tr><td>IV.</td><td>[Action] Modérer un dépôt source (MD + fichiers)</td><td>6</td></tr><tr><td>IV.1/</td><td>[dépôt source] Voir les dépôts type « Logiciel » à modérer dans HAL</td><td>7</td></tr><tr><td>IV.2/</td><td>[dépôt source] En phase initiale de modération : manipuler et analyser les fichiers</td><td>7</td></tr><tr><td></td><td>[dépôt source] Avant d'entamer la modération : s'assurer de travailler avec des outils à jour</td><td>7</td></tr><tr><td></td><td>[dépôt source] Télécharger les fichiers depuis HAL, analyser leur cohérence</td><td>8</td></tr><tr><td></td><td>[dépôt source] Identifier les éventuels intrus : s'agit-il bien de code source ?</td><td>10</td></tr><tr><td>IV.3/</td><td>[dépôt source] Au fil de la modération : cf. « Vérifier les métadonnées obligatoires » et « Métadonnées facultatives : vérifier et tester les liens »</td><td>10</td></tr><tr><td>IV.4/</td><td>[dépôt source] En phase finale de modération : mettre en ligne et transférer le dépôt vers SWH</td><td>11</td></tr><tr><td></td><td>[dépôt source] Avant de mettre en ligne le dépôt : faire le bilan du dépôt, contrôler le suivi des actions</td><td>11</td></tr><tr><td></td><td>[dépôt source] En phase finale : transférer vers SWH</td><td>11</td></tr><tr><td>IV.5/</td><td>[dépôt source] En cas de mise à jour ayant un impact sur les fichiers : demander au déposant un nouveau dossier zippé</td><td>12</td></tr><tr><td>V.</td><td>[Action] Modérer un dépôt SWHID</td><td>13</td></tr></table>
<table>
  <tbody>
    <tr>
      <td>V.1/ [dépôt SWHID] Voir les dépôts type « Logiciel » à modérer dans HAL</td>
      <td>14</td>
    </tr>
    <tr>
      <td>V.2/ [dépôt SWHID] Vérifier la validité du SWHID pour le dépôt dans HAL</td>
      <td>15</td>
    </tr>
    <tr>
      <td>V.3/ [dépôt SWHID] En phase initiale : accéder aux informations pour vérifier les métadonnées</td>
      <td>19</td>
    </tr>
    <tr>
      <td>V.4/ [dépôt SWHID] Au fil de la modération : cf. « Vérifier les métadonnées obligatoires » et « Métadonnées facultatives : vérifier et tester les liens »</td>
      <td>20</td>
    </tr>
    <tr>
      <td>V.5/ [dépôt SWHID] En cas de mise à jour ayant un impact sur les fichiers : demander au déposant d'actualiser l'archivage dans SWH (« Save again »)</td>
      <td>21</td>
    </tr>
    <tr>
      <td>V.6/ [dépôt SWHID] En phase finale de modération : faire le bilan du dépôt, mettre en ligne le dépôt sur HAL</td>
      <td>24</td>
    </tr>
    <tr>
      <td>VI. [Action] [dépôt source] [dépôt SWHID] Vérifier les MD obligatoires (type « Logiciel »)</td>
      <td>25</td>
    </tr>
    <tr>
      <td>VI.1/ [dépôt source] [dépôt SWHID] MD obligatoires hors « Auteurs » pour le type de document « logiciel »</td>
      <td>26</td>
    </tr>
    <tr>
      <td>VI.2/ [dépôt source] [dépôt SWHID] MD obligatoires : focus sur les MD auteurs</td>
      <td>28</td>
    </tr>
    <tr>
      <td>[dépôt source] [dépôt SWHID] MD auteurs : règles de base</td>
      <td>28</td>
    </tr>
    <tr>
      <td>[dépôt source] [dépôt SWHID] Gérer les auteurs multiples : le nombre d'auteurs dans la notice HAL ne correspond pas à celui du fichier AUTHORS</td>
      <td>29</td>
    </tr>
    <tr>
      <td>[dépôt source] [dépôt SWHID] Gérer les auteurs multiples : il y a plusieurs auteurs dans le fichier AUTHORS, mais seul un nom d'équipe est mentionné dans HAL</td>
      <td>31</td>
    </tr>
    <tr>
      <td>VII. [Action optionnelle] [dépôt source] [dépôt SWHID] MD facultatives : vérifier et tester les liens</td>
      <td>32</td>
    </tr>
    <tr>
      <td>VIII. [Action] [dépôt source] [dépôt SWHID] Dialoguer avec le déposant : les outils du modérateur</td>
      <td>34</td>
    </tr>
    <tr>
      <td>IX. [Aller + loin] Les concepts à maîtriser pour comprendre le processus général, dialoguer avec les déposants</td>
      <td>35</td>
    </tr>
    <tr>
      <td>Code source, logiciel : quelles différences ?</td>
      <td>35</td>
    </tr>
    <tr>
      <td>Qu'est-ce que le fichier README ? L'identifier, l'ouvrir, l'exploiter</td>
      <td>36</td>
    </tr>
    <tr>
      <td>Qu'est-ce que le fichier CodeMeta.json</td>
      <td>39</td>
    </tr>
    <tr>
      <td>Que signifie modérer des logiciels dans HAL ? Est-ce tester les logiciels ?</td>
      <td>40</td>
    </tr>
    <tr>
      <td>Différence entre HAL et SWH : pourquoi 1 seule plateforme ne suffit pas</td>
      <td>40</td>
    </tr>
  </tbody>
</table>
<table><tr><td>Quelle est la « politique documentaire » de SWH ? Que trouve-t-on dans SWH ?</td><td>42</td></tr><tr><td>Dialoguer avec les déposants : 1 ressource pour faire comprendre ce qu'est SWH en 1 diapo</td><td>42</td></tr><tr><td>X. Sélection de ressources pour les modérateurs et les déposants</td><td>43</td></tr><tr><td>XI. En savoir plus sur la collaboration CCSD et SWH</td><td>43</td></tr><tr><td>XII. Auteurs du guide</td><td>43</td></tr></table>

# I. [Infos pratiques] Vos contacts au CCSD et à SWH

<table><thead><tr><td></td><td>Dans quels cas de figure contacter cet interlocuteur ?</td><td>Contact</td></tr></thead><tbody><tr><td>CCSD</td><td>Infos sur les fonctionnalités de HAL, les formations, etc.</td><td>hal/support@ccsd.cnrs.fr</td></tr><tr><td>SWH</td><td>Infos sur SWH</td><td>deposit@softwareheritage.org</td></tr></tbody></table>

# II. [Introduction] Sigles et acronymes utilisés

- CCSD : Centre pour la Communication Scientifique Directe

- IES-Inria : Information et édition scientifique Inria

- MD : métadonnées

- SWH : Software Heritage

- SWHID : Software Heritage Identifier
### III. [Introduction] Comparatif des méthodes de dépôt

<table><thead><tr><th></th><th>Dépôt source</th><th>Dépôt SWHID</th></tr></thead><tbody><tr><td>Dans quel cas le déposant recourt-il à cette méthode ?</td><td>Le code source est :<br/>- développé localement<br/>- partagé via un site web classique personnel et/ou institutionnel, blog, etc. (tout type de site web, hors plateforme dédiée au développement logiciel)</td><td>Le code source est :<br/>- développé sur une plateforme collaborative (un auteur sans collaborateurs peut aussi choisir ce type d'outil pour bénéficier des fonctions de contrôle de version, de l'exposition offerte pour son logiciel) ; ex. GitHub, GitLab, BitBucket<br/>Le recours à ce type de solution est très largement répandu dans le monde académique. Votre institution propose peut-être une ou plusieurs plateformes de ce type : le savoir peut faciliter le dialogue avec les déposants potentiels.</td></tr><tr><td>Liste des éléments déposés dans HAL</td><td>1 archive compressée (.zip, .tar.gz)<br/>L'archive contient le code source ainsi que plusieurs fichiers descriptifs, qui seront utilisés lors de la modération.<br/>! au lieu d'un seul dossier zippé, plusieurs fichiers sont déposés ? Contacter le déposant pour clarifier les contenus. Les échanges ne clarifient pas la situation ? Contacter le CCSD.</td><td>Pas de fichiers, ni de dossier zippé<br/>! Si des fichiers sont disponibles alors qu'il s'agit d'un dépôt SWHID : contacter le déposant en indiquant que les fichiers sont normalement déjà archivés dans SWH et qu'il n'est pas nécessaire de faire un double dépôt.</td></tr></tbody></table>
<table><thead><tr><th></th><th>Dépôt source</th><th>Dépôt SWHID</th></tr></thead><tbody><tr><td></td><td>MD ajoutées manuellement dans le formulaire HAL</td><td>MD importées via l'identifiant dans le formulaire HAL<br>Le niveau de complétude des métadonnées est variable :<br>- Si fichier CodeMeta.json archivé dans SWH : les MD sont plus riches<br>- Pas de fichier CodeMeta.json : MD minimales<br>Le SWHID cliquable donne accès à l'arborescence des fichiers sources (vue similaire à celle qu'on obtient après l'extraction des fichiers de l'archive zippée, dans le cas du dépôt source)</td></tr><tr><td>Identifiants</td><td>! Pas de SWHID ajouté dans la notice<br>- D'autres types d'identifiants peuvent être ajoutés à la notice</td><td>! Un SWHID est obligatoirement présent<br>- D'autres types d'identifiants peuvent être ajoutés à la notice</td></tr></tbody></table>

<table><thead><tr><th>Name</th><th>Size</th><th>Modified</th></tr></thead><tbody><tr><td>Authors</td><td>18 bytes</td><td>13:51</td></tr><tr><td>License</td><td>35,1 kB</td><td>13:39</td></tr><tr><td>README.md</td><td>3,1 kB</td><td>13:39</td></tr><tr><td>bin</td><td>4 items</td><td>13:39</td></tr><tr><td>glpk_files</td><td>29 items</td><td>13:39</td></tr><tr><td>src</td><td>6 items</td><td>13:39</td></tr><tr><td>.git</td><td>11 items</td><td>13:39</td></tr></tbody></table>

Exemple de fichiers composant le dépôt :

- Si dépôt source : les fichiers sont extraits de l'archive zip téléchargée depuis HAL

- Si dépôt SWHID : les fichiers sont en ligne, sur SWH

Les fichiers AUTHORS, LICENSE, README s'ouvrent avec un éditeur de texte ou le bloc -notes. Ils contiennent du texte.
#### IV. [Action] Modérer un dépôt source (MD + fichiers)

<figure><img src="image_2.png" /></figure>

<figure><img src="image_3.png" /></figure>

En cas de mise à jour ayant un impact sur les fichiers : demander au déposant un nouveau dossier zippé, qui remplace le précédent

Les principales étapes de la modération d'un dépôt source
## IV.1/ [dépôt source] Voir les dépôts type « Logiciel » à modérer dans HAL

HAL > Privilèges > Modération > Vérifier

<figure><img src="image_4.png" /></figure>

2 options pour voir les dépôts de type « logiciel » en attente de modération : trier par type de document à l'aide des flèches ou saisir « software » dans la boîte de recherche

## IV.2/ [dépôt source] En phase initiale de modération : manipuler et analyser les fichiers

[dépôt source] Avant d'entamer la modération : s'assurer de travailler avec des outils à jour

<table><thead><tr><th>A faire</th><th>A ne pas faire</th></tr></thead><tbody><tr><td>– Mes outils de travail sont à jour : éditeur de texte, navigateur, anti-virus, etc. L'enjeu est de sécuriser son environnement de travail.</td><td>! Ouvrir les fichiers exécutables (.exe)</td></tr></tbody></table>
[dépôt source] Télécharger les fichiers depuis HAL, analyser leur cohérence

Depuis la notice HAL en attente de modération :

<figure><img src="image_5.png" /></figure>

1/ Depuis HAL,
télécharger en local le
dossier zippé
(Taille max. : 200 M0)

2/ Extraire les fichiers sur
son poste.
Vue des fichiers extraits.
<figure><img src="image_6.png" /></figure>

! Ne pas télécharger :
Dépôt non conforme.
Vous devez avoir 1 seul dossier zippé.

Contacter le déposant :
ex. d'infos à fournir : « Tous les fichiers doivent être regroupés dans 1 seule archive compressée. »

A ce stade, si vous rencontrez un ou plusieurs des cas de figure ci-dessous, contacter le déposant. Ces cas ne sont pas exclusifs l'un de l'autre.

! Scénario « Les poupées russes » : le fichier zip contient un fichier zip

! Scénario « Le fichier qui en voulait trop » : la taille d'un des fichiers extraits > 1 GB.
[dépôt source] Identifier les éventuels intrus : s'agit-il bien de code source ?

! Scénario « Vous ici ? » : en vous aidant de cette liste<fnref n="1" />, vous identifiez une extension correspondant à un format vidéo ? Contacter le déposant. Cette étape consiste à vérifier s'il s'agit vraiment d'un code logiciel.

En effet, le déposant peut se tromper sur le type de document. Ex. de types de documents propices aux erreurs : base de données, jeux de données, data paper, etc.

<table><thead><tr><th>Name</th><th>Description</th><th>Size</th><th>Modified</th></tr></thead><tbody><tr><td>La.Classe.americaine.1993[2010... .mat</td><td>Matroska video</td><td>2.6 KiB</td><td>02/23/2018 11:34</td></tr><tr><td>La.Classe.americaine.1993[2010... .subrip</td><td>SubRip subtitles</td><td>88.6 KiB</td><td>02/23/2018 11:27</td></tr><tr><td>README.nfo.txt</td><td>plain text document</td><td>10.0 KiB</td><td>02/23/2018 11:27</td></tr></tbody></table>

Plusieurs problèmes sont identifiables sur cette capture. La taille d'un fichier (> 1GB) ET son format (vidéo).

L'indication de l'extension de fichier ne suffit toutefois pas à trancher de manière certaine s'il s'agit ou non de code source. Des démarches complémentaires peuvent être nécessaires de la part du modérateur : cf. FAQ pour des compléments d'information.

IV.3/ [dépôt source] Au fil de la modération : cf. « Vérifier les métadonnées obligatoires » et « Métadonnées facultatives : vérifier et tester les liens »

Voir les rubriques dédiées aux métadonnées. Cette étape du travail est commune au dépôt source et au dépôt SWHID. La seule différence est l'emplacement des sources pour vérifier les informations dans les champs de HAL.

<footnote n="1">¹ https://en.wikipedia.org/wiki/Video_file_format</footnote>
## IV.4/ [dépôt source] En phase finale de modération : mettre en ligne et transférer le dépôt vers SWH

[dépôt source] Avant de mettre en ligne le dépôt : faire le bilan du dépôt, contrôler le suivi des actions

<figure><img src="image_7.png" /></figure>

Faire le bilan du dépôt (conseillé mais pas obligatoire) :

Annoter le dépôt pour expliquer les choix effectués, les spécificités : ex. infos sur un pseudonyme d'auteur, etc.

Vérifier à partir de l'historique des échanges si toutes les actions ont été effectuées.

### [dépôt source] En phase finale : transférer vers SWH

Le transfert vers SWH (MD et fichiers) intervient en phase finale de modération dans HAL. Il faut rester sur la page jusqu'au message de confirmation de mise en ligne sur HAL : le transfert peut prendre quelques minutes en fonction de la taille de l'archive et d'autres paramètres techniques.

Un message d'erreur s'affiche ? Contacter le CCSD : [hal/support@ccsd.cnrs.fr](mailto:hal/support@ccsd.cnrs.fr)
CONSULTER

<figure><img src="image_8.png" /></figure>

Software Heritage

swh:1:dir:0815e7933349cee2fdef8c7b24ee5c1a29115480;origin=https://hal.archives-ouvertes.fr/hal-03667186;visit=swh:1:snp:0360b8b8bc1de00c2520b7608470a50cd0491851;anchor=swh:1:rel:d2138dc681b43f7a31f9d6a2df9f46b04ed4ee8d;path=/

<figure><img src="image_9.png" /></figure>

Consulter

Exemple de SWHID issu d'un dépôt source

Dépôt en ligne sur SWH

Il n'apparaît plus dans la liste des dépôts à modérer.

Sur HAL, il apparaît sur l'interface publique ; le lien vers SWH n'apparaît pas immédiatement.

Pendant cette phase intermédiaire, c'est le dossier zippé et pas le lien vers SWH qui est disponible pour les utilisateurs finaux.

[interface publique HAL] A terme, le SWHID remplace le lien vers le dossier zippé.

Dépôt non mis en ligne sur SWH

Il reste dans la liste des dépôts à modérer.

– Contacter : [hal support@ccsd.cnrs.fr](mailto:hal support@ccsd.cnrs.fr) et [deposit@softwareheritage.org](mailto:deposit@softwareheritage.org)

Il s'agit d'un problème technique et non pas d'une question de validation des contenus.

Le message d'erreur est inscrit automatiquement dans l'historique du dépôt.
Le modérateur peut ajouter une annotation en précisant à qui il s'est adressé pour résoudre le problème.

IV.5/ [dépôt source] En cas de mise à jour ayant un impact sur les fichiers : demander au déposant un nouveau dossier zippé

Si les modifications demandées par le modérateur au déposant entraînent des changements de fichiers :

1. Le déposant supprime le dossier zippé initialement déposé

2. Il dépose une nouvelle archive modifiée et compressée

3. Le dépôt est de nouveau à modérer
Les demandes au déposant s'effectuent depuis HAL via les modèles de messages proposés pour le type de document « Logiciel ». cf. « Dialoguer avec le déposant »

## V. [Action] Modérer un dépôt SWHID

Dans le cadre d'un dépôt SWHID, le modérateur consulte l'interface SWH pour vérifier les métadonnées mais ne travaille pas dedans.

<figure><img src="image_10.png" /></figure>

Les principales étapes de la modération d'un dépôt SWHID
## V.1/ [dépôt SWHID] Voir les dépôts type « Logiciel » à modérer dans HAL
HAL > Privilèges > Modération > Vérifier

<figure><img src="image_11.png" /></figure>

2 options pour voir les dépôts de type « logiciel » en attente de modération : trier par type de document à l'aide des flèches ou saisir « software » dans la boîte de recherche
## V.2/ [dépôt SWHID] Vérifier la validité du SWHID pour le dépôt dans HAL

SWH permet d'attribuer des identifiants pérennes à différents types d'éléments composant un logiciel. Dans le cas du dépôt dans HAL, seul un type de SWHID est valide : le SWHID de type « directory ».

Dans le champ « SWHID », 2 éléments sont à vérifier par le modérateur :

* ☐ Présence du préfixe = « dir »

* ☐ Infos contextuelles = origin, visit, anchor, etc.

<table><thead><tr><td>SWHID valide pour le dépôt ?</td><td>Exemple de SWHID</td><td>Commentaire</td></tr></thead><tbody><tr><td>OUI</td><td>swh:1:dir:f79de6c3095a13987e0df73543f33cbcbfc96d6e;origin=https://github.com/wfinsinger/tapas;visit=s wh:1:snp:22cab43b8f22be691ea4f83b631f48a9b6c7108c;anchor=swh:1:rev:72e706221bcccd09bedc 1235d83a2a525f850051</td><td>Le préfixe « dir » indique qu'il s'agit bien d'un SWHID de type « directory ».<br/>Les informations contextuelles sont indiquées en italique.<br/>► La modération se poursuit.</td></tr><tr><td>NON</td><td>swh:1:dir:f79de6c3095a13987e0df73543f33cbcbfc96d6e</td><td>Il s'agit bien d'un SWHID de type « directory », mais il manque les informations contextuelles<br/>... Contacter le déposant pour lui demander un SWHID « dir » complet.</td></tr></tbody></table>
<table><thead><tr><td>SWHID valide pour le dépôt ?</td><td>Exemple de SWHID</td><td>Commentaire</td></tr></thead><tbody><tr><td>NON</td><td>swh:1:cnt:79a894b312d9090fee0d7870bda53319c14359bb;origin=https://github.com/wfinsinger/tapas;visit=swh:1:snp:22cab43b8f22be691ea4f83b631f48a9b6c7108c;anchor=swh:1:rev:72e706221bcccd09bedc1235d83a2a525f850051;path=/.gitignore</td><td>Les informations contextuelles sont présentes mais il ne s'agit pas du bon type de SWHID, comme l'indique le préfixe « cnt ».<br/>Contacter le déposant pour lui demander un SWHID « dir » complet.</td></tr><tr><td>NON</td><td>swh:1:cnt:486a9d9294c9c812f625c7776be16c038272d5c4</td><td>Le préfixe « cnt » indique qu'il ne s'agit pas du bon type de SWHID.<br/>Il manque les informations contextuelles.<br/>Contacter le déposant pour lui demander un SWHID « dir » complet.</td></tr></tbody></table>
<table><thead><tr><td>SWHID valide pour le dépôt ?</td><td>Exemple de SWHID</td><td>Commentaire</td></tr></thead><tbody><tr><td>NON</td><td>https://github.com/wfinsinger/tapas</td><td>Il ne s'agit pas d'un SWHID mais de l'URL de la plateforme de développement.<br/><br/>... Si le déposant vous contacte pour vous informer qu'il a ce message après avoir copié-collé l'URL : « [...] n'est pas un identifiant valide. »<br/><br/>indiquer comment obtenir un SWHID type « dir » complet.</td></tr></tbody></table>

Pour guider les échanges avec le déposant, voici comment obtenir un SWHID complet de type « dir » depuis SWH :
<figure><img src="image_12.png" /></figure>

Obtenir un SWHID : interface de SWH > page du logiciel archivé > onglet "Permalinks". Cette fonction est accessible à tout utilisateur, pas uniquement à l'auteur du logiciel. Cela ne nécessite pas non plus d'avoir un compte utilisateur SWH.

<figure><img src="image_13.png" /></figure>

Aller plus loin : comprendre les mises à jour de SWHID, fournir des informations au déposant : [Tutoriel (en anglais) « Save Code Now »]().

<footnote n="2">² https://youtu.be/uTK0-jkmqYQ</footnote>
## V.3/ [dépôt SWHID] En phase initiale : accéder aux informations pour vérifier les métadonnées

<figure><img src="image_14.png" /></figure>

En cliquant sur le SWHID : renvoi vers la page SWH du logiciel.

Le code source et les informations pour vérification sont sur SWH.

Absence normale de
fichier
<table><tr><td>swhid</td><td>swh:1:dir:12e0b2569ee4625fa292829e92099140484f0cde;origin=https://github.com/moranegg/deposit-template; visit=swh:1:snp:5976160607f123d2d124b9075d1c7a2f1d5dc8b8;anchor=swh:1:rev:fdb238e266845c4a587b0cce78ae03c816f63063</td></tr></table>

<figure><img src="image_15.png" /></figure>

Dans HAL, cliquer sur le lien du champ « SWHID » pour accéder sur SWH aux informations qui permettent de vérifier les MD dans HAL.

Page du logiciel sur SWH : l'arborescence est déployée. Cliquer sur le titre d'un fichier pour accéder aux contenus.

## V.4/ [dépôt SWHID] Au fil de la modération : cf. « Vérifier les métadonnées obligatoires » et « Métadonnées facultatives : vérifier et tester les liens »

Voir les rubriques dédiées aux métadonnées. Cette étape du travail est commune au dépôt source et au dépôt SWHID. La seule différence est l'emplacement des sources pour vérifier les informations dans les champs de HAL.
## V.5/ [dépôt SWHID] En cas de mise à jour ayant un impact sur les fichiers : demander au déposant d'actualiser l'archivage dans SWH
(« Save again »)

En cas de modification d'un fichier (ex. modification du README, LICENSE, etc.), actions à prévoir pour le **modérateur**.

Dans le message au déposant :

- Copier-coller le SWHID initial (Cette action permet au modérateur d'en garder une trace dans l'interface de dépôt afin de le comparer avec le SWHID qui va être fourni par la suite : l'information est sinon effacée. Dans la notice, le SWHID initial sera remplacé manuellement par le déposant.)

- Demander au déposant de fournir le nouveau SWHID qui sera obtenu après MAJ de l'archivage sur SWH (fonction « Save again »).

- Demander de modifier les fichiers existants et/ou d'ajouter un fichier manquant :

Résumé des actions pour le **déposant** (voir aussi le guide du déposant<fnref n="3" />) :

- [interface de la plateforme de développement collaboratif (ex. Gitlab, GitHub, etc.)] Le déposant prépare et dépose ses fichiers (création, modification pour mise à jour)

- Le déposant effectue un nouvel archivage dans SWH :

- [interface SWH] fonctionnalité « Save again »
    OU

- [interface de la plateforme de développement collaboratif] si l'extension pour navigateur « Save code now<fnref n="4" /> » est installée, cliquer sur l'icône de la disquette

- [interface SWH] La mise à jour occasionne un nouveau SWHID. Via l'onglet « Permalinks », le déposant copie un nouveau SWHID de type « Directory », avec les informations contextuelles ; la case « Add contextual information » est cochée par défaut, elle permet d'intégrer au SWHID les informations contextuelles<fnref n="5" />.

- [interface HAL] Le déposant remplace l'ancien SWHID du Directory par le nouveau. La notice est de nouveau visible dans les dépôts à modérer.

- Analyser le SWHID pour vérifier qu'il s'agit bien d'un nouveau SWHID : il s'agit ici de vérifier le préfixe du SWHID, pour s'assurer qu'il s'agit d'un SWHID de type « Directory », et que les informations contextuelles sont incluses. Ce SWHID est désormais la référence à prendre en compte pour les vérifications de MD, il ne faut plus utiliser le SWHID précédent. Ex. de SWHID de Directory :

<footnote n="3">³ https://hal.inria.fr/hal-01872189v2/document</footnote>

<footnote n="4">⁴ https://www.softwareheritage.org/browser-extensions/</footnote>

<footnote n="5">⁵ Un tutoriel que le modérateur peut fournir au déposant pour lui rappeler comment obtenir un SWHID adapté au dépôt :
https://annex.softwareheritage.org/public/tutorials/getswhid_dir.gif</footnote>
swh:1:dir:f79de6c3095a13987e0df73543f33cbcbfc96d6e;origin=https://github.com/wfinsinger/tapas;visit=swh:1:snp:22cab43b8f22be691ea4f83b631f48a9b6c7108c;anchor=swh:1:rev:72e706221bcccd09bedc1235d83a2a525f850051

<figure><img src="image_16.png" /><figcaption>Localiser la fonction "Save again" sur l'interface SWH pour guider le déposant</figcaption></figure>
<figure><img src="image_17.png" /></figure>

Vue de l'interface d'une personne utilisant l'extension de navigateur "Save code now" : l'icône de la disquette est jaune quand une mise à jour est à prévoir. Après avoir apporté les modifications demandées par le modérateur, si celles-ci ont un impact sur les fichiers, le déposant clique sur l'icône à droite pour mettre à jour son archivage dans SWH. Il n'y a pas besoin d'aller sur l'interface SWH.
## V.6/ [dépôt SWHID] En phase finale de modération : faire le bilan du dépôt, mettre en ligne le dépôt sur HAL

<figure><img src="image_18.png" /></figure>

Faire le bilan du dépôt (conseillé mais pas obligatoire) :

☐ Annoter le dépôt pour expliquer les choix effectués, les spécificités : ex. infos sur un pseudonyme d'auteur, etc.

☐ Vérifier à partir de l'historique des échanges si toutes les actions ont été effectuées.
## VI. [Action] [dépôt source] [dépôt SWHID] Vérifier les MD obligatoires (type « Logiciel »)

Rappel des étapes qui précèdent la vérification des MD : dépôt source

<figure><img src="image_19.png" /></figure>

Rappel des étapes qui précèdent la vérification des MD : dépôt SWHID

<figure><img src="image_20.png" /></figure>

Les MD à vérifier sont communes aux 2 méthodes de dépôt. Seul l'emplacement de la source permettant de vérifier l'information varie :

- Dépôt source : les sources sont extraites de l'archive compressée, disponibles en local

- Dépôt SWHID : les sources sont disponibles en ligne, via SWH

! Les informations à vérifier peuvent se trouver dans différents fichiers dont la plupart sont facultatifs pour le déposant. **Ce qui compte est de pouvoir vérifier les informations des métadonnées obligatoires, indépendamment de la source : par exemple, les noms d'auteurs sont indiqués dans un README mais il n'y a pas de fichier AUTHORS. Le modérateur n'a pas besoin de demander le fichier AUTHORS au déposant.**
VI.1/ [dépôt source] [dépôt SWHID] MD obligatoires hors « Auteurs » pour le type de document « logiciel »

<table><thead><tr><th>Champ HAL<br>Type de document « Logiciel »</th><th>Libellé alternatif<br>possible (hors<br>HAL)</th><th>Source de<br>vérification de<br>l'information :<br>Si plusieurs sources<br>disponibles, vérifier<br>la cohérence entre<br>les sources</th><th>Commentaires, points de vigilance</th><th>Interactions entre modérateur et<br>déposant</th></tr></thead><tbody><tr><td>Type de document</td><td>Sans objet</td><td>Arborescence HAL</td><td>[dépôt source] Après avoir téléchargé le<br>dossier zippé, le modérateur a vérifié qu'il<br>s'agit bien d'un logiciel. Cf. point IV.2</td><td></td></tr><tr><td>Nom (du logiciel)</td><td>Titre</td><td>Fichier README<br>Code Repository<br>(lien)<br>Fichier<br>CodeMeta.json</td><td>Veiller à la cohérence des informations entre<br>le README et les informations consultables<br>sur le site de développement du logiciel (Code<br>repository). Ex. Le nom du logiciel est<br>identique dans le README, le repository et<br>dans la fiche HAL.</td><td></td></tr><tr><td>Domaine<br>Discipline du dépôt</td><td>Sans objet</td><td>Arborescence HAL</td><td></td><td></td></tr></tbody></table>
<table><thead><tr><th>Champ HAL<br>Type de document « Logiciel »</th><th>Libellé alternatif<br>possible (hors<br>HAL)</th><th>Source de<br>vérification de<br>l'information :<br>Si plusieurs sources<br>disponibles, vérifier<br>la cohérence entre<br>les sources</th><th>Commentaires, points de vigilance</th><th>Interactions entre modérateur et<br>déposant</th></tr></thead><tbody><tr><td>Licences<br>(Champ répétable)<br><br>Décrit les droits d'utilisation du code<br>source déposé, à choisir avec les<br>titulaires des droits patrimoniaux dudit<br>logiciel<br><br>Ex. : GNU General Public License<br><br>En savoir plus :<br><a href="https://www.gnu.org/licenses/license-recommendations.fr.html">https://www.gnu.org/licenses/license-recommendations.fr.html</a></td><td>COPYING<br>COPYRIGHT</td><td>Fichier LICENSE ou<br>LICENSES<br><br>Fichier COPYING<br><br>Fichier COPYRIGHT</td><td>- C'est une licence libre. HAL propose<br>une liste préétablie, activable par<br>auto-complétion.<br><br>Liste des licences libres<sup>6</sup>:<br><a href="https://spdx.org/licenses/">https://spdx.org/licenses/</a><br><br><ul><li>Dans le cas de licences multiples :<ul><li>Le déposant indique toutes<br>les licences.</li><li>Le déposant les regroupe<br>dans un dossier LICENSES<sup>7</sup>.</li></ul></li></ul></td><td>Quel que soit le mode de dépôt, si le<br>fichier LICENSE manque, le<br>modérateur demande au déposant<br>de le fournir.<br><br>Avant de demander le fichier, vérifier<br>s'il n'y a pas un fichier avec un nom<br>alternatif : cf. COPYING<br><br><div><a href="">configure.ac</a></div><div><a href="">COPYING.LGPL</a></div><div><a href="">INSTALL</a></div><div><a href="">libstarpu.pc.in</a></div><div><a href="">libstarpu-mic.pc.in</a></div><div><a href="">libstarpu-mic.pc.in</a></div><br><br>En cas de licences multiples, le<br>déposant est responsable de la<br>compatibilité des licences. Le<br>modérateur vérifie la concordance<br>entre MD et contenus des fichiers.</div></td></tr></tbody></table>

<footnote n="6">⁶ SPDX est un format de fichier utilisé pour documenter des informations sur les licences de logiciels. HAL l'utilise pour mieux indexer ces données.</footnote>

<footnote n="7">⁷ https://hal.inria.fr/hal-01872189v2/document</footnote>
## VI.2/ [dépôt source] [dépôt SWHID] MD obligatoires : focus sur les MD auteurs

Pour déposer un logiciel dans HAL, l'accord formel des co-auteurs n'est pas requis : le modérateur n'a pas de document à vérifier pour s'en assurer. Il revient au déposant d'informer les personnes concernées. Dans tous les cas, au moins 1 des auteurs doit être affilié<fnref n="8" />. Le dépôt ne peut pas être mis en ligne si cette condition n'est pas remplie.

### [dépôt source] [dépôt SWHID] MD auteurs : règles de base

<table><thead><tr><th>Champ<br>HAL<br>Type de<br>document<br>« Logiciel »</th><th>Libellé alternatif<br>possible (hors<br>HAL)</th><th>Source de vérification de l'information :<br>Si plusieurs sources disponibles, vérifier la cohérence<br>entre les sources</th><th>Commentaires, points de vigilance</th><th>Interactions entre<br>modérateur et déposant</th></tr></thead><tbody><tr><td>Nom</td><td>CONTRIBUTORS</td><td>Fichier AUTHOR<br>Fichier CodeMeta.json<br>Fichier README<br>Fichier CONTRIBUTORS<br>Fichier CREDITS<br>Fichier CITATION<br>Code repository (lien ; champ HAL : « Code repository »)<br>Plusieurs fichiers peuvent être fournis pour un même<br>dépôt. Les contributeurs peuvent être signalés dans un</td><td>Divergence entre les informations du descriptif<br>HAL et les sources d'information :<br>! Le fichier AUTHORS n'inclut pas tous les<br>auteurs listés dans la fiche HAL<br>! Le fichier AUTHORS contient des<br>auteurs non listés dans la fiche HAL<br>Possibilité de trouver des pseudonymes à la place<br>des noms d'auteurs : en l'absence de fichier<br>AUTHORS, contacter le déposant pour faire<br>préciser les noms.</td><td>Le modérateur vérifie<br>auprès du déposant si la<br>différence entre les<br>données répercutées<br>dans HAL et les fichiers<br>est souhaitée par le<br>déposant.<br>En effet, le déposant peut<br>choisir de ne pas recenser<br>tous les auteurs. Ex. : on<br>met un nom d'équipe<br>plutôt qu'une liste de<br>personnes.</td></tr></tbody></table>

<footnote n="8">⁸ https://doc.archives-ouvertes.fr/deposer/auteurs-et-affiliations/</footnote>
<table><thead><tr><th>Champ HAL<br>Type de document « Logiciel »</th><th>Libellé alternatif possible (hors HAL)</th><th>Source de vérification de l'information :<br>Si plusieurs sources disponibles, vérifier la cohérence entre les sources</th><th>Commentaires, points de vigilance</th><th>Interactions entre modérateur et déposant</th></tr></thead><tbody><tr><td></td><td></td><td>fichier dédié « Contributors » ou listés dans le fichier « Authors »</td><td>Avec le menu déroulant de HAL, le déposant peut spécifier la fonction de chacun des contributeurs : design, développement, débogage, support, etc.</td><td></td></tr></tbody></table>

[dépôt source] [dépôt SWHID] Gérer les auteurs multiples : le nombre d'auteurs dans la notice HAL ne correspond pas à celui du fichier AUTHORS

<table><tr><td>Exemple de cas</td><td>Le fichier AUTHORS mentionne 36 auteurs.<br>La notice HAL comporte 3 auteurs.</td></tr><tr><td>Localisation des fichiers</td><td>Dépôt source : fichier AUTHORS en local<br>Dépôt SWHID : fichier AUTHORS, en ligne via SWH</td></tr><tr><td>Action pour le modérateur</td><td>Contacter le déposant pour clarifier avec lui le décalage entre le nombre d'auteurs du fichier AUTHORS et le nombre d'auteurs dans les MD HAL.</td></tr></table>
## Etapes possibles selon la réponse du déposant :

<table><thead><tr><th></th><th>Dépôt source</th><th>Dépôt SWHID</th></tr></thead><tbody><tr><td>C'est une erreur.<br/>Il faut aligner les MD de HAL sur celles du fichier AUTHORS.</td><td>Pas d'impact sur les fichiers, donc pas de nouveau dépôt de fichiers à demander au déposant.<br/>☞ Le modérateur rectifie les informations sur la base du fichier AUTHORS déjà fourni.</td><td>Pas d'impact sur les fichiers, donc pas de nouveau SWHID à demander au déposant.<br/>☞ Le modérateur rectifie les informations sur la base du fichier AUTHORS déjà fourni.</td></tr><tr><td>C'est une erreur.<br/>Il faut retirer des auteurs du fichier AUTHORS.</td><td> Demander au déposant de :<br/>- modifier le fichier AUTHORS<br/>- déposer un nouveau dossier zippé incluant le fichier AUTHORS correct</td><td>Demander au déposant de :<br/>- modifier le fichier AUTHORS du code repository (GitHub, GitLab, etc.)<br/>- actualiser en 1 clic l'archivage dans SWH avec un « Save again » ou l'extension du navigateur « Save code now »<br/>- copier-coller dans HAL le nouveau SWHID complet type « dir »</td></tr></tbody></table>
<table><thead><tr><th></th><th>Dépôt source</th><th>Dépôt SWHID</th></tr></thead><tbody><tr><td>Ce n'est pas une erreur.<br>L'objectif est de mentionner tous les acteurs du logiciel mais seules les personnes citées dans les MD HAL sont les auteurs. Les autres personnes sont des contributeurs.</td><td><p>Demander au déposant de :</p><ul><li>séparer les informations en créant d'une part 1 fichier AUTHORS et d'autre part, 1 fichier CONTRIBUTORS</li><li>déposer un nouveau dossier zippé incluant les fichiers AUTHORS et CONTRIBUTORS</li></ul></td><td><p>Demander au déposant de :</p><ul><li>séparer les informations en créant d'une part 1 fichier AUTHORS et d'autre part, 1 fichier CONTRIBUTORS dans le code repository (GitHub, GitLab, etc.)</li><li>actualiser en 1 clic l'archivage dans SWH avec un « Save again » ou l'extension du navigateur « Save code now »</li><li>copier-coller dans HAL le nouveau SWHID complet type « dir »</li></ul></td></tr></tbody></table>

L'ajout de contributeurs est comparable à l'ajout de remerciements au début d'un article ou d'une thèse par exemple.

L'enjeu pour le modérateur est notamment d'identifier si la modification demandée a un impact ou non sur les fichiers.

[dépôt source] [dépôt SWHID] Gérer les auteurs multiples : il y a plusieurs auteurs dans le fichier AUTHORS, mais seul un nom d'équipe est mentionné dans HAL

<table><tr><td>Exemple de cas</td><td>Le fichier AUTHORS mentionne 36 auteurs.<br>La notice HAL mentionne uniquement un nom d'équipe ou un nom de projet logiciel.</td></tr><tr><td>Localisation des fichiers</td><td>Dépôt source : fichier AUTHORS en local<br>Dépôt SWHID : fichier AUTHORS, en ligne via SWH</td></tr></table>
Action pour le modérateur

<figure><img src="image_21.png" /></figure>

Accuser réception auprès du déposant en rappelant que les noms des auteurs n'apparaîtront pas dans la notice, ce qui peut notamment compliquer le suivi de chaque auteur de sa propre production. Le déposant est responsable de cette décision ; le modérateur l'informe des impacts possibles.

# VII. [Action optionnelle] [dépôt source] [dépôt SWHID] MD facultatives : vérifier et tester les liens

Le déposant est responsable de la complétude et de l'exactitude des données.

Si le modérateur souhaite travailler sur les MD facultatives<fnref n="9" />, la priorité est de tester le fonctionnement des URL pour s'assurer qu'il n'y a pas de lien brisé, d'erreur de lien manifeste (ex. le lien est censé renvoyer vers une publication spécifique, mais il renvoie vers la page d'accueil du site web de l'unité de recherche ; le lien dans le champ « code repository » renvoie vers une page évoquant un autre logiciel). Champs pouvant comporter des URL à tester :

- « Code repository » = à vérifier en priorité ; lien vers la plateforme de développement du code source (SVN, Github, Gitlab, CodePlex)

- 1/ Tester si le lien fonctionne

- 2/ Vérifier la cohérence avec le dépôt effectué : nom/titre du logiciel, auteurs, etc. La page vers laquelle on est renvoyé pointe vers le logiciel décrit dans HAL.

- « Données associées »

- « Publications associées »

- « Voir aussi »

<footnote n="9">⁹ Chaque service chargé de la modération définit le niveau de vérification des métadonnées qu'il souhaite atteindre. Le présent guide fournit des conseils aux modérateurs souhaitant travailler sur l'ensemble des métadonnées.</footnote>
<table><tr><td>Rappel des étapes qui suivent la vérification des MD : dépôt source</td><td>4<br>Vérifier les MD à l'aide des fichiers extraits du dossier zippé</td><td>5<br>Transférer vers SWH<br>Mettre en ligne le dépôt</td></tr><tr><td>Rappel des étapes qui suivent la vérification des MD : dépôt SWHID</td><td>4<br>Vérifier les MD à l'aide des infos sur SWH</td><td>5<br>Mettre en ligne le dépôt</td></tr></table>
## VIII. [Action] [dépôt source] [dépôt SWHID] Dialoguer avec le déposant : les outils du modérateur

Une liste de réponses prédéfinies propose des modèles en FR et en EN pour le type de document « Logiciel ». Cette liste prévoit les cas de figure les plus courants : modification « auteurs », absence de fichier « LICENSE », incohérence entre les fichiers et les métadonnées renseignées dans HAL, etc.

Ces messages sont personnalisables. Vous pouvez aussi demander une modification dans la zone prévue à cet effet, sans sélectionner de réponse prédéfinie.

<figure><img src="image_22.png" /></figure>

Les messages prédéfinis sont personnalisables
# IX. [Aller + loin] Les concepts à maîtriser pour comprendre le processus général, dialoguer avec les déposants

## Code source, logiciel : quelles différences ?

Le logiciel permet à un utilisateur de réaliser un ensemble de tâches sur son ordinateur grâce à du code source et à des exécutables. Le code source contient les instructions telles qu'elles sont rédigées pour être lisibles par l'humain. Le code exécutable est compréhensible uniquement par des machines. Il traduit pour la machine les indications du code source, qui reste lisible y compris si les exécutables ne fonctionnent plus. Inversement, si on dispose uniquement des exécutables, il n'est pas possible de reconstituer le code source. C'est pour cet ensemble de raisons que SWH se concentre sur la préservation et la diffusion des codes sources publics des logiciels.

Dans le cadre du dépôt dans HAL, le modérateur se concentre sur les métadonnées qui décrivent le logiciel, pas sur le code source lui-même.

<figure><img src="image_23.png" /></figure>
Qu'est-ce que le fichier README ? L'identifier, l'ouvrir, l'exploiter

<table><tr><td>Son contenu ? sa raison d'être d'un point de vue général ?</td><td>Ce fichier permet à l'auteur d'un logiciel de le décrire en quelques mots : objectif du logiciel, comment l'installer, comment l'exécuter. Autrement dit, le README d'un logiciel s'apparente à la carte d'identité d'un logiciel.<br/>Il existe de bonnes pratiques pour rédiger un README<sup>10</sup> mais pas d'obligations pour les auteurs : de fait, certains descriptifs sont très riches, d'autres, très lacunaires. Le modérateur n'évalue pas la pertinence des informations fournies. Il s'assure de trouver le niveau descriptif minimal et veille à la concordance des différentes sources d'information.<br/><br/>--<br/><br/>Exemple 1 : extrait du README du logiciel Tapas<sup>11</sup><br/><pre><code> <!-- README.md is generated from README.Rmd. Please edit that file --> [![DOI] (https://zenodo.org/badge/421092333.svg)](https://zenodo.org/badge/latestdoi/421092333) # ***tapas*** R-package <!-- badges: start --> <!-- badges: end -->## Rationale<br/>The set of functions gathered under the hood of ***tapas*** is meant to be used for analyzing paleoecological records, when the goal is to estimate the long-term Trend and detect Peaks to reconstruct the occurrence, the return intervals, and the magnitude of distinct events. *tapas* builds on *CharAnalysis*</code></pre></td></tr></table>

<footnote n="10">¹⁰ Make a README : https://www.makeareadme.com/</footnote>

<footnote>11</footnote>
(<https://github.com/phiguera/CharAnalysis>), a software for analyzing sediment-charcoal records written in and compiled with Matlab 7.0 by Phil Higuera (Higuera et al., 2009), with significant input by (amongst others) Patrick Bartlein (U of OR), Daniel Gavin (U of OR), Jennifer Marlon, and Ryan Kelly.

Two main reasons led to the development of *tapas*. Firstly, as R is an open source product, modifying the program to suit individual needs may be more straightforward. Secondly, an integration and inter-operability with other existing R-packages may allow using peak-detection analysis in conjunction with other workflows and types of paleoecological records (see for instance [(Cagliero et al., 2021)](https://doi.org/10.1007/s00334-021-00862-x)).

[...] Les auteurs fournissent aussi des informations sur l'installation, fournissent des exemples.

--

(Traduire le README : https://www.deepl.com/fr/translator)

--

Exemple 2 : README du logiciel Jrendement¹² :

# jrendement

Calcul du rendement locatif

<footnote>12</footnote>

<footnote>https://archive.softwareheritage.org/swh:1:dir:8c26d2d941b4e3dada83b86afcbae183a278a3b8;origin=https://gitlab.com/htriki/jrendement.git;visit=swh
:1:snp:03641361096d6bbc7b75a89923b07547a0f35c81;anchor=swh:1:rev:4abf1c23257af3b75e5eebb623c108e88f7f872e</footnote>
<table><tr><td></td><td>## Auteur<br>Hocine Triki<br><br>2021</td></tr><tr><td>En quoi est-il utile au modérateur ?<br>Quels réflexes avoir ?</td><td>C'est dans ce fichier que vous trouverez la plupart des informations obligatoires pour la description du logiciel. Pas de README dans la liste des fichiers ? Aucun des autres fichiers ne permet de vérifier les informations des MD ? Contactez le déposant avec l'un des messages standardisés pour qu'il le fournisse.</td></tr><tr><td>Comment s'en servir ?</td><td>Format .txt, .md (= Markdown)<br>On ouvre ce type de fichier avec le bloc-notes des accessoires Windows, un éditeur de texte (Notepad, etc.)<br>Dépôt source : le fichier est extrait de l'archive zippée téléchargée depuis HAL ; il est enregistré en local.<br>Dépôt SWHID : le fichier est accessible sur SWH, via le SWHID cliquable dans le formulaire HAL.</td></tr></table>
## Qu'est-ce que le fichier CodeMeta.json

Ce fichier n'est pas obligatoire pour le déposant. Son absence ne bloque pas le processus de modération.

<table><tr><td>Son contenu ? Sa raison d'être d'un point de vue général ?</td><td>CodeMeta fait partie des schémas de métadonnées dédiées au logiciel. CodeMeta étend le vocabulaire de schema.org, qui est un schéma de métadonnées généraliste.<br/>CodeMeta est particulièrement adapté aux besoins académiques.<br/>Les métadonnées sont disponibles sous une forme lisible par une machine.<br/>Il est utilisé par SWH qui indexe ces métadonnées.</td></tr><tr><td>En quoi est-il utile au modérateur ?<br/>Quels réflexes avoir ?</td><td>Les informations du fichier CodeMeta.json remplissent automatiquement une partie des métadonnées dans HAL. Le déposant peut compléter manuellement les MD.<br/>Les informations du fichier CodeMeta.json peuvent reprendre certaines des informations contenues dans les fichiers README, LICENSE et les complètent.<br/>La fourniture de ce fichier est conseillée mais pas obligatoire ni pour le dépôt SWHID, ni pour le dépôt source.<br/>Si le déposant fournit un fichier CodeMeta.json, le modérateur doit :<br/>☐ S'assurer de la cohérence entre ce fichier et les autres fichiers descriptifs (README, LICENSE, AUTHORS, etc.)<br/>☐ [En cas de changement de contenu du fichier CodeMeta.json dans le code repository] : le modérateur demande au déposant d'actualiser l'archivage dans SWH et de fournir un nouveau SWHID complet de type « dir ». (Dans le cas d'un dépôt source, le modérateur demande au déposant de fournir un nouveau dossier zippé à déposer dans HAL)</td></tr><tr><td>A quoi ça ressemble ?</td><td>https://github.com/Unipisa/CMM/blob/master/codemeta.json<br/>Info pour aider le déposant à créer son fichier CodeMeta.json<sup>13</sup></td></tr></table>

<footnote n="13">13 https://youtu.be/wwzOolz-mO0</footnote>
Les déposants peuvent aussi opter pour la fourniture d'un *fichier CITATION.cff*<fnref n="14" />. Le travail de modération est le même que pour un fichier *CodeMeta.json* : il s'agit de veiller à la cohérence des données. Un fichier .cff (Citation File Format) est lisible pour les humains et les machines. *Voir un exemple*<fnref n="15" />.

## Que signifie modérer des logiciels dans HAL ? Est-ce tester les logiciels ?

<table><thead><tr><th>OK, dans le périmètre de la modération</th><th>KO, hors périmètre de la modération</th></tr></thead><tbody><tr><td><ul><li>Mobiliser des compétences documentaires : qualité des métadonnées, respect des bonnes pratiques descriptives. On intervient sur des éléments descriptifs.</li><li>Avoir des notions générales sur les spécificités du logiciel par rapport aux autres types de productions académiques</li></ul></td><td><p>! Devenir/être développeur :</p><ul><li>On ne teste pas le code source, on ne vérifie pas le fonctionnement du logiciel.</li><li>Les contrôles de fichiers inhérents à la méthode de dépôt local n'impliquent pas de compétences en programmation.</li></ul><p>! Devenir/être chercheur:</p><ul><li>On ne fait pas de « peer review » de l'objet de recherche en vérifiant sa pertinence.</li></ul></td></tr></tbody></table>

## Différence entre HAL et SWH : pourquoi 1 seule plateforme ne suffit pas

<table><thead><tr><th></th><th>SWH</th><th>HAL</th><th>Commentaires</th></tr></thead><tbody><tr><td>Identifier tous les artefacts numériques issus du processus de développement logiciel pour renforcer la reproductibilité de la recherche : un fragment de code, la version précise d'un projet, une révision, etc.</td><td>X</td><td></td><td></td></tr><tr><td>Préserver le code source sur le long terme</td><td>X</td><td></td><td></td></tr><tr><td>Identifier une notice descriptive d'un projet logiciel</td><td></td><td>X</td><td></td></tr></tbody></table>

<footnote n="14">¹⁴ https://citation-file-format.github.io/cff-initializer-javascript/#/</footnote>

<footnote n="15">¹⁵ https://github.com/citation-file-format/ruby-cff/blob/main/CITATION.cff</footnote>
<table><thead><tr><td></td><td>SWH</td><td>HAL</td><td>Commentaires</td></tr></thead><tbody><tr><td>Faciliter la citation du logiciel : diversité des formats d'export</td><td></td><td>X</td><td>On peut citer un logiciel même s'il n'est pas déposé dans HAL, mais les services de HAL facilitent cet usage pour les publiants.</td></tr><tr><td>Faciliter le suivi de la production logicielle : pages CV, exports automatiques pour les rapports d'activité (Inria), pages web HAL, etc.</td><td></td><td>X</td><td>Impacts sur le suivi de la production académique pour l'ensemble des acteurs (auteurs et contributeurs) : la contribution des différents acteurs est mieux reconnue si les rôles de chacun sont indiqués dans les MD.</td></tr><tr><td>Améliorer la qualité des MD :<br/>Cohérence des informations entre les différentes sources, mention de tous les auteurs et contributeurs, etc.</td><td></td><td>X</td><td></td></tr><tr><td>Tester le fonctionnement du code source</td><td>Hors périmètre</td><td>Hors périmètre</td><td></td></tr></tbody></table>

Cf. Gruenpeter, Morane. 'Le dépôt de logiciel de recherche sur l'archive ouverte HAL'. Presented at the Journée de la reproductibilité de la Société Informatique de France, Paris, 10 May 2021. https://www.societe-informatique-de-france.fr/wp-content/uploads/2021/05/journée-sif-repro-6-gruenpeter-depot-hal.pdf.
## Quelle est la « politique documentaire » de SWH ? Que trouve-t-on dans SWH ?

On ne parle pas ici des prérequis techniques du dépôt ; on questionne l'opportunité du dépôt : ex. tous les logiciels ont-ils vocation à être archivés ? Un code source rudimentaire et n'ayant pas encore fait ses preuves est-il admis ? etc. SWH ne sélectionne pas les codes sources des logiciels à archiver : en fait, la sélection est effectuée en amont, lorsque SWH identifie les plateformes de développement logiciel à moissonner automatiquement ou avec lesquelles prévoir une alimentation à la demande, comme c'est le cas pour HAL ou encore IPol pour ELife. Il est difficile d'évaluer à l'avance l'impact d'un logiciel. Un logiciel peut continuer d'évoluer sur plusieurs années, voire des décennies.

## Dialoguer avec les déposants : 1 ressource pour faire comprendre ce qu'est SWH en 1 diapo

Expliquer la complémentarité entre HAL et SWH peut être utile pour échanger avec certains déposants, présenter le processus de dépôt aux instances de votre institution. SWH = une initiative internationale à but non lucratif soutenue par l'Inria et l'Unesco.

<figure><img src="image_24.png" /></figure>
# X. Sélection de ressources pour les modérateurs et les déposants

## Ressources que les modérateurs peuvent indiquer aux déposants

- Déposer le code source d'un logiciel : https://doc.archives-ouvertes.fr/deposer/deposer-le-code-source/

- Guide du déposant : https://hal.archives-ouvertes.fr/hal-01872189

- Tutoriels SWH : https://www.youtube.com/ playlist?list=PLD2VqrZz2-u3bOWtoCoBlh5Flt6iYXsq3

- Obtenir un SWHID type « Directory » : https://annex.softwareheritage.org/public/tutorials/getswhid_dir.gif

- Make a README : https://www.makeareadme.com/

- CodeMeta Generator : https://codemeta.github.io/codemeta-generator/

## Ressources pour les modérateurs

- Guide du modérateur de logiciel : https://hal.archives-ouvertes.fr/hal-01876705

- Auteurs et affiliations : https://doc.archives-ouvertes.fr/deposer/auteurs-et-affiliations/

- Di Cosmo, R., Gruenpeter, M., Monteil, A., & Marmol, B. (2022, May 31). Les logiciels dans HAL. Une collaboration entre Software Heritage, Inria et le CCSD. Parlons science ouverte, Online Conference. https://www.ccsd.cnrs.fr/2022/07/parlons-science-ouverte-les-logiciels-dans-hal/

# XI. En savoir plus sur la collaboration CCSD et SWH

En septembre 2018, les travaux menés par le CCSD, SWH et Inria ont permis d'étendre la typologie des dépôts dans HAL aux codes sources de logiciels libres.

Voir : https://youtu.be/vKtTUyTk0WE

# XII. Auteurs du guide

Sabrina Granger : sabrina.granger@softwareheritage.org

Morane Gruenpeter : morane@softwareheritage.org

Alain Monteil : alain.monteil@inria.fr

Estelle Nivault : estelle.nivault@inria.fr

Jozefina Sadowska : josephine.sadowska@inria.fr