Un mois et demi après la précédente release, la version 1.7.8 de Meta-Press.es est maintenant en ligne. Cette nouvelle version apporte des améliorations d’ergonomie et un gros effort de mise à jour des sources connues.
Ces améliorations étaient pour certaines attendues de longue date :
-
un filtre par tranche de date, avec deux sélecteurs de date, pour travailler sur les résultats locaux
-
une recherche dans les noms des sources ayant donné des résultats (visible si plus de 30 sources ont donné des résultats)
-
des aides à la sélection de résultats pour l’export avec un bouton "sélectionner tout", ou rien, ou inverser la sélection. Ces boutons ne concernant que les résultats visibles sur la page courante (et il est toujours possible de choisir combien d’éléments sont listés par page)
-
la liste des sources en attente, lorsqu’une recherche prends suffisamment de temps pour qu’on puisse cliquer sur le petit bouton "+" apparu dans la ligne de statistiques d’une recherche en cours, dès lors que moins de 30 sources sont encore attendues
-
un bouton "Annuler" qui stoppe la recherche là où elle en est et vous laisser travailler sur les résultats déjà récupérés (quand la précédente implémentation rafraichissait simplement la page, perdant les résultats) Meta-Press.es utilise pour ce faire la récente API JavaScript permettant d’annuler une promesse (qui avait envie de rendre ça possible ?). Un grand merci à @lutindiscret pour nous l’avoir signalée.
-
En conséquence, un nouveau réglage est apparu : un délais maximum de recherche ; qui termine automatiquement une recherche au bout de 90s (mais peut être réglé sur 0 pour attendre "à tout jamais" si vous le souhaitez)
-
-
une nouvelle ligne de statistiques affichant le nombre de sources sélectionnées ainsi que le nombre de permissions requises pour réaliser la prochaine recherche, le tout avec un bouton pour donner directement les permissions en question
De plus, les expressions régulières des 314 sources actuelles (qui représentent déjà 10k lignes de JSON formaté) ont toutes été scannées par l’outil RegexStaticAnalysis pour vérifier leur vulnérabilité aux attaques de type ReDOS.
25 regex ont été signalées par l’outil comme contenant un degré exponentiel ou
infini d’ambiguité (EDA ou IDA) sur les 180 expression analysées. Il s’agissait
chaque fois de bornes manquantes, d’utilisation de plusieurs quantificateurs
infinis (*
or +
) à la suite ou d’une construction en 'ou' logique (a|a)*
avec en plus un quantificateur infini.
De manière assez surprenante, il a été possible à chaque fois d’améliorer l’expression en question, à la fois pour quelle passe le test et qu’elle fonctionne plus vite (étant définie plus précisément). Par exemple, voici une expression régulière simple et lisible :
-
(\d+) (.) (\d)
[1] ;
Qui capture une date (par exemple '23 juillet 2021'), et a été remplacée par :
-
^(\d{1,2}) ([^ ]{3,9}) (\d{4})$
[2] ;
Qui capture la même date, mais avec des bornes autour de la portion de chaîne
de caractère (^
pour le début de la chaîne, parce que dans ce cas là on
commence au tout début, et $
pour la fin et donc il n’y a rien après le
numéro de l’année) et une description plus précise des champs à attraper
(nombres précis de chiffres à capturer), nom de mois ne contenant pas d’espace,
mais pouvant contenir des lettres accentuées comme ça peut être le cas en
français (pour décembre par exemple…). Les exemples trouvés dans les
définitions de sources sont généralement un peu plus complexes, mais l’idée
principale est bien là.
À nouveau, comme lors de l’audit d’accessibilité, ces modifications résultent en un meilleur code, plus robuste et plus rapide et donc une amélioration globale de Meta-Press.es.