Iziit

article publié le 28 octobre 2019

Iziit est une extension de navigateur open-source qui filtre, sur les sites de courses en ligne, les aliments selon leurs allergènes.

Interface Utilisateur

L'IU de l'extension est une simple fenêtre popup permettant de choisir les produits filtrer parmi une liste d'allergènes. La dernière page de la popup sert à la gestion des différents profiles.

panneau des préférences panneau des utilisateurs

Une fois les préférences alimentaires renseignées, les articles du site s'affichent avec un fond vert, rouge ou gris.

prévisualisation

Serveur

Le serveur est fractionné en plusieurs modules :

diagramme

iziit-server

C'est le module qui est en haut de la hiérarchie.

Il s'occupe de faire fonctionner le site vitrine en délivrant principalement des ressources statiques. Quant aux requêtes provenant de l'extension, il les transmet simplement au module "iziit-addon-backend".

iziit-addon-backend

Ce module vérifie la validité des requêtes et construit une réponse appropriée en fonction des préférences de l'utilisateur et de la composition des articles.

Pour connaître la composition d'un article, il la demande au module "iziit-database-manipulator".

iziit-database-manipulator

Incontestablement le plus gros module de tous, il s'occupe d'une base de données MongoDB contenant la composition des articles.

Quand une composition lui est demandée, soit elle est connue et la réponse est immédiate, soit elle est inconnue, auquel cas il faut la trouver. Pour ce faire, le module télécharge la page de l'article, récupérant ainsi la liste des ingrédients. Cette liste est ensuite analysée grâce au module "iziit-supervised-ingredients".

Le module s'occupe aussi de mettre régulièrement à jour la base de données pour faire face à des compositions qui auraient évolué. Enfin, les articles qui sont dans la base depuis longtemps et qui ne sont plus demandés sont supprimés pour faire de la place.

iziit-supervised-ingredients

Module très léger étant constitué principalement d'expressions régulières permettant l'analyse des listes d'ingrédients.