Quoi de neuf sur l'inventaire des codes sources ?
Publié le vendredi 29 novembre 2024
En résumé
Le site (Ouvre une nouvelle fenêtre) code.gouv.fr/sources permet d'explorer les codes sources publiés par des administrations. Cet inventaire est utile aux administrations, qui peuvent vérifier qu'une solution n'est pas déjà développée par une autre, aux citoyens, qui peuvent savoir quelles administrations sont les plus engagées dans la transparence de leurs développements informatiques, et à toute structure qui peut y trouver des codes sources à réutiliser.
Au fil des ans, quatre besoins forts nous ont été remontés :
- une sélection de projets immanquables ;
- une vue par ministère des comptes d'organisation existants ;
- des incitations concrètes aux bonnes pratiques ;
- des données plus riches et exploitables par tous.
C'est ce à quoi nous avons travaillé pour cette mise à jour :
- les projets immanquables sont (Ouvre une nouvelle fenêtre) publiés via la liste « Awesome » ;
- la page dédiée aux organisations propose un (Ouvre une nouvelle fenêtre) filtre par ministère ;
- nous avons introduit un score pour les dépôts ;
- nous avons enrichi les données exposées via (Ouvre une nouvelle fenêtre) ecosystem.code.gouv.fr.
Awesome code.gouv.fr : à ne pas manquer
(Ouvre une nouvelle fenêtre) Awesome code.gouv.fr, c'est la liste des projets logiciels développés par des administrations et qui présentent un fort potentiel de réutilisation. Nous avions commencé cette liste il y a quelques mois en créant nous-mêmes les fichiers publiccode.yml décrivant les projets ; ces fichiers publiccode.yml sont désormais publiés à la racine des dépôts des projets Awesome. Pour être tenus au courant des nouvelles versions des projets Awesome, nous proposons (Ouvre une nouvelle fenêtre) ce flux RSS.
Le standard (Ouvre une nouvelle fenêtre) publiccode.yml permet de décrire un projet logiciel, à l'instar de (Ouvre une nouvelle fenêtre) codemeta. Nous encourageons à l'utilisation de ce standard pour les projets des administrations hors enseignement supérieur et recherche (ESR), où le standard codemeta est, lui, plus utilisé. La mission logiciels libres de la DINUM participe à la gouvernance du standard publiccode.yml pressenti pour être celui qu'utilisera le futur catalogue des logiciels libres des pays membres de l'Union européenne.
Les nouveautés de l'interface
L'inventaire des codes sources contient désormais plus de 20000 dépôts : c'est beaucoup ! Comment les classer ? Le classement précédent par réutilisations n'était pas satisfaisant, car il s'appuyait sur des données qui disponibles seulement quand le projet était hébergé sur GitHub. Nous classons désormais les projets grâce à un score.
Comment est calculé le score ? En fonction de l'existence d'une licence identifiée, de savoir si le dépôt est un modèle (« template »), s'il a un fichier publiccode.yml, un fichier README, un fichier CONTRIBUTING.md, etc. En bref : si l'ensemble des pratiques identifiables via ces tests permet de le rapprocher d'un projet qui pourrait intégrer la liste Awesome code.gouv.fr. Vous trouverez le calcul exact du score dans (Ouvre une nouvelle fenêtre) ce fichier de code : n'hésitez pas à critiquer nos critères et à proposer des améliorations.
En plus de l'introduction de ce score, nous avons rendu la recherche plus fiable et ajouté une page dédiée pour chaque dépôt, chaque organisation, chaque projet Awesome.
Les nouveautés côté données
Le gros de nos efforts s'est porté sur la façon dont nous collectons les données exposées dans l'inventaire. Depuis un an, nous contribuons aux codes sources développés dans le cadre du projet (Ouvre une nouvelle fenêtre) ecosyste.ms. Ces améliorations ont permis de déployer (Ouvre une nouvelle fenêtre) ecosystem.code.gouv.fr et nous espérons qu'elles aideront aussi d'autres pays à déployer ecosyste.ms pour leurs propres besoins.
Voici ce que nous avons gagné :
- la possibilité de collecter des données sur tout type de forges : GitHub, GitLab, Gitea, Gogs, etc ;
- la possibilité de brancher de futurs services pour des données sur les commits, les dépendances, etc ;
- des API pour chaque service proposé par ecosyste.ms.
Vous pouvez notamment explorer l' (Ouvre une nouvelle fenêtre) API principale. Nous sommes impatients de continuer à déployer des services !
Des statistiques plus visuelles
Last but not least, nous avons rendu les (Ouvre une nouvelle fenêtre) statistiques un peu plus parlantes : si vous en voulez d'autres, toutes les données présentées via l'interface web sont publiées dans ce (Ouvre une nouvelle fenêtre) jeu de données data.gouv.fr.
Pour nous remonter des problèmes ou des suggestions, écrivez à floss@numerique.gouv.fr.