Scripter FlipLink : envoyer la sortie de la CLI vers jq

Tu scriptes la CLI FlipLink ? Envoie la sortie --json vers jq pour extraire des ID et des URL, filtrer, enchaîner des commandes et bâtir une automatisation propre.

Sumit Ghugharwal
Sumit Ghugharwal

Publié le 21 juin 2026 · 7 min read

Partager cet article:

Par défaut, la CLI FlipLink affiche des tableaux conviviaux et lisibles. C'est parfait quand tu travailles dans le terminal — mais dès que tu veux scripter quelque chose, tu préfères des données brutes, exploitables par une machine. C'est exactement ce que t'offre le drapeau --json, et une fois associé à jq, tu peux extraire des ID, récupérer des liens de partage, filtrer par statut et enchaîner des commandes pour une vraie automatisation.

Ce guide porte sur le scripting de la CLI FlipLink : transformer quelques commandes en un petit pipeline fiable. Si tu découvres tout juste l'outil, commence par Premiers pas avec la CLI FlipLink, puis reviens ici. Pour la liste complète des commandes, la documentation de la CLI fait référence.

Le seul drapeau qui rend le scripting possible : --json

Presque toutes les commandes de lecture ou d'écriture acceptent --json. Ajoute-le, et la CLI émet du JSON brut vers la sortie standard au lieu d'un tableau formaté :

fliplink flipbook list --json

Envoie ça directement dans jq et tu peux le remodeler comme bon te semble. Le réflexe le plus important quand tu scriptes : inspecte d'abord la sortie brute pour connaître le nom exact des champs avant de t'en servir.

# See the full shape of a single item — keys, casing, everything
fliplink flipbook list --json | jq '.[0]'

Les exemples ci-dessous utilisent des noms de champs plausibles comme .ID et .URL, mais tu ne dois jamais les supposer — la casse des champs peut varier. Lance la commande ci-dessus une fois, lis les clés et ajuste tes chemins jq pour qu'ils correspondent à ce que tu vois réellement.

Extraire uniquement les ID

Le grand classique pour commencer : obtenir une liste plate d'ID de flipbooks que tu peux parcourir en boucle.

fliplink flipbook list --json | jq '.[].ID'

jq parcourt le tableau (.[]) et récupère le champ ID de chaque élément. Enveloppe le champ avec -r (sortie brute) quand tu veux des chaînes propres, sans guillemets autour — c'est ce qu'il te faut pour transmettre les valeurs à une autre commande :

fliplink flipbook list --json | jq -r '.[].ID'

Récupérer les liens de partage dans une liste propre

Le même schéma fonctionne pour n'importe quel champ. Si tes éléments de liste contiennent une URL, tu peux extraire tous les liens de partage d'un coup :

fliplink flipbook list --json | jq -r '.[].URL'

Tu veux un rapport à deux colonnes avec le titre et le lien ? Construis une ligne séparée par des tabulations pour chaque élément grâce à l'interpolation de chaînes de jq :

fliplink flipbook list --json \
  | jq -r '.[] | "\(.Title)\t\(.URL)"'

Là encore — vérifie .Title et .URL par rapport à ta propre sortie --json avant de leur faire confiance. Si les clés diffèrent, remplace-les.

Filtrer avant d'agir

Le select() de jq te permet de ne garder que les éléments qui remplissent une condition. Supposons que chaque élément porte un indicateur de publication et que tu veuilles uniquement les ID des flipbooks publiés :

fliplink flipbook list --json \
  | jq -r '.[] | select(.IsPublished == true) | .ID'

Inspecte ta sortie pour découvrir le vrai nom et le type de l'indicateur — ce peut être un booléen, une chaîne ou un champ de statut. Adapte l'expression select() en conséquence. Le schéma reste le même : filtre le tableau, puis projette le champ dont tu as besoin.

Enchaîner des commandes : lister, filtrer, puis agir

C'est là que ça devient utile. Envoie les ID filtrés dans une boucle shell et exécute une seconde commande sur chacun d'eux. Cet exemple trouve chaque flipbook qui n'est pas encore publié et le publie :

fliplink flipbook list --json \
  | jq -r '.[] | select(.IsPublished == false) | .ID' \
  | while read -r id; do
      echo "Publishing $id..."
      fliplink flipbook publish "$id"
    done

La boucle while read -r id consomme un ID par ligne et appelle fliplink flipbook publish sur chacun. Comme jq -r supprime les guillemets, $id est une valeur propre, prête à être transmise telle quelle. La même structure fonctionne pour n'importe quelle commande d'action — remplace par set-expiry, share-link ou delete.

