← Explorer la Forge

Pour les personnes qui développent un projet

Ce que regarde l’analyse automatique

Chaque projet public de la forge passe par une analyse légère, faite uniquement à partir de ses informations publiques. Le bouton « Détails » de la page de recherche montre ce qu’elle a relevé : des repères pour rendre un projet plus facile à trouver, à comprendre et à réutiliser.

Comment c’est fait. L’analyse lit l’API publique de la forge : les réglages du projet, quelques statistiques, la liste des fichiers et dossiers à la racine du dépôt, sur la branche par défaut, et le texte du README. Elle ne copie pas le dépôt et ne lit pas le code. Elle est refaite quand un projet change, environ une fois par semaine.

Pour situer votre projet : la forge en chiffres donne la part des projets qui ont un README, une licence, un site en ligne…

Ces repères servent aussi à ranger les résultats de recherche : à pertinence égale, un projet documenté, sous licence, avec un site en ligne, passe avant un projet qui ne l’est pas.

Documentation

Un README à la racine

C’est la première chose qu’on lit en arrivant sur le projet. Ce qui aide le plus :

Le README proposé par GitLab à la création du projet (« Getting started », « Suggestions for a good README »…) n’est pas pris en compte : remplacez-le par votre propre texte. De même pour le README d’un modèle (site HTML, MkDocs, exemple de GitLab Pages…) recopié sans changement : le même texte se retrouve dans des dizaines de projets et ne dit rien du vôtre.

Une licence

Sans licence, personne n’a le droit de réutiliser, modifier ou partager le projet, même s’il est public. Placez le texte complet de la licence dans un fichier LICENSE (ou LICENCE, COPYING, avec ou sans .md ou .txt) à la racine du dépôt. Pour du code, les licences courantes sont MIT, GPL-3.0 ou EUPL-1.2 ; pour des contenus pédagogiques, CC BY ou CC BY-SA. La documentation de la forge aide à choisir.

Un guide de contribution et un journal des versions

Présentation sur la forge

Ces réglages se trouvent dans Paramètres › Général du projet :

Être trouvé dans la recherche

Un enseignant tape quelques mots : « quiz », « chronomètre », « fractions cm2 »… Pour que votre projet sorte, et sorte bien placé :

À pertinence égale, les projets documentés, sous licence, avec un site en ligne, actifs et réutilisés passent devant. Répéter un mot partout ne sert à rien : sa présence dans plusieurs champs ne compte que pour un petit bonus.

Suivi du projet

Ces informations sont données pour mémoire, sans jugement : date du dernier commit, nombre de commits et de contributeurs, tickets ouverts et fermés, merge requests fusionnées, versions publiées (tags ou releases), présence d’une intégration continue (.gitlab-ci.yml) et état du dernier pipeline. Un petit projet stable n’a pas besoin d’être modifié souvent.

Ce qui n’est pas regardé

Le code lui-même, sa qualité, son accessibilité, ses dépendances et la présence éventuelle de mots de passe ou de clés dans le dépôt. Ces points comptent pourtant beaucoup : l’audit des Forgéales s’en charge.

Sécurité

Faire auditer son projet

L’audit des Forgéales analyse un dépôt de la forge : failles connues de ses dépendances, mots de passe ou clés oubliés dans le code, erreurs courantes, appels à des services extérieurs. Il compare les dépendances aux bases de failles telles qu’elles sont au moment de l’analyse : relancez-le après une vague d’alertes.

Il ne voit pas la version de PHP ou de Node.js qui fait tourner votre application sur un serveur. Quand une faille touche PHP ou Node.js eux-mêmes, mettez à jour le serveur, ainsi que les images citées dans vos fichiers .gitlab-ci.yml ou Dockerfile (image: node:…, FROM php:…).

Les bibliothèques copiées ou chargées depuis un CDN

Un site peut inclure directement jquery.min.js, une bibliothèque de graphiques ou de mathématiques, copiée dans le dépôt ou chargée depuis un CDN. L’analyse des dépendances ne voit pas toujours ces bibliothèques. Indiquez une version précise, mettez-la à jour quand une faille est annoncée, et, pour un CDN, ajoutez l’attribut integrity qui empêche le navigateur d’exécuter un fichier modifié.

Jamais de secret dans le dépôt

Vous découvrez une faille dans le projet de quelqu’un d’autre ? Prévenez son auteur discrètement, par un ticket confidentiel sur son projet, plutôt qu’en public : le temps de corriger, la faille ne doit pas servir à d’autres.

Retirer un projet

Ajoutez au projet le sujet no-index (Paramètres › Général) : il disparaîtra de l’index, et de ses détails, à la prochaine mise à jour. Un projet supprimé ou rendu privé en disparaît aussi.