Erreur récupération du RIB chez Crédit-Agricole

Bonjour,

Je n’utilise pas Docker mais mon environnement est sur LXC en Debian 12.10 avec du NPM 10.8.2 et avec NodeJS v20.19.0

En gros, j’ai installé Kresus avec NPM en faisant :

/usr/bin/npm install --prefix /home/kresus/kresus kresus@latest

Pour ainsi utiliser cette unité :

root@kresus3:~# systemctl cat kresus
# /etc/systemd/system/kresus.service

[Unit]
Description=Personal finance manager
After=network.target

[Service]
Type=simple
Restart=always
WorkingDirectory=/home/kresus/kresus/
Environment=NODE_ENV=production
Environment=KRESUS_WOOB_DIR=
Environment=HOST=0.0.0.0
Environment=KRESUS_PYTHON_EXEC=/usr/bin/python3
Environment=KRESUS_DB_TYPE=sqlite
Environment=KRESUS_DB_SQLITE_PATH=/home/kresus/kresus.sqlite
ExecStart=/usr/bin/node /home/kresus/kresus/node_modules/kresus/bin/kresus.js
User=kresus

StandardOutput=journal
StandardError=inherit
SyslogIdentifier=kresus
StandardOutput=append:/home/kresus/kresus.log

[Install]
WantedBy=multi-user.target

Depuis une ancienne version de Kresus qui tournait sur Debian 10 avec du LXC aussi, j’ai pu importer au format JSON les anciennes lignes de mes livrets bancaire ainsi que l’identifiant de mon compte chez le Crédit-Agricole.

Je rencontre le souci de validation du compte en allant sur cette URL : https://mon-app.domaine.com/#/accesses/edit-access/1

Dans les logs, j’ai l’impression que la nouvelle application ne vient pas à récupérer les informations liée à l’IBAN :

2025-05-19 00:08:37,569:DEBUG:urllib3.connectionpool:connectionpool.py:544:_make_request https://www.credit-agricole.fr:443 "GET /ca-alpesprovence/particulier/operations/operations-courantes/editer-rib/jcr:content.ibaninformation.json?compteIdx=0&grandeFamilleCode=1 HTTP/1.1" 404 None

Voici le détail du fichier de log :

