Skip to content

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 :

bash
npm install -g ashgate-cli

Vérifiez que l'installation a réussi :

bash
ashgate --version
# 3.0.0

Authentification (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 :

bash
ashgate auth login

Déconnexion

Supprime les jetons d'accès stockés localement :

bash
ashgate auth logout

Vé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 :

bash
ashgate auth status

NOTE

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 :

bash
ashgate project list

Créer un nouveau projet

Crée un projet distant avec ses paramètres de facturation et ses clés API associées :

bash
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 :

bash
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 :

bash
ashgate project update <slug> --webhook-url "https://api.monsite.com/webhook"

Supprimer/Désactiver un projet

Désactive temporairement ou supprime un projet :

bash
ashgate project delete <slug>

Suivre l'utilisation et quotas

Consulte le volume de requêtes et transactions en cours pour le mois :

bash
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 :

bash
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.

bash
ashgate init

Fonctionnement pas à pas :

  1. Détection automatique du Framework : Scanne la structure du dossier courant pour identifier le type de projet (Flutter, Nuxt, React, Express, Rails).
  2. 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.
  3. Sélection des fournisseurs de paiement :
    • FedaPay uniquement
    • FeexPay uniquement
    • Les deux (FedaPay & FeexPay)
  4. 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_flutter sur le mobile.
  5. Installation automatique des dépendances : Configure automatiquement le gestionnaire de paquets (ex: exécute flutter pub add pour ajouter feda_flutter, feexpay_flutter ou webview_flutter selon vos choix).
  6. 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.dart pour injecter automatiquement l'initialisation au démarrage de l'application.

Autocomplétion des Commandes (ashgate completion)

Pour activer l'autocomplétion des commandes (Bash/Zsh) :

bash
ashgate completion <shell>

Suivez les instructions affichées pour l'ajouter à votre fichier de configuration shell (.bashrc ou .zshrc).

Propulsé de manière serverless par VitePress.