Aide pour les développeurs
Vous lisez une traduction non officielle de original page.
La gestion de licences devrait être simple pour les développeurs. Nous fournissons différents outils et services pour vous permettre de vous concentrer sur la programmation.
Contenus : Outils d’aide, dépôts d’exemple, API REUSE, Processus de CI/CD
L’outil REUSE
L’outil REUSE aide à atteindre et à vérifier la conformité REUSE. Il télécharge les textes complets de licence, ajoute les informations de droits d’auteur et de licences dans les en-têtes des fichiers, et contient un analyseur syntaxique pour identifier les problèmes. Il permet enfin de générer une nomenclature logicielle.
Lisez la documentation pour en apprendre davantage sur l’outil. Vous trouverez aussi des ‘Comment puis-je …’ dans notre FAQ pour découvrir les possibilités variées d’interaction avec l’outil.
Dépôts d’exemple
A quoi ressemble un projet conforme à REUSE ? Les dépôts suivants sont simples mais conformes à REUSE. Nous les rendons disponibles pour montrer comment REUSE fonctionne concrètement.
- reuse-tutorial-example
- un dépôt conforme à REUSE qui correspond à l’exemple du tutoriel. Il contient une branche non confirme pour les tests.
- reuse-tool - l’utilitaire REUSE est lui-même conforme, tout comme tous les autres dépôts REUSE.
Pensez à enregistrer votre projet avec l’API REUSE afin d’y intégrer un badge de conformité dynamique.
API
L’API REUSE vous aide à vérifier en permanence et à afficher la l’état de conformité aux directives REUSE. Vous pouvez inclure un badge indiquant l’état actuel dans votre fichier README, et analyser le résultat à l’aide du fichier JSON généré.
Voici à quoi ressemblera le badge d’un projet conforme à la norme
REUSE. Vous pouvez cliquer sur le badge pour obtenir plus d’information :
L’API est l’outil idéal pour tous ceux qui souhaitent montrer que leur dépôt respecte les bonnes pratiques en termes de fourniture d’informations des licences et droits d’auteur. Il permet à des services tiers d’intégrer le statut REUSE en temps réel et offre une alternative simple aux personnes qui ne souhaitent pas installer l’outil REUSE pour effectuer vérification rapide.
Comme tout le reste dans REUSE, l’API est accessible au public sous licence de logiciel libre.
Pre-commit hook
You can automatically run reuse lint on every commit as a pre-commit hook
for Git. This uses pre-commit. Once you have it
installed, add this to the
.pre-commit-config.yaml in your repository:
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
repos:
- repo: https://codeberg.org/fsfe/reuse-tool
rev: v6.2.0
hooks:
- id: reuse
Then run pre-commit install. Now, every time you commit, reuse lint is
run in the background, and will prevent your commit from going through if
there was an error.
Intégration dans les processus CI/CD
REUSE s’intègre facilement à vos processus CI/CD existants afin de vérifier en continu la conformité à REUSE de votre dépôt et de ses modifications.
La FSFE propose une image Docker pouvant être utilisée dans de nombreuses solutions CI. Voici quelques exemples ci-dessous :
Drone/Woodpecker CI
Ajoutez le fragment de code suivant dans votre fichier .drone.yml ou
.woodpecker/reuse.yaml :
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
steps:
- name: reuse
image: fsfe/reuse:latest
Pour plus d’informations sur Drone, rendez-vous sur docs.drone.io et pour en savoir plus sur Woodpecker CI, consultez woodpecker-ci.org.
Actions Forgejo
Ajoutez le fragment de code suivant dans votre fichier
.forgejo/workflows/reuse.yaml :
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
name: REUSE compliance check
on: [push, pull_request]
jobs:
test:
runs-on: <a tag for your runner>
container: fsfe/reuse:latest
steps:
- run: |
apk add nodejs
- uses: actions/checkout@v5
- name: Verify REUSE compliance
run: |
reuse lint
Si votre exécuteur n’est pas capable de gérer des conteneurs Docker, envisagez le code suivant :
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
name: REUSE compliance check
on: [push, pull_request]
jobs:
test:
runs-on: <a tag for your runner>
steps:
- run: |
apt-get update
apt-get install -y pipx
- uses: actions/checkout@v5
- name: Verify REUSE compliance
run: |
pipx run reuse lint
Plus d’informations sur les actions de Forgejo disponibles sur forgejo.org.
Actions GitHub
Les utilisateurs de GitHub peuvent intégrer l’action REUSE dans leur
workflow. Ajoutez-y le fichier suivant sous le nom
.github/workflows/reuse.yaml :
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
name: REUSE compliance check
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v6
Rendez-vous sur la page marketplace de l’action pour obtenir davantage d’instructions d’utilisation.
Vous trouverez plus d’informations sur les GitHub Actions sur docs.github.com.
GitLab CI/CD
Ajoutez ce fragment de code dans votre fichier .gitlab-ci.yml :
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
reuse:
image:
name: fsfe/reuse:latest
entrypoint: [""]
script:
- reuse lint
Vous trouverez plus d’informations sur les CI de GitLab sur docs.gitlab.com.
Travis CI
Ajoutez l’extrait de code suivant dans votre fichier .travis.yml :
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
language: minimal
services:
- docker
before_install:
- docker pull fsfe/reuse:latest
- docker run -v ${TRAVIS_BUILD_DIR}:/data fsfe/reuse:latest lint
Pour plus d’informations sur Travis CI, rendez-vous sur travis-ci.com.