Se rendre au contenu
Icône de Timeline (Gantt) View for Odoo Community — drag and drop, dependencies, workload

Timeline (Gantt) View for Odoo Community — drag and drop, dependencies, workload

par Dyonysos
Gratuit Odoo 20 Module Contrôle qualité : Vérifiée OPL-1 (propriétaire Odoo)

Gantt / Timeline view for Odoo 20 Community — a real new view type <dyo_timeline>: day/week/month/year scales, multi-level grouping, drag and drop to reschedule or reassign, Ctrl-drag to copy, resize, click-and-drag creation, editable dependency arrows, progress bars, workload per row and load histo

Captures d'écran

Vue Gantt — Odoo 20.0 Community

Une vraie vue Gantt dans Odoo Community

Ajoute le type de vue <dyo_timeline> : une frise chronologique à déclarer sur n'importe quel modèle daté, pour replanifier et réaffecter au glisser-déposer. Code 100 % original, sans une ligne d'Odoo Enterprise.

Nom techniquedyo_web_timeline
Version20.0.1.0.0
LicenceOPL-1 (Odoo Proprietary License v1.0)
Dépendanceweb (module Ressources facultatif)

Le constat

Odoo Community n'a pas de vue Gantt : la frise des tâches, des ordres de travail ou des réservations est une fonctionnalité Enterprise. On se rabat sur le calendrier, qui montre des événements mais pas des ressources, ni la charge, ni les enchaînements. Ce module comble ce manque par un type de vue à part entière, enregistré dans Odoo comme la liste ou le kanban : il apparaît dans le sélecteur de vues et s'utilise avec la recherche, les filtres, les regroupements et les favoris standard.

Frise des tâches par responsable, échelle semaine
Échelle semaine, regroupement par responsable : dépendances, jours non travaillés grisés, ligne « maintenant », charge par ligne.

Ce que fait la vue

📅

Jour, semaine, mois, année

Quatre échelles, navigation période précédente / suivante, bouton « Aujourd'hui » et ligne rouge de l'instant présent.

🗂️

Regroupement sur plusieurs niveaux

Par défaut dans la vue (default_group_by="team,user_id") ou depuis la recherche ; groupes repliables avec bandeau de synthèse.

↔️

Glisser-déposer et redimensionnement

Déplacer une barre la replanifie ; la déposer dans une autre ligne la réaffecte ; ses deux bords l'allongent ou la raccourcissent. Avec Ctrl, le glisser crée une copie.

⛔

Refus serveur respecté

Si le serveur refuse (contrainte, droit, tâche verrouillée), la barre revient à sa place et le message d'erreur s'affiche.

➕

Création par cliquer-glisser

Glisser dans une ligne vide ouvre le formulaire pré-rempli : dates sélectionnées et valeur du groupe (responsable, équipe…).

🔗

Dépendances éditables

Flèches tracées depuis un champ many2many ; on les crée en tirant le point d'une barre vers une autre, on les retire d'un clic ou depuis l'aperçu ; les boucles sont refusées, les conflits dessinés en rouge.

🎨

Couleurs, progression, décorations

Couleur par champ (index, code #hex, relation, sélection), barre d'avancement, décorations conditionnelles decoration-danger…

⚖️

Charge et histogramme

Total d'heures (ou d'un champ numérique) par ligne, en rouge au-delà de consolidation_max ; histogramme de charge par période en pied de frise.

🏖️

Jours non travaillés

Grisés d'après le calendrier de travail de la société (module Ressources), à défaut les week-ends.

⌨️

Clavier et tactile

Barres focalisables, Entrée pour l'aperçu, Maj + flèche pour déplacer, Ctrl + Maj + flèche pour redimensionner ; utilisable au doigt sur mobile.

🚀

Des milliers de barres

Au-delà de 500 barres, seules celles à l'écran sont dessinées : 1 500 tâches s'affichent en environ une demi-seconde sur notre banc.

🖥️

Plein écran

Un bouton passe la frise en plein écran pour les réunions de planification.

Regroupement équipe puis responsable, échelle mois
Regroupement à deux niveaux (équipe › responsable), échelle mois, groupes repliables.
1 500 tâches affichées
1 500 tâches générées : rendu virtualisé, seuil de capacité dépassé signalé en rouge.

Déclarer une frise

Une vue se déclare en XML comme toute autre vue Odoo, puis s'ajoute au view_mode de l'action (dyo_timeline,list,form) :

<dyo_timeline date_start="date_start" date_stop="date_stop"
              default_group_by="user_id" default_scale="week"
              color="color" progress="progress"
              dependency_field="depend_on_ids"
              consolidation="allocated_hours" consolidation_max="40"
              decoration-danger="stage == 'late'">
    <field name="name"/>
    <field name="user_id"/>
