Aller au contenu

lnk validate

Validez votre configuration de redirections avant de pousser. Effectue deux niveaux de contrôle : validation de syntaxe (toujours) et accessibilité HTTP des destinations (avec --live).

$ lnk validate [--live] [--static|--dynamic]

Ce qui est vérifié

Validation de syntaxe (toujours exécutée)

  • Chaque ligne a exactement deux ou trois champs : source destination [code]
  • Les chemins source commencent par /
  • Les URLs de destination sont bien formées (https:// ou /relatif)
  • Les codes de statut sont valides : 301, 302, 303, 307, 308
  • Pas de chemins source en double dans le même fichier
  • Pas de chemins source en double entre les deux fichiers (avertissement)
  • Les commentaires (#) et les lignes vides sont ignorés

Accessibilité HTTP (--live)

  • Effectue une requête HEAD à chaque URL de destination
  • Signale les réponses non-2xx/3xx comme avertissements
  • Signale les timeouts et erreurs DNS comme erreurs

Utilisation

$ lnk validate
Validation de static.lnk... 4 règles OK ✓
Validation de dynamic.lnk... 2 règles OK ✓
Aucun problème trouvé.

$ lnk validate --live
Validation de static.lnk... 4 règles OK ✓
Validation de dynamic.lnk... 2 règles OK ✓
Vérification de 6 URLs de destination...
  https://github.com/bhdicaire        200 OK (41ms)  https://linkedin.com/in/bhdicaire   200 OK (87ms)  https://blog.example.com            200 OK (53ms)  https://x.com/bhdicaire             200 OK (62ms)  https://summit2023.example.com      404 Not Found  ✗
  https://boutique.example.com?p=ete  200 OK (49ms)Validation terminée : 1 erreur, 0 avertissements.

Options

OptionDescription
--live, -lEffectuer des vérifications HTTP en direct
--staticValider static.lnk uniquement
--dynamicValider dynamic.lnk uniquement
--timeout SECSDélai pour les vérifications en direct (défaut : 10)
--fail-on-warningQuitter avec erreur sur les avertissements aussi
--jsonRésultats en JSON

Erreurs courantes

URL malformée

ERREUR static.lnk:12 : URL de destination invalide "github.com/bhdicaire"
  → Les URLs de destination doivent commencer par https:// ou /
  Correction : /github  https://github.com/bhdicaire  301

Code de statut invalide

ERREUR static.lnk:7 : code de statut invalide "200"
  → Codes valides : 301, 302, 303, 307, 308
  Correction : /ancien  https://nouveau.example.com  301

Chemin en double

ERREUR : /github apparaît dans static.lnk (ligne 3) et dynamic.lnk (ligne 1)
  → Cloudflare utilise la première correspondance ; la deuxième règle ne sera jamais atteinte

Destination inaccessible (en direct uniquement)

AVERTISSEMENT dynamic.lnk:2 : https://summit2023.example.com a renvoyé 404 Not Found
  → L'URL de destination existe dans votre fichier de liens mais n'est plus active
  Envisagez de supprimer ou mettre à jour cette redirection

Intégrez validate dans votre pipeline CI

Exécutez lnk validate --live dans un workflow GitHub Actions sur chaque pull request pour détecter les liens brisés avant la fusion.

# .github/workflows/validate.yml
on: [pull_request]
jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: make setup && lnk validate --live
Modifier cette page Dernière modification: