Clever Tools : une année d’évolutions au service de vos déploiements, cap sur la v4

clever tools v3
Une interface en ligne de commandes (CLI) est au cœur de l'expérience développeur. Chez Clever Cloud, cela fait bientôt 10 ans que nous proposons les Clever Tools.

Notre objectif principal est que nos utilisateurs disposent d’un outil facile à prendre en main, qui leur facilite la vie, à utiliser dans leurs scripts, en complément de notre API et de la Console. En 2023, nous avons décidé de retravailler ce projet open source pour lui donner un nouveau souffle.

Voici le bilan de notre première année de travail.

v3 : les bases du renouveau

Nous partions d’un constat : cela faisait deux ans que notre CLI avait peu évolué. Nous avions certes publié quelques mises à jour et versions beta, mais rien de plus.

Pourtant, un outil comme les Clever Tools est utilisé au quotidien par nos clients, il est vital pour l’évolution de notre offre. Basé sur notre API publique, il nous permet de livrer simplement et rapidement de nouveaux services, à nos clients de les utiliser dans de nombreuses situations.

Alors que nous nous apprêtions à faire évoluer Clever Cloud en profondeur, les Clever Tools se devaient d’être le reflet de cette évolution. Profitant de la croissance des équipes, Hubert Sablonnière, en charge du “Front” et développeur principal du projet à l’époque, a lancé une initiative pour y intégrer de nouveaux contributeurs et organiser des échanges réguliers sur son avancement.

Le lancement de la version 3.0 des Clever Tools fin 2023 marquait un premier tournant. Plus qu’une simple mise à jour technique vers Node.js 18, cette version a jeté les bases d’une CLI plus performante, simple et pratique à utiliser. Son mode de distribution a été entièrement retravaillé pour nous permettre de faciliter les releases, mais aussi de ne plus avoir de canaux alpha/beta : chaque PR fait l’objet de la création de binaires de test.

Notre nouvelle stack de logs a d’abord fait son apparition dans les Clever Tools avec des fonctionnalités de recherche textuelle ou par date/durée, un meilleur formatage, etc. Cette version préparait surtout le terrain pour les évolutions que nous avions commencé à planifier pour 2024.

Une gestion simplifiée

L’année 2024 a vu l’introduction de fonctionnalités attendues pour simplifier vos opérations quotidiennes. Par de petits détails, comme la mise à jour des zones dans l’auto-complétion, le fait de ne plus avoir à fournir un nom à la création d’une application, la création de Clever Tasks, l’affichage d’informations utiles ici ou là. Mais aussi par l’introduction de nouveaux paradigmes.

Le meilleur exemple est sans doute l’introduction et la généralisation de l’option --app aux commandes liées à des applications dans notre “Big Summer Update“. En effet, jusqu’à l’été dernier, il fallait “lier” une application Clever Cloud à un dossier local pour la piloter. Depuis la version 3.8.0 ce n’est plus nécessaire. Vous pouvez par exemple clever ssh ou clever restart n’importe quelle application simplement en précisant son nom ou son ID. C’est également à cette période que nous avons introduit la possibilité de lister l’ensemble des applications auxquelles un compte a accès, par organisation (clever applications list).

Nous avons fait de même avec l’option --format/-F, généralisée au plus de commandes possible pour disposer par défaut d’une sortie classique mais pouvoir demander un résultat au format JSON, ce qui peut être pratique dans des scripts/CI ou pour le passer à des outils tels que jq/jless. Parfois, nous avons aussi introduit des formats spécifiques comme json-stream dans le cas des (access) logs, ou shell pour certaines commandes liées aux variables d’environnement.

Un projet ouvert, qui s’adapte à vos besoins

Apporter une meilleure flexibilité des usages était une autre de nos préoccupations cette année. Ici, l’un des meilleurs exemples est sans doute l’intégration officielle de la commande clever curl qui vous permet d’effectuer des requêtes vers notre API avec le contexte de l’utilisateur courant. Cela s’est accompagné d’une aide contextuelle enrichie. C’est d’ailleurs à peu près à la même époque que nous avons retravaillé la documentation des Clever Tools.