[2025-05-19T00:08:33.700] [INFO] accounts-manager - Retrieve all accounts from access cragr with login 54XXXXX000
[2025-05-19T00:08:33.703] [INFO] providers/woob - Calling woob: command accounts...
[2025-05-19T00:08:37.678] [INFO] providers/woob - exited with code 1.
[2025-05-19T00:08:37.678] [WARN] providers/woob - stderr: 2025-05-19 00:08:34,400:DEBUG:woob.core.modules.loader:modules.py:244:load_module Loaded module "cragr" from /home/kresus/.kresus/woob-data/modules/3.7/woob_modules/cragr
2025-05-19 00:08:34,400:DEBUG:woob.backend:modules.py:152:create_instance Created backend "cragr" for module "cragr"
2025-05-19 00:08:34,401:DEBUG:urllib3.util.retry:retry.py:286:from_int Converted retries value: 2 -> Retry(total=2, connect=None, read=None, redirect=None, status=None)
2025-05-19 00:08:34,401:DEBUG:urllib3.util.retry:retry.py:286:from_int Converted retries value: 2 -> Retry(total=2, connect=None, read=None, redirect=None, status=None)
2025-05-19 00:08:34,404:DEBUG:urllib3.util.retry:retry.py:286:from_int Converted retries value: 2 -> Retry(total=2, connect=None, read=None, redirect=None, status=None)
2025-05-19 00:08:34,405:DEBUG:urllib3.util.retry:retry.py:286:from_int Converted retries value: 2 -> Retry(total=2, connect=None, read=None, redirect=None, status=None)
2025-05-19 00:08:34,407:DEBUG:urllib3.connectionpool:connectionpool.py:1049:_new_conn Starting new HTTPS connection (1): www.credit-agricole.fr:443
2025-05-19 00:08:34,757:DEBUG:urllib3.connectionpool:connectionpool.py:544:_make_request https://www.credit-agricole.fr:443 "GET /ca-alpesprovence/particulier/acceder-a-mes-comptes.html HTTP/1.1" 200 11612
2025-05-19 00:08:34,763:DEBUG:woob.cragr.browser:browsers.py:1021:internal_callback Handle https://www.credit-agricole.fr/ca-alpesprovence/particulier/acceder-a-mes-comptes.html with LoginPage
2025-05-19 00:08:34,833:DEBUG:urllib3.connectionpool:connectionpool.py:544:_make_request https://www.credit-agricole.fr:443 "POST /ca-alpesprovence/particulier/acceder-a-mes-comptes.authenticationKeypad.json HTTP/1.1" 200 105
2025-05-19 00:08:34,836:DEBUG:woob.cragr.browser:browsers.py:1021:internal_callback Handle https://www.credit-agricole.fr/ca-alpesprovence/particulier/acceder-a-mes-comptes.authenticationKeypad.json with KeypadPage
2025-05-19 00:08:34,870:DEBUG:urllib3.connectionpool:connectionpool.py:544:_make_request https://www.credit-agricole.fr:443 "GET /ca-alpesprovence/particulier/acceder-a-mes-comptes.html HTTP/1.1" 200 11612
2025-05-19 00:08:34,875:DEBUG:woob.cragr.browser:browsers.py:1021:internal_callback Handle https://www.credit-agricole.fr/ca-alpesprovence/particulier/acceder-a-mes-comptes.html with LoginPage
2025-05-19 00:08:35,388:DEBUG:urllib3.connectionpool:connectionpool.py:544:_make_request https://www.credit-agricole.fr:443 "POST /ca-alpesprovence/particulier/acceder-a-mes-comptes.html/j_security_check HTTP/1.1" 200 64
2025-05-19 00:08:35,391:DEBUG:woob.cragr.browser:browsers.py:1021:internal_callback Handle https://www.credit-agricole.fr/ca-alpesprovence/particulier/acceder-a-mes-comptes.html/j_security_check with SecurityPage
2025-05-19 00:08:35,986:DEBUG:urllib3.connectionpool:connectionpool.py:544:_make_request https://www.credit-agricole.fr:443 "GET /ca-alpesprovence/particulier/operations/synthese.html HTTP/1.1" 200 None
2025-05-19 00:08:36,017:DEBUG:woob.cragr.browser:browsers.py:1021:internal_callback Handle https://www.credit-agricole.fr/ca-alpesprovence/particulier/operations/synthese.html with AccountsPage
2025-05-19 00:08:36,462:DEBUG:urllib3.connectionpool:connectionpool.py:544:_make_request https://www.credit-agricole.fr:443 "GET /ca-alpesprovence/particulier/operations/synthese.html HTTP/1.1" 200 None
2025-05-19 00:08:36,489:DEBUG:woob.cragr.browser:browsers.py:1021:internal_callback Handle https://www.credit-agricole.fr/ca-alpesprovence/particulier/operations/synthese.html with AccountsPage
2025-05-19 00:08:36,490:INFO:woob.cragr.browser:browser.py:674:iter_spaces The total number of spaces on this connection is 1.
2025-05-19 00:08:36,932:DEBUG:urllib3.connectionpool:connectionpool.py:544:_make_request https://www.credit-agricole.fr:443 "GET /ca-alpesprovence/particulier/operations/synthese.html HTTP/1.1" 200 None
2025-05-19 00:08:36,958:DEBUG:woob.cragr.browser:browsers.py:1021:internal_callback Handle https://www.credit-agricole.fr/ca-alpesprovence/particulier/operations/synthese.html with AccountsPage
2025-05-19 00:08:37,064:DEBUG:urllib3.connectionpool:connectionpool.py:544:_make_request https://www.credit-agricole.fr:443 "GET /ca-alpesprovence/particulier/operations/synthese/jcr:content.produits-valorisation.json/3 HTTP/1.1" 200 3141
2025-05-19 00:08:37,066:DEBUG:woob.cragr.browser:browsers.py:1021:internal_callback Handle https://www.credit-agricole.fr/ca-alpesprovence/particulier/operations/synthese/jcr:content.produits-valorisation.json/3 with AccountDetailsPage
2025-05-19 00:08:37,179:DEBUG:urllib3.connectionpool:connectionpool.py:544:_make_request https://www.credit-agricole.fr:443 "GET /ca-alpesprovence/particulier/operations/synthese/jcr:content.produits-valorisation.json/4 HTTP/1.1" 200 3229
2025-05-19 00:08:37,180:DEBUG:woob.cragr.browser:browsers.py:1021:internal_callback Handle https://www.credit-agricole.fr/ca-alpesprovence/particulier/operations/synthese/jcr:content.produits-valorisation.json/4 with AccountDetailsPage
2025-05-19 00:08:37,343:DEBUG:urllib3.connectionpool:connectionpool.py:544:_make_request https://www.credit-agricole.fr:443 "GET /ca-alpesprovence/particulier/operations/synthese/jcr:content.produits-valorisation.json/7 HTTP/1.1" 200 1578
2025-05-19 00:08:37,344:DEBUG:woob.cragr.browser:browsers.py:1021:internal_callback Handle https://www.credit-agricole.fr/ca-alpesprovence/particulier/operations/synthese/jcr:content.produits-valorisation.json/7 with AccountDetailsPage
2025-05-19 00:08:37,569:DEBUG:urllib3.connectionpool:connectionpool.py:544:_make_request https://www.credit-agricole.fr:443 "GET /ca-alpesprovence/particulier/operations/operations-courantes/editer-rib/jcr:content.ibaninformation.json?compteIdx=0&grandeFamilleCode=1 HTTP/1.1" 404 None
[2025-05-19T00:08:37.680] [INFO] providers/woob - Command returned an error code.
[2025-05-19T00:08:37.682] [INFO] providers/woob - Checking that woob is installed and can actually be called…
[2025-05-19T00:08:37.682] [INFO] providers/woob - Calling woob: command test...
[2025-05-19T00:08:38.371] [INFO] providers/woob - exited with code 0.
[2025-05-19T00:08:38.371] [INFO] providers/woob - OK: woob exited normally with non-empty JSON content.
[2025-05-19T00:08:38.371] [ERROR] providers/woob - Got error while running command "3": Unknown error: 404 Client Error: Not Found.
Traceback (most recent call last):
  File "/home/kresus/kresus/node_modules/kresus/build/server/providers/woob/py/main.py", line 711, in fetch
    results["values"] = self.get_accounts()
                        ^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/kresus/node_modules/kresus/build/server/providers/woob/py/main.py", line 553, in get_accounts
    for account in list(self.backend.iter_accounts()):
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.kresus/woob-data/modules/3.7/woob_modules/cragr/browser.py", line 750, in iter_accounts
    main_account.iban = self.get_account_iban(main_account._index, 1, main_account.id)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.kresus/woob-data/modules/3.7/woob_modules/cragr/browser.py", line 644, in get_account_iban
    self.account_iban.go(space=self.space, params=params)
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/url.py", line 193, in go
    r = self.browser.location(
        ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/browsers.py", line 1052, in location
    response = self.open(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/browsers.py", line 1039, in open
    return super().open(callback=internal_callback, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/browsers.py", line 896, in open
    return super().open(url, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/browsers.py", line 561, in open
    response = self.session.send(
               ^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/sessions.py", line 160, in send
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/sessions.py", line 153, in func
    return callback(self, resp)
           ^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/browsers.py", line 556, in inner_callback
    self.raise_for_status(response)
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/browsers.py", line 620, in raise_for_status
    raise HTTPNotFound(http_error_msg, response=response)
woob.browser.exceptions.HTTPNotFound: 404 Client Error: Not Found

[2025-05-19T00:08:38.372] [ERROR] providers/woob - 	(error code: GENERIC_EXCEPTION)
[2025-05-19T00:08:38.379] [ERROR] helpers - when fetching accounts and transactions: Unknown error: 404 Client Error: Not Found.
Traceback (most recent call last):
  File "/home/kresus/kresus/node_modules/kresus/build/server/providers/woob/py/main.py", line 711, in fetch
    results["values"] = self.get_accounts()
                        ^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/kresus/node_modules/kresus/build/server/providers/woob/py/main.py", line 553, in get_accounts
    for account in list(self.backend.iter_accounts()):
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.kresus/woob-data/modules/3.7/woob_modules/cragr/browser.py", line 750, in iter_accounts
    main_account.iban = self.get_account_iban(main_account._index, 1, main_account.id)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.kresus/woob-data/modules/3.7/woob_modules/cragr/browser.py", line 644, in get_account_iban
    self.account_iban.go(space=self.space, params=params)
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/url.py", line 193, in go
    r = self.browser.location(
        ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/browsers.py", line 1052, in location
    response = self.open(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/browsers.py", line 1039, in open
    return super().open(callback=internal_callback, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/browsers.py", line 896, in open
    return super().open(url, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/browsers.py", line 561, in open
    response = self.session.send(
               ^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/sessions.py", line 160, in send
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/sessions.py", line 153, in func
    return callback(self, resp)
           ^^^^^^^^^^^^^^^^^^^^
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/browsers.py", line 556, in inner_callback
    self.raise_for_status(response)
  File "/home/kresus/.local/lib/python3.11/site-packages/woob/browser/browsers.py", line 620, in raise_for_status
    raise HTTPNotFound(http_error_msg, response=response)
woob.browser.exceptions.HTTPNotFound: 404 Client Error: Not Found

[2025-05-19T00:08:38.380] [INFO] helpers - Error
    at new KError (/home/kresus/kresus/node_modules/kresus/build/server/helpers.js:62:22)
    at callWoob (/home/kresus/kresus/node_modules/kresus/build/server/providers/woob/index.js:234:15)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async _fetchHelper (/home/kresus/kresus/node_modules/kresus/build/server/providers/woob/index.js:291:16)
    at async Object.fetchAccounts (/home/kresus/kresus/node_modules/kresus/build/server/providers/woob/index.js:305:12)
    at async /home/kresus/kresus/node_modules/kresus/build/server/lib/accounts-manager.js:137:20
    at async retryCallProvider (/home/kresus/kresus/node_modules/kresus/build/server/lib/accounts-manager.js:96:20)
    at async pollAccounts (/home/kresus/kresus/node_modules/kresus/build/server/lib/accounts-manager.js:136:34)
    at async AccountManager.syncAccounts (/home/kresus/kresus/node_modules/kresus/build/server/lib/accounts-manager.js:324:24)
    at async fetchAccountsAndTransactions (/home/kresus/kresus/node_modules/kresus/build/server/controllers/accesses.js:221:31)
[2025-05-19T00:08:38.384] [ERROR] HTTP - PUT /api/accesses/1/fetch/accounts - 500 (4703 ms)

De ce que je comprend, l’applicaiton parvient bien à s’authentifier vu qu’il passe le « SecurityPage ».
C’est après que ça bloque.

Je ne suis pas assez bon en python pour corriger l’erreur et j’aurais voulu sauter l’étape liée à l’iban malgrès mon maigre temps que je dispose. J’ai essayé de commenter l’appel de la fonction raise_for_status mais ça na rien corrigé…

Merci d’avance!

Cordialement,

Sapristi!

Le code s’est mis à marcher tout seul!

La synchro s’est bien faite ce matin à 02:36…

Malgré tout, Merci au projet Kresus d’exister!

Salut,

j’imagine que woob n’était pas à jour : depuis quelques temps le code n’est plus censé casser s’il ne peut récupérer l’iban.
La récupération de l’iban ne fonctionne « juste plus ». J’ai commencé une MR mais elle ne fonctionne pas et je ne vois pas pourquoi (Draft: [cragr] Fix IBAN retrieval (fix #759) (!985) · Requêtes de fusion · woob / woob · GitLab).

Bonsoir,

Je rajoute ce message qui pourrait aider à fournir une piste de résolution car la semaine dernière la synchronisation ne se faisait plus à cause d’une double authentification que l’interface Crédit-Agricole doit ajouter de temps en temps pour vérifier si je suis le bon utilisateur.

En effet, la synchronisation fonctionne de nouveau depuis que j’ai validé avec mon numéro de téléphone ma double authentification. Cette dernière ne reste cependant pas à lors de mes prochaines authentifications…

Voici les erreurs qu’il y avait avant que je me connecte à l’interface du crédit-agricole avec la double authentification :

connection (1): www.credit-agricole.fr:443
it-agricole.fr:443 "GET /ca-alpesprovence/particulier/acceder-a-mes-comptes.html HTTP/1.1" 200 12113
edit-agricole.fr/ca-alpesprovence/particulier/acceder-a-mes-comptes.html with LoginPage
it-agricole.fr:443 "POST /ca-alpesprovence/particulier/acceder-a-mes-comptes.authenticationKeypad.json HTTP/1.1" 200 105
edit-agricole.fr/ca-alpesprovence/particulier/acceder-a-mes-comptes.authenticationKeypad.json with KeypadPage
it-agricole.fr:443 "GET /ca-alpesprovence/particulier/acceder-a-mes-comptes.html HTTP/1.1" 200 12115
edit-agricole.fr/ca-alpesprovence/particulier/acceder-a-mes-comptes.html with LoginPage
it-agricole.fr:443 "POST /ca-alpesprovence/particulier/acceder-a-mes-comptes.html/j_security_check HTTP/1.1" 500 101

nnection: www.credit-agricole.fr
it-agricole.fr:443 "POST /ca-alpesprovence/particulier/acceder-a-mes-comptes.authenticationKeypad.json HTTP/1.1" 500 110

er la double authentification sur le portail internet
la double authentification sur le portail internet

91:16)
b/index.js:315:12)

.js:96:20)
js:258:34)
counts-manager.js:395:24)
rs/accesses.js:238:37)

XXXXXXX (Le numéro du compte est affiché en clair....)

.loader:modules.py:244:load_module Loaded module "cragr" from /home/kresus/.kresus/woob-data/modules/3.7/woob_modules/cragr
ule "cragr"
y(total=2, connect=None, read=None, redirect=None, status=None)
y(total=2, connect=None, read=None, redirect=None, status=None)
y(total=2, connect=None, read=None, redirect=None, status=None)
y(total=2, connect=None, read=None, redirect=None, status=None)

À présent, ça refonctionne.