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.

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 : État de\nREUSE

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.