# Diagramme de Gantt

Le diagramme de Gantt est un outil utilisé (souvent en complément d'un réseau PERT) en ordonnancement et en gestion de projet et permettant de visualiser dans le temps les diverses tâches composant un projet. Il s'agit d'une représentation d'un graphe connexe, valué et orienté, qui permet de représenter graphiquement l'avancement du projet.
Le premier diagramme de ce type (appelé Harmonogram Adamieckiego)$^,$$^,$ fut réalisé par l'ingénieur polonais Karol Adamiecki en 1896. Il l'a décrit en 1931, mais la langue de publication n'a pas permis la reconnaissance internationale de son idée. Pour cette raison, le concept a été nommé d'après Henry L. Gantt, ingénieur américain collaborateur de Frederick Winslow Taylor, qui a publié la description du diagramme en 1910.

## Enjeux du diagramme de Gantt

Cet outil répond à deux objectifs : planifier de façon optimale ainsi que communiquer sur le planning établi et les choix qu'il impose. Le diagramme permet :
* de déterminer les dates de réalisation d'un projet ;
* d'identifier les marges existantes sur certaines tâches ;
* de visualiser d'un seul coup d'œil le retard ou l'avancement des travaux.
Le diagramme de Gantt ne résout pas tous les problèmes, en particulier si l'on doit planifier des fabrications qui viennent en concurrence pour l'utilisation de certaines ressources de l'entreprise. Dans ce cas, il est nécessaire de faire appel à des algorithmes plus complexes issus de la recherche opérationnelle et de la théorie de l'ordonnancement. Toutefois, il est souvent possible de trouver des solutions satisfaisantes en appliquant simplement des règles de priorité heuristiques. La méthode consiste à placer les tâches à effectuer dans le diagramme de Gantt dans l'ordre défini par la priorité et en tenant compte des ressources encore disponibles. Les règles les plus courantes sont :
* priorité à la réalisation des fabrications dont la date de livraison est la plus rapprochée ;
* priorité à la première commande arrivée ;
* priorité aux fabrications dont la durée totale est la plus courte ;
* priorité aux fabrications qui utilisent au moins une ressource critique ;
* priorité aux fabrications qui disposent du minimum de marge globale.

## Démarche d'utilisation du diagramme de Gantt

Dans un diagramme de Gantt on représente :
* en abscisse les unités de temps (exprimées en mois, en semaine ou en jours) ;
* en ordonnée les différents postes de travail (ou les différentes tâches).
La durée d'utilisation d'un poste de travail (ou la durée d'exécution d'une tâche) est matérialisée par une barre horizontale. Initialement, le diagramme de Gantt ne visualise que le temps : les dates (début et fin) ainsi que la durée des tâches. Aujourd'hui, il est fréquent de matérialiser par des flèches, les liens de dépendance entre les tâches (la flèche relie la tâche précédente à la tâche suivante). Dans la pratique, et à la différence du PERT, le diagramme de base est souvent complété en ligne par la liste des ressources affectées à chacune des tâches ainsi que par divers indicateurs, fonction de la charge ou du délai, permettant d'en suivre l'avancement.

## Dates au plus tôt et au plus tard

Concernant les délais, le diagramme de Gantt permet de déterminer les dates de réalisation des différentes opérations, en tenant compte :
* de la date de début au plus tôt : il n'est pas possible de commencer une opération avant celle-ci. Choisir de commencer une opération à la date au plus tôt est intéressant, car cela laisse une marge de manœuvre, mais cela peut aussi parfois poser des difficultés, par exemple du stockage du produit de cette opération, si le délai entre l'opération donnée et la suivante est trop important ;
* de la date de début au plus tard : c'est la date la plus défavorable sans mettre le projet en péril. Choisir de commencer une opération à la date au plus tard est techniquement possible, mais constitue toujours une difficulté, car le moindre retard dans l'exécution de cette tâche entraînera automatiquement un retard de l'ensemble du projet.

## Marges

Les marges certaines, libres et totales dépendent des écarts entre les fins des opérations au plus tôt ou au plus tard et le début de l'opération suivante, au plus tôt ou au plus tard. Ceci offre donc 3 combinaisons qui peuvent intéresser le planificateur.

## Ressources sous Gantt

Gantt offre la possibilité de gérer clairement les ressources de l'industrie. L'outil permet de suivre de façon claire, les délais, les ressources humaines et les ressources matérielles. Ceci permet au planificateur de suivre facilement l'avancement du projet.

## Complémentarité avec le réseau PERT et le graphe des potentiels

Le diagramme de Gantt complète l'information travaillée dans le diagramme PERT. Celui-ci permet d'analyser toutes les relations qui existent entre les activités, de dégager les séquences d'activités, d'identifier le chemin critique et les dates de début et de fin (au plus tôt et au plus tard) de chaque activité. Le diagramme de Gantt permet de choisir les dates qui seront effectivement retenues pour réaliser les activités et, éventuellement, de montrer les relations entre les activités et donc les incidences en termes de retard.
En d'autres termes, le PERT est un outil d'analyse alors que le Gantt est un outil de planification. Une différence essentielle entre les deux outils est aussi le lien qui existe entre la durée des tâches et l'espace utilisé pour les représenter dans les diagrammes. Dans un Gantt, l'espace est directement proportionnel à la durée alors que dans un PERT, la durée n'est pas gérée graphiquement, toutes les activités ayant la même taille dans le diagramme, quelle que soit leur durée. Ces différences font que le diagramme PERT est plus complexe à utiliser, car il est moins proche de la réalité.
Le graphe des potentiels est, lui, une évolution du réseau PERT que l'on retrouvera dans les logiciels de planification.

## Logiciels informatiques pour les diagrammes de Gantt

* Logiciel Open Source ou logiciel libre
** OpenProj (Open Source)
** Open Workbench (Open Source)
** ProjectLibre (un fork d'OpenProj)
** TaskJuggler (logiciel libre)
** Teamlab (logiciel libre)
** OpenProject (Open Source)
** Dolibarr (logiciel libre)
** PGF/TikZ (Langage informatique pour la création de graphiques vectoriels => L'interpréteur de PGF/TikZ peut être utilisé depuis les paquets LaTeX)
** GanttProject (logiciel libre)
* Logiciel propriétaire
** MatchWare MindView (en)
** Microsoft Project
** Microsoft Visio (Professionnel ?)
** OmniPlan (en)
** Primavera
** PSNext
** z0 Gravity
* Application web (logiciel en ligne)
** Gantter (peut être ajouté à Google Drive)
** Asta Power Project
** Sciforma
** Redmine (logiciel à installer sur un serveur du client)