Une étape historique du projet Dezède a été franchie début juin. Elle marque une évolution invisible en apparence, mais fondamentale pour l’interrogation des données du site en front et en backoffice. Jusqu’alors Dezède fonctionnait avec trois moteurs de recherche distincts, créant de l’incohérence dans les méthodes d’interrogation d’une partie à l’autre du site, autant que dans les résultats obtenus à partir d’une même requête ; en outre, ce montage complexe ne facilitait pas la maintenance informatique.
Depuis début juin, les données de Dezède sont désormais interrogeables dans un seul et unique moteur de recherche. Notre développeur a en effet réussi à unifier les trois moteurs de recherche en un seul, abandonnant au passage Elasticsearch pour le moteur de recherche de Wagtail, basé sur PostgreSQL. Ce nouveau moteur beaucoup plus performant a été créé par Bertrand Bordage lui-même pour Wagtail en 2017-2018. La communauté opensource s’en est emparé récemment en le sortant de Wagtail pour le proposer à tout projet Django, pas nécessairement aux seuls projets Wagtail. Pour information, ce qui donne une idée de l’ampleur des données de Dezède, il a fallu 9h40 pour indexer l’ensemble des données dans le nouveau moteur !
Cette évolution a été rendue possible grâce au financement apporté par Sabine Le Hir, lauréate de l’appel à projet Émergences 2020 (Ville de Paris, laboratoire SAPRAT à l’EPHE), qui a choisi de consacrer son reliquat à l’amélioration du moteur de recherche et à la refonte du back office de Dezède. Loin d’être déconnecté du projet d’origine, celui de l’édition de la correspondance de Berlioz, son choix vise au contraire à consolider le projet musicaLetters qui est intimement lié à Dezède et qui partage donc désormais le même moteur de recherche. Le chantier en cours prévoit le basculement du back office de Dezède (actuellement sous Django) vers Wagtail, solution dans laquelle a été développé musicaLetters (lire pour rappel ce billet).
Gains pour la communauté
Nous reprenons les éléments reçus de notre développeur pour indiquer les gains apportés par cette nouvelle approche :
- pertinence considérablement améliorée dans la partie administration ;
- uniformisation des résultats obtenus entre recherche / autocomplétion publique et recherche / autocomplétion de l’admin ;
- amélioration de la sélection d’extraits d’œuvres et du surlignage dans la recherche globale (voir ci-dessous l’exemple « mozart glück ») ;
- recherche plus rapide dans tous les cas, voire considérablement plus rapide sur certains cas, notamment dans le champ « Recherche libre » de la liste des événements. Pour la requête « Rouen », on passe de 31 s. avant à 0,4 s. aujourd’hui, soit 77 fois plus rapide ;
- accélération de la réindexation des données liées. Par exemple, modifier la profession « compositeur » déclenchait un script de réindexation qui tournait environ durant 90 minutes ; la même modification déclenche désormais une réindexation qui dure 20 secondes, soit 270 fois plus rapide. Dans beaucoup de cas, cette accélération est moins spectaculaire : par exemple, modifier Wolfgang Amadeus Mozart déclenchait une réindexation de 20 minutes environ, qui chute désormais à 1,5 minute, soit 13 fois plus rapide ;
- suppression au passage de la suggestion « Essayez aussi », gadget cassé la plupart du temps.
Une démarche éco-responsable
La refonte du moteur de recherche, et plus largement du back office de Dezède, suit une démarche éco-responsable : faire mieux en consommant moins d’énergie. La refonte du moteur aboutit désormais à une charge plus faible sur le serveur, l’un des moteurs de recherche ayant été supprimé, Elasticsearch qui monopolisait à lui-seul 500 Mo de RAM.
Le lancement de musicaLetters a été le point de départ de cette réflexion à laquelle nous sommes très attachés : pourquoi fallait-il inaugurer une énième base de données quand ces données étaient communes à celles disponibles dans Dezède ? Le cahier des charges pour le développement de musicaLetters a donc conçu ce nouvel outil comme une excroissance de Dezède. Cette démarche aboutira à la réunion à court termes de deux projets hébergés sur le même serveur limitant la consommation énergétique, mais également développés avec les mêmes technologies réduisant le coût de maintenance.
Quelques différences qualitatives
Autocomplétion globale publique
Autocomplétion des individus dans l’admin
Amélioration de la sélection et surlignage d’extraits
Avant
Après
Pour rappel : où rechercher dans Dezède ?
Une recherche rapide en tête de gondole
Une recherche avancée dans « Recherche »
Une recherche ciblée dans les « Index »
Une recherche dans les événements
Bonnes recherches !




























