WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Mise en place d’une application client-serveur pour la gestion des projets.


par JEANCY DIASOLUA
Université de Kinshasa - Gradue en mathématiques-informatique 2013
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

    Epigraphe

    « Si le monde est devenu trop dangereux pour qu'on y vive, ce n'est pas à cause des gens qui font le mal, mais à cause de ceux qui les laissent faire sans bouger »

    Albert Einstein

    Liste des figures

    CHAPITRE 1 : ARCHITECTURE CLIENT SERVEUR

    Figure 1.1 : Architecture client serveur avec le mainframe (Page 9)

    Figure 1.2 : Fonctionnement de l'architecture client serveur (Page 11)

    Figure 1.3 : Application basée sur l'architecture client serveur (Page 14)

    CHAPITRE 2 : GESTION DES PROJETS

    Figure 2.1 : Diagramme de Gantt (Page 17)

    Figure 2.2 : Représentation d'une étape avec la méthode PERT (Page 24)

    Figure 2.3 : Représentation des étapes et des Tâches avec la méthode PERT (Page 24)

    Figure 2.4 : Représentation des tâches simultanées (Page 24)

    Figure 2.5 : Représentation d'une tâche virtuelle (Page 24)

    Figure 2.6 : Tâches convergentes(Page 25)

    Figure 2.7 : Normalisation du graphe Pert (Page 25)

    Figure 2.8 : Normalisation du graphe Pert (Page 25)

    Figure 2.9 : Normalisation du graphe Pert (Page 25)

    Figure 2.10 : Composition d'une étape dans le graphe Pert (Page 26)

    Figure 2.11 : Exemple du graphe Pert (Page 27)

    Figure 2.12 : Représentation d'une tâche avec la méthode de potentiel métra (Page 28)

    Figure 2.13 : Représentation du graphe potentiel (Page 30)

    CHAPITRE 3 : APPLICATION ET IMPLEMENTATION

    Figure 3.1 : Aperçu du logiciel pour la gestion des projets(Page 34)

    Figure 3.2 : Le diagramme de Gantt (Page 33)

    Figure 3.3 : Aperçu de GanttProject (Page 35)

    Figure 3.4 : Création d'un nouveau projet grâce à GanttProject (Page 36)

    Figure 3.5 : Création d'une nouvelle tâche (Page 37)

    Figure 3.6 : Organisation des tâches en catégories (Page 37)

    Figure 3.7 : Création des relations des dépendances entre les tâches (Page 37)

    Figure 3.8 : Les propriétés d'une tâche (Page 38)

    Figure 3.9 : Les ressources (Page 38)

    Figure 3.10 : Les ressources (Page 38)

    Figure 3.11 : Aperçu du graphe potentiel grâce à notre logiciel (Page 40)

    Figure 3.12 : Les tâches critiques obtenues à partir de notre programme en visual basic (Page 40)

    Figure 3.13 : Aperçu du diagramme de Gantt grâce (GanttProject) (Page 41)

    Figure 3.14 : Obtention chemin critique (GanttProject) (Page 41)

    Figure 3.15 : Les tâches critiques (GanttProject) (Page 42)

    Dédicace

    A Dieu tout puissant qui a permis que je fasse ce travail de fin d'étude.

    A mes parents, mon père Benjamin BUMFUIDI, ma très chère mère Helene BAYIMISA, je n'oublierais jamais vos efforts conjugues durant toute ces dernières années.

    A mon oncle paternel Bernard DIKU et ma tante Rose BAKEBILA .

    A mes frères et soeurs : Herve BUMFUIDI, Samira DIEYABANZA, Jenovic BUMFUIDI, Enice BAKABUKILA.

    A mes cousins et cousines : Benjamin DIASOLUA et Ruth WULUBA.

    A la famille BUMBANGI, BIKUAKA.

    A mes amis et connaissances  : Herve NYOKA, Christian MUNDELE, Steve KOPI, Friedrich KIBANGO, Christian BELEWETE, Glody MATONDO, Arnold MAKILA , Juvenal LOFINDA, Yannick MOYO.

    A toutes personnes qui ont contribué de près ou de loin à l'élaboration de ce travail qui trouve ici l'expression de ma gratitude.

    Avant-propos

    Les étudiants finalistes au cycle de graduat doivent présenter un travail Scientifique, d'une envergure considérable, reflétant les connaissances qu'ils ont eu à acquérir depuis le début de leur cycle à l'université de Kinshasa.

    Ce travail de titan a nécessité beaucoup de concentration de notre part puis nous a permis d'accroitre, d'expérimenter certaines notions apprises aux cours.  L'objet de ce travail est d'arriver à mettre au point un logiciel utilisant la théorie des graphes permettant de résoudre le problème centrale d'ordonnancement par la construction d'un graphe potentiel pondéré et un réseau de transport quasi fortement connexe.

    Je souhaiterais avant toute chose remercier les personnes sans qui ce travail ne serait pas, en commençant par les autorités de l'Université de Kinshasa, Je tiens également à remercier ces personnes pour leur disponibilité et leur envie de participer à ce travail qui m'a marquée à l'occurrence le professeur docteur MANYA NDJADI L., le professeur docteur KAFUNDA. Je remercieégalement l'assistant Félicien MASAKUNA pour son encadrement, ses précieux conseils et remarques précieuses qui nous ont permis d'achever ce travail.

    DIASOLUA LUZILA Jeancy

    INTRODUCTION

    Un des paramètres très important à tenir compte dans la gestion des projets est le temps. Ce pour cela qu'il sera primordial pour nous de savoir comment procéder afin de répartir les différentes tâches d'un projet dans le temps. Tout projet a un objectif, certains n'atteignent pas souvent leurs objectifs (dépassement de délais, Surcouts importants, qualité technique du produit insuffisante), à cause de la mauvaise gestion. Il en résulte une préoccupation, qui est celle de chercher à savoir les outils efficaces à user de manière à bien planifier, bien contrôler, bref bien gérer un projet, de manière à éviter des couts supplémentaires, des dépassements inutiles du délais ...Le fait d'avoir un contrôle sur la durée, le cout global d'un projet nous permettra de prévoir avec précisions le budget à allouer au projet.

    Cette controverse face au quel on se retrouve butter nous pousse à réfléchir, trouver des solutions pouvant répondre aux besoins. L'utilisation des techniques d'ordonnancement s'est avérée incontournable en vue de palier face à notre préoccupation précédente. Notons qu'il existe des outils qui peuvent nous permettre de connaitre le temps lié à l'exécution de chaque tâche du projet, à l'occurrence le graphe pert, le graphe potentiel, le diagramme de gantt. Le choix d'une méthode dépend du gestionnaire du projet.

    Au regard de ce qui précède, nous avons jugé judicieux de mettre au point un logiciel conçu dans un langage de programmation que nous maitrisons le mieux (Visual Basic) pouvant tracer le graphe potentiel, celui-ci pourra être utilisé dans des bureaux d'études plus précisément dans l'étape de la planification des projet, de manière à ce que nous puissions gagner par rapport au facteur temps.

    La résolution de notre problème passe par l'élaboration du cahier de charge, des phrases d'analyse... Ce qui nous permettra d'avoir une vision assez large sur le problème et sur le logiciel. En présence des besoins, nous avons optée pour l'utilisation du langage de modélisation unifié (UML). Ce langage permet de réaliser un système logiciel en le représentant, en le spécifiant, en le construisant et en le documentant au préalable. Ce langage s'articule autour d'au moins neuf diagrammes différents représentant chacun un concept particulier de développement d'un système logiciel, parmi lesquels nous avons choisi de modéliser le diagramme de cas d'utilisation.

    Notre contribution, le logiciel en ce qui le concerne peut permettre à une personne de visualiser avec précision la répartition des tâches d'un projet en niveau, le graphe potentiel avec les calculs des dates des débuts, dates aux débuts au plus tard de toutes les tâches du projet. De ce fait, l'objectif de ce outil (du logiciel) est de permettre d'ordonnancer, de hiérarchiser, de classer un très grand nombre de tâche en fonction des contraintes d'antériorité, de successions qui peuvent évoluer. Le programme s'adapte à tout problème décomposable en tâches, il est particulièrement performant lorsque le nombre de tâches est élève et que les contraintes risquent d'évoluer.

    Ce travail scientifique basé sur la conception d'un logiciel a nécessité beaucoup d'énergie de notre part, aussi de la part des personnes qui nous ont aidées dans sa rédaction. Au total, sept mois ont été suffisants pour le réaliser, de Juin 2013 à Décembre 2013. La conception du logiciel quant a lui nous a fallu les trois premiers mois.

    Ce travail est reparti en trois grands chapitres :

    CHAPITRE 1 : ARCHITECTURE CLIENT- SERVEUR

    Il sera question de mettre en valeur l'importance liée à l'utilisation de ce type d'architecture dans notre logiciel

    CHAPITRE 2 : GESTION DES PROJETS

    Il a été question de donner de la lumière sur certaines notions (projet, contrôle et évaluation d'un projet, ...) et aussi de montrer l'utilité de cette étape nommée « la gestion des projets » dans la réalisation des projets

    CHAPITRE 3 : APPLICATION ET IMPLEMENTATION

    Nous avons montré différent aspect du logiciel, la manière dont nous devons comprendre le résultat déduit du logiciel. En outre nous avons eu a parlé de ganttProject, un outil très connu, très puissant et très utilisé dans la gestion des projets, aussi nous avons émis vers la fin certains hypothèses pouvant aider à utiliser le logiciel adéquate, en rapport avec votre projet.

    CHAPITRE 1 : ARCHITECTURE CLIENT - SERVEUR

    Une architecture client-serveur est un mode de communication entre deux processus (client et serveur)

    1.1 Les architectures réseaux

    Généralement, nous pouvons distinguer deux architectures de réseaux à savoir :

    Ø Les réseaux poste à poste (peer to peer / égal à égal)

    Ø Réseaux organisés autour de serveurs (Client - Serveur)

    Ces deux types de réseau ont des capacités différentes. Le type de réseau a installé dépend des critères suivants : Taille de l'entreprise, Niveau de sécurité nécessaire et type d'activité, Niveau de compétence d'administration disponible, Volume du trafic sur le réseau, Besoins des utilisateurs du réseau, Budget alloué au fonctionnement du réseau (Notons que dans le budget, il sera pris en compte l'achat mais aussi l'entretien et la maintenance).

    1.1.1. Architecture poste à poste

    Dans une architecture poste à poste (appelée aussi « égal à égal», en anglais peer to peer, notée P2P), contrairement à une architecture de réseau de type client-serveur, il n'y a pas de serveur dédié. Ainsi chaque ordinateur dans un tel réseau joue à la fois le rôle de serveur et de client. Cela signifie notamment que chacun des ordinateurs du réseau est libre de partager ses ressources. Un ordinateur relié à une imprimante pourra donc éventuellement la partager afin que tous les autres ordinateurs puissent y accéder via le réseau.

    Avantages de l'architecture poste à poste

    L'architecture poste à poste possède tout de même des avantages, nous pouvons éventuellement cités :

    · Un coût réduit (les coûts engendrés par un tel réseau résultent du matériel, des câbles et de la Maintenance),

    · Une simplicité à toute épreuve.

    Inconvénients de l'architecture poste à poste

    Les réseaux poste à poste ont néanmoins un certain nombre d'inconvénients :

    · Le système basé sur l'architecture poste à poste n'est pas du tout centralisé, ce qui le rend très difficile à administrer,

    · La sécurité est moins facile à assurer, compte tenu des échanges transversaux ;

    · Aucun maillon du système ne peut être considéré comme fiable.

    Ainsi, les réseaux poste à poste sont préférentiellement utilisés pour des applications ne nécessitant pas un haut niveau de sécurité ni une disponibilitémaximale (il est donc déconseillé pour un réseau professionnel avec des données sensibles).

    1.1.2 Architecture Client - Serveur

    1.1.2.1 Les ordinateurs du type « Mainframe »

    Avant la période où les ordinateurs portables devenaient populaires, les bases de données ainsi que les programmes pour les manipuler; se trouvaient sur de grands ordinateurs puissants du type "mainframe". On parlait d'une architecture centralisée, puisque les bases de données, le système de gestion des bases de données et les objets tels que requêtes, formulaires, rapports étaient stockés sur le "mainframe". L'utilisateur était connecté au "mainframe" à l'aide d'un terminal composé d'un clavier et d'un écran.

    Contrairement à un ordinateur portable, un terminal ne possède aucune intelligence propre, c.à.d. qu'il peut uniquement envoyer des caractères au "mainframe" et afficher les caractères, qui lui sont envoyés par le "mainframe".

    Lorsque l'utilisateur veut par exemple afficher un formulaire (une interface), la construction de celui-ci se fait complètement sur le "mainframe". Ensuite, le formulaire où plutôt l'apparence du formulaire est envoyée via le réseau vers le terminal de l'utilisateur.

    Figure 1.1 : Architecture client-serveur avec le mainframe

    Avantage de l'architecture "mainframe"

    Les «mainframe » étant de grands ordinateurs très puissants, les systèmes atteignent de très belles performances, d'autant plus que tous se passe au niveau du serveur.

    Inconvénients de l'architecture "mainframe"

    Ø Aucune capacité de calcul sur le terminal, donc impossible d'exécuter des programmes sur le terminal.

    Ø Le "mainframe" étant sous la seule gestion du service informatique, les utilisateurs peuvent uniquement accéder aux bases de données via des formulaires, et autre. créés par les informaticiens.

    Ø Le réseau est assez chargé, surtout lorsque le nombre des terminaux accroît.

    Ø Les requêtes, formulaires .... sont fortement couplés au système de gestion de base de données ce qui les rend pratiquement inutilisable lorsqu'une société veut migrer vers un autre système de gestion de base de données.

    L'évolution historique des architectures informatiques vers les architectures du type client-serveur(en anglais Client - Server) dans les années '90; peut être ramenée surtout aux facteurs suivants :

    Ø L'arrivée au marché des ordinateurs portables.

    Ø L'apparition de serveurs, machines moins chères et moins spacieuses que les

    "Mainframe", avec cependant une capacité de calcul et de stockage analogue à celle des "mainframe".

    Ø L'émergence des systèmes d'exploitation standardisés tels qu'UNIX ou Windows NT.

    Ø L'apparition des systèmes des gestions des bases de données indépendants de la plate-forme et disponible pour tous les systèmes d'exploitation standardisés.

    1.1.2.2L'approche client-serveur

    Il sera question de répondre à la question : « En quoi consiste l'utilisation d'une architecture client-serveur ? »

    L'utilisation d'une architecture client-serveur va consister à réaliser une intégration de l'informatique personnelle dans le système informatique de l'entreprise avec comme objectifs :

    · Tout utilisateur dans une entreprise pourra accéder à toute information utile à sa tâche dès lors que cet accès sera autorisé par les règles de confidentialité et de sécurité en vigueur.

    · L'accès devra être instantané et, fait à partir de n'importe quel poste de travail.

    · L'accès à l'information devra avoir lieu à travers une interface aussi simple que possible, choisie par l'utilisateur. Il faudra préserver les investissements passés.

    Le modèle client-serveur est une solution qui a été apporté en vue de répondre aux objectifs précédemment cités.

    De nombreuses applications fonctionnent selon un environnement client- serveur ,il désigne un mode de communication à travers un réseau entre plusieurs programmes (processus) ou logiciels : l'un, qualifié de client, envoie des requêtes ; l'autre ou les autres, qualifiés de serveurs, attendent les requêtes des clients et y répondent .En d'autre terme, cela voudrait dire qu'il existe des machines clientes (des machines faisant partie du réseau) contactent un serveur, une machine généralement très puissante en terme de capacité d'entrée-sortie, qui leurs fournit des services. Ces services sont des programmes fournissant des ressources telles que données, des fichiers, une connexion et aussi des ressources matérielles.

    Une autre définition du paradigme client-serveur est qu'il consiste à structurer un système en termesd'entités clientes et d'entités serveurs qui communiquent parl'intermédiaire d'un protocole de communication à travers un réseauinformatique .Un serveur est généralement capable de servir plusieurs clients simultanément, comme il a été énoncé précédemment, en bref répondre aux requêtes d'un grand nombre de clients. En général, les clients sont souvent des ordinateurs personnels ou des appareils individuels (téléphone, tablette).

    1.1.2.3 Fonctionnement de l'architecture Client - Serveur

    Un système client-serveur fonctionne selon le schéma suivant :

     
     

    Figure 1.2 : Fonctionnement de l'architecture client serveur

    Pour illustrer le schéma de la figure 1.2, nous dirons que le client émet une requête vers le serveur grâce à son adresse IP et le port, qui désigne un service particulier du serveur.

    Le serveur reçoit la demande et répond à l'aide de l'adresse de la machine cliente et son port.

    Avantages de l'architecture client-serveur

    L'architecture client-serveur est particulièrement recommandée pour des réseaux nécessitant un grand niveau de fiabilité, ses principaux atouts sont :

    Ø Les utilisateurs deviennent des clients avec des postes de travail intelligents, à l'aide desquels ils peuvent connecter les applications bureautiques directement aux serveurs dans lesquels nous trouvons une base de données afin de gérer dans un environnement convivial les données de l'entreprise, sans être dépendant des services d'un informaticien pour résoudre le moindre problème.

    Ø Les réseaux informatiques modernes permettent un accès transparent à plusieurs serveurs base de données, et ceci même de façon simultanée.

    Ø Une partie de la capacité de travail est partagée entre les serveurs et les clients, ce qui crée un certain équilibre.

    Ø Une panne du serveur n'empêche pas nécessairement tous les utilisateurs de travailler avec l'outil informatique. Certains travaux peuvent être exécutés sans connexion au serveur.

    Ø L'architecture Client-serveur, reposant sur les systèmes ouverts, offre en plus l'avantage qu'il existe toute une panoplie de logiciels standard, ce qui crée un marché multi vendeur et une offre des produits équilibrée.

    Inconvénients de l'architecture Client-serveur

    L'architecture client-serveur a tout de même quelques lacunes parmi lesquelles :

    Ø Un coût élevé dû à la technicité du serveur.

    Ø Un maillon faible : le serveur est le seul maillon faible du réseau client-serveur, étant donné que tout le réseau est architecturé autour de lui. Heureusement, le serveur a une grande tolérance aux pannes.

    1.1.2.4 Les différents modèles de client-serveur

    En fait, la différence entre les différents modèles client-serveur est essentiellement liée aux services qui sont assurés par le serveur .On distingue couramment :

    Le client-serveur de donnée

    Dans ce cas ,le serveur assure des Tâches de gestion, stockage et de traitement de données ,C'est le cas le plus connu de client-serveur utilisé par tous les grands système de gestion de base de données  .La base de données avec tous ses outils à savoir la maintenance ,le sauvegarde est installé sur un poste serveur .Sur le client, un logiciel d'accès est installé permettant d'accéder à la base de données du serveur .

    Le client-serveur de présentation

    Dans ce cas la présentation des pages affichées par le client est intégralement prise en charge par le serveur. 

    Le client-serveur de traitement

    Dans ce cas, le serveur effectue des traitements à la demande du client.il peut s'agir par exemple des traitements d'alarmes.

    Ces traitements peuvent être réalisés par des programmes installés sur des serveurs mais également intégrés dans des bases de données ; dans ce cas la partie donnée et traitement sont intégrés.

    1.1.2.5 Répartition des Tâches

    Dans l'architecture client-serveur, une application est constituée de trois parties :

    § L'interface de l'utilisateur

    § La logique de traitement

    § La gestion des données

    Le client n'exécute que l'interface de l'utilisateur (Très souvent une interface graphique) ainsi que la logique de traitement (Formuler la requête) laissant au serveur de base de données la gestion complète en rapport avec la manipulation des données.

    1.2 Architecture logicielle

    1.2.1 Description d'une architecture logicielle

    Les concepts d'architecture logicielle et de programmation structurée sont difficiles à mettre en oeuvre pour des applications complexes. La première étape dans la construction d'une application complexe consiste à ne pas la concevoir comme un tout, mais comme une multitude de composants qui sont liées dans un environnement donné, il s'agit de l'approche modulaire .Notons que la conception d'une architecture logicielle, bien que d'une importance capitale pour la réussite d'un projet informatique, est encore trop souvent liée au savoir-faire d'une personne (ou d'un groupe de personnes) spécialiste(s) d'un domaine précis. L'architecture est donc étudiée selon un point de vue particulier (aussi, appelée une facette)

    Le rôle principal d'une architecture est d'entraîner une démarche de conception, à la fois formelle (permettant par le calcul mathématique de valider ses propriétés) et opérationnelle (lors de sa conception, de sa mise au point et de sa maintenance). La définition d'une architecture logicielle passe donc par la réponse à la question suivante : Quelles règles doit-on suivre pour réussir à développer des systèmes qui répondent à toutes les exigences fonctionnelles (les services à rendre) et non fonctionnelles (performance et extensibilité du système par exemple) ?

    1.2.2 Le client-serveur et l'architecture logicielle

    Originellement, le terme client-serveur décrivait les interactions entre deux programmes d'une architecture logicielle, les programmes résidaient alors sur la même machine hôte. La signification du terme client-serveur a complètement changé lors de l'apparition d'outils de distribution des traitements en fonction des ressources Logicielles et matérielles. Désormais, une architecture client-serveur s'appuie sur des architectures matérielles et logicielles qui interagissent.

    L'architecture client-serveur est un modèle de fonctionnement logiciel qui peut se réaliser sur tout type d'architecture matérielle (petites ou grosses machines) à partir du moment où ces architectures peuvent être interconnectées.

    Les architectures logicielles de type client-serveur actuelles nécessitent la recherche du meilleur découpage d'une application en composants logiciels, ainsi que la répartition efficace de ces composants.

    1.2.3 Utilisation d'une application basée sur l'architecture client-serveur

    L'architecture client-serveur peut être utilisée dans beaucoup d'applications, son utilisation dépend des besoins ainsi que du savoir-faire de la part du programmeur.

    Prenons un exemple clair et précis :

    Un vendeur possédant plusieurs boutiques, on souhaite mettre en place un système informatique composé des éléments suivants :

    - Un serveur central situé dans une zone non accessible au public ;

    - Des postes clients répartis dans chacune des boutiques.

    Les postes clients doivent permettre, grâce à une interface homme-machine appropriée (qui sera simulée ici sous forme d'une zone de saisie en mode caractères), de réaliser les différentes opérations prévues.

    Figure 1.3 : Application basée sur l'architecture client serveur

    Le fonctionnement sera le suivant :

    1. Selon la saisie de l'utilisateur, le client préparera une requête à envoyer au serveur.

    2. La requête sera envoyée au serveur et le client se mettra en attente de la réponse.

    3. Le serveur réceptionnera la requête et la traitera pour comprendre la demande du client.

    4. Il effectuera ensuite le traitement associé,

    5. et enverra le résultat de ce traitement au client.

    6. Le client réceptionnera le résultat et pourra enchaîner sur une nouvelle requête.

    La gestion des données au niveau du serveur

    Le serveur central a la charge de l'ensemble des données de la boutique (stock et facturation). Les données manipulées par le serveur sont de nature persistante, c'est-à-dire qu'elles doivent survivre à l'exécution de l'application. Pour assurer la persistance de ces données, nous les stockerons dans un fichier. Le principe consiste alors à charger ce fichier en mémoire pour traiter chaque requête client, puis de sauvegarder ce fichier après chaque mise à jour. Un mécanisme de synchronisation devra donc être utilisé pour gérer la concurrence d'accès au fichier.

    CHAPITRE 2 : GESTION DES PROJETS

    La gestion des projets est une démarche visant à organiser de bout en bout le bon déroulement d'un projet.

    Toute entité économique (entreprise industrielle, entreprise du bâtiment, administration, Sous-traitant, ...) doit assurer la cohérence technique et économique de la réalisation du produit et/ou service avec le contrat qui la lie au client. Cette réalisation doit amener la satisfaction du client en respectant le cahier des charges, les délais, et les couts.

    La gestion des projets fait partie des tâches les plus ardues et les plus complexes de la vie d'une entreprise. Elle oblige à prendre en compte de multiples paramètres et la façon dont ils interagissent entre eux.

    2.1 La recherche opérationnelle : l'outil Important dans la planification des projets

    Au XVIIe siècle Descartes pose les bases de la décomposition d'un problème complexe en éléments simples, c'est le principe de la méthode d'analyse et de structuration des projets actuels. À la même époque Pascal et Pierre de Fermat inventent la notion d'« espérance mathématique », la théorie des probabilités se développe et diverge vers différentes branches, comme notamment, depuis le milieu du siècle dernier, la recherche opérationnelle. Il est à noter que le terme « opérationnelle » indique son origine militaire :

    C'est pendant la seconde guerre mondiale que cette dernière discipline démontre toute sa puissance.

    Les Britanniques étudient, d'une part, la possibilité de disposer les radars de surveillance sur le territoire de façon optimale, d'autre part, la protection des convois de navires marchands entre la Grande-Bretagne et les États-Unis. Ces modèles mathématiques jouent un rôle déterminant lors de la bataille d'Angleterre.

    La recherche opérationnelle consiste à aider à la prise de décisions dans un univers incertain ; une des branches de cette recherche est la théorie desgraphes. Un graphe c'est par exemple un réseau routier ou téléphonique, c'est un peu comme une toile d'araignée. La problématique peut consister à trouver le chemin le plus court pour se rendre d'un point à un autre. Un graphe, c'est aussi un planning. Parmi un ensemble de tâches ou de travaux liés logiquement pour réaliser un projet, il est utile de chercher un chemin optimal (le plus long ou le plus court) pour terminer le projet au plus tôt ; c'est le principe de l'ordonnancement de projet.

    À la veille de la guerre de 1939-1945, Leonid Kantorovitch applique la

    Programmation linéaire à la théorie des graphes, c'est la naissance de la Planification (C'est la ou naquis la planification des projets)

    Les méthodes d'ordonnancement des Tâches permettent d'avoir une représentation graphique (immuable ou non) d'une réalisation en représentant chaque opération (ou Tâche) par un arc, une liaison, ou un rectangle qui peut être proportionnel ou non a la durée. Ce graphique dans tous les cas permet le positionnement relatif des opérations dans le temps.

    En outre, La recherche opérationnellepeut être définie comme l'ensemble des méthodes et techniques rationnelles orientées vers la recherche de la meilleure façon d'opérer des choix en vue d'aboutir au résultat visé ou au meilleur résultat possible.

    Elle fait partie des «aides à la décision» dans la mesure où elle propose des modèles conceptuels en vue d'analyser et de maitriser des situations complexes pour permettre aux décideurs de comprendre et d'évaluer les enjeux et d'arbitrer ou de faire les choix les plus efficaces.

    2.2 Projets

    2.2.1 Définition d'un projet

    On appelle « projet » l'ensemble des actions à entreprendre afin de répondre à un besoin défini dans des délais fixés, Ou encoreC'est une oeuvre, innovante et complexe, un ensemble d'opérations destinées à atteindre un objectif précis.

    Un projet a un début et une fin.

    La construction d'un véhicule, d'une usine ou d'un radar, par exemple, sont des projets industriels.

    Ainsi un projet étant une action temporaire avec un début et une fin, mobilisant des ressources identifiées (humaines et matérielles) durant sa réalisation, celui-ci a également un coût et fait donc l'objet d'une budgétisation des moyens et d'un bilan indépendant.

    Comment planifier un projet ?

    La planification du projet. Cette activité consiste à déterminer et à ordonnancer les tâches du projet, à estimer leurs charges et à déterminer les profils nécessaires à leur réalisation. Il existe des techniques de planification comme la création d'un diagramme de GANTT où chaque tâche est représentée par une ligne et où chaque colonne représente une durée (jour, semaine, mois).

    Notons que la planification du projet est très importante, d'autant plus quecette étape permet au gestionnaire du projet de suivre de plus près le déroulement du projet.

    2.2.2 Diagramme de GANTT

    L'un des outils les plus utilisés en gestion de projet est le diagramme de Gantt qui permet de modéliser les différents modules qui composent un projet en les plaçant dans une dimension temporelle. Le diagramme de Gantt constitue l'un des meilleurs outils pour planifier la réalisation d'un projet, et vous trouverez ici des logiciels consacrés à la création de ce type de diagrammes.

    Le diagramme de GANTT permet de planifier le projet et de rendre plus simple le suivi de son avancement .Cette méthode visuelle est efficace lorsqu'il s'agit de lister une vingtaine de Tâches. Au-delà, la lisibilité est compromise et il convient d'utiliser le PERT, ou bien la méthode potentielle métra.Le diagramme de GANTT est un graphique (chrono gramme) qui consiste à placer les Tâches chronologiquement en fonction des contraintes techniques de successions (Contraintes d'antériorités).Etant donné la relative facilitée de lecture des diagrammes GANTT, cet outil est utilisé par la quasi-totalité des chefs de projet dans tous les secteurs. Le diagramme GANTT représente un outil pour le chef de projet, permettant de représenter graphiquement l'avancement du projet, mais c'est également un bon moyen de communication entre les différents acteurs d'un projet.

    L'axe horizontal des abscisses représente le temps et l'axe vertical des ordonnées les Tâches.

    On représente chaque Tâche par un segment de droite dont la longueur est proportionnelle à sa durée. L'origine du segment est calée sur la date de début au plus tôt de l'opération l'extrémité du segment représente la fin de la Tâche.

    Le diagramme de Gantt 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'oeil 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 interventions qui viennent en concurrence pour l'utilisation de certaines ressources de l'entreprise (même outillage). 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 (Un problème d'ordonnancement consiste à organiser dans le temps la réalisation des tâches, compte tenu des contraintes temporelles (délais, contraintes d'enchaînement) et de contraintes portant sur la disponibilité des ressources requises). Toutefois, il est souvent possible de trouver des solutions satisfaisantes en appliquant simplement des règles de priorité heuristiques (Discipline qui a pour objet de dégager les règles de la recherche et qui facilite la découverte, qui a une utilité dans la recherche). 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.

    Voici un exemple sur le diagramme de Gantt :

    Figure 2.1 : Diagramme de Gantt

    2.2.3 Contrôle et évaluation d'un projet

    2.2.3.1Contrôle d'un projet

    Après avoir planifié et mis en oeuvre votre projet, vous devez continuellement contrôler vos activités et les budgétiser normalement à chaque trimestre. Le contrôle (en anglais « monitoring ») est la collecte systématique des informations et leur analyse au fur et à mesure que le projet avance. Son but est d'améliorer l'efficience et l'efficacité d'un projet ou d'une organisation. Il est basé sur un ensemble de buts et d'activités planifiées durant les phases de préparation du travail. Il permet de poursuivre le travail dans la bonne voie et renseigne les gestionnaires du projet lorsque les choses se déroulent mal et qu'il est nécessaire d'entreprendre des changements.

    Afin de garder vos activités sous contrôle et d'atteindre vos objectifs, des indicateurs réalistes et mesurables fixés durant la planification du projet vous permettront de gérer la progression du projet. Les indicateurs sont des signes mesurables ou tangibles de ce qui a été réalisé. Ils peuvent être subdivisés en indicateurs quantitatifs (Par exemple : le nombre d'ateliers réalisés) et qualitatifs (Par exemple : l'approfondissement des connaissances des participants sur les Droits de l'Homme). Vous devriez choisir des indicateurs pour les activités-clés ainsi que pour les besoins spécifiques des bénéficiaires, afin d'atteindre l'objectif général du projet.

    Après avoir sélectionné les indicateurs, il vous faut collecter les informations afin de les mesurer. Ensuite, vous allez organiser et analyser ces informations afin d'identifier des tendances à partir desquelles nous pourrons tirer des conclusions et apporter les changements et les améliorations nécessaires.

    2.2.3.2 Evaluation d'un projet

    L'évaluation est la comparaison des impacts du projet en l'état par rapport à la planification du projet qui avait été convenue. Elle se penche sur ce que vous avez décidé d'effectuer, sur ce que vous avez accompli et sur la manière dont vous l'avez accompli. Ceci nous permet de savoir si nos objectifs ont été atteints et si notre gestion du temps et de nos ressources a été bonne ou pas. Pour des projets qui nécessitent plusieurs années, il est conseillé d'effectuer des évaluations intermédiaires annuelles ou semestrielles afin de prendre des nouvelles ou d'autres mesures pour optimiser la réalisation du projet. Une évaluation finale sert à évaluer la valeur de l'ensemble du projet et de déterminer si le projet peut être amélioré et/ou reconduit.

    L'évaluation comprend différentes questions qui devraient déjà être établies durant la planification du projet :

    - Atteinte des buts et effets : Quels sont les buts qui ont été atteints ? Lesquels ne l'ont pas été ? Pour quelles raisons (facteurs internes et externes) ? Quels ont été les effets sur les jeunes sur place? Qu'est-ce qui a été utile ? Combien de jeunes ont pu en profiter ?

    - Besoin : Le projet correspond-il aux besoins des jeunes sur place ?

    - Participation : Comment les jeunes sur place ont-ils été intégrés au projet ?

    - Egalité : Comment pourrait-on atteindre une égalité des genres ?

    - Leçons à tirer : Quels sont les succès et les échecs principaux?

    - Méthodologie : La méthodologie utilisée, a-t-elle été efficace ?

    - Durabilité : Comment va se poursuivre le projet ? Est-il ancré localement ? L'organisation partenaire locale va-t-elle le poursuivre ?

    Une des questions que l'on pourrait se poser à ce niveau serait « Quels sont les étapes importantes nécessaires à franchir, la marche à suivre dans l'évaluation des projets ? »

    Cela dépendra d'un projet à un autre,Il n'existe pas vraiment une liste d'étapesuniverselle. Mais soulignons au moins certain points communs se trouvant dans l'évaluation de tous les projets.

    La démarche proposée ci-dessous privilégie l'évaluation continue. Nous citerons dix étapes qui pourront vous aider à bien mener vos projets.

    § décrire le contexte initial sous forme d'un état des lieux préalable ou même a posteriori. Faites-en émerger le(s) problème(s) posé(s) qui ont donné naissance au projet.

    § Proposez des hypothèses de solutions : ce seront les axes stratégiques du projet.

    § Bâtissez le cadre de référence complet pour votre action.

    § Décidez de la finalité de votre évaluation : à quoi voulez-vous qu'elle vous serve ? Mesurer les réalisations et les impacts, mobiliser les acteurs, mettre en évidence les impacts, aider à la décision pour reconduire une action et dans quelles conditions, etc.

    § Posez la liste des principales questions évaluatives en la simplifiant au maximum.

    § Choisissez les « angles de vue » prioritaires. Une action ne s'évalue pas dans sa totalité. Vous aurez un regard particulier sur un ou deux aspects de l'action.

    § Prenez, uniquement sur ces champs prioritaires à évaluer, des critères et indicateurs significatifs et repérables, quantitatifs et qualitatifs, permettant de suivre l'évolution de votre action au regard de vos priorités. Ne dépassez pas une douzaine d'indicateurs, la moitié peut suffire.

    § Dotez-vous des moyens de collecter en continu l'information pour renseigner les indicateurs choisis en vue d'une meilleure évaluation.

    § Définissez un calendrier de l'évaluation qui prenne en compte toutes les échéances de votre structure (conseils d'administration, assemblées générales), de l'action (comité de pilotage), des financeurs (bilan intermédiaire et final) et de l'environnement.

    § Dotez-vous de moyens pour communiquer en continu : dans ce calendrier.

    Nous pouvons aussi citer différents types d'évaluations de votre projet, qui peuvent être appliqué en fonction des ressources dont dispose votre organisation :

    Ø L'autoévaluation : C'est une évaluation interne de l'organisation concernant la manière dont les affaires sont menées

    Ø L'évaluation externe : C'est une évaluation effectuée par une personne ou une équipe externe qui a été soigneusement sélectionnée.

    Ø L'évaluation interactive : Elle implique une interaction très active entre un évaluateur ou une équipe d'évaluation externe et l'organisation ou le projet qui est évalué(e). Parfois une personne de l'intérieur peut être incluse au sein de l'équipe d'évaluation, cela reste une possibilité dans la vie pratique, professionnelle.

    2.2.4 Objectif d'un Projet

    Un objectif est un résultat attendu qu'une intervention vise à atteindre. C'est à ce stade que vous commencez à définir les résultats que vous souhaitez obtenir à différents niveaux. Le but du processus est de préciser la situation future désirée pour tous les problèmes cernés, de façon à pouvoir déterminer par la suite ceux que l'organisation peut résoudre en restant réaliste. Une fois encore, il est crucial de conduire le processus de manière participative en y associant les principales parties prenantes, notamment des représentants des personnes que l'intervention vise à aider. Une méthode courante pour définir, déterminer et choisir les objectifs est d'élaborer un « arbre des objectifs ».Comme ce dernier, l'arbre des objectifs devrait fournir un résumé simplifié, mais fidèle, de la réalité. L'arbre des objectifs est un outil qui aide à analyser et à présenter les idées. Son principal avantage est qu'il maintient l'analyse des objectifs potentiels du projet fermement ancrée dans la résolution d'un éventail de problèmes prioritaires clairement définis. Il contribuera à :

    Ø établir et décrire ce que serait la situation future si tous les problèmes relevés étaient résolus ;

    Ø définir des objectifs possibles (résultats attendus) et vérifier leur hiérarchie ;

    Ø illustrer et vérifier les relations de cause à effet (moyens-fins) dans un diagramme ;

    Ø établir les priorités

    o en évaluant la faisabilité de la réalisation de certains objectifs, et

    o en définissant d'autres moyens éventuellement nécessaires pour obtenir les résultats désirés.

    2.2.5 Type de projet

    On distingue plusieurs types de projets industriels :

    ü les grands projets (Exemple : construction d'une centrale nucléaire, d'une usine...) ;

    ü les petits projets ;

    ü les projets de maintenance et d'intervention ;

    ü les projets de recherche et développement ;

    ü les projets de développement et de mise en place de produits nouveaux ;

    ü les projets informatiques ;

    ü les projets internationaux.

    Bien que les caractéristiques de ces projets industriels sont différentes, la méthodologie de gestion est toujours la même :

    · l'objectif est défini précisément ;

    · le schéma envisagé pour atteindre cet objectif est établi au point de vue délai, coûts, moyens et qualité ;

    · l'avancement physique du projet est périodiquement contrôlé ;

    · le résultat prévisionnel en est déduit, est comparé à l'objectif.

    2.2.6Importance de la gestion de projet

    Pourquoi devons-nous bien gérer nos projets ?

    o Les projets n'atteignent pas souvent leurs objectifs

    Ø Dépassement de délais ;

    Ø Surcoûts importants ;

    Ø qualité technique du produit insuffisante.

    o Les projets se déroulent dans un milieu complexe

    Ø acteurs divers dans une entreprise : étude, production, marketing ;

    Ø environnement extérieur non maîtrisable : marché, social, politique, concurrence.

    Cela va de soi, l'absence d'expertise réelle sur une technologie clé pour un projet ou l'absence de connaissance des enjeux critiques d'un secteur d'activité sont des conditions qui mènent pratiquement automatiquement un projet d'informatisation d'envergure à l'échec. Ce qui est moins évident, c'est que même en parfaite possession de l'expertise technologique et des connaissances opérationnelles stratégiques, sans gestion de projet rigoureuse et éclairée, les probabilités d'échec sont pratiquement aussi grandes.

    L'informatique de gestion est un domaine d'expertise d'après deuxième guerre. L'ampleur de l'échec ne fait que rappeler la pertinence de la gestion de projets, car il faut toujours conserver à l'esprit que " la technologie est un outil et non une solution".

    2.3 LES TECHNIQUES D'ORDONNANCEMENT.

    2.3.1 GÉNÉRALITÉS SUR L'ORDONNANCEMENT

    La réalisation d'un projet nécessite souvent une succession de tâches auxquelles s'attachent certaines contraintes :

    ü De temps : délais à respecter pour l'exécution des tâches ;

    ü D'antériorité : certaines tâches doivent s'exécuter avant d'autres ;

    ü De production: temps d'occupation du matériel ou des hommes qui l'utilisent ...

    Les techniques d'ordonnancement dans le cadre de la gestion d'un projet ont pour objectif de répondre au mieux aux besoins exprimés par un client, au meilleur coût et dans les meilleurs délais, en tenant compte des différentes contraintes.

    L'ordonnancement se déroule en trois étapes :

    · La planification : qui vise à déterminer les différentes opérations à réaliser, les dates correspondantes, et les moyens matériels et humains à y affecter.

    · L'exécution : qui consiste à la mise en oeuvre des différentes opérations définies dans la phase de planification.

    · Le contrôle : qui consiste à effectuer une comparaison entre planification et exécution, soit au niveau des coûts, soit au niveau des dates de réalisation.

    Il existe trois méthodes d'ordonnancement : le diagramme de Gantt (dont j'ai eu à en parler au chapitre 3 sur la gestion des projets), la méthode MPM (Méthode des potentiels Métra), en suite le PERT (Program Research Technic).

    2.3.2 Objectif de l'ordonnancement

    Les problèmes d'ordonnancement sont apparus au départ dans la planification de grands projets. Le but était de gagner du temps sur leur réalisation. De tels projets sont constitués de nombreuses étapes, également appelées tâches. Des relations temporelles existent entre ces dernières. A l'occurrence :

    ü Une étape doit commencer à une date précise ;

    ü Un certain nombre des tâches doivent être terminées pour pouvoir démarrer une autre ;

    ü Deux tâches ne peuvent être réalisées en même temps (elles utilisent une même machine par exemple) ;

    ü Chaque tâche nécessite une certaine quantité de main d'oeuvre. Il faut donc éviter, à chaque instant, de dépasser la capacité totale de main d'oeuvre disponible.

    Toutes ces contraintes ne sont pas à prendre en compte dans la résolution du problème. Ici, nous allons nous intéresser uniquement aux types de contraintes.

    On cherchera à déterminer une planification, ordonnancement des étapes qui minimise le temps total de réalisation du projet. A partir de cette planification, nous verrons que le temps de certains étapes peut éventuellement être modifié sans entraîner un retard du projet, alors que d'autres, les étapes dites « critiques », retardent entièrement le projet au moindre retard local.

    En toutes généralité, le problème d'ordonnancement se pose comme suit : « Etant donné un objectif à atteindre et dont la réalisation suppose l'exécution d'un multiple tâche, lesquelles tâches sont soumises à des nombreuses contraintes déterminer l'ordre et le calendrier d'exécution de ses multiples tâches »

    2.3.3 Contraintes

    Parmi les nombreuses contraintes qui peuvent s'opposer à des nombreuses opérations (tâches) dans un ordre donné et à des dates souhaitées, on peut citer:

    Les contraintes potentielles :

    Elles sont divisées en deux :

    ü Contraintes de succession ou d'antériorité :

    Une tâche j ne peut commencer que lorsqu'une tâche i est achevée ou terminée.

    i j

    Ou en générale, une tâche j ne peut commencer qu'un certain laps de temps après que la tâche i est commencée.

    ü Contraintes de date ou de localisation temporaire :

    Une tâche ne peut commencer avant une certaine date indépendamment du fait qu'elle doit succéder à d'autres tâches.

    2.4 Le Problème Central d'Ordonnancement (P.C.O)

    Dans notre cas nous proposons d'étudier un cas particulier de problème d'ordonnancement c'est celui appelé « Problème central d'ordonnancement ».

    Dans le Problème central d'ordonnancement, On utilisera les contraintes potentielles particulièrement les contraintes de successions : l'exécution de la tâche j ne peut être commencé que lorsque la tâche i qui lui est antérieur est achevé.

    Les méthodes de résolution du Problème Central d'Ordonnancement (P.C.O)

    Jusqu'aux années 1950 avant le développement de la théorie de graphe le Problème central d'ordonnancementétait résolu empiriquement par le diagramme de GANTT de 1918-1957.

    Actuellement, il existe deux méthodes scientifiques et techniques basées sur la théorie de graphe pour résoudre le P.C.O :

    - La méthode Américaines : PERT : « Programm Evaluation and Research Task » en 1958.

    - La méthode Française : Méthode de Potentiel Métra (MPM) en 1958.

    2.4.1 LA METHODE PERT

    2.4.1.1 Historique

    A la fin des années cinquante, la marine américaine conçoit une nouvelle technique d'ordonnancement qui devait conduire à des gains de temps importants dans la réalisation de ses missiles à ogive nucléaire Polaris : c'est la technique PERT (Programm Evaluation and Review Technique - technique d'ordonnancement et de contrôle des programmes). Cette technique a permis de coordonner les travaux de près de 6000 constructeurs dans les délais imposés par le gouvernement américain.

    Le projet POLARIS représentait entre autres:

    o 250 fournisseurs ;

    o 9000 sous-traitants ;

    o 7 ans de réalisation.

    L'utilisation du PERT a permis de ramener la durée globale de réalisation du projet de 7 à 4 ans. Cette méthode s'est ensuite étendue à l'industrie américaine puis à l'industrie occidentale.

    Le PERT est « une méthode consistant à mettre en ordre sous forme de réseau plusieurs tâches qui grâce à leur dépendance et à leur chronologie concourent toutes à l'obtention d'un produit fini ».

    La méthode PERT est le plus souvent synonyme de gestion de projet importants et à long terme. C'est pourquoi, un certain nombre d'actions sont nécessaires pour réussir sa mise en oeuvre.

    1. Définir de manière très précise le projet d'ordonnancement.

    2. Définir un responsable de projet, auquel on rendra compte et qui prendra les décisions importantes.

    3. Analyser le projet par grands groupes de tâches, puis détailler certaines tâches si besoin est.

    4. Définir très précisément les tâches et déterminer leur durée.

    5. Rechercher les coûts correspondant ce qui peut éventuellement remettre en cause certaines tâches.

    6. Effectuer des contrôles périodiques pour vérifier que le système ne dérive pas.

    2.4.1.2 Objectif de la méthode

    La méthode PERT permet de réduire la durée totale d'un projet par une analyse détaillée des Tâches ou activités élémentaires et de leur enchainement. On étudie les délais sans prendre en compte les charges.

    En outre, elle permet :

    v La prise en compte des différentes tâches à réaliser et des antériorités à respecter entre ces tâches.

    v La détermination de la durée globale du projet et des tâches qui la conditionnent.

    v La détermination des tâches pour lesquelles du temps est disponible (notion de marge).

    v La détermination des dates "au plus tôt" et "au plus tard" pour lancer chaque tâche.

    v La gestion des moyens logistiques (matériel) et humains (effectif) intervenant sur le projet.

    2.4.1.3 Notions de base

    La méthode s'appuie en grande partie sur une représentation graphique qui permet de bâtir un réseau PERT .Ce réseau PERT étant constitué par des Tâches et des étapes

    Étape : commencement ou fin d'une Tâche. Une étape n'a pas de durée. On symbolise une étape (ou noeud) sur le réseau par un cercle.

    Figure 2.2 : Représentation d'une étape avec la méthode PERT

    Remarques

    - La longueur des arcs n'est pas proportionnelle au temps d'exécution.

    - Pour alléger la représentation, on ne note pas le nom complet de la Tâche, mais une lettre ou code le représentant.

    2.4.1.4 Représentation graphique des étapes et des Tâches dans un réseau

    Figure 2.3 : Représentation des étapes et des Tâches avec la méthode PERT

    B ne peut commencer que si A est terminée (A précède B, ou A est antériorité de B) ,C ne peut commencer que si A et B sont terminées ( A et B précédent C, ou A et B sont antériorité de C, ou A et B enclenchent C).

    En ce qui concerne les Tâches simultanées, nous dirons qu'elles peuvent commencer en même temps en partant d'une même étape. D ne peut commencer que si B est terminée.

    Figure 2.4 : Représentation des tâches simultanées

    Si l'on souhaite que D ne commence que si B et C sont terminés, On peut améliorer la représentation précédente pour obtenir:

    Figure 2.5 : Représentation d'une tâche virtuelle

    Nous noterons en passant que x (0) est une Tâche dite Tâche fictive qui Sert a représenté ce type de contraintes de liaison (contraintes d'antériorité). Il s'agit d'une Tâche dont la durée et le cout sont nuls. On la représente en pointilles.

    Tâches convergentes

    Plusieurs Tâches peuvent se terminer sur une même étape.

    Figure 2.6 : Tâches convergentes

    Dans ce cas présent, la Tâche A (12) a une durée de 12 unîtes de temps, B(6) a une durée de 6 unîtes de temps. On ne constate que la Tâche A dure plus longtemps que B. A est dite  pénalisante

    2.4.1.5 Normalisation du graphe

    Si le graphe doit débuter par plusieurs Tâches simultanées, il ne doit y avoir qu'une seule étape d'entrée (ou étape de début, ou étape de départ). Les étapes seront donc regroupées en une seule.

    Illustrons cela :

    Figure 2.7 : Normalisation du graphe Pert

    Si le graphe se termine par plusieurs Tâches (plusieurs étapes de sortie (ou de fin), il ne doit y avoir qu'une seule étape de sortie.

    Autre Problème de dépendance

    Si nous avons par exemple le cas suivant : A enclenche B, A enclenche D, C enclenche D. Nous pouvons être tentes de dessiner le graphe de la manière suivante :

    Figure 2.8 : Normalisation du graphe Pert

    Le graphe précédent je précise est faux car cette construction signifie : A enclenche B, A enclenche D, C enclenche B, et C enclenche D. Dans le souci de respecter les contraintes d'antériorités de notre projet, nous pouvons améliorer le graphe précédant en introduisant une Tâchefictive, Ce qui nous conduit a :

    Figure 2.9 : Normalisation du graphe Pert

    La méthode PERT permet de résoudre le problème central d'ordonnancement par le graphe PERT. Dans ce travail, Il ne sera considéré que les graphes PERT temps c'est-à-dire graphe PERT temps déterministe.

    2.4.1.6 Représentation des étapes

    Les étapes ou noeuds dans le graphe PERT peuvent être représentés de différentes façons selon les informations que l'on souhaite mettre en évidence.

    Figure 2.10 : Composition d'une étape dans le graphe Pert

    2.4.1.7 Méthodologie de construction d'un réseau PERT (Graphe PERT)

    Pour construire un réseau PERT, Il faudrait au préalable :

    ü Etablir la liste des Tâches (faire le partitionnement des Tâches en fonction des ressources), Ou bien établir le dictionnaire de précédant qui sera un atout majeur dans la suite.

    ü Déterminer des antériorités : Tâches immédiatement antérieures, et Tâches antérieures.

    La notion de niveau (Utilisé dans la construction du graphe potentiel) n'a pas de sens pour la méthode PERT car les tâches sont représentées par les arcs dans la méthode PERT.

    ü Construire le réseau PERT.

    Calculer la durée du projet, les dates début et de fin des Tâches.

    Déterminer le chemin critique.

    Un chemin est dit critique si celui-ci passe par des étapes dont les dates au plus tôt et les dates au plus tard sont égales pour chaque étape

    Voici un exemple pratique du graphe PERT

    Tâches

    Antériorités

    Durées

    A

     

    1

    B

     

    2

    C

    A

    1

    D

     

    3

    E

    B

    2

    F

    E

    5

    G

    C ,D

    2

    H

     

    5

    I

    H

    2

    J

     

    1

    K

    I,J

    4

    L

    F,G

    5

    M

    K,L

    4

    Du dictionnaire des précédents ci-haut, il en découle le graphe PERT ci-dessous  :

    Figure 2.11 : Exemple du graphe Pert

    2.4.2 La Méthode de Potentiel Métra (M.P.M)

    La solution au Problème Central d'Ordonnancement est donnée par le graphe potentiel (MPM) pondéré et aussi un réseau de transport quasi-fortement connexe, un cas particulier du réseau de transport.

    2.4.2.1 Eléments du graphe MPM

    Le graphe MPM est constitué des éléments suivants :

    ü Chaque tâche représente un sommet (ou noeud) ;

    ü Chaque arc représente une contrainte de succession (ou d'antériorité),

    ü La pondération (ou potentiel) d'un arc donne le temps qui doit s'écouler au minimum entre le début de la tâche origine de l'arc et le début de la tâche extrémité de l'arc.

    2.4.2.2 Principe de la méthode

    A l'identique de la méthode PERT cette méthode permet de réduire la durée totale d'un projet. On étudie les délais sans prendre en compte les charges et les moyens disponibles.

    Notions de base

    La méthode est une représentation graphique qui permet de bâtir un réseau.

    Ce réseau est constitué par des Tâches (ou étapes).

    Figure 2.12 : Représentation d'une tâche avec la méthode de potentiel métra

    Liaison orientées Elles représentent les contraintes d'antériorités des Tâches.

    2.4.2.3 Normalisation du graphe

    Le graphe doit comporter un seul début et une seule fin. Il n'y a pas d'autres

    Règles. C'est ce type de graphe qui est le plus souvent utilisé par les logiciels de planification(comme Microsoft Project).

    2.4.2.4 Méthodologie de construction d'un graphe potentiel (MPM)

    Il sera nécessaire de :

    o Etablir la liste des Tâches (faire le partitionnement des Tâches en fonction des ressources).

    o Déterminer des antériorités : Tâches immédiatement antérieures, et Tâches antérieures.

    o Déterminer les niveaux d'exécution ou rang des tâches(Très bien détaillé au point 4.2.2.5 sur la notion des niveaux).

    o Construire le réseau MPM.

    o Calculer la durée du projet, les dates début et de fin des Tâches. Déterminer le chemin critique

    2.4.2.5 Notion des Niveaux

    Considérons le tableau suivant (dictionnaire de précédent) :

    Tâches

    Antériorités

    Durées

    A

     

    1

    B

     

    2

    C

    A

    1

    D

     

    3

    E

    B

    2

    F

    E

    5

    G

    C , D

    2

    H

     

    5

    I

    H

    2

    J

     

    1

    K

    I, J

    4

    L

    F, G

    5

    M

    K, L

    4

    En outre, nous noterons par :

    v P(x) :l'ensemble des tâches qui précède immédiatement les tâches qui sont dans x,si nous nous referons à notre dictionnaire des précédents(x) représente la colonne « Antériorités  » et x représente la colonne « Tâches »

    v (x) représentel'ensemble des successeurs de x.

    v (x) représente l'ensemble des prédécesseurs de x.

    Dans la construction du graphe potentiel il est nécessaire d'ordonner les différentes tâches en niveau.

    L'algorithme suivant permet de repartir toutes les tâches en niveau :

    Apres l'application de l'algorithme de niveau, les tâches du dictionnaire des précédents sont reparties en ceux-ci :

    Niveau 0 : {A, B, D, H, J}

    Niveau 1 : {C, E, I}

    Niveau 2 : {F, G, K}

    Niveau 3 : {L}

    Niveau 4 : {M}

    2.4.2.6 Détermination du calendrier au plus tôt

    On affecte comme pondération, la durée de la tâche origine de l'arc, car les contraintes sont seulement celle de succession. En effet, le fait de choisir pour Tx la longueur (valeur) du PLC garantit que toutes les contraintes d'antériorités ont été respectées. Il va de soit que Tx est déterminé par l'algorithme de FORD ou ces variantes relatives au PLC.

    Pour l'exemple précédent, le calendrier au plus tôt se présente comme suit :

    2.4.2.7 Détermination du calendrier au plus tard et chemin critique

    Il s'agit de déterminer pour chaque tâche x une date de début au plus tard Tx tel que Tz (date de fin de travaux au plus tôt) ne soit pas retardé, on procède à cet effet par analyse rétrospective.

    A l'étape 1, on égalise la date de début au plus tôt et la date au plus tard de la dernière tâche.

    Arriver a l'etape 2, pour trouverune date au plus tard ,nous prendrons qui represente la date au plus tard du successeur immediat de x presumée connu pour soustraire ,lui qui represente la ponderation de la tâche x .Nous ferons de meme pour toute les autres tâchesen allant de droite à gauche.

    Une tâche critique est une tâche dont la date de début au plus tôt correspond à la date de début au plus tard.On appelle chemin critique, un chemin passant par les tâches critiques.Les tâches situées sur le chemin critique sont appelées les tâches critiques.

    En effet, tout retard pris dans l'exécution de l'une de tâches critiques c'est-à-dire de l'un de tâche située sur le chemin critique retardera inévitablement la fin des travaux. Dès lors les tâches critiques nécessitent une attention particulière.

    A l'aide du dictionnaire des précédents présentée ci haut, déduisons un graphe potentiel

    Niveau 0 Niveau 1 Niveau 2 Niveau 3 Niveau 4 Niveau Final

    Figure 2.13 : Représentation du graphe potentiel

    La méthode MPM comme la méthode PERT a pour but de planifier la durée d'un projet, aussi nous devons mener des calculs sur le graphe afin d'en déduire des renseignements sur l'exécution du projet.

    CHAPITRE 3 : APPLICATION ET IMPLEMENTATION

    Les logiciels de gestion des projets facilitent grandement la complexité des tâches ardues et complexes de l'entreprise en permettant de formaliser et d'évaluer les diverses composantes d'un projet, que celles-ci se situent encore au niveau conceptuel ou sur un plan plus pratique. Ils permettent de modéliser les différentes étapes du projet à travers des diagrammes et facilitent ainsi la prise de décision. D'un point de vue plus pratique, ils vous permettront d'évaluer, faire des prévisions sur des données telles que le coût du travail, l'ordonnancement, la planification, la communication et la présentation finale du plan d'exécution.

    L'un des atouts majeurs des logiciels de gestion de projets est qu'ils facilitent grandement la réalisation de représentations visuelles réellement parlantes. L'un des outils les plus utilisés en gestion de projet est le graphe potentiel qui permet d'afficher les différentes tâches qui composent un projet en fonction de leur ordre d'exécution.

    3.1 Notre contribution

    3.1.1 Analyse du problème

    Enfin d'obtenir un résultat satisfaisant à partir d'un problème résultant d'au moins un besoin, la démarche classique prévoit les étapes que voici :

    ü Le cahier de charge

    Il sera question de concevoir un logiciel pouvant aider le bureau d'étude dans la prise des décisions permettant de répartir les tâches dans le temps. Celui-ci devra être en mesure d'afficher avec précisions la durée du projet, ainsi que les tâches qui devront être réalisées dans le temps, sans retard au risque de retarder la fin du projet.

    Les chercheurs opérationnelles à travers la recherche opérationnelle et sa variante intitulée « Problème d'ordonnancement »ont mises aux points des méthodes, parmi ces méthodes nous trouvons la méthode potentiel métra : MPM, qui fera l'objet de ce chapitre

    ü La phrase d'analyse

    Dans cette étape, nous allons transformer le cahier de charge pour dégager les différentes fonctions dont il va s'agir de calculer des valeurs dont les calculs successifs produiront, par agrégation, le résultat désiré. Les questions que l'on pourrait se poser sont :

    o Quelles sont les fonctions qui pourront être utilisée ?

    Les fonctions qui ont été implémenté dans le logiciel sont :

    § Une fonction pouvant aider à générer les objets tâches ainsi qu'a la détermination du nombre exacte des tâches requit en fonction des données introduites par l'utilisateur,

    § Une fonction permettant de repartir (regrouper) les tâches en niveau,

    § Une fonction permettant d'attribuer une valeur à x, une valeur à y qui permettront d'afficher la tâche, qui correspondront à un point sur le formulaire en fonction du niveau,

    § Une fonction pour l'affichage des tâches,

    § Une fonction pour le calcul des dates de début, dates au début au plus tard de chaque tache,

    § Une fonction pour les tâches critiques.

    o Quelles sont les données et quelle est le résultat attendu ?

    Les données dont aura besoin le logiciel pour son bon fonctionnement sont les noms des tâches, leurs précédents, leurs descriptions, ainsi que leurs durées .Tout ceux-ci représentent les éléments précédemment cités qui constituent notre dictionnaire des données.

    Le résultat attendu sera l'affichage du graphe potentiel.

    3.1.2 Le diagramme des cas d'utilisations du logiciel

    Graphe potentiel « Include »

    Tracer le graphe

    Lire la tâche

    [Bureau d'étude]

    Figure 3.2 : Le diagramme de Gantt

    3.1.3Technologies utilisées

    Pour concevoir ce logiciel, j'ai jugé judicieux d'utiliser le Visual Basic(VB). Visual Basic est un langage de programmation événementielle de troisième génération ainsi qu'un environnement de développement intégré, créé par Microsoft, Visual Basic est un des langages les plus utilisés pour l'écriture d'applications commerciales. Il a également été très utilisé dans le monde de l'ingénierie et de la recherche appliquée en raison de sa capacité à permettre des développements très rapides et très efficients permettant ainsi aux scientifiques de se consacrer davantage à l'algorithmique et moins aux aspects formels du codage.

    Le défaut souvent reproché à VB (peut-être de manière un peu ironique) étant justement sa facilité de mise en oeuvre : un débutant VB pourra rapidement faire un programme opérationnel mais souvent tellement mal fait (sans analyse, structures ni règles, sans même la moindre expérience en programmation parfois...) qu'il sera difficilement maintenable par la suite. Beaucoup de projets VB sont à refaire entièrement car ils ont été trop mal faits par des débutants VB

    Visual Basic a été conçu pour être facile à apprendre et à utiliser. Le langage permet de créer des applications graphiques de façon simple, mais également de créer des applications véritablement complexes. Programmer en VB est un mélange de plusieurs tâches, comme disposer visuellement les composants et contrôles sur les formulaires, définir les propriétés et les actions associées à ces composants, et enfin ajouter du code pour ajouter des fonctionnalités. Comme les attributs et les actions reçoivent des valeurs par défaut, il est possible de créer un programme simple sans que le programmeur ait à écrire de nombreuses lignes de code. Les premières versions ont souffert de problèmes de performance, mais avec l'apparition d'ordinateurs plus rapides et grâce à la compilation en code natif, ce problème de performance s'est estompé.

    3.1.4 Aperçu du logiciel

    Figure 3.1 : Aperçu du logiciel pour la gestion des projets

    Au lancement du programme, un formulaire octroyant la possibilité d'introduire les informations sur le projet deviendra visible .Donnons alors plus des précisions sur les objets s'y trouvant, 1: Pour l'introduction d' une tâche antérieure (maximum 3 tâches antérieurs) ;2 :Pour la description de la tâche ;3 :Pour l'enregistrement du nom de la tâche ;4 :Utiliser pour l'enregistrement ,Précisons dans ce cas que l'enregistrement comprendra le nom de la tâche, sa description ,la(les) tâche(s) antérieure(s) ,ainsi que sa durée ;5 :Pour le traçage du graphe après la saisi des tâches ;6 :Pour les tâches critiques ;7 :Pour la réinitialisation ;8 :Pour la durée de la tâche.

    Dans le souci de faire de ce travail, un travail digne d'un informaticien, nous avons conçu un petit logiciel permettant de visualiser le graphe potentiel.

    Bien sûr, l'analyse approfondie du projet par le bureau d'étude doit se faire au préalable en vue de dresser le dictionnaire des précédents, qui sera utilisé pour l'introduction des données dans la machine. Le dictionnaire des précédents est un tableau qui pourra éventuellement avoir parmi ses champs:

    ü Une colonne destinée a listé toutes les tâches à réaliser ;

    ü Une deuxième colonne désignant la liste pré-requise pour que les tâches de la première colonne soient débutées ;

    ü Une troisième colonne destinée à la désignation de la tâche ;

    ü Une dernière colonne pour la durée de la tâche.

    3.2 GanttProject

    3.2.1 Aperçu de GanttProject

    L'interface de GanttProject se présente comme suit :

    Figure 3.3 : Aperçu de GanttProject

    3.2.2 Le logiciel GanttProject

    C'est un logiciel gratuit disponible sur Internet qui a Trois principales fonctionnalités a savoir :

    o Planifier 

    o Ventiler les ressources 

    o Suivre l'avancement

    Il a deux principaux intérêts :

    o La convivialité de l'interface

    o La facilité du partage du travail

    GanttProject est un logiciel libre de gestion de projet écrit en Java, ce qui permet de l'utiliser sur de nombreux OS tel que Windows, Linux, MacOS. Ce projet a été lancé par un élève de l' université de Marne La Vallée en janvier 2003 et est maintenant proposé sous licence libre.

    GanttProject permet la planification d'un projet à travers la réalisation d'un diagramme de Gantt. L'outil permet de créer des diagrammes de Gantt, des diagrammes de ressources et des réseaux PERT. Il convient de noter qu'en l'état actuel le logiciel ne permet pas de concevoir des tâches durant moins d'une journée.

    L'application permet en outre de décomposer vos projets en arborescence et d'assigner des ressources à chacune des tâches prévues au planning. Il est possible de créer des dépendances entre les activités. Cette fonctionnalité se révèle indispensable lorsque le travail accompli sur une tâche est nécessaire pour une autre partie du projet.

    3.2.3 Utilisation de GanttProject

    Cette étape nous permettra de maitriser le différent concept lié à l'utilisation de GanttProject

    3.2.3.1 Création et enregistrement d'un Projet(Fichier)

    Ø Création

    Dans la barre de menu, cliquer sur « Projet », puis sur « nouveau »

    Compléter obligatoirement la rubrique Nom. Les rubriques Organisation, lien Internet et description sont facultatives mais néanmoins conseillées. Faites suivant. Ce qu'il est important de prévoir dès le début du projet, c'est le nombre de jours ouvrables par semaine. Vous pouvez choisir quels jours seront travailles ou non, ainsi que le calendrier des jours ferrières .Une fois cela fait, nous pourrons alors aller a l étape suivant.

    Figure 3.4 : Création d'un nouveau projet grâce à GanttProject

    Ø Enregistrement du projet

    Pour l'enregistrement du projet, les choses sont encore beaucoup plus faciles, vous n'aurez qu'a cliquer sur « Projet » puis « Enregistrer sous »,puis suivre le processus normal pour l'enregistrement d'un fichier.

    3.2.3.2 Création d'une nouvelle Tâche

    Tout d'abord, vous pouvez créer vos Tâches en utilisant le bouton Nouvelle Tâche

    Ou bien directement en utilisant le menu Tâche. Les Tâches apparaissent dans l'arbre à gauche; vous pouvez alors directement changer leurs noms ici.

    Figure 3.5 : Création d'une nouvelle tâche

    Ensuite, vous pouvez les organiser entre elles en les plaçant en catégories ou en groupes. Vous obtenez alors une architecture semblable `a celle-ci:

    Figure 3.6 : Organisation des tâches en catégories

    3.2.3.3 Les relations des dépendances

    Ganttproject vous permet de créer des relations de dépendances entre deux tâches. Vous pouvez les créer en utilisant directement la souris sur le graphique. Cliquez sur une première tâche et déplacez la souris jusqu'à être au-dessus d'une seconde tâche. Une flèche va alors apparaitre entre les deux tâches. La seconde sera alors dépendante de la première. Vous pouvez alors obtenir un diagramme comme ceci:

    Figure 3.7 : Création des relations des dépendances entre les tâches

    3.2.3.4 Edition des propriétés

    Pour chaque tâche il est alors possible d''editer ses propriétés dans une boîte de dialogues en utilisant le Bouton Propriétés, ou en double cliquant sur la tâche dans l'arborescence ou sur la barre du graphique. La boîte de dialogues vous permet alors d'éditer le nom de la tâche sa durée, ses dates de début/fin, sa couleur, sa priorité, d'ajouter des notes ...

    Vous pouvez 'également définir les relations de la tâche en choisissant différents prédécesseurs dans le deuxième onglet de la boîte. Il est 'également indispensable de choisir le type de relation que vous désirez utiliser (pour le moment seule l'option Fin-D'ebut fonctionne).

    Figure 3.8 : Les propriétés d'une tâche

    3.2.3.5 Les Ressources

    o Pour rentrer les rôles /professions des ressources humaines afin de les affecter en suite aux ressources, cliquer sur « Edition », puis choisir « Préférences ».En suite, cliquer sur « Rôles »,en bas a gauche. Une fenêtre s'ouvre avec un tableau .sous la catégorie « Rôles », inscrire les différents rôles des membres de l'équipe projet (plus éventuellement les consultants, intervenants...)

    Figure 3.9 : Les ressources

    o Pour créer une ressource, cliquer sur « Ressources » dans la barre de menu, puis sur « nouvelle ressource ».Une fenêtre s'ouvre, remplir au minimum le nom .Vous avez également la possibilité d'affecter le rôle de la personne grâce au menu déroulant du champ « Rôle par défaut ».Ce qui peut se traduire par :

    Figure 3.10 : Les ressources

    3.3 Exemple pratique

    Voici un exemple concret, d'un projet des informaticiens où l'utilisation des techniques de l'ordonnancement s'avérait être imparable en vue de satisfaire les besoins de l'investisseur.

    Un groupe d'étudiants de L'université de Kinshasa a réussi à convaincre un investisseur étranger à se lancer dans leur projet qui consiste à la création d'un site web pour les concours d'admissions dans la faculté des sciences. Les élèves dotés d'un diplôme d'état pourront s'enregistrer sur internet, payer le droit de participation en ligne, obtenir la liste des cours à préparer, ainsi que d'autres formalités.

    L'investisseur convaincu de la nécessité du projet voudrait juste savoir le temps nécessaire pour la conception du site web, bref la date de la fin du projet en considérant que le projet devra commencer le premier Janvier 2014. Les étudiants ont choisisd'utiliser deux logiciels, l'unpour tracer le graphe potentiel et l'autre pour tracer le diagramme de Gantt.

    Précisons dès le départ qu'ici, nous sommes toujours à l'étape de la planification de notre projet...

    Bien sûr, un projet ne s'arrête pas qu'à sa planification, mais entre dans un processus global communément appelée « Gestion de projet » .Pour mieux comprendre ce que cela signifie et ainsi être capable d'appréhender l'exécution de son projet exhaustivement.

    Il en découle de ce problème le dictionnaire des précédents suivant :

    Nom de la Tâche

    Description de la Tâche

    Tâche Antérieure

    Durée de la Tâche

    Début

    Installation des matériels

     

    3 Jours

    Tâche1

    évaluation du budget à alloué

    Début

    1 Jour

    Tâche2

    Conception des pages pour la partie HTML

    Tâche1

    5 Jours

    Tâche3

    Conception des pages pour les effets spéciaux

    Tâche1

    5 jours

    Tâche4

    Conception des pages PHP, JavaScript, et autre par les informaticiens

    Tâche1

    5 jours

    Tâche 5

    Répartition des groupes de travail

     

    1 jour

    Tâche6

    Teste de chaque module pris séparément

    Tâche 2, Tâche3, Tâche4

    2 Jours

    Tâche7

    Assemblage des toute les pages

    Tâche5, Tâche 6

    3 Jours

    Fin

    Teste du site web et dernière mise au point

    Tâche 1, Tâche 7

    1jour

    3.3.1 Prise de décision avec notre logiciel

    Grace au logiciel qui a été implémenté en Visual Basic, déduisons le graphe potentiel ressortissant du dictionnaire des précédents ci-haut,ce qui nous conduit à :

    Figure 3.11 : Aperçu du graphe potentiel grâce à notre logiciel

    Et pour les tâches critiques :

    Figure 3.12 : Les tâches critiques obtenues à partir de notre programme en visual basic

    Nous sommes maintenant arrivés au moment d'user des informations obtenues à travers les logiciels pour tirer des conclusions en rapport avec notre projet.

    Précisons au départ que notre logiciel évalue la durée du projet en jours. Notre projet en ce qui le concerne prendra 15 Jours.

    L'objectif poursuivi nous rappelons était de trouver la meilleur organisation possible pour qu'un projet soit terminé dans les meilleurs délais, et d'identifier les tâches critiques (tâches qui ne doivent souffrir d'aucun retard sous peine de retarder l'ensemble du projet).

    Au regard de la présentation ci-haut, nous déduirons qu'excepté la tâche 5, toutes les autres tâches sont des tâches critiques.

    En outre, nous constatons également que le logiciel a pris soin de repartir toutes les tâches en niveau, cela permet d'apporter plus de lisibilité à l'exécution du programme, puis cela permet aussi de voir l'acheminement de chaque tâche dans le soucie d'aider l'utilisateur dans le respect des contraintes potentielles (Contraintes de successions ou d'antériorités).

    3.3.2 Prise de décision avec GanttProject

    Le nom du logiciel étant saisie au préalable, il nous restera qu'à introduire les différentes tâches, afin d'obtenir des résultats fiables et convaincants .On déduit alors le diagramme suivant :

    Figure 3.13 : Aperçu du diagramme de Gantt grâce (GanttProject)

    Cette représentation qui autre fois nous l'avions traitée de visuellement parlante nous montre avec beaucoup des précisions qu'avec la date dupremier janvier 2014 comme jour de départ,notre projet se terminera le vingt deux janvier .GanttProject gère lui-même le problème des jours ouvrables.

    Figure 3.14 : Obtention chemin critique (GanttProject)

    En cliquant sur l'icône indiqué sur la figure 3.14,cela nous permettra d'obtenir la Figure 3.15 Ci-dessous :

    Figure 3.15 : Les tâches critiques (GanttProject)

    GanttProject a pris soin de colorer comme vous le constater toutes les tâches critique.

    Apres créations du diagramme de Gantt, il serait préférable de sauvegarder le travail en vue d'une prochaine visualisation. Ce diagramme pourra être consulté au fur et à mesure durant l'exécution du projet (contrôle du projet).

    GanttProject nous indique en outre que contrairement à toutes les autres tâches, la tâche 5 n'est pas une tâche critique.

    Au regard de ce qui précède,il émerge une question qui est celle de savoir ce que nous pensons de nos deux logiciels ?

    3.3.3 Quel est le logiciel le mieux adapté ?

    Il est important de préciser que les deux outils présentent des avantages, des inconvénients. L'utilisation de l'un ou de l'autre dépendra du résultat attendu.

    Comme vous pouvez le constater, chaque logiciel possède sa particularité, malgrécela, nous décelons des traits communs au niveau du résultat final.

    A première vue, les deux logiciels nous montrent avec beaucoup de précision que la tâche 5 n'est pas une tâche critique.

    Pour la durée du projet, notre logiciel qui constitue notre contribution nous donne le nombre total des jours nécessaires pour le déroulement du projet,bref quinze jours.GanttProject quand à lui nous affiche les dates. Il nous montre que si notre projet commençait le premier Janvier 2014, il se terminera le 22 Janvier 2014.

    Le diagramme de Gantt est très utilisé dans beaucoup de bureau d'étude,lorsqu'on veut bien gérer le déroulement du projet. Cetteméthode offre plus de lisibilité dans la planification des projets,ainsi que dans la lecture du résultat, le problème est que cette lisibilité est compromise lorsque le nombre des tâches devient trèssupérieur à Vingt,il conviendra alors d'utiliser une autre méthode à l'occurrence le graphe PERT ou bien le graphe potentiel.

    L'autre problème posé par GanttProject est que ce logiciel peut nous indiquer les tâches critiques mais pour ceux qui ne les seront pas,le logiciel ne sera pas en mesure de nous informer sur leurs dates de début au plus tôt,ni leurs dates de début au plus tard,alors que le logiciel en Visual basic le fait sans problème.

    3.3.4 Code source de l'application

    Imports Microsoft.VisualBasic.PowerPacks

    PublicClassForm2

    Dim compteur AsInteger = 0

    Dim Tracer AsInteger = 0

    Dim Tach1, Tach2, Tach3, Tach4, Tach5, Tach6, Tach7, Tach8, Tach9, Tach10 AsNewTache'Taches qui seront creer par l 'utilisateur

    Dim bool1, bool2, bool3, bool4, bool5, bool6, bool7, bool8, bool9 AsBoolean'Variables bool qui permettront gerer l inscription des taches dans le formulaire,aussi utiliser pour l'insertion de la tache10

    Dim tot(10), max, ta AsDouble'Utiliser pour le calcul des dates au plus tot

    Dim Table(10) AsInteger

    Dim indice AsInteger = 0

    PrivateSub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load

    If Utiliser = FalseThen

    TextBox3.Hide()

    TextBox4.Hide()

    Label6.Text = compteur 'Compte le nombre des taches deja saisie par l utilisateur

    Initialisation()

    Else

    Predefinie()

    EndIf

    Tach10.T_Name = "Fin"

    EndSub

    Sub Initialisation()

    max = 0

    Niv1 = 0

    Niv2 = 0

    Niv3 = 0

    Niv4 = 0

    Niv5 = 0

    Niv6 = 0

    Niv7 = 0

    Niv8 = 0

    bool1 = False

    bool2 = False

    bool3 = False

    bool4 = False

    bool5 = False

    bool6 = False

    bool7 = False

    bool8 = False

    bool9 = False

    Button4.Enabled = False

    End sub

    PrivateSub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load

    If Utiliser = FalseThen

    TextBox3.Hide()

    TextBox4.Hide()

    Label6.Text = compteur 'Compte le nombre des taches deja saisie par l utilisateur

    Initialisation()

    Else

    Predefinie()

    EndIf

    Tach10.T_Name = "Fin"

    EndSub

    End sub

    Sub Introduction()

    If TextBox5.Text = NothingThen

    TextBox5.Text = 0

    EndIf

    If TextBox3.Text = ""Or TextBox3.Text = " "Then

    TextBox3.Text = Nothing

    EndIf

    If TextBox4.Text = ""Or TextBox4.Text = " "Then

    TextBox4.Text = Nothing

    EndIf

    If TextBox6.Text = ""Or TextBox6.Text = " "Then

    TextBox6.Text = "Tache"

    EndIf

    End sub

    EndClass

    CONCLUSION

    L'objectif poursuivi par notre étude est de mettre en place un logiciel bâtit sur le modèle client - serveur pour la gestion des projets. Pour y parvenir, nous nous sommes servis des certaines notions utilisées en Recherche Opérationnelle entre autre les techniques d'ordonnancements pour concevoir le logiciel dans le langage de programmation que nous maitrisons mieux,c'est-à-dire le Visual Basic. Ce logiciel en ce qui le concerne permet de tracer le graphe potentiel.

    Beaucoup de logiciels, applications sont bâtis suivant l'environnement client-serveur. Dans la période des ordinateurs du type « Mainframe », le concept client-serveur existait déjà,mais ne pouvait pas êtreimplémenté dans la même machine parce que les terminaux ne possédaient aucune capacité de calcul. Avec l'arrivé des postes de travail intelligents, terminaux intelligents,les terminaux eux même pouvaient effectuer des opérations sans pour autant être connecter à un serveur distant. Ce qui a rendu possible l'intégration du concept client-serveur dans un seul terminal .Nous pourrons considérer les utilisateurs du logiciel comme des clients, ils pourront se trouver chacun devant des terminaux intelligents, des ordinateurs portables et dans ces derniers pourront être installés le logiciel. Ils interagiront avec les serveurs, le logiciel installé dans différents ordinateurs afin d'en déduire des résultats importants, nécessaire pouvant être utilisés dans la prise des décisions. Les utilisateurs pourront être des membres du bureau d'étude, des simples chercheurs opérationnelles, etc.

    Dans la gestion des projets nous avons décortiqués le différent chemina emprunté de manière à réaliser un projet dans les normes, dans le temps aussi dans des bonnes conditions. Ce travail nous a en outre aidées à comprendre l'importance liée à l'utilisation d'un outil informatique dans la gestion des projets. Cela accroit la précision,et facilite la réutilisabilité de la solution obtenue durant le contrôle du projet.

    Le graphe potentiel en ce qui le concerne nous donne la durée précise du projet, le seul problème pour que le projet ne se termine pas dans le temps est l'introduction des certains paramètresimprévisibles qui interviennent lors de l'exécution du projet,Un des paramètres est le climat (Les intempéries). Au minimum, une des tâches pourrait ne pas se réaliser à cause d'une raison valable (La pluie, un cyclone...),cela ne devrait en aucun cas empêcher le déroulement du projet, mais accroitrait certainement la durée du projet.

    BIBLIOGRAPHIE

    I. Ouvrages

    [1] F .Jouvret, La méthode M.P.M.  méthode des potentiels métra , Marseille , 27 janvier 2006

    [2] MANYA NDJADI, Recherche Opérationnelle, Université de Kinshasa, 2013

    [3] Mohamed Ali ALOULOU , Introduction aux problème d'ordonnancement, Université Paris Daulphine, 28 novembre 2005

    [4] MULENDA NATHANAEL , Programmation Orienté Objet, Université de Kinshasa,2013

    II. Site Internet

    [5] http://grappa.univ-lille3.fr/polys/frime/Sortie002.html, 2 Octobre 2013

    [6] http://techno-science.net , 2 Octobre 2013 http://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=8&ved=0CF8QFjAH&url=http%3A%2F%2Fetablissements.ac-amiens.fr%2F0020059d%2Fspip_gdns%2FIMG%2Fdoc%2FChapitre_14_clients_serveurs.doc&ei=tIyLUunwLMWRhQeDvID4Aw&usg=AFQjCNHG7_NHLuKlGRdMbdD6HVDnLJ0dIQ&bvm=bv.56643336,d.ZG4

    [7] http://logistiqueconseil.org , 5 Septembre 2013

    [8] http://www.framasoft.net/article2071.html, 5 Septembre 2013

    [9] http://fr.wikipedia.org/wiki/GanttProject ,27 Septembre 2013

    [10] http://fr.wikipedia.org/wiki/Logiciel_de_gestion_de_projets ,27 Septembre 2013.

    [11] http://fr.wikipedia.org/wiki/M%C3%A9thode_des_potentiels_Metra, 6Octobre 2013

    [1é] http://www-inf.it-sudparis.eu/modules/CS21/Current/Diapos/clientserveur-diapos.pdf

    [13] http://www.commentcamarche.net/contents/222-environnement-client-serveur , 2 Octobre 2013

    [14] http://www.larousse.fr/dictionnaires/francais/client-serveur/16523 , 27 Septembre 2013

    [15] http://www.lamsade.dauphine.fr/~giard/Gautier_controle_gestion_projets.pdf ,25 Septembre 2013

    TABLE DE MATIERES

    Epigraphie...............................................................................................................................................1

    Les Figures .............................................................................................................................................2

    Dédicaces................................................................................................................................................4

    Avant-propos..........................................................................................................................................5

    INTRODUCTION 3

    CHAPITRE 1 : ARCHITECTURE CLIENT - SERVEUR 8

    1.1 Les architectures réseaux 8

    1.1.1 Architecture poste à poste 8

    1.1.2 Architecture Client - Serveur 9

    1.1.2.1 Les ordinateurs du type « Mainframe » 9

    1.1.2.2L'approche client-serveur 10

    1.1.2.5 Fonctionnement de l'architecture Client - Serveur 11

    1.1.2.4 Les différents modèles de client-serveur 12

    1.1.2.5 Répartition des Tâches 12

    1.2 Architecture logicielle 13

    1.2.1 Description d'une architecture logicielle 13

    1.2.2 Le client-serveur et l'architecture logicielle 13

    1.2.3 Utilisation d'une application basée sur l'architecture client-serveur 13

    CHAPITRE 2 : GESTION DES PROJETS 15

    2.1 La recherche opérationnelle : l'outil Important dans la planification des projets 15

    2.2 Projets 16

    2.2.1 Définition d'un projet 16

    2.2.2 Diagramme de GRANTT 16

    2.2.3 Contrôle et évaluation d'un projet 17

    2.2.3.1 Contrôle d'un projet 17

    2.2.3.2 Evaluation d'un projet 18

    2.2.4 Objectifs d'un Projet 19

    2.2.5 Type de projet 20

    2.2.6 Importance de la gestion de projet 20

    Pourquoi devons-nous bien gérer nos projets ? 20

    o Les projets n'atteignent pas souvent leurs objectifs 20

    Ø Dépassement de délais ; 20

    Ø Surcoûts importants ; 20

    Ø qualité technique du produit insuffisante. 20

    o Les projets se déroulent dans un milieu complexe 20

    Ø acteurs divers dans une entreprise : étude, production, marketing ; 20

    Ø environnement extérieur non maîtrisable : marché, social, politique, concurrence. 20

    2.3 LES TECHNIQUES D'ORDONNANCEMENT. 21

    2.3.1 GÉNÉRALITÉS SUR L'ORDONNANCEMENT 21

    2.3.2 Objectif de l'ordonnancement 21

    2.3.3 Contraintes 22

    2.4 Le Problème Central d'Ordonnancement (P.C.O) 22

    2.4.1 LA METHODE PERT 22

    2.4.1.1 Historique 22

    2.4.1.2 Objectif de la méthode 23

    2.4.1.3 Notions de base 23

    2.4.1.4 Représentation graphique des étapes et des Tâches dans un réseau 24

    2.4.1.5 Normalisation du graphe 25

    2.4.1.6 Représentation des étapes 26

    2.4.1.7 Méthodologie de construction d'un réseau PERT (Graphe PERT) 26

    2.4.2 La Méthode de Potentiel Métra (M.P.M) 27

    2.4.2.1 Eléments du graphe MPM 27

    2.4.2.2 Principe de la méthode 27

    2.4.2.3 Normalisation du graphe 28

    2.4.2.4 Méthodologie de construction d'un graphe potentiel (MPM) 28

    2.4.2.5 Notion des Niveaux 28

    2.4.2.6 Détermination du calendrier au plus tôt 29

    2.4.2.7 Détermination du calendrier au plus tard et chemin critique 30

    CHAPITRE 3 : APPLICATION ET IMPLEMENTATION 32

    3.1 Notre contribution 32

    3.1.1 Analyse du problème 32

    3.1.2 Le diagramme des cas d'utilisations du logiciel 33

    3.1.3 Technologies utilisées 33

    3.1.4 Aperçu du logiciel 34

    3.2 GanttProject 35

    3.2.1 Aperçu de GanttProject 35

    3.2.2 Le logiciel GanttProject 35

    3.2.3 Utilisation de GanttProject 36

    Cette étape nous permettra de maitriser le différent concept lié à l'utilisation de GanttProject 36

    3.2.3.1 Création et enregistrement d'un Projet(Fichier) 36

    3.2.3.2 Création d'une nouvelle Tâche 36

    3.2.3.3 Les relations des dépendances 37

    3.2.3.4 Edition des propriétés 37

    3.2.3.5 Les Ressources 38

    3.3 Exemple pratique 39

    3.3.1 Prise de décision avec notre logiciel 39

    3.3.2 Prise de décision avec GanttProject 41

    3.3.3 Quel est le logiciel le mieux adapté ? 42

    CONCLUSION 43

    BIBLIOGRAPHIE 44






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Nous voulons explorer la bonté contrée énorme où tout se tait"   Appolinaire