Aller au contenu

Le CLI Geotribu : cherchez dans nos contenus et images en ligne de commande#

📆 Date de publication initiale : 25 août 2023

Prérequis :

  • Python 3.9+
  • un terminal gérant les hyperliens : Bash, PowerShell 5+, etc.
  • une appétence pour la ligne de commande

Introduction#

logo Geotribu CLI

Que ce soit pour concevoir un (éphémère) scan Isogeo hors-ligne, en tant qu'indépendant (notamment pour Tactis et des traitements liés à GraceTHD) et ces derniers mois pour la Géoplateforme de l'IGN ou QDT en tant qu'Oslandien, j'ai eu l'occasion de développer pas mal d'outils en ligne de commande (CLI pour les intimes).

Alors pourquoi pas pour Geotribu ? Comme ça, je peux expérimenter sans contrainte, proposer un nouveau moyen de consulter les contenus et surtout automatiser certaines tâches plus ou moins récurrentes.

Petite présentation pour les lecteur/ices qui considèrent qu'un terminal est une interface agréable ou pour celles/eux qui aimeraient se mettre à la ligne de commande pour briller en société de géogeeks !

pip install geotribuBienvenue dans le GeoTipi !
Pour démarrer, taper : 'geotribu --help' ou 'geotribu rss'.

Commenter cet article


Prérequis et installation#

Le plus simple est d'utiliser le gestionnaire de paquets Python (pip) depuis un terminal, il suffit de lancer la commande adaptée à votre système.

Exemple sur Ubuntu LTS (22.04 à date) :

python3 -m pip install --upgrade geotribu

Dans une fenêtre PowerShell :

py -3 -m pip install --upgrade geotribu

Si un message d'avertissement comme celui-ci s'affiche :

WARNING: The scripts geotribu.exe are installed in 'C:\Users\username\AppData\Roaming\Python\Python310\Scripts' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