C’est aussi à travers notre CLI que nous avons introduit des fonctionnalités nous permettant de répondre aux besoins de clients comme la possibilité d’ajouter des plugins dès la création d’un add-on Elasticsearch. Avec la version 3.11 mise en ligne hier, nous avons introduit un système de feature flags qui prend la suite des anciens canaux alpha/beta. Cette manière de faire nous offre plus de souplesse dans le déploiement de nouvelles fonctionnalités, nous permettant de les tester et de les affiner en fonction de vos retours. N’hésitez d’ailleurs pas à nous faire part de vos besoins, idées, retours à travers des issues sur le projet ou même en y contribuant.

# On créé un add-on Materia KV
clever addon create kv myMateriaKV

# Puis on l'utilise instantanément avec la commande expérimentale clever kv
clever features enable kv
clever kv myMateriaKV PING

# On écrit des données, instantanément répliquée dans 3 data centers sur Paris
clever kv myMateriaKV SET myKey myValue
clever kv myMateriaKV GET myKey

Un début de refonte technique, une approche plus didactique

Les Clever Tools accompagnent notre évolution, avec l’introduction de la date d’expiration des tokens (visible via clever profile), le support des nombreux add-ons lancés cette année : Keycloak, Materia KV, Metabase, Otoroshi with LLM, etc.

Ces derniers ont d’ailleurs été l’occasion pour nous de poursuivre l’approche didactique introduite autour de clever curl, avec l’ajout de la notion d’instructions suivant la création d’un add-on. Notre objectif est ici d’accompagner nos clients dans l’utilisation de nouveaux services, d’outils, avec des références croissantes à des informations utiles, des renvois à notre documentation.

Mais aussi des commandes d’aide au diagnostique comme clever domain diag qui vous permet de vérifier si les DNS d’une application sont correctement configurés. Son ajout s’était accompagné de celui de la commande clever domain overview pour lister tous les domaines et chemins liés à vos différentes applications.

Cap sur la v4, une évolution continue

Nous avons passé une partie de l’été à effectuer un gros nettoyage du code sous le capot. Nous avons ainsi migré vers les Modules EcmaScript (ESM) avec l’introduction d’une étape de bundling. Tout cela nous permet de disposer d’une base de code plus moderne et plus maintenable, préparant les prochaines évolutions de l’architecture de Clever Tools.

L’année 2025 s’annonce tout aussi riche en nouveautés avec l’arrivée prochaine de la version 4.0. Elle signera le passage à Node 22, introduira un nouveau système de build auto-packagé et poursuivra le travail d’amélioration de l’expérience utilisateur. Nous y proposerons aussi très bientôt l’accès aux Network Groups avec la commande expérimentale clever ng.

L’accent sera mis sur une meilleure ergonomie, de nouvelles fonctionnalités mais surtout une révision complète des noms et de l’organisation des commandes qui sera introduite progressivement. La génération de la documentation sera également automatisée, les releases planifiées et régulières. Tout cela sera permis par une grosse évolution de la stack technique des Clever Tools.

La période qui s’ouvre reflète notre engagement constant : vous fournir un outil fiable, performant et adapté à vos besoins. Car au-delà des fonctionnalités techniques, c’est bien la collaboration avec notre communauté qui guide l’évolution de Clever Tools. Les changements apportés depuis 2023 ne sont que le début d’une nouvelle ère pour votre CLI de déploiement.

Rendez-vous d’ici quelques semaines pour commencer à découvrir toutes les possibilités qu’offrira la version 4. Pensez à suivre notre changelog pour être tenus informés de ses évolutions.

Blog

À lire également

Clever Cloud obtient la certification HDS (Hébergeur de Données de Santé)

Clever Cloud, leader européen des solutions de solutions cloud de type Platform as a Service, annonce aujourd'hui l'obtention de la certification Hébergeur de Données de Santé (HDS), dans sa version actualisée et en vigueur depuis le 16 mai 2024, sur l'intégralité des 6 activités de la norme. Cette certification renforce la position de Clever Cloud comme partenaire de confiance pour les entreprises et organisations du secteur de la santé.
Presse

Clever Tools : une année d’évolutions au service de vos déploiements, cap sur la v4

Une interface en ligne de commandes (CLI) est au cœur de l'expérience développeur. Chez Clever Cloud, cela fait bientôt 10 ans que nous proposons les Clever Tools.
Engineering Fonctionnalités

Otoroshi with LLM : simplifiez la gestion de vos API et services IA sur Clever Cloud

Vos applications et services évoluent dans un environnement de plus en plus complexe, nécessitant une gestion efficace des API et des interactions avec des modèles d'intelligence artificielle tels que les très populaires LLM (Large Language Models).
Fonctionnalités