Redmine Entr’ouvert: Demandeshttps://dev.entrouvert.org/https://dev.entrouvert.org/favicon.ico?15861920342024-03-25T14:57:58ZRedmine Entr’ouvert
Redmine Intégrations graphiques Publik - Support #88644 (Nouveau): theme dsfr : contraste input et couleu...https://dev.entrouvert.org/issues/886442024-03-25T14:57:58ZThomas Jundtjund@entrouvert.com
<p>extrait du rapport d'audit a11Y du mineduc :</p>
<blockquote>
<p>Le texte (placeholder) dans le champ de formulaire n'est pas suffisamment contrasté avec l'arrière-plan. Son ratio de contraste est actuellement de 3,5:1 au lieu de 4:1 au moins</p>
</blockquote>
<p>Après vérification sur le design système de référence, l'arrière plan d'un input doit être `#eee` et la couleur du placeholder `#666`<br /><a class="external" href="https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/barre-de-recherche">https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/barre-de-recherche</a></p>
<p>Il manque également une bordure au champ de saisi de la cellule code de suivi :</p>
<blockquote>
<p>Les bordures du champ de formulaire ne sont pas suffisamment contrastées avec l'arrière-plan. Leur ratio de contraste est actuellement de 1,1:1 au lieu de 3:5 au moins</p>
</blockquote> Intégrations graphiques Publik - Support #88642 (Nouveau): theme dsfr: header, chevauchement ti...https://dev.entrouvert.org/issues/886422024-03-25T14:29:47ZThomas Jundtjund@entrouvert.com
<p>Extrait du rapport a11y pour mineduc</p>
<blockquote>
<p>Lorsque la taille des caractères est augmentée à 200%, les liens "Connexion" / "Inscription" chevauchent l'adresse URL</p>
</blockquote>
<p>À noter que le chevauchement ne se produit que si l'option "zoom texte seulement" est activé dans les paramètres du navigateur et que cette option n'est possible qu'avec firefox.</p> Intégrations graphiques Publik - Support #87493 (Nouveau): icone clé sur la cellules de démarches...https://dev.entrouvert.org/issues/874932024-02-26T16:30:56ZBrice Mallet
<p>un client pense comme moi (a priori : #86466#note-6), la clé qui signale les démarches à accès identifié est bien moche / vieillotte, ne serait-il pas possible de changer cette icône sur tous nos thèmes, une fois pour toute ?<br />Qu'en penses-tu Thomas ? avec ton œil de graphiste, je ne peux croire que cela ne t'as pas heurté toi aussi ? ;-))</p> Authentic 2 - Support #84972 (Nouveau): Retirer extract_settings_from_environ de debian/debian_c...https://dev.entrouvert.org/issues/849722023-12-20T11:05:15ZBenjamin Dauvergne
<p>On ne configure plus authentic de cette manière (via des variables d'environnement), sachant qu'avec systemd ça a nécessairement fait bouger de très vieilles configuration se basant là dessus il y a peu de chance que quelqu'un se serve encore de cela.</p> Authentic 2 - Support #84863 (Nouveau): Optimiser le SQL de SearchUserWidgetMixinhttps://dev.entrouvert.org/issues/848632023-12-18T15:58:06ZPierre Ducroquet
<p>J'ai dans les logs de PostgreSQL la requête suivante, relativement courante:<br /><pre>
SELECT count(*) AS "__count" FROM "custom_user_user" WHERE (NOT (EXISTS ( SELECT (?) AS "a" FROM "a2_rbac_role_members" u1 WHERE (u1."role_id" = ? AND u1."user_id" = "custom_user_user"."id") LIMIT ?)) AND (upper("custom_user_user"."username"::text) LIKE upper(?) OR upper("custom_user_user"."first_name"::text) LIKE upper(?) OR upper("custom_user_user"."last_name"::text) LIKE upper(?) OR upper("custom_user_user"."email"::text) LIKE upper(?)));
</pre><br />(avec un <code>'%toto%'</code> dans les upper(?))</p>
<p>Elle n'est pas optimisable sans ajouter un certain nombre d'index trigram sur upper(email), upper(first_name), upper(last_name) et upper(username).<br />Or, on a déjà dans la base des index trigram sur lower(email) et sur lower(unaccent(first_name || ' ' || last_name)).<br />On pourrait donc ajouter un index trigram sur lower(username), et modifier la requête comme suit:<br /><pre>
SELECT count(*) AS "__count" FROM "custom_user_user" WHERE (NOT (EXISTS ( SELECT (?) AS "a" FROM "a2_rbac_role_members" u1 WHERE (u1."role_id" = ? AND u1."user_id" = "custom_user_user"."id") LIMIT ?)) AND (lower("custom_user_user"."username"::text) LIKE lower(?) OR lower(immutable_unaccent(first_name::text || ' ' || last_name)) LIKE lower(?) OR lower("custom_user_user"."email"::text) LIKE lower(?)));
</pre></p>
<p>Sur un cas simple, on divise par trois le temps d'exécution de la requête (180ms => 60ms sur un tenant)</p>
<p>Autre solution, qui permet d'effacer complètement le temps d'exécution de la requête :<br /><pre>
authentic2_multitenant=# create index concurrently test_trgm_user on custom_user_user using gist (lower(immutable_unaccent(first_name || ' ' || last_name || ' ' || username || ' ' || email)) gist_trgm_ops);
authentic2_multitenant=# explain analyze SELECT COUNT(*) AS "__count"
FROM "custom_user_user" WHERE
(NOT (EXISTS ( SELECT (1) AS "a" FROM "a2_rbac_role_members" U1 WHERE (U1."role_id" = 752 AND U1."user_id" = "custom_user_user"."id") LIMIT 1)) AND lower(immutable_unaccent(first_name || ' ' || last_name || ' ' || username || ' ' || email)) like lower('%toto%'));
</pre></p>
<p>La requête passe alors à 2 ms.</p> Hobo - Support #84726 (Nouveau): clarifier l'usage des champs de la page de maintenancehttps://dev.entrouvert.org/issues/847262023-12-14T10:50:19ZThomas Noël
<p>On a 3 champs pas super clairs :</p>
<ul>
<li>Entête HTTP autorisé :</li>
<li>Passlist DNS (DNSWL) :</li>
<li>Désactiver les tâche routinières :</li>
</ul>
<p>Je propose :</p>
<ul>
<li>Laisser-passer par entête HTTP (+ help_text : la présence de l'entête dans les requêtes permet d'éviter le mode maintenance)</li>
<li>Laisser-passer sur un domaine DNS liste blanche (DNSWL) (+ help_text : la présence de l'IP de la requête dans la DNSWL permet d'éviter le mode maintenance)</li>
<li>Désactiver les tâche routinières (cron) (+help_text : notamment la gestion des sauts par expiration, des rappels de rendez-vous, etc.)</li>
</ul> Publik - Support #84513 (Nouveau): Pouvoir personnaliser les pages d'erreur 403https://dev.entrouvert.org/issues/845132023-12-09T08:58:38ZBenjamin Dauvergne
<p>Dans #84346 Toulouse nous demande s'il serait possible de personnaliser les pages d'erreur 403 notamment pour leurs agents en leur indiquant qu'ils sont connecté avec un compte usager et que l'espace qu'ils tentent de consulter est réservé aux comptes agents (et de là proposé un bouton de déconnexion qui ramène au même endroit serait pratique aussi).</p>
<p><del>Ça ne me parait pas évident déjà parce qu'on a des implémentations distinctes des 403 dans combo et w.c.s. et ensuite parce que les 403 apparaissent dans toute sorte de situation qui n'ont rien à voir avec celle que vise Toulouse et ce ne sera pas facile de tout couvrir.</del></p>
<p><del>Mais je me dis que de la même manière que dans le système de squelette de hobo/combo il y a un traitement particulier des 404<sup><a href="#fn1">1</a></sup> on pourrait faire de même pour les 403 et pouvoir proposer une page éditable avec la différence qu'il serait utile ici d'avoir l'utilisateur et l'URL cible dans le contexte si on veut pouvoir customiser cette page (et on sort du principe de fonctionnement actuel de la vue skeleton qui ignore l'utilisateur il me semble).</del></p>
<p>Après réflexion la façon de faire pour les 404 n'est adaptée ici, il vaudrait mieux rediriger systématiquement vers <code>{{ portal_url }}403</code> ou <code>{{ portal_agent_url }}403</code> en définissant une interface avec ces pages comme un paramètre url.</p>
Scénario:
<ul>
<li>sur une 403 dans w.c.s. ou sur le portail agent on serait redirigé sur <code>{{ portal_agent_url }}403/?next={{ wcs_url }}/backoffice/whatever/</code></li>
<li>dans le texte de cette page on pourrait voir si l'utilisateur a le rôle Agent ou non et personnaliser le message "Vous devez vous connecter avec un compte agent / Vous n'avez pas le rôle nécessaire." et proposer un bouton de déconnexion qui ramène là où on souhaitait aller initialement</li>
</ul> Hobo - Support #84089 (Nouveau): franceconnect: supprimer les variables SETTING_A2_FC_ auto=True ...https://dev.entrouvert.org/issues/840892023-11-30T09:07:13ZBenjamin Dauvergne
<p>Ça empêche complètement leur gestion/suppression, ça cache des choses (cf #79047, <a class="issue tracker-1 status-6 priority-4 priority-default closed" title="Bug: France Connect : email variable selon le FS (Rejeté)" href="https://dev.entrouvert.org/issues/79050">#79050</a>).</p> Publik Installation Développeur - Support #83891 (Nouveau): Erreur sur le clean-install via npm à...https://dev.entrouvert.org/issues/838912023-11-24T08:18:09ZNicolas Roche (absent jusqu'au 3 avril)
<p>J'ai cette erreur à l'installation :<br /><pre>
error Cannot read property 'dialog-polyfill' of undefined
</pre><br />Voici la trace :<br /><pre>
$ make clean
$ cp local-inventory.yml.example local-inventory.yml
$ make install
...
TASK [base : ssh git clone godo.js]
TASK [base : https git clone godo.js]
TASK [base : pip install /home/nroche/src/godo.js]
TASK [base : build /home/nroche/src/godo.js]
FAILED! => {"changed": true, "cmd": ["/home/nroche/envs/publik-env-py3/bin/python", "setup.py", "build"]
$ cd /home/nroche/src/godo.js
$ . ~/envs/publik-env-py3/bin/activate
$ python setup.py build
running build
running compile_nodejs
npm WARN prepare removing existing node_modules/ before installation
npm ERR! Cannot read property 'dialog-polyfill' of undefined
npm ERR! A complete log of this run can be found in:
npm ERR! /home/nroche/.npm/_logs/2023-11-24T08_07_45_656Z-debug.log
Traceback (most recent call last):
...
File "/home/nroche/src/godo.js/setup.py", line 53, in run
subprocess.check_call('npm clean-install', shell=True)
File "/usr/lib/python3.11/subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'npm clean-install' returned non-zero exit status 1.
$ cat /home/nroche/.npm/_logs/2023-11-24T08_07_45_656Z-debug.log
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli '/home/nroche/.nvm/versions/node/v12.16.1/bin/node',
1 verbose cli '/home/nroche/.nvm/versions/node/v12.16.1/bin/npm',
1 verbose cli 'clean-install'
1 verbose cli ]
2 info using npm@6.13.4
3 info using node@v12.16.1
4 verbose npm-session 0ee4a09eb44b9ba1
5 info prepare initializing installer
6 verbose prepare starting workers
7 verbose prepare installation prefix: /home/nroche/src/godo.js
8 verbose prepare using package-lock.json
9 warn prepare removing existing node_modules/ before installation
10 verbose checkLock verifying package-lock data
11 verbose teardown shutting down workers.
12 info teardown Done in 0s
13 verbose stack TypeError: Cannot read property 'dialog-polyfill' of undefined
13 verbose stack at /home/nroche/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/lock-verify/index.js:27:40
13 verbose stack at Array.forEach (<anonymous>)
13 verbose stack at /home/nroche/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/lock-verify/index.js:25:25
14 verbose cwd /home/nroche/src/godo.js
15 verbose Linux 6.1.0-13-amd64
16 verbose argv "/home/nroche/.nvm/versions/node/v12.16.1/bin/node" "/home/nroche/.nvm/versions/node/v12.16.1/bin/npm" "clean-install"
17 verbose node v12.16.1
18 verbose npm v6.13.4
19 error Cannot read property 'dialog-polyfill' of undefined
20 verbose exit [ 1, true ]
</pre></p> Chrono - Support #83469 (Nouveau): Choix des couleurs aux RDV qui ne suit pas l'ordre indiqué dan...https://dev.entrouvert.org/issues/834692023-11-14T08:09:57ZAnaïs Ecuvillon
<p>Petite question qui peut sembler bizarre, mais qui ne l'est pas tant que ça, car l'affichage interpelle en démo client.</p>
<p>J'ai créé un agenda de type rdv la semaine dernière, avec deux type de rdv : <a class="external" href="https://chrono-aecuvillon.test.entrouvert.org/manage/agendas/50/week/2023/11/27/">https://chrono-aecuvillon.test.entrouvert.org/manage/agendas/50/week/2023/11/27/</a></p>
<p>Dans mon WF, je passe dans le corps de la requête la donnée nécessaire pour mettre des couleurs selon le type de rdv : <a class="external" href="https://demarches-aecuvillon.test.entrouvert.org/backoffice/workflows/2/status/19/items/1/">https://demarches-aecuvillon.test.entrouvert.org/backoffice/workflows/2/status/19/items/1/</a></p>
<p>Habituellement, les deux premières couleurs sont le orange et le vert qui sont bien distincts et donc pas de souci d'accessibilité.<br />Mais dans la vue de mon agenda, les deux couleurs qui se sont mises étant le rouge et le brique, sur certains écrans, en démo par exemple, on ne distingue pas du tout les différents rdv.</p>
<p>D'ailleurs la doc indique bien l'ordre des couleurs utilisées : <a class="external" href="https://doc-publik.entrouvert.com/admin-fonctionnel/prises-de-rendez-vous/rendez-vous/#mettre-des-couleurs-aux-rendez-vous">https://doc-publik.entrouvert.com/admin-fonctionnel/prises-de-rendez-vous/rendez-vous/#mettre-des-couleurs-aux-rendez-vous</a></p> Chrono - Support #75941 (Nouveau): Ressources : pouvoir gérer des exceptionshttps://dev.entrouvert.org/issues/759412023-03-28T14:23:02ZStéphane Lagetslaget@entrouvert.com
<p>Parfois les ressources ne doivent pas être disponibles à la réservation (pour des raisons de maintenance par exemple), il faudrait pouvoir définir cela dans la gestion de la ressource dans Chrono (UI) et via une api.</p> Publik - Support #75898 (Nouveau): Raccordement à l'API ANTS pour les rendez-vous CNI/passeporthttps://dev.entrouvert.org/issues/758982023-03-28T11:56:24ZBenjamin Dauvergne
<p>Wiki: <a class="external" href="https://dev.entrouvert.org/projects/publik/wiki/Hub_Rdv_ANTS">https://dev.entrouvert.org/projects/publik/wiki/Hub_Rdv_ANTS</a></p> Passerelle - Support #75781 (Nouveau): Connecteur PDF - quand un fichier d'un autre type que pdf ...https://dev.entrouvert.org/issues/757812023-03-24T13:25:27ZAnaïs Ecuvillon
<p>Bon, il faudra peut-être renommer le sujet du ticket. Mais l'idée est là. J'ai testé ce matin, et comme je suis joueuse, j'ai d'abord testé avec un fichier au format image plutôt que PDF.<br />Au lieu de déclencher une erreur (qui me permettrait de basculer dans un statut Erreur), un fichier au format json est produit.</p>
<p>D'un point de vue fonctionnel, on peut facilement éviter ça côté formulaire, en ne permettant que le type PDF comme fichier. C'est désormais le cas : <a class="external" href="https://demarches-aecuvillon.test.entrouvert.org/backoffice/forms/72/">https://demarches-aecuvillon.test.entrouvert.org/backoffice/forms/72/</a></p>
<p>Mais si jamais, comme disais Thomas : "un PDF se trouve être finalement non reconnu par l'outil utilisé par Publik (pdftk) alors l'assemblage va planter. Normalement ça n'arrive "jamais", mais bon, voilà 😄"</p>
<p>Alors ça vaudrait le coup que ça génère une erreur.</p>
<p>Le workflow : <a class="external" href="https://demarches-aecuvillon.test.entrouvert.org/backoffice/workflows/63/">https://demarches-aecuvillon.test.entrouvert.org/backoffice/workflows/63/</a><br />La demande avec le fichier au format json plutôt que pdf : <a class="external" href="https://demarches-aecuvillon.test.entrouvert.org/backoffice/management/test-connecteur-pdf/1/">https://demarches-aecuvillon.test.entrouvert.org/backoffice/management/test-connecteur-pdf/1/</a></p> Authentic 2 - Support #75207 (Nouveau): Journaliser l'utilisation des fonctions d'exporthttps://dev.entrouvert.org/issues/752072023-03-07T13:37:22ZBenjamin Dauvergne
<p>CSV et autres formats.</p> Chrono - Support #74303 (Nouveau): Avoir une API chrono qui indique la place dans la liste d'atte...https://dev.entrouvert.org/issues/743032023-02-07T17:26:36ZStéphane Lagetslaget@entrouvert.com
<p>Cas d'usage : <br />Des usagers s'inscrire à un événement, on veut pouvoir lui communiquer leur place dans la liste d'attente (place déterminée de manière chronologique).<br />Comme l'usager peut annuler son inscription ou que des places peuvent se libérer, cette info est connue de Chrono.</p>