>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
HTML

Comment fonctionne l'antisèche juridique de GitHub et pourquoi déployer choosealicense.com en local

Vous avez probablement rencontré le formulaire de sélection de licence lors de la création d'un nouveau dépôt sur GitHub. Quelques clics, et votre projet obtient un fichier avec le bon copyright et l'année en cours. Peu de gens réalisent que toute cette logique, ces explications concises et ces droits mis en évidence par des icônes se trouvent dans un dépôt ouvert.

Le projet est né d'une idée simple. Les développeurs comprennent rarement les nuances juridiques et ne veulent pas lire des dizaines de pages de texte légal. Ils ont besoin d'une réponse simple : ce qu'ils peuvent faire avec le code et ce qu'ils ne peuvent pas faire. Le site web répond à ce besoin, et le dépôt lui-même sert de backend au système de licences de GitHub.

Pourquoi ce dépôt existe

Avant tout, c'est un site web Jekyll statique. Son objectif principal est de décomposer les documents juridiques complexes en catégories compréhensibles sans porter de jugement de valeur. Les auteurs ne vous imposent pas une licence spécifique — ils fournissent un outil pour faire votre propre choix.

Au-delà de l'exécution du site web, le contenu du dépôt est régulièrement importé dans la gem Ruby Licensee. Cette bibliothèque est ce qui alimente GitHub lui-même, déterminant le type de licence dans vos projets, affichant son statut dans l'interface du dépôt et servant les données via l'API GitHub.

Comment les licences sont structurées en interne

Toute la magie du site et des intégrations repose sur des descriptions structurées de chaque document. Le dossier contient des fichiers Markdown. Chaque licence a un en-tête YAML (front matter) et le texte légal complet.

L'en-tête YAML définit les métadonnées :

Les règles sont divisées en trois catégories : permissions, conditions et restrictions. L'explication complète des règles atomiques individuelles comme ou est stockée séparément dans un fichier. Si vous devez ajouter une nouvelle condition, vous la décrivez une fois dans et la référencez dans les fichiers de licence.

Lors de la création d'un nouveau dépôt, GitHub prend le modèle et substitue les valeurs réelles aux variables intégrées :

  • ou le nom de l'auteur
  • l'année en cours
  • pour le nom du dépôt
  • pour un lien vers le projet

Builds automatiques et support multilingue

Le site supporte les traductions de l'interface et les brèves annotations via le plugin Jekyll. Les textes légaux réels des licences ne sont intentionnellement pas traduits pour éviter de dénaturer le sens juridique des documents originaux.

Depuis que n'appartient pas à la liste standard des plugins supportés par GitHub Pages, le déploiement est géré via GitHub Actions. Le workflow construit le site et publie le bundle statique prêt sur la branche.

Build Status

Exécuter le projet en local

Vous pouvez déployer une copie locale du site en quelques minutes. Vous aurez besoin des compilateurs et installés.

Sur macOS, les dépendances sont installées via Homebrew :

Sur Ubuntu ou Debian, le gestionnaire de paquets standard est suffisant :

Après cela, clonez le dépôt avec les sous-modules et exécutez les scripts de build :

Le site sera disponible à . Vous pouvez éditer les fichiers dans et voir immédiatement les résultats dans votre navigateur.

Utiliser le dépôt dans vos projets

Un build local ou un fork du projet s'avère utile dans diverses situations :

  1. Créer une base de données interne de documents juridiques. Les grandes entreprises ont souvent leurs propres règles pour l'utilisation de code tiers. Vous pouvez forker le dépôt, ajouter les exigences de l'entreprise, et déployer un guide de référence interne.
  2. Générer des licences dans des utilitaires CLI. Si vous écrivez votre propre générateur de modèles de projet, c'est une source pratique de textes LICENSE vérifiés avec des variables de substitution automatique.
  3. Audits automatisés de la base de code. Basé sur les fichiers de règles dans, vous pouvez facilement écrire un simple linter pour vérifier les dépendances tierces dans votre pipeline CI/CD.
  4. Apprendre l'architecture des sites Jekyll multilingues. Le pipeline de build personnalisé avec le plugin sert d'excellent exemple pour vos propres projets statiques.

Résumé

Le dépôt est un excellent exemple de transformation de documents juridiques ennuyeux en une structure de données pratique. Le projet combine une interface web conviviale, des métadonnées lisibles par machine et des mécanismes de substitution automatique. Si vous avez besoin d'organiser les licences dans vos propres projets ou de créer une référence pratique pour votre équipe, le code source de ce site constitue un excellent point de départ.

Projets similaires