Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

https://github.com/pierrepo/article-SWH-bioinfo-fr
14 January 2025, 09:51:44 UTC
  • Code
  • Branches (1)
  • Releases (0)
  • Visits
    • Branches
    • Releases
    • HEAD
    • refs/heads/main
    • f85d0db6f228b21fc0f5eb3a874bdfdcb0a2dac9
    No releases to show
  • 5cb6bb7
  • /
  • audio_text.txt
Raw File Download Save again
Take a new snapshot of a software origin

If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.

Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.
swh spinner

Processing "take a new snapshot" request ...

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
  • revision
  • snapshot
origin badgecontent badge
swh:1:cnt:77844c91b20b7cb6a350ee7aa948f7ce8b14f1be
origin badgedirectory badge
swh:1:dir:5cb6bb7ee827f722ac263c83caff357a87f2c8a8
origin badgerevision badge
swh:1:rev:f85d0db6f228b21fc0f5eb3a874bdfdcb0a2dac9
origin badgesnapshot badge
swh:1:snp:27ec900903020d311214f368f4ea2102c080fda2

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
  • directory
  • revision
  • snapshot
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
Tip revision: f85d0db6f228b21fc0f5eb3a874bdfdcb0a2dac9 authored by Pierre Poulain on 14 January 2025, 09:50:27 UTC
Add manuscript v1
Tip revision: f85d0db
audio_text.txt
Alors, je vais vous parler de Software Heritage, qui est l'archive universelle des codes sources logicielles. Alors, Software Heritage, en fait, on en parle depuis un petit bout de temps, parce qu'il apparaît maintenant, déjà en 2021, il est apparu sur le deuxième plan national pour la science ouverte. Donc, c'est vraiment quelque chose d'officiel. Et alors, le truc rigolo avec Software Heritage, c'est autant les do-it, vous connaissez, c'est les identifiants pour vos papiers, vos jeux de données. et bien Software Identifier crée un identifiant qui ne s'appelle pas le doi qui s'appelle le swede swide pardon dans le swede qui est Software Identifier je vous le présenterai tout à l'heure donc pourquoi je vais vous expliquer pourquoi est-ce que c'est important d'archiver son code sur ce logiciel qu'est-ce que c'est Software Identifier comment l'archiver concrètement je vous fais un petit démon et puis les bonnes pratiques évidentes alors là par contre vous n'aurez pas de ligue de code donc vous le savez les logiciels c'est partout maintenant c'est à dire qu'on ne peut plus faire de science sans logiciel, ce papier de 2014, en fait, sur les 100 papiers les plus cités au monde, la majorité, c'était des papiers d'outils ou de méthodes informatiques. Pour autant, donc là, c'est une étude qui date de 2014, qui disait que 92% des chercheurs en science utilisaient des logiciels et 70% à peu près indiquaient qu'ils ne pouvaient pas faire de science, de recherche sans logiciel. Et il y avait quand même 56% qui développaient leur propre logiciel. C'est quand même important. Donc, on est tous un peu développeurs ou développeuses. Donc, les piliers de la science ouverte, je pense que vous les connaissez toutes et toutes. Je vais vous les rappeler quand même. C'est donc le libre accès aux publications scientifiques, ce qu'on appelle Open Access, les données ouvertes, ce qu'on appelle l'Open Data, et l'accès, donc ça, c'est souvent plus oublié, c'est l'accès, les codes de logiciels ouverts qu'on appelle l'Open Source. Et donc, de plus en plus, il y a eu pas mal d'efforts qui ont été faits pour les publications en open access, le mouvement open data, où on essaie de partager nos données, etc. Et puis, quand même, le code, ça commence aussi à sortir. On a besoin de voir le code. Donc là, c'est un édito d'un journal qui est plutôt dans mon domaine, en modélisation moléculaire. Il nous faut le code, sinon on ne peut rien faire. Et puis, pour faire le lien avec cette présentation, on a aussi de plus en plus de gestionnaires de version. Ça, vous en êtes, j'espère, convaincus. et en tout cas moi dans mon domaine environ informatique on pousse énormément pour l'utilisation des gestionnaires de version que ce soit d'ailleurs un gros logiciel ou des scripts, des petits scripts Air ou Bash ou Python ou peu importe et donc il n'y a pas de plateforme, je vous en ai présenté deux aujourd'hui, GitHub et GitLab qui sont les plus connus mais il y en a d'autres, il y a Gitorius Bitbucket, Google Code, certaines peut-être que vous ne connaissez pas et pour des bonnes raisons, parce qu'en fait ces plateformes elles ont disparu notamment Google Code a décidé de supprimer sa plateforme de développement en 2015. Qui aurait pu penser que Google décide de supprimer sa plateforme de développement ? Pas moi, moi j'avais du code sur, j'utilisais Google Code à l'époque, avant GitHub, et voilà, en 2015, ils ont dit, on ferme la boutique, ciao. Donc le problème, là, c'est qu'on a perdu, il y avait 1,4 million de projets logiciels qui étaient hébergés sur Google Code, et en fait, qui du jour au lendemain, ils étaient en train de se faire un peu de boulot. Pareil, alors un peu différent chez Bitbucket, je vous ai dit qu'il y avait un gestionnaire de version qui s'appelait Mercurial, que j'avais utilisé au début, et en fait, une plateforme comme Bitbucket, l'équivalent de GitHub ou GitLab, a décidé en 2020 d'arrêter tous les dépôts qui n'étaient pas basés sur Git, mais basés sur Mercurial, donc l'autre gestionnaire de version. Donc là, pareil, on met à la poubelle 250 000 dépôts logiciels. Donc ça, ça amène à questionner. Quand on est chercheur ou chercheuse, on n'a pas envie que d'un seul coup, son code passe à la poubelle. On a pris soin d'utiliser un gestionnaire de version, c'est quand même dommage. Alors, et pourtant, quand on fait de la science, on a besoin de faire la reproductivité à long terme. J'espère que vous êtes conscients tous de ça. Mais par contre, si votre plateforme logicielle est le FOM, il faut penser à un plan B. À un moment donné, ça, ce n'est pas soudain. Donc, c'est pour ça qu'arrive Search2Archive, qui est l'archive de tous les codes sources ouverts pour toujours et gratuitement. Alors, comment on peut toujours, tant qu'Internet existe. Donc c'est une organisation à but non lucratif, donc déjà ça c'est une protection contre, voilà, il y a des acteurs commerciaux qui sont dedans, mais c'est une organisation à but non lucratif. Ça a été créé en 2016 à l'INRIA par Roberto Di Cosmo et Stefano Zacchirolli, et puis c'est financé par des organismes publics et des organismes privés. Donc c'est une archive de plus en plus grosse, donc ça j'ai mis à jour les chiffres hier, dans l'après-midi, donc Donc il y a 20 milliards de fichiers sources de fichiers qui sont stock dans cet archive pour peu pr 325 millions de projets diff Donc vous imaginez il y a 325 millions de d GitHub qui sont stockés dans cet archive-là. Alors, il n'y a pas que des dépôts GitHub, c'est des projets de manière générale. Et donc, en fait, qui intègrent déjà beaucoup de sources. Donc là, par exemple, où est-ce qu'il y a GitHub ? Il est là, vous voyez ma source ? Oui, oui, ça. Vous avez GitHub ici. Il y a Bitbucket, dont je parlais tout à l'heure. mais pour les fans de R, il y a aussi le crâne par exemple est archivé aussi on archive aussi, alors Python il y a tous les paquets Python qui sont aussi archivés il y a les paquets Debian si vous êtes sous Linux par exemple qui sont aussi archivés, il y a les dépôts GitLab aussi qui sont archivés alors là ça prend en compte le GitLab commercial mais aussi des GitLab institutionnels je vérifie si Manu est dedans par exemple et en fait c'est pas par hasard que le projet est né en 2016 je vous ai dit qu'en 2015 Google avait décidé d'arrêter sa forge logicielle qui s'appelait Google Code et en fait juste à temps et bien le projet a réussi à sauvegarder tous les dépôts qui étaient perdus entre guillemets dans Google Code, la même chose en 2020 le projet existait déjà, ça a été un peu plus simple, et bien avant que Bitbucket décide de mettre à la poubelle tous les dépôts qui étaient basés sur Mercurial qui est un équivalent à un Git je vous le rappelle et bien software et test j'ai passé par là et à récupérer tous ces dépôts-là, les archiver, les apprentager. Alors, comment est-ce qu'on fait concrètement pour archiver un logiciel ? C'est ultra simple, il y a trois actions à faire, enfin quatre. La première, c'est d'aller sur ce site-là qui est archive.softwareattach.org.save. Je vais cliquer, hop, voilà, ici, sur ce site-là. Et après, il y a simplement d'indiquer le type d'origine. Je vous ai parlé beaucoup de Git aujourd'hui, mais je vous ai dit qu'il y avait d'autres systèmes de gestion de version comme Subversion, si vous vous souvenez, comme Bazaar, comme Mercurial, etc. Donc, avec ce petit onglet, on est capable de choisir. Après, on met ici le lien du dépôt GitHub, GitLab, etc. Et puis, on clique sur le bouton Submit. Et puis, en fait, un archivage automatique sur cette plateforme, sur Internet Edge, va être organisé. Alors, ça, c'était un projet, ça, c'était une démo, enfin, c'était une démo que j'avais faite il y a un an pour le CIRAD, qui est un organisme de recherche français. ils ont leur propre forge GitLab, comme Oumaloum, si vous préférez. Et donc, il y avait un chercheur qui travaillait sur analyser le vieillissement des feuilles, des feuilles d'arbre. Et notamment, quelle partie des feuilles d'arbre, par analyse de photo, elle devenait brune ou pas, ou restait verte, ce genre de choses. Donc, c'était ce projet-là. Et donc, en fait, moi, ce que j'avais fait, je lui avais montré, ben voilà, il suffit d'indiquer ici, donc c'est un dépôt Git, c'est ce qu'on fait à 99% des gens. On indique ici l'URL, le lien du dépôt. On clique sur le bouton submit et puis, en fait, il y a une moulinette qui va tourner. L'archivage, vous voyez qu'ici, il y a marqué not yet scheduled, donc c'est en cours d'archivage. Et puis, quand c'est terminé, c'était ici, le dépôt est sauvegardé pour tout le temps dans le software heritage. Et effectivement, on peut aller voir ici. si on va sur Software Heritage et bien ici on retrouve le dépôt vous voyez il y a le README, on retrouve tout comme c'était à l'époque dans Software Heritage donc même si par exemple demain le CIRAD décide, bon on arrête GitLab ça nous coûte trop d'argent vu la politique scientifique en ce moment c'est plutôt bien d'être prudent ça nous coûte de très grand d'argent on arrête du jour au lendemain, ben c'est pas grave parce qu'en fait le travail de ce chercheur aura été archivé pour tout le temps dans le software architecture. Donc, c'est tout rassurant. Alors, souvent, on se dit, ouais, mais moi, je ne développe pas de logiciel. Moi, je fais un script Python une fois tous les 15 jours. J'ai un bout de script R qui tourne pour analyser 3, 4 fichiers pour faire une figure avec ggplot ou j'ai un script Bash qui me permet, je ne sais pas, moi, de manipuler, de faire un traitement, un pré-traitement des fichiers. Donc, souvent, on ne se sent pas légitime parce qu'on se dit, mais je ne suis pas développeur, je ne travaille pas sur un énorme projet logiciel. Et c'est là justement qu'est intéressant le software et l'étage, c'est qu'en fait, archiver du code source, c'est informatiquement parlant, ça prend très, très, très peu de place. Et donc, en fait, ça s'intéresse à tout le monde. Donc, vous n'avez pas besoin d'être à la tête de développement d'un énorme logiciel bioinformatique ou d'humanité ou de géographie ou de ce que vous voulez pour dire, je vais l'archiver dans le software et l'étage. Même votre petit script R ou mon petit script Python qui est sur un dépôt Git, eh bien, mérite largement d'être archivé. Donc, ça, c'est la première chose. Parce qu'en fait, archiver, ça ne prend pas beaucoup de place. Ensuite, l'idée, c'est de le faire quand même correctement. Donc pour je pense que votre communaut est quand m bien sensibilis sur la notion de m Le code constitue une donn en soi mais sans m on ne peut pas faire grand Donc les premi m je vous les ai montr tout de suite c le fichier README qui explique un peu ce que fait le projet comment on l'installe, comment on l'utilise, etc. Il y a deux autres fichiers qui doivent absolument être présents. Le fichier LICENSE, ça, c'est ce que j'avais fait aussi en créant mon dépôt GitHub. Ça me dit qui va pouvoir, enfin, comment les gens qui vont trouver mon code vont pouvoir le réutiliser. C'est hyper important. Et puis, il y a le fichier OCEANCE qui va contenir, en fait, simplement le nom, le prénom, l'adresse mail des gens qui ont créé, qui ont contribué au logiciel. Et puis, donc ça, c'est pour les humains, pour nous. Et puis, il y a les métadonnées pour les machines, parce que vous savez que les machines aiment bien utiliser les métadonnées après. Et donc, ça, il y a un format de métadonnées pour le logiciel qui existe. Ça s'appelle le code meta.json. Et heureusement pour nous, il y a un générateur qui va, il suffit de remplir ces cases, là, vous voyez les cases à l'écran. il suffit de remplir les cases donc on indique qui sont les auteurs c'est quoi nos logiciels à quoi ils servent quand est-ce qu'on l'a créé quel langage ils utilisent quels sont les noms de version est-ce qu'il y a un lien vers la doc est-ce qu'il y a un lien vers un papier etc. Donc une fois qu'on a ça ça c'est les bonnes pratiques justement pour donc l'idée c'est de mettre ces quatre fichiers donc les trois fichiers pour les humains le fichier code meta.json pour les machines dans votre dépôt GitHub ou GitLab ce que vous voulez de façon à ce que quand vous ferez l'archivage de votre code source, eh bien, les archivistes, les gens qui travaillent sur vos codes sources, s'ils ont besoin, puissent récupérer de l'information. Alors, comment on fait pour sauvegarder son code source ? Je vous ai déjà montré comment faire. Il suffit d'aller sur ce site-là, qui s'appelle SaveCodeNow. On rentre ici le nom du... Bah tiens, on peut le faire. Allez. Pour la postérité, je vais le faire avec vous. Non, ça, on ne pourra pas. Ça, je supprime. Voilà. Mon petit tuto que j'ai fait avec vous. il y a un script Python qui est quand même fantastique, bon ben on va l'archiver je prends le lien ici je le mets là, j'appuie sur submit c'est parti, on regarde où est-ce qu'il est, il est là il est pending, donc il est en attente et puis on va rafraîchir la page d'ici une ou deux minutes et ce sera fait mais il y a une extension de navigateur pour Firefox et Chrome qui est super super bien et en fait, quand vous l'installez, vous voyez ici la petite disquette, il y a une flèche rose là, avec une petite disquette suivant sa couleur, ça va vous indiquer si ce dépôt-là a déjà été archivé dans SoftArretage ou pas. S'il est gris, c'est que ça n'a jamais été archivé. S'il est jaune, c'est que ça a déjà été archivé, mais il y a longtemps, donc il y a une nouvelle version à faire. Et s'il est vert, c'est que non seulement il est déjà archivé, mais la dernière version a déjà été stockée dans SoftArretage. Et qu'est-ce que vous avez à faire, vous, pour lancer l'archivage ? il faut cliquer sur le bouton. Je vais vous montrer. Parce que je vous ai préparé un autre dépôt. Donc, vous voyez ici, c'est la petite disquette grise. Je ne vais pas la relancer parce que j'ai déjà lancé une fois ici. Et d'ailleurs, ça a peut-être déjà été fini. Voilà. Vous voyez ici, ce dépôt-là, il est succès. Donc, il était archivé. Donc, normalement, si je rafraîchis, il passe en vert. Vous voyez, il est en vert. Je vous avais préparé un autre tuto aussi avec quasiment les mêmes fichiers qui s'appelle juste tuto maté sans le 2. donc vous voyez la petite disquette grise je connais pas je ne connais pas ce dépôt et là j'avais mis aussi un script Python je m'étais surpassé et donc si je clique sur la petite disquette grise elle va passer vert clair ça veut dire que c'est en cours de stockage d'archivage, si je rafraîchis ici la liste des archives en cours, vous allez voir que j'ai aussi mon tuto mat sans le 2, tuto maté pardon qui est en cours d'archivage puis dans quelques minutes ou secondes Voilà, ça va très vite. Ce sera déjà terminé. Et donc, pour la postérité, j'ai archivé les deux dépôts logiciels que j'ai faits pour le tuto. Et d'ailleurs, on peut le vérifier après. Si je retourne sur cette page-là, si je rafraîchis la page, vous verrez que le petit icône, la petite disquette à droite est venue vers foncé. Ça veut dire que c'est bon, c'est fait. D'ailleurs, si je clique dessus, ça me renvoie directement sur le site de Software Heritage. Et là, vous voyez que j'ai archivé pour l'éternité, entre guillemets, la démo que je vous ai faite là maintenant et donc je suis capable un jour de la citer par exemple, c'est tout à l'intérieur donc voilà, c'est une petite extension moi c'est devenu un peu comment dire, maladif c'est à dire qu'à chaque fois que je fais de la biblio et que je vois qu'il y a un papier qui mentionne un logiciel, je vais voir son code source et s'il n'est pas archivé hop, je clique sur le petit bouton et ça lance l'archivage, comme ça, ça garantit que d'ici quelques années on sera capable de le refaire alors oui, le Swidy n'est pas gratuit Le Swidy est un concept. Donc, ah oui, vous pensez, Elisabeth, par rapport au Douille, je pense. Oui le Swidy est cr automatiquement quand vous archivez votre courte source Je vais vous montrer comment le r Donc il est gratuit par d Et puis si on veut alors c pour les plus informaticiens plus geeks d vous on peut aussi sauvegarder son code source avec un webhook Donc, les webhooks, c'est quand on fait sur GitHub ou sur GitLab, soit un merge, soit un commit, soit ce genre d'action, on peut déclencher quelque chose. Donc, quand on fait une action, on peut déclencher autre chose. Et ce déclenchement s'appelle un webhook. Donc, on peut aussi provoquer l'archivage, un réarchivage de son code source à chaque fois, par exemple, qu'on fait un merge sur son dépôt ou ce genre de choses, ou une pull request, etc. Donc, voilà le suite, puisque j'avais une question dessus. Le suite, c'est un identifiant intrinsèque et persistant. Intrinsèque, c'est-à-dire que ce numéro-là, enfin, cet identifiant, on peut l'obtenir directement en utilisant une moulinette à partir du code source. Le Dewey, vous le connaissez très bien, mais le Dewey, en fait, il faut une table de correspondance. C'est-à-dire que vous êtes incapable de dire, ce Dewey-là, il correspond à tel papier dans tel journal, publié tel jour à telle heure. C'est impossible. Éventuellement, il y a le nom du journal dans le Dewey, mais c'est tout. Donc, il y a une autorité mondiale qui s'occupe, quand vous tapez votre nom de Dewey, enfin, votre numéro de Dewey, d'aller dire, c'est tel éditeur, tel article, ou tel éditeur, tel autre article. le suite l'intérêt c'est qu'en fait c'est un identifiant intrinsèque c'est à dire qu'en fait on peut le recalculer automatiquement ce qui n'est pas possible de faire avec le doi donc le doi c'est ce truc là c'est la première partie et il y a une autre partie qui est en bas qu'on appelle le contexte qu'on peut ajouter parce qu'en fait le suite permet en fait de préciser d'où vient le logiciel quand est-ce qu'on l'a archivé pour la dernière fois et aussi est-ce qu'on veut citer un fichier particulier ou une ligne de code particulière. Comment on fait pour le récupérer, vous allez me dire. Une fois que vous êtes sur Software & Edge, une fois que votre logiciel est archivé, vous voyez à droite ici, il y a un onglet qui s'appelle Permalinks. Vous cliquez sur ce petit machin et pouf, vous avez un menu qui va apparaître devant vous et votre suite, il est là. Vous avez juste à copier-coller ça et puis vous êtes OK. Donc, juste pour résumer, vous avez un logiciel, des scripts que vous partagez sur une plateforme logicielle. GitHub, GitLab, ce que vous voulez. Vous allez pouvoir faire référence à cet archive dans le software Heritage, par exemple, en mettant un lien sur votre dépôt, sur votre ID. Mais par contre, si vous voulez spécifier une version spécifique, par exemple, pour le citer dans un article scientifique, là, vous avez besoin du suite complet avec son contexte. D'accord ? Le contexte, c'est tout ce truc-là. C'est très important. Et par exemple, nous, c'est ce qu'on a fait. Je vous ai présenté ce papier qui s'appelle BuiltH tout à l'heure. qu'on a publié dans JOS, là, on dit qu'on a archivé le logiciel dans Software Heritage. Alors, il nous avait imposé de l'archiver aussi dans ZenoDoc. Mais on le met aussi dans Software Heritage. Et vous voyez, on peut, en cliquant dessus, aller sur Software Heritage, même si GitHub disparaît du jour au lendemain, ou il décide de dire que notre dépôt, il n'est pas très intéressant pour la communauté, et donc poubelle, il y aura toujours une trace tout le temps qui sera faite dans Software Heritage pour tout le temps. donc ça c'est quand même super rassurant il y a de plus en plus de papiers, de journaux qui acceptent, enfin qui connaissent ça dans le suite donc ça c'est plutôt pas mal et cerise sur le gâteau du goûter et bien on peut aussi faire le lien maintenant, on peut aussi référencer son code source dans AL en indiquant simplement le suite on peut faire un dépôt logiciel, on indique son suite et les gens de AL maintenant sont formés pour, ils connaissent tous en fait Software Heritage et ça permet de faire le lien entre Software Heritage et HAL et donc vous pouvez dans HAL avoir votre production logicielle référencée aussi telle qu'elle et encore une fois ce n'est pas forcément lié à une publication scientifique. On est bien d'accord. Vous pouvez avoir un logiciel qui n'est pas publié dans un article scientifique, vous ne l'avez pas encore valorisé de cette manière-là mais vous pouvez parfaitement l'archiver dans un sortier d'étage, obtenir un suite facilement et ce suite ensuite le déclarer dans HAL de façon à ce que votre production logicielle soit aussi reconnue en tant que telle. Voilà, on peut aussi citer son source. donc il existe un style LaTeX qui permet aussi de citer les sources correctement avec le SWEED pour les gens qui aiment bien LaTeX, n'hésitez pas à aller voir. Donc en résumé, je vous invite forcément à archiver votre code source, à le décrire avec des métadonnées, des métadonnées pour les humains le fichier README, LICENSE, OSON et des métadonnées pour les machines, codemeda.json référencer votre code source avec le SWEED plus le contexte, petit truc en plus, et puis citez-le dans vos papiers ou dans AL, dans ce que vous voulez, voilà. Et si vous voulez en connaître un peu plus sur Software Heritage, il y a ici le lien à gauche c'est une petite vidéo qui dure cinq minutes qui vous explique le projet très rapidement vous avez aussi une faq et puis ici il ya l'explication sur le lien entre software et edge et anne voilà je crois que j'ai eu des questions sur sur ce que je voulais regarder

back to top

Software Heritage — Copyright (C) 2015–2026, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API