Note : chaque commande montrée ici est une vraie commande de la CLI FlipLink. S'il te faut une action que les commandes proposées ne couvrent pas, utilise l'échappatoire fliplink api (par exemple fliplink api PUT /api/set-skin/<id> --data '{"SkinName":"Modern"}') — c'est la même API REST qui se trouve en dessous.

🚀

Essaie FlipLink gratuitement

Convertis ton PDF en quelques secondes. Sans inscription, sans carte bancaire — il suffit de téléverser.

Drop your PDF here or click to browse

Max 40 Mo

Les forfaits payants à partir de $39 font passer cette limite à 150 MB.

Bâtir un petit rapport

Une fois que tu sais extraire et filtrer, un rapide rapport de statut se résume à une expression jq de plus. Compte ton nombre total de flipbooks et combien sont publiés :

fliplink flipbook list --json | jq '{
  total: length,
  published: ([.[] | select(.IsPublished == true)] | length)
}'

Cela affiche un résumé JSON compact que tu peux journaliser, envoyer par e-mail ou poster sur un canal. Tu préfères une ligne lisible ?

fliplink flipbook list --json \
  | jq -r '"Total: \(length) flipbooks"'

Écrire des scripts qui savent s'ils ont fonctionné

Un pipeline n'est fiable que s'il réagit aux échecs. La CLI FlipLink utilise des codes de sortie significatifs, pour que tes scripts puissent réagir en fonction d'eux :

  • 0 — succès
  • 1 — erreur de requête ou HTTP (réseau, mauvaise clé, un 401)
  • 2 — erreur applicative (l'API a renvoyé Result: ERROR)

Vérifie le code de sortie après une commande et traite chaque cas :

fliplink flipbook publish "$id"
status=$?

if [ "$status" -eq 0 ]; then
  echo "Published $id"
elif [ "$status" -eq 2 ]; then
  echo "Application error publishing $id (check the response)" >&2
else
  echo "Request failed for $id (exit $status)" >&2
fi

Pour un script qui s'arrête au premier problème, ajoute set -e en haut afin que toute l'exécution s'arrête au premier code de sortie non nul. Pour une tâche de traitement par lots résiliente, continue mais journalise les échecs — la branche sur le code de sortie ci-dessus est ta façon de distinguer “terminé” de “terminé avec des erreurs”.

Si tu scriptes en CI plutôt que depuis ton ordinateur portable, définis ta clé avec la variable d'environnement FLIPLINK_API_KEY au lieu du fichier de configuration local, et lis le guide approfondi dans Automatiser la publication de flipbooks en CI/CD.

Mets-le sur cron

L'étape finale de toute automatisation : la planifier. Enregistre ton pipeline dans un script, rends-le exécutable et ajoute une entrée cron. Celle-ci lance une publication-rapport nocturne à 02:00 :

# crontab -e
0 2 * * * FLIPLINK_API_KEY=your_key /home/you/scripts/nightly-publish.sh >> /var/log/fliplink.log 2>&1

Rediriger à la fois stdout et stderr vers un fichier de log (>> ... 2>&1) signifie que tes branches sur le code de sortie et tes rapports jq sont capturés à chaque exécution — ainsi, quand quelque chose casse à 2 h du matin, tu disposes d'une trace de ce qui s'est exactement passé.

Le schéma, en une ligne

Chaque script de ce guide repose sur la même idée : --json pour obtenir des données brutes → jq pour extraire ou filtrer → une boucle pour agir → des codes de sortie pour vérifier. Commence par inspecter ta propre sortie --json afin que les noms de champs soient corrects, construis le pipeline étape par étape, et tu auras une automatisation FlipLink fiable en quelques minutes.

Lectures complémentaires

Prêt à créer ton premier flipbook ?

Transforme tes PDF en flipbooks et documents interactifs. Commence avec le Lifetime Deal de FlipLink : un accès à vie à partir de seulement 39 $.

#cli#jq#automatisation#scripting#json
Lifetime Deal

Paie une fois, utilise pour toujours

10, 50 ou 100 flipbooks · Les 35 fonctionnalités · Domaines illimités

$39
10 Flipbooks
$89
50 Flipbooks
Le plus populaire
$129
100 Flipbooks

Aucun palier. Aucune restriction de fonctionnalité. Chaque code de l'offre à vie débloque tout.

  • Chaque fonctionnalité débloquée — sans limites
  • Cumulable — achète plus de codes quand tu veux
  • Remplaçable — échange l'ancien contre le nouveau
  • Domaines personnalisés illimités (CNAME)
  • Aucuns frais récurrents, jamais

À lire aussi

Tutorials7 min read

Convertir un dossier de PDF en flipbooks par lot

Convertis un dossier entier de PDF en flipbook par lot avec une seule boucle shell grâce au CLI FlipLink — récupère les URL dans un CSV et ignore les fichiers défectueux.

Sumit Ghugharwal