La vue liste est l'écran où un utilisateur d'ERP passe le plus de temps. C'est aussi celui qu'Odoo laisse le plus brut : recherche qui élargit au lieu de restreindre, colonnes à redimensionner chaque matin, groupes à déplier un par un, exports sans contrôle.
Vingt-deux modules communautaires reprennent cette couche — et terminent la documentation du dépôt web.
Résumé
Cinq modules traitent la recherche : la combinaison en ET de deux recherches sur le même champ, les filtres et regroupements affichés en boutons dans le bandeau de commandes, une période personnalisée dans le menu de dates, le tri alphabétique du menu des applications, et un bouton de retour à l'action d'accueil.
Six modules traitent la liste : la mémorisation de la largeur des colonnes par utilisateur et par navigateur, leur redimensionnement au clavier, le dépliage et repliage de tous les groupes en un clic, la coloration conditionnelle du fond et du texte d'une cellule, un bouton d'ouverture directe sur les cellules de relation, et une heure par défaut sur le sélecteur de date et heure.
Trois modules traitent les exports : la séparation du droit d'export rapide et de l'export avancé, le choix du niveau de dépliage à l'export Excel d'une liste regroupée, et une taille de police sur l'assistant de mise en page des documents.
Huit modules enfin sont des briques techniques : mesures calculées en tableau croisé, classes CSS nommées dans l'éditeur, retrait de ChatGPT de l'éditeur, propriétés affichables au portail, actions conditionnelles, action multiple, boîte de dialogue de message, et durée des créneaux de calendrier.
L'essentiel
- La recherche cumulative : deux termes sur le même champ se combinent en ET.
- Les filtres en boutons dans le bandeau de commandes.
- La largeur des colonnes mémorisée par utilisateur.
- Tout déplier ou tout replier en un clic sur une liste groupée.
- Des cellules colorées selon une condition évaluée par ligne.
- Le droit d'export rapide séparé du droit d'export avancé.
- Des mesures calculées en vue tableau croisé.
- Le retrait de ChatGPT de l'éditeur de texte enrichi.
Ce que ces modules ajoutent à l'instance
| Famille | Modules | Nombre |
|---|---|---|
| Recherche et navigation | web_search_with_and, web_filter_header_button, web_time_range_menu_custom, web_sort_menu, web_systray_button_init_action | 5 |
| Vue liste | web_remember_tree_column_width, web_tree_column_keyboard_resize, web_group_expand, web_tree_dynamic_colored_field, web_tree_many2one_clickable, web_datetime_picker_default_time | 6 |
| Exports et impression | web_disable_export_group, web_excel_export_dynamic_expand, web_font_size_report_layout | 3 |
| Analyse et édition | web_pivot_computed_measure, web_editor_class_selector, web_editor_disable_chatgpt, web_portal_properties | 4 |
| Briques d'action | web_action_conditionable, web_ir_actions_act_multi, web_ir_actions_act_window_message, web_calendar_slot_duration | 4 |
Les menus : Paramètres ▸ Technique ▸ Interface utilisateur ▸ Web Editor Class, et une démonstration Demo Pivot livrée avec les mesures calculées.
La recherche, enfin cumulative
Le comportement par défaut de la barre de recherche d'Odoo est contre-intuitif : chercher « Dupont », puis « Martin » dans le même champ affiche les deux, au lieu de chercher ce qui contient les deux. L'utilisateur croit restreindre, il élargit — et conclut que la recherche ne marche pas.
web_search_with_and combine les recherches successives sur un même champ en ET. C'est un changement d'une ligne de logique, et la différence entre une recherche utilisable et une recherche décorative.
web_filter_header_buttonaffiche certains filtres, regroupements ou favoris en boutons dans le bandeau de commandes, au lieu de les cacher dans le menu déroulant. Les trois filtres qu'une équipe utilise tous les jours cessent de demander deux clics.web_time_range_menu_customajoute une période personnalisée au menu de filtres par date — « les 7 derniers jours », « les 90 derniers jours » — créée à la volée.web_sort_menutrie alphabétiquement la liste des applications dans le menu de navigation. Sur une instance à quarante applications, c'est la différence entre chercher et trouver.web_systray_button_init_action(LGPL-3) ajoute un bouton de retour à l'action d'accueil de l'utilisateur dans la zone d'icônes de la barre de navigation.
La vue liste au quotidien
web_remember_tree_column_width (LGPL-3) mémorise la largeur des colonnes par utilisateur et par navigateur. Sans lui, un utilisateur qui élargit la colonne « Description » chaque matin la réélargit chaque matin.
web_tree_column_keyboard_resize permet de redimensionner une colonne au clavier pendant l'édition d'une cellule, sans toucher la souris — pour les saisies intensives.
web_group_expand ajoute deux boutons : tout déplier, tout replier. Sur une liste groupée par mois, par client ou par projet, c'est le geste manquant.
web_tree_dynamic_colored_fieldcolore le fond ou le texte d'une cellule selon une condition évaluée sur chaque ligne. Une échéance dépassée en rouge, un stock sous le seuil en orange : l'information se lit sans filtrer.web_tree_many2one_clickableajoute un bouton d'ouverture sur chaque cellule de relation, pour aller à la fiche liée sans ouvrir la ligne courante.web_datetime_picker_default_timeapplique une heure par défaut quand l'utilisateur ne choisit qu'une date. Une intervention saisie pour « demain » ne commence plus à minuit.
La coloration conditionnelle est le seul mécanisme qui transforme une liste en tableau de bord. Un responsable qui ouvre ses commandes et voit trois lignes rouges a travaillé ; s'il doit appliquer un filtre pour les trouver, il ne le fera pas chaque jour.
Les exports : un droit, pas une fonction
web_disable_export_group sépare deux droits jusqu'ici confondus : l'export rapide — le téléchargement direct au format tableur depuis une liste, sans choix des champs — et l'export avancé, qui laisse composer sa propre extraction.
L'export avancé d'Odoo permet à qui y a droit de sortir n'importe quel champ de n'importe quel modèle accessible, en masse, dans un fichier. C'est la fonction la plus sous-estimée dans une analyse de risque : un commercial qui part emporte son fichier clients en trois clics.
Séparer les deux droits permet de laisser l'export rapide à tous — pour un tableau de travail — et de réserver l'export avancé à quelques utilisateurs.
web_excel_export_dynamic_expandpermet de choisir, au moment de l'export Excel d'une liste regroupée, si l'on exporte seulement les totaux des groupes principaux ou tout le détail déplié.web_font_size_report_layout(LGPL-3) ajoute un sélecteur de taille de police en points à l'assistant de mise en page des documents — ce qui évite de faire tenir une facture sur deux pages faute d'un demi-point.
Le contrôle des droits lui-même est traité dans droits utilisateurs et sécurité d'accès.
Analyse, édition et briques d'action
web_pivot_computed_measure ajoute à la vue tableau croisé des mesures calculées : deux mesures existantes combinées par une opération — somme, différence, produit, quotient, pourcentage. Une marge, un taux de transformation, un écart se lisent alors sans export.
web_editor_class_selectorpermet à un administrateur de définir une liste de classes CSS nommées et réutilisables, applicables au texte sélectionné dans n'importe quel éditeur enrichi. C'est la bonne façon de tenir une charte graphique dans les courriels et les descriptions.web_editor_disable_chatgptretire les fonctions ChatGPT de l'éditeur de texte enrichi : aucun appel à un service d'intelligence artificielle externe depuis l'éditeur.web_portal_propertiesajoute un paramètre « afficher dans le portail » sur les champs de type propriétés — les champs dynamiques clé-valeur d'Odoo. Sans lui, une propriété est soit absente du portail, soit visible sans contrôle.
Quatre modules enfin sont des briques pour développeurs : web_action_conditionable (actions conditionnelles, README minimal), web_ir_actions_act_multi (LGPL-3 ; plusieurs actions client à la suite depuis une méthode Python), web_ir_actions_act_window_message (une boîte de dialogue de message retournée par une méthode) et web_calendar_slot_duration (LGPL-3 ; la durée des créneaux des vues calendrier).
Le retrait de ChatGPT de l'éditeur n'est pas une position idéologique : c'est une mesure de gouvernance. Un utilisateur qui demande à l'éditeur de reformuler une description envoie ce texte à un service tiers, et ce texte peut contenir des données clients.
Limites connues
- La largeur des colonnes est mémorisée par navigateur : elle ne suit pas l'utilisateur d'un poste à l'autre.
- La coloration conditionnelle évalue une condition par ligne affichée : une condition lourde ralentit les listes longues.
web_search_with_andchange une habitude : un utilisateur qui comptait sur l'élargissement sera surpris. Le changement va dans le bon sens, il demande d'être annoncé.- Séparer les droits d'export ne supprime pas la copie d'écran : c'est une mesure de friction et de traçabilité, pas d'étanchéité.
web_editor_disable_chatgptne couvre que l'éditeur : les autres appels éventuels à un service externe restent à vérifier module par module.web_action_conditionablea un README réduit à sa catégorie : à évaluer sur instance.- Comme tous les modules d'interface, ceux-ci cassent à la montée de version : ce sont les premiers à tester sur une base de recette.
Identité technique
Les vingt-deux modules viennent du dépôt OCA web, branche 18.0 — dont les 65 modules sont désormais tous documentés ici. Cinq sont en LGPL-3, dix-sept en AGPL-3. Les dépendances : web pour la plupart, web_editor pour les deux modules d'éditeur, portal pour les propriétés au portail.
Les deux autres fiches du dépôt : rendre Odoo supportable au quotidien et les widgets de champ OCA.
Questions fréquentes
Pourquoi la recherche Odoo élargit-elle au lieu de restreindre ?
Parce que deux recherches successives sur le même champ se combinent en OU par défaut : chercher « Dupont » puis « Martin » affiche les deux. web_search_with_and les combine en ET. C'est un changement d'une ligne de logique et la différence entre une recherche utilisable et une recherche décorative.
Peut-on colorer les lignes d'une liste selon une condition ?
Oui : web_tree_dynamic_colored_field colore le fond ou le texte d'une cellule selon une condition évaluée sur chaque ligne — échéance dépassée en rouge, stock sous le seuil en orange. C'est le seul mécanisme qui transforme une liste en tableau de bord. Attention aux conditions lourdes sur les listes longues.
Comment limiter l'export de données en masse depuis Odoo ?
web_disable_export_group sépare le droit d'export rapide du droit d'export avancé : l'export rapide reste à tous, l'export avancé est réservé. L'export avancé permet autrement de sortir n'importe quel champ accessible, en masse — un commercial qui part emporte son fichier clients en trois clics.
Peut-on calculer une marge directement dans un tableau croisé Odoo ?
Oui, avec web_pivot_computed_measure : il ajoute des mesures calculées combinant deux mesures existantes par somme, différence, produit, quotient ou pourcentage. Une marge, un taux de transformation ou un écart se lisent alors sans passer par un export.
Peut-on désactiver ChatGPT dans l'éditeur de texte d'Odoo ?
Oui : web_editor_disable_chatgpt retire ces fonctions de l'éditeur enrichi. C'est une mesure de gouvernance — un utilisateur qui demande une reformulation envoie ce texte à un service tiers, et ce texte peut contenir des données clients. Le module ne couvre que l'éditeur ; les autres appels externes restent à vérifier.
Se faire accompagner
La vue liste est l'écran le plus utilisé d'un ERP et le moins souvent paramétré. Recherche cumulative, trois filtres en boutons, colonnes mémorisées, échéances en rouge : quatre réglages qui prennent une demi-journée et changent le ressenti quotidien de toute une équipe.
Nous traitons donc cette couche en même temps que les droits d'export, parce que les deux se décident ensemble : rendre les données lisibles à l'écran réduit le besoin de les sortir en fichier. Voir les prestations d'Atalios Consulting ou demander un rappel.
Pour aller plus loin
- Rendre Odoo supportable au quotidien
- Les widgets de champ OCA
- Droits utilisateurs et sécurité d'accès
En résumé
La vue liste, écran le plus utilisé d'un ERP et le moins paramétré : recherche cumulative en ET, filtres en boutons, colonnes mémorisées, échéances colorées, mesures calculées en tableau croisé — et le droit d'export avancé enfin séparable. Parlons de vos écrans de travail.