</dyo_timeline>

L'architecture est validée à l'installation par un schéma RelaxNG et par des contrôles sur les champs (existence, type date, many2many vers le même modèle). Un attribut reschedule_method permet d'appeler une méthode métier plutôt que write — par exemple pour relancer un planificateur quand on déplace un ordre de travail.

Interface en anglais et en français (fichiers de traduction fournis).

Recherché aussi sous : diagramme de Gantt Odoo Community, planning Odoo 20.0 gratuit.

Sur mobile

Frise sur un téléphone
Largeur 390 px : défilement horizontal de la grille, aperçu au toucher.

Compatible avec

Odoo 20.0 Community et Enterprise, On Premise et Odoo.sh. Le module n'émet aucun appel sortant. Un module de démonstration facultatif, dyo_web_timeline_demo, installe des tâches (avec dépendances et une tâche verrouillée) et des réservations en dates sans heure.

Ce que le module ne fait pas

Il ne planifie pas à votre place : pas d'ordonnancement automatique, pas de nivellement de charge, pas de recalcul des successeurs quand on déplace un prédécesseur (la flèche passe au rouge, c'est tout — une méthode reschedule_method peut le faire côté serveur). Il n'offre pas de plage de dates libre, n'exporte pas en PDF, ne gère pas d'échelle horaire plus fine que le quart d'heure, et les jours non travaillés sont ceux du calendrier de la société, pas ceux de chaque ressource. Il ne fournit aucune frise « prête à l'emploi » sur les modules standard : c'est un type de vue, à déclarer sur le modèle de votre choix.

DYONYSOS — welcome@dyonysos.fr
Odoo 20.0 Community · licence OPL-1.

Timeline (Gantt) View for Odoo Community — drag and drop, dependencies, workload — capture 1
Timeline (Gantt) View for Odoo Community — drag and drop, dependencies, workload — capture 1
Timeline (Gantt) View for Odoo Community — drag and drop, dependencies, workload — capture 2
Timeline (Gantt) View for Odoo Community — drag and drop, dependencies, workload — capture 2
Timeline (Gantt) View for Odoo Community — drag and drop, dependencies, workload — capture 3
Timeline (Gantt) View for Odoo Community — drag and drop, dependencies, workload — capture 3
Timeline (Gantt) View for Odoo Community — drag and drop, dependencies, workload — capture 4
Timeline (Gantt) View for Odoo Community — drag and drop, dependencies, workload — capture 4
Timeline (Gantt) View for Odoo Community — drag and drop, dependencies, workload — capture 5
Timeline (Gantt) View for Odoo Community — drag and drop, dependencies, workload — capture 5

Ce que l'application ne fait pas

  • Il ne planifie pas à votre place : pas d'ordonnancement automatique, pas de nivellement de charge, pas de recalcul des successeurs quand on déplace un prédécesseur (la flèche passe au rouge, c'est tout — une méthode reschedule_method peut le faire côté serveur). Il n'offre pas de plage de dates libr
  • DYONYSOS — welcome@dyonysos.fr Odoo 20.0 Community · licence OPL-1.

Applications du magasin nécessaires

Aucune.

Modules Odoo Community utilisés

web

Applications qui la complètent

SérieVersionÉtatPubliée le
20.020.0.1.0.0 Disponible 02/10/2026
19.019.0.1.0.0 Disponible

Fiche générée depuis le code de l'éditeur (dépôt privé, branche 20.0) : le code source n'est pas publié.

Contrôle automatique du magasin (distinct de l'éditeur), appliqué à toutes les applications. Conforme.

ContrôleRésultatEffet si absent
Manifeste lisible sans exécution conforme bloquant
Licence reconnue (OPL-1) conforme bloquant
Aucune dépendance vers Odoo Enterprise conforme bloquant
Aucun import de code Enterprise conforme bloquant
Aucun en-tête de licence Enterprise conforme bloquant
Icône static/description/icon.png conforme déclasse
Description (static/description/index.html ou README) conforme déclasse
Tests automatisés (tests/test_*.py) conforme déclasse
Traduction française (i18n/fr.po) conforme info
Section « Ce que le module ne fait pas » conforme info
Titre de 70 caractères au plus (80 actuellement) absent info
Résumé en français absent info

Avis des clients connectés. Un avis noté par client ; l'éditeur peut y répondre. Connectez-vous pour laisser un avis.

Éditeur
DYONYSOS
E-mail
contact@omnifloo.com
Clients Omnifloo
Support inclus selon votre formule : centre d'aide.