Il s'agit d'ajouter le chemin vers le dossier des scripts Python à la variable `PATH`` qui liste les dossiers contenant des exécutables. Cela se fait toujours avec PowerShell (adapter le chemin en fonction de la version de votre installation Python) :

$Env:PATH += ";$Env:APPDATA\Python\Python310\Scripts"

Puis allez lire cet article 😉 !

Documentation d'installation détaillée

Tester l'installation#

logo console terminal

Comme pour tout autre outil, pour vérifier que l'installation s'est déroulée correctement, il est de bon ton d'exécuter les commandes de base : --version et --help (sorties non contractuelles 😉) :

Par exemple, la commande :

geotribu --help

Donne quelque chose comme :

Usage: geotribu [-v] [-h] [--version]
                {read-latest,récents,latest,rl,rss,search-content,contenus,sc,search-image,si,ouvrir,lire,open,or,read,upgrade,auto-update,maj,update,creer,new,nouveau,comments,commentaires,coms,images,img,social,rezosocio}
                ...

Geotribu Toolbelt 0.32.0 - Une ligne de commande pour Geotribu qui offre des outils pour rechercher et consulter les contenus et images, et faciliter les tâches récurrentes des contributeur/ices.

Options:
  -v, --verbose         Niveau de verbosité : None = WARNING, -v = INFO, -vv =
                        DEBUG. Réglable avec la variable d'environnement
                        GEOTRIBU_LOGS_LEVEL.
  -h, --help            Affiche l'aide et s'arrête là.
  --version             Affiche la version du CLI et s'arrête là.

Sous-Commandes:
  {read-latest,récents,latest,rl,rss,search-content,contenus,sc,search-image,si,ouvrir,lire,open,or,read,upgrade,auto-update,maj,update,creer,new,nouveau,comments,commentaires,coms,images,img,social,rezosocio}
    read-latest (récents, latest, rl, rss)
                        Consulter les derniers contenus du site
    search-content (contenus, sc)
                        Rechercher dans les contenus du site
    search-image (si)   Rechercher dans les images de Geotribu
    ouvrir (lire, open, or, read)
                        Ouvre un résultat d'une commande précédente dans le
                        terminal ou l'application correspondant au type de
                        contenu.
    upgrade (auto-update, maj, update)
                        Mettre à jour Geotribu CLI.
    creer (new, nouveau)
                        Créer un nouveau contenu.
    comments (commentaires, coms)
                        Consulter et gérer les commentaires.
    images (img)        Chercher, gérer et optimiser les images.
    social (rezosocio, social)
                        Commandes liées aux réseaux sociaux.

Geotribu en ligne de commande pour rechercher dans les contenus et les images, consulter les derniers contenus sans quitter son terminal.
Encore meilleur avec les terminaux gérant les hyperliens : Bash, PowerShell 5+, etc.

Développé par Julien Moura (Geotribu)
Documentation : https://cli.geotribu.fr/

La plupart des options sont configurables en variable d'environnement :

Consulter les options de configuration


Utilisation#

Cette trousse à outils est destinée à évoluer au gré des besoins et surtout de mon temps disponible ou de celui que des contributeur/ices voudront bien y investir. Le champ fonctionnel n'est donc pas figé et c'est pour cela que la documentation est configurée pour être générée à la volée à partir du code et des commandes/sous-commandes disponibles. Inutile donc de dupliquer ici avec une obsolescence programmée ce qui est automatiquement à jour ailleurs.

Voir les exemples

Dans les grandes lignes :

  • lister les derniers contenus publiés (à partir du flux RSS) :

    geotribu rss
    # en spécifiant le nombre et le type de contenus (`article` ou `rdp`)
    geotribu rss -f rdp -n 10
    
  • chercher dans les articles et revues de presse

    geotribu sc orfeo*
    # en spécifiant la présence d’un mot dans le titre et lister les 5 premiers résultats
    geotribu sc -n 5 "+title:openstreetmap postgis"
    
  • ouvrir un contenu (soit dans le terminal, soit dans l'application par défaut)

    Après chaque commande de recherche, il est proposé d'ouvrir un contenu parmi les résultats. Mais il est également possible d'ouvrir un résultat depuis une commande passée.

    geotribu open 0
    
  • chercher une image parmi celles hébergées sur Geotribu

    geotribu si postgis
    # uniquement les icônes ou logos
    geotribu si postgis -f logo
    
  • optimiser une ou plusieurs images pour la publication (dimensions, format, nom...)1

    # depuis un chemin local ou une URL distante
    geotribu img optimize {URL_OU_CHEMIN_IMAGE}
    # tout un dossier
    geotribu images optimize {CHEMIN_VERS_DOSSIER_LOCAL_AVEC_IMAGES_A_OPTIMISER}
    
  • lister les derniers commentaires

    geotribu comments latest
    
  • poster le dernier commentaire publié sur Mastodon (instance Mapstodon)1

    geotribu comments broadcast -t mastodon
    

Sinon consulter la vidéo de présentation :

Un outil déjà utilisé et ouvert#

AU départ un side-project perso, l'outil est finalement déjà en "production", utilisé à plusieurs étapes du cycle de vie de Geotribu :

C'est évidemment open source et libre (licence MIT) donc si cela vous intéresse, si vous rencontrez un bug ou si vous souhaitez ajouter une fonctionnalité, n'hésitez pas à faire un tour sur le GitHub :

Consulter le dépôt du code


Auteur#

Julien Moura#

Portrait Julien Moura

Géographe "sigiste" de formation, j'ai travaillé sur différentes thématiques et types de structures : gestion des déchets en milieu urbain à Madagascar, foncier d'intérêt général auprès de l'EPF de La Réunion, organisation et la résilience urbaine face aux risques naturels à Lima pour l'IRD, gouvernance et ouverture des données à Isogeo.

Je travaille désormais à Oslandia.
Féru des dynamiques de contributions, je participe activement à Geotribu depuis fin 2011.

Licence Beerware #

Ce contenu est sous licence Beerware (Révision 42).
Les médias d'illustration sont potentiellement soumis à d'autres conditions d'utilisation.

Détails

Tant que vous conservez cette licence :

  • vous pouvez faire ce que vous voulez de ce contenu
  • si vous rencontrez l'auteur/e un jour et que vous pensez que ce contenu vaut le coup, vous pouvez lui payer un coup en retour

Citer cet article :

"Geotribu dans le terminal" publié par Julien Moura sur Geotribu - Source : https://geotribu.fr/articles/2023/2023-08-25_geotribu-cli-en-ligne-de-commande/


  1. commandes nécessitant un jeton d'authentification à une API 

Commentaires

Afin de favoriser les échanges constructifs, merci de préférer le pseudonymat à l'anonymat. Pour rappel, l'adresse mail n'est pas exposée publiquement. Consulter la page sur la confidentialité et les données personnelles.
Une version minimale de la syntaxe markdown est acceptée pour la mise en forme des commentaires.
Propulsé par Isso.

Ce contenu est sous licence Beerware Pictogramme BeerWare