Oracle · Flexcube · Python 3
fcx-toolkit
Un appel, une réponse JSON. Toujours.
Exécuter du SQL Oracle, exporter un résultat, intégrer un batch d'écritures comptables — depuis votre code, pas seulement depuis un terminal. Chaque exécution rend un document JSON unique sur la sortie standard, succès comme échec.
$ python3 fcx.py extract \ --env cofina \ --query "select cust_ac_no, acy_avl_bal from sttm_cust_account where rownum <= 2"
$ echo $?
0
{
"status": "success",
"command": "extract",
"exit_code": 0,
"messages": ["2 ligne(s) extraite(s)."],
"data": {
"columns": ["CUST_AC_NO", "ACY_AVL_BAL"],
"rows": [
["0012345678", 150000.0],
["0098765432", 250000.0]
],
"row_count": 2
},
"error": null
}Sortie standard : le JSON, rien d'autre Compact par défaut · indenté ici pour la lecture
01 — Installation
Cinq lignes, aucun Instant Client
Le driver oracledb fonctionne en mode thin : rien
à installer côté Oracle. Python 3.9 ou plus récent suffit.
git clone https://github.com/mawena/fcx-toolkit.git
cd fcx-toolkit
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
cp envs/exemple.conf.dist envs/cofina.conf # puis renseignez vos accès02 — Les commandes
Cinq appels pour tout faire
--env désigne un fichier de configuration sous
envs/. Les mots de passe n'y figurent jamais en
clair : ils sont lus dans les variables d'environnement au lancement.
$ python3 fcx.py envsenvs
Liste les environnements configurés.
$ python3 fcx.py commandscommands
Liste les commandes disponibles, en JSON — la découverte pour un appelant automatisé.
$ python3 fcx.py execute --env cofina \ --query "exec MON_PKG.MA_PROC"
execute
Exécute du SQL ou du PL/SQL : requêtes, procédures, blocs anonymes. S'arrête à la première instruction en échec.
$ python3 fcx.py extract --env cofina \ --query "select * from sttm_cust_account" \ --out ./comptes.xlsx
extract
Exporte le résultat d'un SELECT en CSV, Excel ou JSON. Sans --out, les lignes reviennent dans la réponse.
$ python3 fcx.py flexcube-batch --env cofina \
--file ./ecritures.csv --no-batch B0012 \
--value-date 15/07/2026 --user-id OPS01 \
--dry-runflexcube-batch
Intègre un batch d'écritures depuis un CSV ou un Excel. Contrôle l'existence des comptes, les soldes et l'équilibre débit/crédit avant tout envoi. --dry-run vérifie sans rien transmettre.
03 — Ce sur quoi vous pouvez compter
Trois garanties
Intégration
Décodable sans précaution
Un seul document JSON par exécution, compact, erreurs d'usage comprises. Aucun journal affiché : le décodage tient même si votre appelant fusionne les flux.
Sécurité
Rien n'est envoyé sur un doute
Les anomalies sont accumulées puis rendues ensemble : une exécution suffit pour connaître toutes les corrections. Un contrôle qui échoue annule l'intégration.
Extension
Un fichier suffit
Déposez un .py dans workflows/ : il devient une sous-commande. Aucun code existant à modifier.