Galette error: Type: RuntimeException

Mon serveur YunoHost

Matériel: Public Cloud acheté en ligne
Version de YunoHost: 4.2.8.3
J’ai accès à mon serveur : En SSH | Par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non

Erreur du script pour renouveler le mot de passe.

Bonjour, je suis en train de tester Galette, je trouve cette application plus appropriée pour la gestion des adhérents d’une association que je gère, car ce n’est pas un logiciel de comptabilité plus poussé comme Garradin, la comptabilité de l’association est gérée par d’autres outils. Ce qui m’intéresse c’est juste la gestion des adhésions et des adhérents. Je crois que Galette me convient mieux et je remercie @ericg d’avoir pu permettre de l’installer de nouveau.

Il y a deux options pour créer ou recréer les mots de passe des membres enregistrés dans Galette: “Nouveau mot de passe” dans le profil de l’utilisateur ou bien “Mot de passe oublié” sur la page de connexion. Ces deux options semblent exécuter les mêmes directives pour créer un lien et l’envoyer par mail à l’utilisateur pour recréer son mot de passe.

Une fois Galette installé, j’ai pu importer des membres, configurer l’application et entre autre l’envoi des mails qui semblent fonctionner avec le smtp du serveur yunohost. Mais la fonction “Nouveau mot de passe” ou “Mot de passe oublié” renvoi une erreur.

Je ne sais pas encore si cela vient d’une erreur php ou d’une configuration de nginx (je suspecte la configuration de nginx tout de même)…

Par défaut, il y avait une option auto-enregistrement qui ne fonctionnait pas non plus, je pense qie pour la même raison, elle devait lancer le même script d’initialisation du mot de passe…

Voici les logs que j’ai trouvé:

/var/log/nginx/ecranvillage.ovh-error.log

2021/10/12 00:02:18 [error] 15866#15866: *144649 FastCGI sent in stderr: "PHP message: Galette error:
Type: RuntimeException
Message: Patterns and replacements does not match!
File: /var/www/galette/galette/lib/Galette/Features/Replacements.php
Line: 878
Trace: #0 /var/www/galette/galette/lib/Galette/Entity/Texts.php(529): Galette\Entity\Texts->proceedReplacements('[{ASSO_NAME}] V...')
#1 /var/www/galette/galette/lib/Galette/Controllers/AuthController.php(337): Galette\Entity\Texts->getSubject()
#2 [internal function]: Galette\Controllers\AuthController->retrievePassword(Object(Slim\Http\Request), Object(Slim\Http\Response), 1)
#3 /var/www/galette/galette/vendor/php-di/invoker/src/Invoker.php(74): call_user_func_array(Array, Array)
#4 /var/www/galette/galette/vendor/php-di/slim-bridge/src/ControllerInvoker.php(50): Invoker\Invoker->call(Array, Array)
#5 /var/www/galette/galette/vendor/slim/slim/Slim/Route.php(281): DI\Bridge\Slim\ControllerInvoker->__invoke(Array, Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#6 /var/www/galette/galette/vendor/slim/slim/" while reading response header from upstream, client: 2a01:e0a:94:50:c9d0:b2d2:7439:767d, server: ecranvillage.ovh, request: "GET /galette/retrieve-pass/1 HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php7.3-fpm-galette.sock:", host: "ecranvillage.ovh", referrer: "https://ecranvillage.ovh/galette/member/1"

/var/www/galette/galette/data/logs/galette.log

2001:xxxx:xxx:xxxx::xxx - 2021-10-11 23:07:01 - DEBUG - New passwords temporary set for `1`.
2001:xxxx:xxx:xxxx::xxx - 2021-10-11 23:07:01 - ERROR - Galette error:
Type: RuntimeException
Message: Patterns and replacements does not match!
File: /var/www/galette/galette/lib/Galette/Features/Replacements.php
Line: 878
Trace: #0 /var/www/galette/galette/lib/Galette/Entity/Texts.php(529): Galette\Entity\Texts->proceedReplacements('[{ASSO_NAME}] V...')
#1 /var/www/galette/galette/lib/Galette/Controllers/AuthController.php(337): Galette\Entity\Texts->getSubject()
#2 [internal function]: Galette\Controllers\AuthController->retrievePassword(Object(Slim\Http\Request), Object(Slim\Http\Response), 1)
#3 /var/www/galette/galette/vendor/php-di/invoker/src/Invoker.php(74): call_user_func_array(Array, Array)
#4 /var/www/galette/galette/vendor/php-di/slim-bridge/src/ControllerInvoker.php(50): Invoker\Invoker->call(Array, Array)
#5 /var/www/galette/galette/vendor/slim/slim/Slim/Route.php(281): DI\Bridge\Slim\ControllerInvoker->__invoke(Array, Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#6 /var/www/galette/galette/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\Route->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
#7 /var/www/galette/galette/vendor/slim/slim/Slim/Route.php(268): Slim\Route->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
#8 /var/www/galette/galette/vendor/slim/slim/Slim/App.php(503): Slim\Route->run(Object(Slim\Http\Request), Object(Slim\Http\Response))
#9 /var/www/galette/galette/vendor/akrabat/rka-slim-session-middleware/RKA/SessionMiddleware.php(47): Slim\App->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
#10 [internal function]: RKA\SessionMiddleware->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Galette\Core\SlimApp))
#11 /var/www/galette/galette/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(RKA\SessionMiddleware), Array)
#12 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Galette\Core\SlimApp))
#13 /var/www/galette/galette/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Galette\Core\SlimApp))
#14 /var/www/galette/galette/lib/Galette/Middleware/TrailingSlash.php(81): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#15 [internal function]: Galette\Middleware\TrailingSlash->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#16 /var/www/galette/galette/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Galette\Middleware\TrailingSlash), Array)
#17 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#18 /var/www/galette/galette/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#19 /var/www/galette/galette/lib/Galette/Middleware/Language.php(104): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#20 [internal function]: Galette\Middleware\Language->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#21 /var/www/galette/galette/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Galette\Middleware\Language), Array)
#22 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#23 /var/www/galette/galette/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#24 /var/www/galette/galette/lib/Galette/Middleware/Telemetry.php(146): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#25 [internal function]: Galette\Middleware\Telemetry->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#26 /var/www/galette/galette/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Galette\Middleware\Telemetry), Array)
#27 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#28 /var/www/galette/galette/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#29 /var/www/galette/galette/lib/Galette/Middleware/CheckAcls.php(144): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#30 [internal function]: Galette\Middleware\CheckAcls->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#31 /var/www/galette/galette/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Galette\Middleware\CheckAcls), Array)
#32 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#33 /var/www/galette/galette/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#34 /var/www/galette/galette/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#35 /var/www/galette/galette/vendor/slim/slim/Slim/App.php(392): Slim\App->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
#36 /var/www/galette/galette/vendor/slim/slim/Slim/App.php(297): Slim\App->process(Object(Slim\Http\Request), Object(Slim\Http\Response))
#37 /var/www/galette/galette/includes/main.inc.php(155): Slim\App->run()
#38 /var/www/galette/galette/webroot/index.php(57): require_once('/var/www/galett...')
#39 {main}

J’ai ouvert une issue sur le dépôt error when trying renew password · Issue #15 · YunoHost-Apps/galette_ynh · GitHub

Quelqu’un saurait m’aider ?

Merci