Bonjour à toutes et à tous,
On nous demande régulièrement s’il est possible de modifier les catégories de produits dans Escarcelle, que ce soit pour en ajouter ou en retirer. Au support, nous répondons souvent que ce n’est pas simple. Mais récemment, une épicerie a voulu comprendre pourquoi ce n’était pas simple.
Voici donc l’explication que je lui ai donnée et que je partage avec vous. Il y a un petit peu de technique mais j’essaie de rester compréhensible.
Lors de la conception d’Escarcelle, la hiérarchie des catégories a été structurée en fonction d’un index, d’une portée et d’un niveau de profondeur.
- L’index indique la position de la catégorie dans la liste globale de toutes les catégories.
- La portée d’une catégorie correspond à l’index de la dernière sous-catégorie qui lui appartient.
- Le niveau de profondeur représente le niveau d’imbrication, exprimé en puissances de 2 (1 pour le niveau le plus élevé, 2 pour une sous-catégorie, 4 pour une sous-sous-catégorie, etc.).
Par exemple, voici ce que cela donne pour la grande catégorie “Non alimentaire” :
INDEX | PORTÉE | NIVEAU | NOM |
---|---|---|---|
1 | 13 | 1 | Non alimentaire |
2 | 6 | 2 | Entretien de la maison |
3 | 0 | 4 | SDB |
4 | 0 | 4 | WC |
5 | 0 | 4 | Cuisine |
6 | 0 | 4 | Salle à manger/salon |
7 | 10 | 2 | Hygiène de la personne |
8 | 0 | 4 | Hygiène homme |
9 | 0 | 4 | Hygiène femme |
10 | 0 | 4 | Toilette |
11 | 13 | 2 | Non alimentaire - Bébé |
12 | 0 | 4 | Couches |
13 | 0 | 4 | Bébé divers |
On observe ici que la catégorie “Non alimentaire”, de niveau 1, a une portée allant jusqu’à l’index 13, ce qui signifie qu’elle inclut toutes les catégories jusqu’à cet index.
Prenons un autre exemple : la catégorie d’index 11, “Non alimentaire - Bébé”, inclut les sous-catégories “Couches” et “Bébé divers”.
Cette structuration ne permet pas d’ajouter d’éléments dans la liste sans modifier la numérotation des catégories.
À l’époque de cette conception, la liste des catégories était figée et n’était pas censée évoluer. Ces dernières années, nous avons contourné ce problème en ajoutant des catégories à la fin de la liste, mais cela reste insuffisant.
Cet été, nous avons donc entrepris un projet pour rendre cette structuration plus flexible. C’est un chantier long et complexe, car il ne s’agit pas seulement de trouver un nouveau modèle pour les catégories, mais aussi d’analyser les impacts sur l’existant et de prévoir une transition vers ce nouveau modèle.
Les impacts touchent plusieurs aspects du logiciel : évidemment les produits et la recherche par catégorie, mais aussi les statistiques de volumes et la caisse, car les catégories sont également utilisées pour certaines tarifications clients.
De plus, pour mettre en place ce nouveau modèle, nous avons constaté que notre moteur de base de données n’était pas suffisamment évolué et qu’il était nécessaire de passer à une version plus récente. C’est la tâche que nous menons actuellement, et elle touche bientôt à sa fin.
N’hésitez pas à me solliciter pour toute clarification.
Bonne semaine à toutes et à tous.