CLI ashgate
La CLI ashgate (ashgate-cli) est l'outil en ligne de commande officiel de l'écosystème Ash-Wallet. Elle permet d'automatiser l'authentification avec Keycloak, de gérer vos projets distants, et d'initialiser rapidement vos projets de développement locaux.
Installation
Installez la CLI globalement via npm :
npm install -g ashgate-cliVérifiez que l'installation a réussi :
ashgate --version
# 3.0.0Authentification (ashgate auth)
L'authentification s'appuie sur le SSO Keycloak en utilisant le protocole OAuth2 / OIDC avec le flux d'autorisation PKCE.
Connexion
Ouvre automatiquement votre navigateur web pour vous connecter de manière sécurisée :
ashgate auth loginDéconnexion
Supprime les jetons d'accès stockés localement :
ashgate auth logoutVérifier le statut de session
Affiche l'état de la connexion courante, l'email de l'utilisateur connecté et le temps restant avant l'expiration de la session :
ashgate auth statusNOTE
La CLI gère automatiquement le rafraîchissement transparent de la session (refresh token) avant chaque appel API. Vous n'avez pas besoin de vous reconnecter tant que votre session globale reste valide.
Gestion de Projets (ashgate project)
Permet de lister, créer, inspecter et suivre l'utilisation de vos projets de paiement depuis le terminal.
Lister vos projets
Affiche la liste de tous vos projets configurés sur la plateforme :
ashgate project listCréer un nouveau projet
Crée un projet distant avec ses paramètres de facturation et ses clés API associées :
ashgate project create \
--name "Mon Application" \
--slug "mon-app" \
--billing-mode none \
--sandbox-key "sk_sandbox_xxxx" \
--feexpay-key "feexpay_api_key_xxxx" \
--feexpay-shop "shop_id_xxxx"Afficher les détails d'un projet
Affiche les clés publiques, les configurations et l'état d'activation d'un projet spécifique :
ashgate project show <slug>Mettre à jour la configuration d'un projet
Modifie les webhooks, clés d'API tierces ou priorités d'opérateurs du projet :
ashgate project update <slug> --webhook-url "https://api.monsite.com/webhook"Supprimer/Désactiver un projet
Désactive temporairement ou supprime un projet :
ashgate project delete <slug>Suivre l'utilisation et quotas
Consulte le volume de requêtes et transactions en cours pour le mois :
ashgate project usage <slug>Streamer les logs de requêtes en direct
Écoute en temps réel les logs d'appels API reçus et traités par le proxy d'Ash Gateway :
ashgate project logs <slug>Initialisation du Projet Local (ashgate init)
La commande init détecte le framework de votre projet local, installe automatiquement les dépendances requises, configure les clés d'API et génère le code d'intégration de paiement.
ashgate initFonctionnement pas à pas :
- Détection automatique du Framework : Scanne la structure du dossier courant pour identifier le type de projet (Flutter, Nuxt, React, Express, Rails).
- Liaison automatique de Projet :
- Si non connecté, lance automatiquement le flux de connexion via Keycloak (obligatoire).
- Si connecté, liste interactivement vos projets Ash Gateway.
- Récupère automatiquement les clés publiques (
projectKey) et le slug du projet sélectionné depuis l'API pour éviter toute saisie manuelle.
- Sélection des fournisseurs de paiement :
- FedaPay uniquement
- FeexPay uniquement
- Les deux (FedaPay & FeexPay)
- Sélection du mode FeexPay :
- Proxy / Serveur USSD (Recommandé) : Les clés de paiement sensibles restent côté serveur. L'app mobile fait un appel API sécurisé et affiche le checkout dans une WebView.
- SDK local : Utilise le package officiel
feexpay_fluttersur le mobile.
- Installation automatique des dépendances : Configure automatiquement le gestionnaire de paquets (ex: exécute
flutter pub addpour ajouterfeda_flutter,feexpay_flutterouwebview_flutterselon vos choix). - Génération du code d'intégration :
- Génère le fichier de configuration
lib/ashgate_config.dart. - Génère les adaptateurs de chaque passerelle sous
lib/providers/. - Génère l'orchestrateur de paiement unifié
lib/ashgate_payment.dart. - Patch le fichier
lib/main.dartpour injecter automatiquement l'initialisation au démarrage de l'application.
- Génère le fichier de configuration
Autocomplétion des Commandes (ashgate completion)
Pour activer l'autocomplétion des commandes (Bash/Zsh) :
ashgate completion <shell>Suivez les instructions affichées pour l'ajouter à votre fichier de configuration shell (.bashrc ou .zshrc).