INFORMATISATION DU CONTRÔLE TECHNIQUE PERIODIQUE DES VEHICULES AUTOMOBILES ET SUIVI DES CONTRÔLEURS

Dimension: px
Commencer à balayer dès la page:

Download "INFORMATISATION DU CONTRÔLE TECHNIQUE PERIODIQUE DES VEHICULES AUTOMOBILES ET SUIVI DES CONTRÔLEURS"

Transcription

1 Institut des Sciences Appliquées et Economiques Centre du Liban Associé au Conservatoire National des Arts et Métiers - Paris Mémoire Candidat d Ingénieur INFORMATISATION DU CONTRÔLE TECHNIQUE PERIODIQUE DES VEHICULES AUTOMOBILES ET SUIVI DES CONTRÔLEURS Préparé par RAHBANI Rabih Sous la direction de Mr. P. FARES Beyrouth - Liban

2 Sommaire Introduction Première Partie: Environnement et Etat de l'art Chapitre I: Revendication du contrôle technique périodique I.1 L insécurité routière est-ce une fatalité? I.2 Présentation I.3 Organisation du contrôle technique périodique I.4 Véhicules concernés I.5 Préparation de la visite I.6 Déroulement de la visite I.7 Résultat de la visite I.8 Description des postes de contrôle Chapitre II: Environnement de travail II.1 Présentation de l entreprise Saudi FAL II.2 Le département Recherche et Développement II.3 Présentation des besoins II.4 Présentation de l entreprise MAHA II.5 La mission du Candidat Chapitre III: Etat de l art III.1 Le Système EUROSYSTEM III.2 Les Bases de Données III.3 Pourquoi SQL Server et non pas Oracle? Deuxième Partie: Implémentation Chapitre IV: Automatisation du contrôle technique IV.1 Structure de l Application IV.2 Implémentation de la Base des Données IV.3 Implémentation du système d Alimentation du EUROSYSTEM IV.4 Implémentation du système d Analyse des Résultats 2

3 Conclusion Annexes IV.5 Sécurité Interne IV.6 Implémentation du système de Gestion des Archives Chapitre V: Contrôle de Qualité V.1 La Qualité du Contrôle V.2 La Surveillance des Centres de Contrôle V.3 Les Contrôleurs V.4 Le Système de Monitorage V.5 Le Système d Automatisation des Procédures Chapitre VI: Maîtrise des Risques de Perte d Informations VI.1 La Réplication des Données VI.2 Les Types de Réplication Proposés par SQL Server VI.3 La Structure Adoptée VI.4 Les Résultats Constatés Chapitre VII: Test et Implémentation Bibliographie VII.1 Tests d intégrité de la Base de Données VII.3 Tests du Module d Interprétation des Résultats VII.2 Tests de Saisie VII.4 Tests de validation A Acronymes B Logiciels Utilisés C Installation D Interface Graphique IMS E Interface Graphique VTS F Description des postes de contrôle G Exemple d un Fichier ES-In H Exemple d un Fichier ES-Out I Anomalies captées par le système de monitorage J Certificat de Contrôle K Système d automatisation des procédures L Kodak Imaging Controls M Licence de la Documentation 3

4 Liste des Figures Figure 01 : Fonctionnement du EUROSYSTEM Figure 02 : Système de Gestion de Base de Données.. 28 Figure 03 : Niveaux d un SGBD.. 30 Figure 04 : Architecture d une Base de Données Figure 05 : Eléments de Comparaison entre SQL Server et Oracle 40 Figure 06 : Share Nothing Figure 07 : Share Everything Figure 08 : Structure de l Application Figure 09 : Modèle Objet Relationnel...50 Figure 10 : Saisies d Informations...57 Figure 11 : Automate de traitement des fichiers ES_Out...60 Figure 12 : Phase de Scan Figure 13 : Gestion des Documents Electroniques.. 71 Figure 14 : Architecture 3 tiers.81 Figure 15 : Effacement d un code visuel. 82 Figure 16 : ES-Out Intermédiaires.. 83 Figure 17 : Fonctionnement du FileSystemWatcher 85 Figure 18 : Fonctionnement du l application de monitorage...88 Figure 20 : Test de poids. 90 Figure 21 : Automatisation des Procédures. 94 Figure 22 : Réplication Synchrone Asymétrique Figure 23 : Réplication Synchrone Symétrique Figure 24 : Réplication Asynchrone Asymétrique Figure 25 : Réplication Asynchrone Symétrique Figure 26 : Stratégie de Réplication Figure 27 : Stratégie de Réplication (2)

5 Liste des Tableaux Tableau 01 : Entreprise Saudi FAL Tableau 02 : Comparaison ORACLE et SQ L Server Tableau 03 : Apports de l archivage électronique

6 Remerciements La rédaction de ce travail n'aurait pas été possible sans le concours de certaines personnes que je tiens à remercier très sincèrement ici : Mr. Pascal Fares et Mr. Bachir Harb pour leurs conseils avisés tout au long de la rédaction de ce mémoire, et pour avoir su me transmettre partie de leur savoir. Enfin, plus que des remerciements pour celle qui m a supporté pendant ces derniers mois et qui a su me remotiver quand le besoin s'en faisait sentir, m'aider à ne penser qu'au mémoire et qui sait, plus généralement, me rendre heureux. 6

7 Résumé L'entrée en vigueur du Contrôle Technique Périodique Obligatoire des Véhicules au Liban est récente. Le but de ce travail est l étude, l analyse et la réalisation - en un premier temps - d une application informatique pour automatiser les procédures de ce contrôle afin d accélérer le déroulement de ce dernier, de réduire les coûts et d optimiser le travail des employés. Puisque la responsabilité des centres de contrôle peut être mise en cause lorsqu un défaut - lors du déroulement d un contrôle - qui aurait dû être détecté et ne l a pas été. En fait, le centre est non seulement responsable à l égard du Ministère de l'intérieur et des Municipalités, mais aussi à l égard du propriétaire du véhicule ce qui peut nuire à la réputation du centre de contrôle. La création alors d un système de monitorage automatique qui indique les défaillances du contrôle afin de rendre le déroulement de ce dernier conforme aux normes agréées, constitue alors une deuxième étape aboutissant à fiabilité de ce contrôle. Les applications développées respectent les principales qualités d un logiciel, telles que, modularité, extensibilité, capacité à monter en charge, sécurité, etc. Pour atteindre cet objectif, différents concepts et techniques du génie logiciel ont été mis en pratique. Ce rapport décrit les différentes étapes nécessaires au développement. Mots Clés: Contrôle technique automobile, contrôleur, monitorage, réplication des données,.net, ADO.NET, architecture multi-tier. Vehicle technical control has found its way recently to Lebanon. Being part of a major project called Mecanique responsible for building, maintaining and managing Vehicle Technical Control Centers (VTCC), my work, as a software engineer, comprised the study, analysis, development and deployment of an information system to manage the workflow of the vehicle inspection process from start to finish. The high efficiency and the quality of the control represent two main issues. In order to comply with these demands, I undertook the development of an Inspector Monitoring System to analyze the performances and to monitor the activities of the inspectors performing the vehicle control. The software developed meets all guidelines to key architectural factors including performance, scalability, reliability, extensibility, security, and configurability. Keywords: Vehicle technical control, inspector, supervisor, quality control, database transactional replication,.net, ADO.NET, multi-tier architecture. 7

8 0 Introduction L'entrée en vigueur du contrôle technique périodique obligatoire des véhicules au Liban est récente. Elle date depuis Janvier 2004 suite à la loi numéro: d'août 2001 issue par le Ministère de l'intérieur et des Municipalités. Le but principal de cette loi est la sécurité routière et la préservation de la vie humaine par le biais de l'interdiction de circulation des véhicules défectueux cause d'accidents. Ce contrôle est nécessaire pour la registration des véhicules auprès de l'office de registration des véhicules et constitue une première étape de registration. Un véhicule défectueux qui n a pas passé avec succès le contrôle technique périodique ne peut pas être registré et par suite, sera interdit de circuler. Le Ministère de l'intérieur et des Municipalités, après la définition des besoins opérationnels et techniques et, après rédaction de son cahier de charges, a commencé à recevoir plusieurs offres des entreprises différentes intéressées à construire et exploiter les centres de contrôle technique des véhicules. L entreprise Saoudienne SAUDI FAL a été choisie finalement par le Ministère de l'intérieur et des Municipalités pour effectuer le contrôle technique des véhicules automobiles au Liban. Cette dernière, pour réaliser cette tâche, a créé alors l entreprise Mécanique en Le domaine d activité de Mécanique consiste à construire et à exploiter, à l échelle national, les centres de contrôle technique dans les cadres des dispositions du cahier des charges administratif et technique no 2129 (18/03/2002). Elle a construit alors quatre centres régionaux où s effectue le déroulement de ce contrôle. Ces centres sont localisés à Beyrouth (Hadath), Sidon, Zahlé et Tripoli. La mission de l entreprise est l exécution de l inspection technique des véhicules automobiles et de leurs remorques, et des autres missions se rapportant directement ou indirectement à l inspection automobile. Mécanique a pour but de réduire le risque automobile et d améliorer la sécurité routière. Pour ce faire, Mécanique dispose des directions régionales, des 8

9 organismes dont elle a la tutelle, et a recourt massivement aux nouvelles technologies de contrôle, d information et de communication. Cette entreprise assure aux clients des prestations de qualité dont les performances seront mesurables. Afin d assurer la satisfaction des clients, ce projet a mis en place un système de management de la qualité selon les normes ISO et EN Le département Recherche et Développement a été créé pour construire, implémenter et maintenir les systèmes informatiques afin d automatiser la procédure de ce contrôle. Ce département comptait 4 personnes au départ : un directeur, un administrateur système, un chef de projet et un développeur. Ce département compte aujourd hui 10 personnes. Les objectifs de ce département ont alors augmenté. Ces objectifs comprennent la création d un entrepôt des données fiable des véhicules qui circulent au Liban, l observation et l évaluation des performances des contrôleurs, la génération des statistiques, la centralisation des bases de données de chacun des centres de contrôle en temps réel et d autres missions. L entreprise Mécanique, n ayant pas une grande expérience dans le domaine de développement informatique, a demandé des services de consultation en Informatique de l entreprise Automation & Computer Technologies (ACT) où j occupais un poste d analyste système. Possédant une expérience de quatre ans, j ai été choisi par mon entreprise ACT pour répondre aux besoins de Mécanique et alors, j ai fais partie de l équipe initiale du département Recherche et Développement. J ai occupé le poste du chef du projet mais, j ai passé une grande partie de mon temps à développer. A la fin du contrat de consultation, j ai reçu une offre d embauche que j ai acceptée et ainsi, j occupe à l instant la position de l assistant du directeur du département Recherche et Développement à l entreprise Mécanique. Le présent document décrit en deux parties les différentes étapes de construction et d implémentation des différents systèmes informatiques au sein de l entreprise Mécanique ainsi que les différentes tâches auxquelles j ai contribué. Dans la première partie, je présente la structure de l entreprise Mécanique, ses besoins et ses objectifs. J explique la procédure du déroulement du contrôle et les points étudiés durant ce contrôle. Je justifie ensuite les choix techniques pris pour aboutir à la construction des systèmes informatiques qui répondent le mieux aux besoins de l entreprise Mécanique. Dans la deuxième partie, je décris les systèmes informatiques mis en place pour automatiser le déroulement du contrôle technique. J évoque ensuite un certain besoin qui s est avéré indispensable. C est celui de l évaluation et de l observation des performances des contrôleurs. Une évaluation qui doit être automatisée. 9

10 En fait, les sous performances des contrôleurs peut aboutir à des faux résultats ce qui peut mettre en danger le citoyen et peut alors, dans la suite, ennuyer à l image de l entreprise Mécanique. Un système de contrôle de qualité est alors mis en place. Dans cette même partie, je présenterai les techniques utilisées pour minimiser les risques de perte des données réparties dans les différents centres de contrôle. Je discuterai en détaille les différentes solutions envisagées et la solution employée avec les justificatifs qui ont amené à ce choix. Pour en conclure, je présente les différents avantages que nous a rapporté la création de ces systèmes utilisés. Le travail de ce projet que j ai partagé avec les différents membres de l équipe engendre plusieurs tâches qui peuvent être résumées par ce qui suit : Compréhension du déroulement du control technique Analyse des différents systèmes informatiques Programmation des interfaces graphiques en utilisant le Framework.NET. Présentation des différentes méthodes afin de minimiser les risques de perte d informations et, l implémentation de la méthode la plus convenable Phases de tests. 10

11 Première Partie Environnement et Etat de l art 11

12 1 Revendication du Contrôle Technique Périodique I.1 L insécurité routière est-ce une fatalité? I.2 Présentation I.3 Organisation du contrôle technique périodique I.4 Véhicules concernés I.5 Préparation de la visite I.6 Déroulement de la visite.. 14 I.7 Résultat de la visite.. 15 I.8 Description des postes de contrôle I.1 L'insécurité routière est-ce une fatalité? Certainement pas si chacun de nous se sent directement concerné et contribue à sa radication. Le Ministère de l'intérieur et des municipalités oeuvre à mettre en place une politique intégrée qui prend en charge les contraintes liées à l'insécurité routière et aux accidents de la route, privilégiant dans sa démarche la sensibilisation, l'information ainsi que la concertation avec l'ensemble des parties concernées. Aujourd'hui, le Ministère de l'intérieur et des Municipalités renforce la lutte contre l'insécurité routière à travers l'instauration du contrôle technique périodique obligatoire, un contrôle réalisé au moyen d'équipements adaptés qui permettent d'établir un diagnostic précis de l'état du véhicule et notamment des ses organes principaux. Cette mesure qui a pour but de prévenir les défaillances mécaniques, facteurs d'accidents de la route et de limiter les missions nocives, source de pollution, s'inscrit dans la logique d'un transport routier sûr, performant et propre. Si, sur le plan macro-économique, le contrôle technique périodique obligatoire a une incidence avérée sur l'activité économique et sociale du pays, les accidents de la 12

13 route étant annuellement à l'origine de pertes humaines et matérielles très lourdes dont la collectivité nationale doit en supporter les conséquences. Sur le plan individuel, la rentabilité et la qualité des prestations du transporteur ne peuvent être valablement et durablement assurées que par la performance et la longévité du véhicule que seul un entretien périodique peut garantir. Il est de notoriété publique qu'une maintenance préventive est moins coûteuse et plus efficace que des réparations lourdes. C'est pourquoi, ce contrôle ne doit pas être perçu comme une contrainte mais comme une évolution normale de notre société qui conçoit le progrès dans le respect et la préservation de l'homme et de l'environnement. I.2 Présentation Le Ministère de l'intérieur et des municipalités, par l'intermédiaire des offices du contrôle technique périodique, met à la disposition des usagers de la route et notamment des professionnels du transport routier, des personnes, des guides d information et de conseil. Les véhicules, astreints au contrôle obligatoire, doivent être présentés périodiquement aux agences agrées afin de satisfaire aux visites techniques réglementaires. Les agences agréées donnent toutes les informations relatives aux catégories de véhicules concernées par le contrôle technique, aux différents types de visites techniques, aux procédures et résultats des visites. I.3 Organisation du Contrôle Technique Périodique Le Ministère de l'intérieur et des Municipalités est chargée de l organisation et du suivi du contrôle technique automobile. Les visites techniques sont réalisées au niveau d agences de contrôle agréées par le Ministère, par des agents contrôleurs qualifiés et dûment habilités. Les agences, ainsi que les contrôleurs, sont placés sous la surveillance technique et administrative de l'entreprise Saudi FAL - Mécanique. I.4 Les Véhicules Concernés En application des dispositions de la loi n d'août 2001, le Contrôle périodique est obligatoire pour l'ensemble des véhicules automobiles, à savoir: Voitures de tourisme, Véhicules de transport en commun de personnes, Véhicules de transport de marchandises, Taxis, Auto-écoles, 13

14 Véhicules de transport de matières dangereuses, Ambulances, Véhicules de dépannage, Véhicules de location Sont exemptés de cette exigence les véhicules appartenant à l'armée Libanaise. I.5 Préparation de la visite Les visites techniques sont effectuées à la diligence du propriétaire du véhicule et à ses frais. Ce dernier doit prendre rendez-vous auprès d une agence agréée avant la date limite de validité de la visite précédente. Lors de la prise de rendez-vous, il est impératif d indiquer: La catégorie du véhicule, Le numéro d immatriculation, Le numéro de châssis, Le nom du propriétaire, Le type de visite. I.6 Déroulement de la visite A l arrivée au niveau de l agence, le véhicule doit passer par le guichet pour fournir les informations nécessaires afin d'être renvoyé vers la ligne de contrôle correspondante. Lorsque le véhicule est délégué vers la ligne de contrôle, le contrôleur le prend en charge et effectue l ensemble des inspections réglementaires. Si la visite technique venait à être interrompue pour des raisons liées à l état du véhicule ou son identification, celle-ci serait annulée. Le véhicule nécessite des réparations obligatoires. Un récépissé de contrôle écrit mentionnant les résultats de la visite est établi après le contrôle. Une nouvelle visite dite contre-visite serait exigée. Si, par contre, la visite technique venait à être interrompue pour des raisons liées à un problème survenant sur les installations de l agence, le véhicule serait envoyé vers une autre ligne de test. Ce récépissé de contrôle est accompagné d une vignette précisant la date limite au-delà de laquelle le véhicule doit être présenté à une nouvelle visite. 14

15 Cette vignette permet au véhicule de payer les frais de registration auprès de l'office de registration des véhicules. I.7 Résultat de la visite A/ Le véhicule est accepté Le contrôleur n a pas relevé d anomalies graves comprises dans la liste des critères de refus. Par contre, des observations peuvent être formulées sur la fiche de résultat. Le propriétaire doit les prendre en charge dans les meilleurs délais. " Toute observation ne constitue pas une obligation de réparation " B/ Le véhicule est refusé avec interdiction de circulation Le contrôleur a relevé des anomalies graves qui affectent la sécurité du véhicule et qui nécessitent des réparations immédiates. Le propriétaire ne peut pas payer les frais de registration auprès de l'office de registration des véhicules. Il convient alors de procéder aux réparations nécessaires avant de présenter le véhicule pour une contre-visite. " Toute observation constitue une obligation de réparation " I.8 Description des postes de contrôle Le contrôle technique d'un véhicule est composé de quatre étapes réparties sur quatre postes qui forment une ligne de contrôle. Chaque poste étant responsable de vérifier le fonctionnement de certains organes. Le premier poste est responsable de l'éclairage, la signalisation, l'aspect extérieur, le compartiment coffre, le compartiment moteur, le test CO et le contrôle du Luminoscope. Le deuxième poste teste l'habitacle, la plaque de ripage et le banc de suspension. Le troisième poste teste le système de freinage (Freinomètre). Finalement, la quatrième section s'occupe du contrôle du dessous du véhicule. Pour plus de détails concernant la description du fonctionnement de ces postes de contrôle voir (Annexe F). 15

16 2 Environnement de travail II.1 Présentation de l entreprise Saudi FAL 16 II.2 Le département Recherche et Développement II.3 Présentation des besoins II.4 Présentation de l entreprise MAHA.. 20 II.5 La mission du Candidat. 21 II.1 Présentation de l'entreprise Saudi FAL Saudi FAL Company ltd, Lebanon Branch. Dénommée ci-dessous Mécanique, cette filiale a été créée en 2002 pour effectuer le contrôle technique des véhicules automobiles au Liban. Siège Social Adresse Marque Commerciale Forme Juridique Saudi FAL Co ltd, Branche Liban Rue Clemenceau, 333, Beyrouth Mécanique Registre Commerce TVA Directeur Générale Branche d une société étrangère En Attente Mr Walid Sleiman Le domaine d activité de Mécanique est la constitution et l exploitation à l échelle national des centres de contrôle technique dans les cadres des dispositions du cahier des charges administratifs et techniques no 2129 (18/03/2002). 16

17 Sa mission est l exécution de l inspection technique des véhicules automobiles et de leurs remorques, et d autres missions se rapportant directement ou indirectement à l inspection automobile. Mécanique a pour objectif de réduire le risque automobile et d améliorer la sécurité routière. Pour ce faire, elle dispose des directions régionales, des organismes dont elle a la tutelle et, a recourt massivement aux nouvelles technologies de contrôle, d information et de communication. Elle assure aux clients des prestations de qualité dont les performances seront mesurables. Afin d assurer la satisfaction des clients, cette entreprise a mis en place un système de management de la qualité selon les normes ISO et EN Cela permet en effet de garantir et pérenniser l entreprise vis-à-vis des Ministres servies. La politique Qualité, en concordance avec les missions et les actions qui en découlent, se nourrit en permanence des idées et des pratiques innovatrices qui émergent d un dialogue approfondi et d une collaboration étroite avec les clients, tout en tenant compte des spécificités de cette mission. Cette politique s appuie sur les objectifs qualités suivants : Accroître la satisfaction des clients : Le client doit toujours guider l action du projet Mécanique vers un accueil de qualité, une réelle information et une écoute attentive de ses besoins. Réduction du risque automobile : Par cette mission, Mécanique contribue au quotidien de l amélioration de la sécurité routière et à la réduction du risque automobile sous toutes ses formes. Cet objectif doit être le moteur de l action du Mécanique et le lien l unissant dans ses accomplissements. Qualité du travail et la protection de l image du marque de Mécanique Par la rigueur des méthodes suivies et du souci permanant d assurer la qualité totale du travail, l entreprise Mécanique peut espérer la reconnaissance de la qualité du service qu elle rende, tant par la population que par son autorité de tutelle. Pour atteindre ces objectifs, le système de management de la qualité est structuré de telle façon qu il soit réactif. Mécanique a pris la certification ISO 9001 : 2000 en l an Parmi les différents départements de la compagnie, je cite le département "Recherche et Développement" dont l un de ses buts principaux est d offrir toutes 17

18 sortes de services informatiques pour automatiser la totalité des tâches manuelles au sein de l entreprise. II.2 Le département "Recherche et Développement" Le département Recherche et Développement se divise en trois équipes : Une équipe d analyse, de développement et d administration des bases de données, une équipe administrateur du réseau et une équipe de support. La première équipe, dont je fais partie, est chargée d un part de l automatisation de toutes les tâches manuelles au sein de l entreprise, notamment l automatisation du déroulement du contrôle technique des véhicules et du monitorage et de l évaluation des performances des contrôleurs. Ce département est confronté aux problématiques rencontrées dans l entreprise et peut aisément mettre son expérience à leur service. D autre part, cette équipe se charge de la maintenance des bases de données réparties dans les quatre centres régionaux et de la centralisation de ces bases de données en temps réel. L équipe administrateur réseau gère l utilisation du réseau en s occupant de toutes les instructions qui réglementent l accès au systèmes d information. Elle gère la configuration du réseau et fait évoluer l architecture en fonction des besoins des usagers. Elle participe à la gestion technique des équipements, c'est-à-dire qu elle réceptionne les matériels d informatiques et de télécommunications, les teste, les adapte, les insère dans le réseau en fonctionnement et effectue le suivi du parc matériel. Elle est responsable de l enregistrement des nouveaux utilisateurs et de la répartition des droits d accès ainsi que de l installation du système d exploitation. L équipe support est chargée de fournir l assistance aux utilisateurs des systèmes informatiques en répondant à toutes les questions qu ils peuvent poser. Cette équipe se charge en plus de la génération et la répartition des états engendrés par le système afin d être analysés par les départements concernés. Elle se charge du déploiement des applications et, prend la responsabilité aussi de fournir aux différents départements de l entreprise les différents types de statistiques. Ces statistiques permettent aux différents départements, notamment le département Qualité et Contrôle de suivre de près le déroulement du contrôle, de voir ses lacunes et par suite, essayer de les remédier pour conserver la fiabilité du contrôle. 18

19 II.3 Présentation des besoins Les besoins de l entreprise Mécanique qui peuvent l aider à atteindre ses objectifs peuvent être divisés en trois. Acquisition des matériels de contrôle L acquisition des matériels de contrôle technique constitue une étape primordiale. Après négociation avec les potentiels fournisseurs des matériels de contrôle, l entreprise Mécanique s est engagée avec l entreprise allemande MAHA pour la fourniture de la totalité du matériel de contrôle. Parmi les raisons essentielles qui ont amené à ce choix, à part que MAHA est considéré comme un important fournisseur mondial des matériels de contrôle technique des véhicules, est qu elle fournit une interface qui gère la communication PC / Machine de contrôle. Cette interface informatique s appelle EUROSYSTEM. Elle sert comme un lien entre le PC et la machine de contrôle. Elle permet de convertir les résultats du contrôle en un format simplement interprétable par l ordinateur. Ce format prend la forme d un fichier texte. Une explication détaillée du fonctionnement du EUROSYSTEM, ses avantages est ses lacunes est décrite dans la première parie du chapitre 3 (Partie III.1). Une présentation de l entreprise allemande MAHA sera discutée dans le paragraphe (II.4) de ce chapitre. Automatisation du contrôle technique La facilité et la rapidité du déroulement du contrôle technique exige l automatisation de la procédure de ce contrôle et alors, ceci exige le développement avec soin d'un système informatique qui répond aux exigences spécifiques du Mécanique. Parmi ces exigences, la présence d un "Certificat Officiel" rendu au propriétaire du véhicule à la fin du contrôle technique. Ce certificat doit suivre une certaine norme agréée par le Ministère de l'intérieur et des municipalités. Le Monitorage des Contrôleurs L efficacité du contrôle, la productivité de l entreprise et le déroulement agréable du test sont tous liés à un seul facteur : Le Contrôleur. 19

20 Celui-ci a la capacité et la possibilité de faire tourner le résultat final du contrôle d un part ou d autre, volontairement ou non. La bonne performance de ce contrôleur est alors un facteur à ne pas négliger. La présence d un système informatique qui examine le comportement de ce dernier est alors un facteur qui aide au bon développement de l entreprise en assistant à améliorer la performance des ses employés. II.4 Présentation de l'entreprise MAHA Qualité: Dès le début En tant que pionnier dans le domaine de la technologie d'essai de frein, MAHA s'est spécialisé dans l'essai des composants de sécurité de tous les types de véhicules pendant plus de 3 décennies. MAHA a été en activité en technologie de levage de véhicule avec le grand succès pendant plus de 25 années. MAHA possède des équipements de production et maintient une norme de qualité uniformément haute. Service Comprenant une équipe de plus de 1000 employés, les ingénieurs et techniciens de MAHA fournissent des réponses et des solutions pour toutes les questions impliquant la technologie d'essai et de levage de sûreté de véhicule. Ses clients incluent des fabricants de véhicule, des organismes d'essai, des gouvernements et des ateliers. Son réseau étendu de ventes garantit une promptitude mondiale efficace de service et un approvisionnement opportun de pièce de rechange. L'expansion continue de sa présence et le renforcement mondial de son réseau de service est son but principal afin de répondre rapidement et efficacement aux besoins de ses clients. Technologie: Pour les défis d'aujourd'hui et demain Les possibilités sont infinies; des ruelles d'essai individuel jusqu'aux systèmes nationaux d'essai avec les réseaux de transmission pour l'essai de véhicule. 20

21 MAHA définit son rôle non seulement comme fabricant d'équipement mais également en tant qu'un associé pour la planification et l'exécution des concepts d'essai régionaux et nationaux ; un "Système Fournisseur" pour l'essai de véhicule. II.5 La mission du Candidat Pour assurer l accomplissement des objectifs visionnés par l entreprise Mécanique, le département Recherche et Développement s est chargé d assumer la responsabilité de l accomplissement de la totalité de ces objectifs mentionnés cidessus. Mon entreprise précédente (Automation & Computer Technologies ACT) a été contactée pour qu elle fournisse des services de consultation. Possédant une expérience professionnelle dans le domaine d analyse et du développement informatique, j ai été sélectionné par mon chef de projet pour accomplir les phases d analyse et aider durant les phases d analyse, de développement et d implémentation des systèmes informatiques. Par la suite, j ai accepté un offre d embauche par l entreprise Mécanique et j occupe à l instant la position de l assistant du directeur du département Recherche et Développement. 21

22 3 Etat de l Art III.1 Le Système EUROSYSTEM.. 22 III.2 Les Bases de Données III.3 Pourquoi SQL Server et non pas Oracle.. 33 III.1 Le Système EUROSYSTEM EUROSYSTEM est un système informatique développé depuis une vingtaine d années par un groupe d informaticiens de l entreprise allemande MAHA, fournisseur agréé des machines de contrôles utilisés dans les centres de contrôle de l entreprise Mécanique. Ce système assure une liaison entre un véhicule et les machines de contrôles et ce, durant le déroulement du contrôle de ce véhicule tout au long une ligne de test. Cette liaison s effectue par le biais d une base de données fichiers propriétaire (Data Base File) qui sert pour le sauvegarde des informations. Ces informations échangées entre la base de données et les machines de contrôle sont : Les informations du véhicule (Numéro de la plaque d immatriculation, modèle, type moteur, etc. ). Ces informations sont contenus dans un fichier appelé ES_In. Ce fichier ES_In est décrit en plus de détails dans la partie 1.2 de ce chapitre (III.1.2). Voir un exemple du fichier ES_In dans l (Annexe G). L ensemble des points contrôlés durant le déroulement du contrôle technique et les résultats détaillés correspondantes. Ces informations sont contenus dans un fichier appelé ES_Out. Ce fichier est décrit en plus de détails dans la partie 1.3 de ce chapitre (III.1.3). Voir un exemple du fichier ES_Out dans l (Annexe H). III.1.1 Fonctionnement Quand un véhicule se présente pour passer le contrôle technique, il faut alimenter la base de données du EUROSYSTEM par les informations de ce véhicule. 22

23 Cette alimentation est réalisée en créant un fichier texte appelé ES_In contenant les informations nécessaires pour débuter le contrôle et ce, dans un emplacement spécifique (répertoire sur Grand Ordinateur Mainframe). EUROSYSTEM consulte régulièrement l emplacement mentionné là-dessus et traite les fichiers ES_In retrouvés au fur et à mesure de leur apparition. Ce traitement consiste en la sauvegarde des informations retenues dans sa base de données propriétaire. Après la sauvegarde de ces informations, il les rend disponibles à toutes les machines de contrôle présentes sur la ligne de test où ce véhicule sera contrôlé. Avant chaque phase de test, chacune des machines de contrôle consulte la base de données EUROSYSTEM afin de se régler en se basant sur les informations récupérées sous forme d un fichier ES_In. Voir la partie III.1.2 pour plus de détails. Après le contrôle effectué par chacune des machines présentes sur les lignes de contrôle, celles ci renvoient les résultats sous forme d un fichier texte appelé ES_Out_Intermediate à un autre emplacement spécifique (répertoire sur Grand Ordinateur Mainframe) consulté régulièrement par EUROSYSTEM. Ce dernier sauvegarde ainsi les résultats envoyés au fur et à mesure par les machines dans sa base de données propriétaire et, à la fin du contrôle du véhicule, il génère les sorties correspondantes sous forme d un fichier ES_Out, voir (Annexe H). La figure 01 représente le fonctionnement du EUROSYSTEM ES In I Alimentation du EUROSYSTEM 1 II 3 Propagation des informations du véhicule aux machines 2 Récupération des informations du Véhicule EUROSYSTEM III 4 5 Passement des résultats du contrôle de chaque machine Consultation 6 IV ES Out Génération du résultat Ligne de contrôle Figure 01 : Fonctionnement du EUROSYSTEM 23

24 III.1.2 Les entrées du EUROSYSTEM EUROSYSTEM reçoit en entrée un fichier texte appelé ES_In. Le contenu d un tel fichier doit impérativement être basé sur des normes précisées par le système. Tout fichier ne répondant pas aux normes exigées n y sera pas traité. Un exemple d un simple fichier ES_In se trouve dans l (Annexe G). Lorsqu un véhicule se présente pour une contre-visite, le fichier ES_In doit obligatoirement comprendre tous les résultats des tests précédents afin que le contrôle ne redémarre pas du point initial. En effet, il est impératif que le contrôle teste seulement les points défectueux captés lors de la visite précédente sinon, ceci s avère coûteux en matière de temps et de consommation de matériels. Le premier problème à surmonter alors est la préservation de ces informations de contrôle puisque dans un autre emplacement la que la base de données du système EUROSYSTEM puisque cette dernière n est pas prévu de garder une grande masse d informations. Cette base de données est prévu de s écraser régulièrement. Une explication de la cause de cet écrasement est justifiée dans la partie III.1.4 de ce chapitre. D autre part, en se basant sur les informations contenues dans le fichier ES_In, les machines de contrôle sont réglées automatiquement (ou manuellement si ceci s avère impératif). Par exemple le déroulement du test de l Oxyde de Carbone varie entre un véhicule dont le moteur est à Diesel et un autre véhicule dont le moteur est à Essence. La machine de contrôle, en se basant sur ces informations concernant le type de moteur, sera réglée automatiquement. III.1.3 Les Sorties du EUROSYSTEM Une autre fonctionnalité du EUROSYSTEM est la génération, à la fin du contrôle de deux sorties: Un fichier texte ES_Out contenant tous les résultats du contrôle fournis par les machines. Ce fichier texte est incompréhensible et inexploitable que par des programmes informatiques développés spécialement. Un "Certificat MAHA" imprimable, ne contenant qu une petite partie de ces résultats, exploitable par des contrôleurs expérimentés. Un catalogue spécial fourni par l entreprise MAHA donne les identifications des numéros des codes et de leurs valeurs contenus dans les fichiers ES_In / ES_Out. Par exemple le code numéro est celui du test de l oxyde de carbone. 24

25 Si la valeur de ce code est 0.000, ceci indique que le test de l oxyde de carbone n a pas été effectué. Un exemple d un simple fichier ES_Out se trouve dans l Annexe H. III.1.4 Les lacunes du EUROSYSTEM Le EUROSYSTEM n interprète pas les fichiers ES_Out contenant les résultats de contrôle. Son rôle se limite à générer ce fichier et à générer le "Certificat MAHA". Des contrôleurs expérimentés peuvent identifier la plupart des codes présents dans ce certificat et ainsi, d en déduire le résultat du contrôle. Mais ceci nécessitera de longues années d expérience, un certain niveau d études et des cours d entraînement intensifs suivis dans les locaux de l entreprise MAHA. Les coûts que l entreprise Mécanique doit subisse pour former de tels contrôleurs seront énormes. En plus des coûts, des erreurs humaines peuvent toujours survenir lors de l interprétation d un certain certificat. Ceci pourra alors affecter le résultat du contrôle et nuire ainsi à la réputation de l entreprise. L automatisation du processus d interprétation des résultats présentera un avantage précieux en matière de temps, des coûts et des risques d erreurs. En plus, le "Certificat MAHA" ne correspond pas aux normes des documents agréés par le Ministère de l Intérieur et des Municipalités et ainsi, ne peut pas être considéré comme étant un document officiel. En fait ce document est écrit en Latin (le langage officiel dans les départements officiaux de la république libanaise est le langage Arabe). En plus, ce document ne contient que des termes techniques incompréhensibles par le propriétaire du véhicule. Le propriétaire aura alors des problèmes à interpréter le résultat du contrôle afin de réparer son véhicule si ce dernier n a pas passé avec succès le contrôle technique. On est alors amené à créer un "Certificat Officiel" qui répond aux normes agréés par le Ministère de l Intérieur et des Municipalités et ce, par le biais d un système informatique. Ce certificat doit être généré après le contrôle de chaque véhicule. Le paragraphe 4 du chapitre 4 (partie IV.4) décrira comment un tel certificat est généré. Une autre exigence est la fourniture des statistiques et des données au Ministère (pourcentage de véhicules ayant un niveau de CO supérieur à une certaine valeur, etc.) 25

26 La création d une base de données pourrait ainsi permettre de tels opérations de recherche et d analyse. Cette implémentation de la base de données est expliquée en détails dans le paragraphe IV.2.2. La base de données propriétaire qu utilise le EUROSYSTEM n est pas conçue à supporter une grande masse d informations. En fait, la station de contrôle à Beyrouth comprend près de 25 lignes de contrôle or, le système EUROSYSTEM est prévu de fonctionner dans des stations comprenant 2 ou 3 lignes de contrôle. L entreprise MAHA, en développant le système EUROSYSTEM, n a pas pris en considération l existence de ce large nombre de lignes de contrôle dans un même centre de contrôle. A cause de cela, la base de données propriétaires du EUROSYSTEM, pour des raisons de performance, est prévu de s écraser périodiquement et alors, sans une stratégie préalable de conservation d informations, les centres de contrôle ne fonctionneront plus normalement. Une telle stratégie est mandataire pour répondre aux exigences du Ministère de l Intérieur et des Municipalités. A cause des lacunes du EUROSYSTEM, la mise en place d un système informatique qui fonctionnera en concordance avec l application EROSYSTEM présentera une solution capable de couvrir les lacunes de ce dernier. III.1.5 Les problèmes à surmonter Comment échanger les données avec le système EUROSYSTEM sans contraintes techniques liées à leur format? Comment pouvoir extraire, exploiter, sauvegarder et analyser les résultats contenus dans les documents générés par ce système après chaque contrôle? Comment améliorer les performances du système de recherche pour accélérer le déroulement du contrôle? Comment remédier aux problèmes de perte d informations causés par l écrasement périodique de la base de données EUROSYSTEM? Comment pouvoir donner des statistiques aux Ministère de l Intérieur d une façon périodique et automatisée? L exigence de créer un système informatique externe complémentaire au EUROSYSTEM est indispensable. L un des points majeurs que doit couvrir le système est la pertinence des données, la rapidité de récupération de ces données et le pouvoir de les analyser et les exploiter. La question principale qui se pose alors est : A-t-on besoin d une base de données pour la sauvegarde des résultats des tests, ou bien peut-on se contenter des résultats contenus dans les fichiers ES_Out? Une bonne gestion du système de fichiers présentera-t-elle une bonne solution? Le débat entre bases relationnelles et systèmes de fichiers existe depuis de nombreuses années [a1]. Quelques éléments à considérer avant de choisir la méthode de stockage d'une application. 26

27 Ces éléments dépendent des besoins spécifiques de chaque système informatique. Une base de données n est pas nécessairement la solution idéale la plupart des cas, non plus est l utilisation d un système fichier. La nécessité de stocker durablement des données, et de les récupérer efficacement, a mis en avant les divers systèmes de bases de données actuels : Oracle, MySQL, SQL Server sont quelques-uns des nombreux systèmes de gestion de données relationnelles, utilisés tant pour des applications d entreprises que pour des sites Web. Ceux-ci ont tendance à faire de l'ombre au stockage par base fichier. Les bases par fichier diffèrent des bases relationnelles par plusieurs points importants : Tout d'abord, elles sont universelles : à partir du moment où l'on peut créer un fichier, on peut créer une base fichier, sans faire appel à un logiciel serveur. Ensuite, elles sont simples à mettre en place : pas de logiciel à installer ou de base à configurer. Enfin, elles prennent moins d'espace disque. Si l on considère l utilisation d une base fichier, celle-ci sera conçue autour d'un fichier maître unique, avec un enregistrement par ligne de texte. Chaque enregistrement dans ce fichier étant un pointeur au fichier correspondant. Les champs de l'enregistrement seront différenciés à l'aide du format CSV, c'est-à-dire séparés par une virgule (ou un point-virgule). Le développement sera alors trop compliqué, l extraction et l analyse des données présenteront tant de difficultés à surmonter, chaque modification du fichier emmènera à la modification des applications concernées et la gestion des accès multi-utilisateurs perdra son efficacité puisqu il sera impératif de verrouiller le fichier maître avant d être accéder par un utilisateur. D'un autre côté, les bases de données relationnelles ont prouvé leur valeur : elles sont extrêmement sécurisées, disposent d'un langage de traitement très fonctionnel (SQL) qui leur autorise le croisement de données complexes, négocient efficacement les accès multi-utilisateurs, et peuvent lancer des tâches automatisées. En plus, puisque la taille des informations est pourvue d atteindre une taille conséquente et que les données à traiter sont particulièrement complexes et purement relationnelles, le stockage par fichier perd de son intérêt. L'idéal est alors d'utiliser une base de données relationnelles pour stocker les informations. Une base de données permettra de bénéficier de fonctions de consultation et d analyse des données impossibles à obtenir dans d autres programmes. 27

28 III.2 Les Bases de Données Puisque notre application possède des caractéristiques spéciales au niveau du volume de données concernées, au niveau de la complexité de ces données et, au niveau des traitements informatiques à réaliser, on se sent concernées par l utilisation d un Système de Gestion de Base de Données. Le regroupement des données dans une base de données gérée par un système de gestion de base de données apporte de nombreux avantages dans la plupart des cas d utilisation [a2]. III.2.1 Modèle de données La notion de modèle de données est essentielle et c est elle qui souvent motive le choix de l utilisation d une base de données. En effet, la résolution d un problème par un automate (ce problème peut être une certaine requête et cet automate est ainsi le moteur de recherche de la base de données) nécessite de représenter l information sur le domaine traité sous une forme numérique (qu est le seul moyen de sauvegarde de l information sur un disque dur) qui soit interprétable et manipulable par un ordinateur. Le modèle doit donc être spécifié en utilisant des données codées et stockées en mémoire ainsi que par des programmes qui déterminent comment ces données peuvent être utilisées pour résoudre le problème posé. Un modèle peut se définir comme une représentation abstraite de l'information et éventuellement des opérateurs de manipulation de l'information [a2]. III.2.2 Système de Gestion de Bases de données Un système de gestion de bases de données (SGBD) est une collection de logiciels permettant de créer, de gérer et d interroger efficacement une base de données indépendamment du domaine d application. La figure 02 montre la rôle d un SGBD. Figure 02 : Système de Gestion de Base de Données 28

29 D un point de vue fonctionnel les apports escomptés d un SGBD qui puissent faciliter le développement de notre système sont : * Rendre transparent le partage des données entre différents utilisateurs. Ceci signifie que plusieurs utilisateurs pourront accéder les mêmes données d une façon concurrente et transparente. Prenons l exemple suivant : Lors de l utilisation d un système fichier, si un véhicule est en cours de contrôle, les informations le concernant (présentes dans un fichier ES-Out) ne seront plus disponible pour consultation par d autres utilisateurs et ce, du simple fait que ce fichier sera verrouillé (Locked) par le EUROSYSTEM. Ce scénario posera un grand problème puisque la consultation de l état d un véhicule lors du déroulement du contrôle doit être accessible par plusieurs utilisateurs simultanément. L utilisation d une base de données par contre ne posera pas un tel dilemme puisqu les mêmes entrées d une base pourront être consultées par plusieurs utilisateurs simultanément. * Assurer la confidentialité des données. Il est nécessaire de pouvoir spécifier qui a le droit d accéder ou de modifier tout ou partie d une base de données. Il faut donc se prémunir contre les manipulations illicites qu elles soient intentionnelles ou accidentelles. La sécurisation des fichiers n est pas très compliquée mais difficile à gérer. Elle nécessitera la présence d un administrateur système pour contrôler les droits d accès (Read, Write, Modify, etc.) puisqu un tel type de sécurité sera basé sur les droits d accès des utilisateurs système et non pas des utilisateurs de la base de données. * Fournir différents langages d'accès selon le profil de l utilisateur. Les SGBD proposent un couplage du langage SQL (langage adressant les concepts du modèle) avec d autres langages de programmation conventionnel (tels que le langage C) pour permettre tous les types de manipulation des données. Ainsi, plusieurs profils d utilisateurs accédant à la même base de données coexistent : Le profile d un directeur ayant la tendance a savoir le total des gains pendant une journée (accès via Web) ; Celui d un superviseur en cours du vérification d un véhicule (accès via Open Database Connectiviy ODBC) etc. * Etre résistant aux pannes. Ceci afin de protéger les données contre tout incident matériel ou logiciel qu il soit intentionnel ou fortuit. Il faut donc garantir la cohérence de l information et des traitements en cas de panne. 29

30 Pour assurer cette cohérence des données, il faudra alors faire un Backup des fichiers ES_Out afin de minimiser les risques de perte d informations. Une telle opération présente deux lacunes : Elles est lente et coûteuse (en terme d espace de stockage utilisé). En fait, un fichier ES_Out a une taille minimum de 12 KB (information fournie par les créateurs du EUROSYSTEM). La présence des millions des fichiers ES-Out nécessitera la présence d une grande surface de stockage. En plus, la copie de ces fichiers sur cet espace de stockage est tellement lente!!! En utilisant une base de données, seuls les informations nécessaires seront extraites du fichier ES_Out et sauvegardés dans la base de données. En plus, l option "Backup" facilite tellement les choses en offrant plusieurs stratégies pour anéantir le risque des pertes des informations comme on le verra dans le chapitre 6. * Pouvoir répondre à des requêtes avec un niveau de performances adapté. La puissance des ordinateurs n est pas la seule réponse possible à apporter aux problèmes de performance. En fait, la recherche d une certaine information dans des fichiers textes est beaucoup plus pénible et lente que si cette même opération est effectuée sur une base de données. Le temps d exécution d une requête pour faire le simple calcul du pourcentage des véhicules qui ont passé le contrôle durant la première visite si l on utilise des fichiers textes. Il faudra écrire un programme spéciale pour parcourir tous les fichiers, rechercher l information convenable afin d obtenir le résultat recherché. En utilisant les bases de données, une simple requête SQL pourra répondre à cette même question en moins d une seconde [a2]. III.2.3 Architecture de SGBD Les SGBD reposent sur trois niveaux d abstraction qui assurent l indépendance logique et physique des données, autorisent la manipulation de données, garantissent l intégrité des données et optimisent l accès aux données. La figure 03 montre les niveaux d une base de données. Figure 03 : Niveaux d un SGBD 30

31 Le niveau externe : Il regroupe toutes les possibilités d accès aux données par les différents usagers. Ces accès, éventuellement distants, peuvent se faire via différents types d interfaces et langages. Il peut donc exister plusieurs schémas externes représentant différentes vues sur la base de données (Windows Forms, Web Pages, etc.). Le niveau conceptuel : Il correspond à la vision des données générale indépendante des applications individuelles et de la façon dont les données sont stockées. Dans le cas des SGBD relationnels, il s agit d une vision tabulaire où la sémantique de l information est exprimée en utilisant les concepts de relation, attributs et de contraintes d intégrité [a2]. Le niveau physique : Il regroupe les services de gestion de la mémoire secondaire. Il s appuie sur un système pour définir la politique de stockage ainsi que le placement des données. Cette politique est définie en fonction des volumes de données traitées, des relations sémantiques entre les données ainsi qu en fonction de l environnement matériel disponible. La figure numéro 04 représente le niveau externe, le niveau conceptuel et le niveau physique constituant l architecture d un système de gestion d une base de données [a2]. Figure 04 : Architecture d une Base de Données 31

32 Le choix d utiliser une base de données est alors évident. La deuxième question posée maintenant est le choix de cette base de donnée. Serait-il plus avantageux d utiliser la base de données SQL Server, ORACLE, MySQL, Informix ou d autres? En fait, EUROSYSTEM fonctionne sur des machines dotées de système d opération Windows. La diversification des choix des systèmes d opérations nécessitera la présence de plusieurs administrateurs systèmes ce qui augmentera au long terme les coûts et alors, l utilisation des bases de données ne fonctionnant pas sur des machines Windows est hors question. Dans le paragraphe suivant, je vais essayer d illustrer en détails les raisons qui ont amené à notre choix d utilisation de la base de données. 32

33 III.3 Pourquoi SQL Server et non pas Oracle C est l utilisation de la plate-forme Windows dans notre projet qui nous amène à comparer les deux acteurs majeurs du marché de la base de données en environnement Windows : Microsoft et Oracle [a3]. Dans le cadre de cette partie, je vais me contenter de comparer l approche des deux éditeurs dans le domaine des bases de données. En fait, Oracle et Microsoft SQL Server sont deux bons produits, et sont globalement capables tous les deux de prétendre répondre à nos besoins. Ce qui m intéresse le plus est de savoir lequel de ces deux produits est capable de répondre le mieux à nos attentes qui se résument en 4 points : La gestion de la haute disponibilité, L évolutivité (montée en charge), La sécurité, Le coût. Figure 05: Les éléments de Comparaison entre SQL Server et Oracle Avant d entamer un comparatif sur la base des critères définis précédemment, il est nécessaire de rappeler quelques concepts techniques qui seront nécessaires ultérieurement. Pour des raisons liées à la montée en charge, ou à la mise en place d une architecture hautement disponible, il est peut être intéressant de disposer de plusieurs instances d un moteur de base de données accédant "à la même base de données". 33

34 Pour ce faire, il existe deux grandes familles de solutions selon qu il s agisse réellement d un accès des différentes instances sur une même base de données physique (même espace de stockage des données), ou sur une "copie" de celle-ci (espace de stockage des données différent). Voyons ces deux grandes familles. Share Nothing (ne rien partager) Dans cette solution, deux (ou plus) serveurs physiques accueillent chacun une ou plusieurs instances d un moteur de base de données. Chaque serveur possède sa propre infrastructure de stockage (disque interne ou baie disques). Un mécanisme de réplication, de copie des fichiers de transaction, voire de sauvegarde/restauration permet aux bases des deux serveurs d évoluer parallèlement. Dans le cas d une réplication, elle peut être unidirectionnelle, bidirectionnelle, voire fonctionner en mode point à point "peer to peer". Dans le cas de la copie des fichiers journaux des transactions d un serveur source vers un (ou plusieurs) serveur(s) destination, on peut trouver différentes façons de gérer le planning de copie, elle peut s effectuer de manière continue ou périodique. Le choix de l une ou l autre des méthodes influe bien évidemment sur le nombre de transactions pouvant être perdues lors d un problème sur l un des serveurs. Il n y a généralement pas, dans ce type de mécanisme, de contraintes posées en terme d homogénéisation des serveurs physiques concernés par cette architecture. On peut inclure, dans ces architectures, des serveurs 32 bits et 64 bits de constructeurs différents, la liaison entre les serveurs étant généralement une connexion réseau classique [a3 page 7]. Figure 06: Share Nothing Share Everything (tout partager) Dans ce mode de fonctionnement, et à l inverse de l architecture précédente, plusieurs serveurs se partagent une baie disque. C est pourquoi, si l on souhaite être rigoureux, on doit parler ici de Share Disk. Sur chaque serveur peuvent "tourner" une ou plusieurs instances d un moteur de base de données. Plusieurs instances tournant sur des serveurs différents peuvent se partager l accès à une même base, dont les données sont stockées sur la baie disque partagée. 34

35 Il existe plusieurs déclinaisons de ce mécanisme selon que les données de la base sont accessibles en lecture et/ou en écriture. Dans le cas où les données de la base sont accessibles en écriture, il est alors nécessaire que les serveurs hébergeant les instances actives accédant à cette base communiquent entre eux (au travers d un lien dédié nommé interconnect) avant chaque opération sur la base. Ceci afin de vérifier, par exemple, qu il n existe pas, dans une version plus récente, des données dans le cache d une des instances. Ce mécanisme de communication, entre les mémoires des différents serveurs concernés, peut s avérer compliqué dans le cas où il concerne un nombre important de serveurs (généralement appelés noeuds). Il peut aussi avoir un impact sur les performances de l ensemble du système [a3 page 7]. Figure 07: Share Everything Stratégie des deux éditeurs Microsoft et Oracle ont une approche différente de la pertinence des deux types d architectures et de leur utilisation. Microsoft Microsoft utilise la technologie Share Disk dans le cadre de son offre de base de données en cluster (aussi appelée failover clustering). Les serveurs (ou noeuds) du cluster (8 au maximum avec Windows Server 2003) se partagent une baie disque. En cas de problème sur l un des noeuds du cluster, l instance du moteur de la base qu il hébergeait est redémarrée sur un autre noeud. En d autres termes, le service Microsoft Cluster sur lequel s appuie ce mécanisme de failover clustering transfère la propriété de l espace disque de l autre noeud et démarre SQL Server sur ce même noeud. Il est possible, pour un noeud, d héberger plusieurs instances du moteur, puis en cas de panne de répartir ces instances sur les noeuds sains du cluster. Ce mode de fonctionnement est dit actif/passif, dans la mesure où une base spécifiée n est accédée à un instant t que par une seule instance active. 35

36 Remarques Ce mode de fonctionnement présente l avantage d une (relative) simplicité : Le cluster est vu comme une machine unique par les applications clientes. Il n y a pas de nécessité de communiquer entre différentes instances actives, puisqu elles ne partagent pas l accès à une même base. Le cluster actif/passif peut néanmoins entraîner un temps de reprise important en cas de problème. En effet, la reprise s effectue en deux phases, la première est le redémarrage du service SQL Server sur le noeud assurant la continuité du service, la deuxième est une phase de undo/redo. Si la première phase s effectue généralement en 15 secondes environ, la seconde dépend de la façon dont les applications ont été développées et des transactions précédemment enregistrées. Des transactions, dont le temps d exécution est important, peuvent dégrader sensiblement le temps de basculement. Oracle Oracle communique sur une architecture dite de Grid Computing. Cette dernière permet, selon Oracle, d adresser à la fois les problèmes de montée en charge et de haute disponibilité. Pour preuve, cette citation : Oracle Grid exécute les applications plus rapidement que le plus performant des mainframes. En outre, même en cas de défaillance d'un serveur, Oracle Grid continue de fonctionner, ce qui n'est pas le cas d'un mainframe. Ce concept repose en partie sur la capacité à ajouter, à la demande, des serveurs au sein d une grappe de serveur actifs. Appliqué à la base de données, le Grid Computing se décline en Oracle Real Application Clusters (Oracle RAC) disponible pour les versions 9i ou 10g du SGBD de l éditeur. Les serveurs interconnectés du RAC se partagent une baie disque. Plusieurs instances d Oracle peuvent, à un instant donné, se partager l accès à une base de données en écriture. Nous sommes donc dans un modèle Share Disk, mais contrairement au cluster Microsoft, ici dans un mode actif/actif. Le RAC peut accueillir théoriquement jusqu'à 100 serveurs. En cas de problème sur un serveur, les applications alors connectées sur ce dernier sont automatiquement redirigées vers les noeuds sains. Ce basculement est transparent pour les applications (Transparent Application Failover). En plus de servir la problématique de haute disponibilité, le RAC assure aussi la répartition de la charge via un service d écoute (listener) et d affectation des requêtes clientes vers un serveur physique disponible. 36

37 Remarque I Ce type de configuration implique une interconnexion des serveurs et une synchronisation de ceux-ci au niveau des données de la base stockées en cache dans les mémoires des noeuds du RAC. Oracle propose pour cela une solution nommée "Cache Fusion". Cela consiste à partager, entre les différents serveurs, une mémoire de travail (dite "cache") contenant les transactions en cours ou récemment traitées. Lorsqu un serveur traite un enregistrement, il le copie dans cette mémoire. Celle-ci sera ensuite consultée par les autres serveurs accédant au même enregistrement. Selon le type d accès aux données (lecture/écriture) et la répartition des accès sur l ensemble des données de la base, l impact en terme de performance peut ne pas être neutre. Remarque II Cette solution implique des contraintes sur le matériel (interconnect), switch SAN, serveurs, qui doivent être évaluées avec soin. 37

38 III.3.1 La gestion de la haute disponibilité Assurer la disponibilité ou la haute disponibilité de l accès aux bases de données consiste à assurer, aux applications clientes des bases, une continuité d accès aux données, et ce, malgré un problème sur le serveur hébergeant l instance sur laquelle elles sont connectées. Selon la transparence ou non du basculement des requêtes clientes vers un serveur de secours, on pourra parler, dans le premier cas de haute disponibilité, et dans le second de disponibilité. Un des éléments clés, en cas de basculement des applications vers un autre serveur, sera évidemment de savoir si des transactions peuvent avoir été perdues consécutivement au problème sur un serveur. Voici la façon dont les deux éditeurs abordent le problème dans le cadre des bases de données [a3 page 11]. Microsoft Microsoft mise sur la technologie du clustering de bases de données. Celle ci est connue de longue date puisqu elle est introduite avec SQL Server Le clustering de Microsoft est de type actif / passif. Le clustering est complètement transparent pour les applications. Oracle La solution de haute disponibilité d Oracle se repose essentiellement sur RAC (Real Applications Cluster). La reprise en cas de défaillance d un noeud s effectue par le basculement automatique de la session sur un autre noeud. Oracle propose aussi un mécanisme de mirroring. Ce mécanisme, Data Guard, est disponible dans l édition Entreprise d Oracle. Il n est pas nécessaire de créer un Snapshot pour accéder à la base miroir en lecture. Ceci présente l avantage d avoir continuellement une base à jour sur le miroir (ou Standby Database). Remarques Si l on compare dans ce contexte de haute disponibilité, une solution de type RAC à du clustering actif / passif, dans un premier temps l approche RAC peut paraître plus séduisante. En effet, l idée d utiliser les serveurs disponibles dans un mode actif / actif (comme c est le cas dans l architecture RAC) paraît, a priori, plus rationnelle que de n utiliser qu une partie des ressources disponibles (comme c est le cas dans le cluster actif / passif de Microsoft). De plus, le temps de reprise plus rapide dans une architecture RAC que sur un cluster actif / passif aurait tendance à renforcer l argumentaire. 38

39 Mais si on pousse un peu l analyse, il faut ajouter à l infrastructure technique : La difficulté de mise en oeuvre, La complexité de la maintenance, Le coût de la solution. La question qui se pose est donc de savoir ce qui peut justifier la complexité d une architecture RAC en regard d une architecture cluster actif / passif de base de données. En regard du cluster actif / passif, une solution RAC permettra certainement un basculement plus rapide des applications. Mais, la haute disponibilité ne constitue pas une exigence suprême dans notre situation. Un client pourra attendre quelques secondes (temps de basculement du serveur passif pour reprendre le rôle du serveur actif tombé en panne), on parlera ainsi de disponibilité et non de haute disponibilité. On est alors tenté de privilégier une solution plus simple surtout qu au final, la mise en place d une solution de haute disponibilité dépend autant de la technologie utilisée que des processus et des personnes chargés de traiter ce problème. Une infrastructure de disponibilité basée sur des technologies simples à installer et à mettre en oeuvre, tant du point de vue logiciel que matériel, entraînera des besoins de formation moindres, des processus plus simples à mettre en oeuvre, des risques de pannes et de bogues diminués. En corollaire de cela, on pourrait ajouter que pour une telle disponibilité, on obtiendra des coûts moindres en se reposant sur des technologies type clustering actif / passif que sur des technologies de type clustering actif / actif. 39

40 III.3.2 La capacité de monter en performance Difficile de parler de performances sans les quantifier et difficile de les quantifier sans connaître les besoins précis. En fait, que ça soit la base de données SQL Server ou ORACLE sur un serveur DELL ou HP, le nombre des transactions exécutées est assez grand et rassurant (quelque millier de transactions par seconde). Il faut savoir qu une entreprise multinationale avec un très fort besoin transactionnel a seulement besoin de quelques pourcents des performances. Dans notre cas, ce nombre de transactions ne dépasse pas les 100 transactions par minute (chiffre assez faible). On peut constater alors que, quelle que soit la solution utilisée, elle sera forcément capable d assurer la charge de l entreprise Mécanique. L approche la plus pertinente consiste donc à considérer le rapport prix / performance. Sur ces mêmes bases, le couple Intel/Microsoft a tendance à occuper les premières places. Considérons maintenant les approches de Microsoft et Oracle sur la montée en charge des bases de données [a3 page 15]. Oracle Avec son approche RAC, Oracle mise essentiellement sur une approche Scale-out, c'est-à-dire que la montée en performance est assurée par l addition de nouveaux serveurs (solution coûteuse). C est d ailleurs un des fondements du Grid Computing : "Et si vous avez besoin d'un surcroît de puissance de traitement, vous pouvez ajouter un autre serveur sans qu'il vous soit nécessaire de déconnecter des utilisateurs". Microsoft Microsoft vise plutôt sur une approche Scale-Up, en considérant qu il est possible de répondre aux problématiques de montée en charge en misant sur la capacité d un serveur unique à répondre aux besoins (Addition des RAM par exemple). Pour cela, l éditeur met en avant nombre de benchmarks qui démontrent la capacité du couple Windows/SQL Server 2000 à assurer, pour n importe quel besoin d entreprise, la montée en charge sur un seul serveur. Remarques Le Scale-Up suffit désormais dans la plupart des cas à assurer la montée en charge au niveau des SGBD, il s applique autant à Oracle qu à Microsoft en environnement Windows. Mais si l on adhère à cette idée, cela remet fortement en cause l intérêt du RAC pour assurer la montée en charge Ce que d ailleurs semblent confirmer les chiffres : une grosse majorité des systèmes RAC installés possède 2 noeuds, soit vraisemblablement le nombre de noeuds moyen d un cluster SQL Server. Dans cette perspective, on peut donc considérer que d une part l expérience montre que l architecture RAC est plutôt utilisée dans une optique de disponibilité que dans une approche d évolutivité, et que d autre part les évolutions technologiques récentes rendent moins pertinente l approche Scale-out pour assurer la montée en charge. 40

41 III.3.3 La sécurité C est difficile d aborder ce sujet en limitant l analyse au seul contexte de la base de données. Elle revêt une multitude d aspects : Les fonctions de la base de données liées à la sécurité (authentification, chiffrement des données, granularité des droits d administration, sécurisation des développements.). Les éléments liés à l interaction entre la base et le système d exploitation (authentification, sécurisation des accès réseaux ). Ce ne sont pas ces aspects là qui seront comparés. Les différences seraient finalement assez minimes entre les deux bases. Voyons comment chaque éditeur traite plus globalement la problématique de la sécurité, étant entendu que le sérieux de la démarche se juge d une part sur la capacité d un éditeur à fournir un logiciel sécurisé "à la livraison" du produit et d autre part à proposer, dans un délai de temps pertinent, des correctifs aux failles de sécurité qui (malheureusement) ne manqueront pas d apparaître. Les deux slogans associés aux stratégies de communication d Oracle et de Microsoft en terme de sécurité résument, à eux seuls, l angle sous lequel chaque entreprise envisage son action dans ce domaine. En octobre 2001, Larry Ellison, PDG d Oracle, lance l une des plus importantes campagnes publicitaires de sa société : "Unbreakable", suggérant que ses produits étaient irréprochables en terme de sécurité. Quasiment dans le même temps, Microsoft se lance, en janvier 2002, dans une prise en compte stratégique de la sécurité avec son initiative "Trustworthy Computing" et dans ce cadre investit massivement dans la qualité du produit afin de diminuer le nombre des vulnérabilités. Au-delà de la communication, force est de constater que : Contrairement à ce que "Unbreakable" laisse entendre, les logiciels Oracle sont loin d être exempts de failles de sécurité : fin 2003, Cesar Cerrudo, de la société Argeniss, signale plus de 100 vulnérabilités non corrigées lors d une conférence Black Hat. Cette conférence, et des remontées pressantes du marché, poussent Oracle à revoir sa copie. Le SGBD Oracle est donc loin d être exempt de failles de sécurité, et la façon dont Oracle traite ce sujet laisse quelques observateurs du marché sceptiques [a3 page 19]. 41

42 III.3.4 Le coût Facette indispensable de la comparaison, l angle économique est évidemment quelque chose qu il faut aborder. Chacun affirmant évidemment que sa solution est la plus économique. De façon plus pragmatique, nous avons étudié deux offres concernant un RAC deux noeuds. LOGOS propose une offre de ce type pour $. Elle est constituée de 4 licences d Oracle 9i Standard Edition option RAC avec une licence 24 utilisateurs. Nous allons comparer cette offre à un autre qu on a reçu de l entreprise SOFTFLOW qui nous propose de nous vendre la version entreprise de SQL Server Nous prenons comme hypothèse que nous installons, sur chaque serveur, la même capacité disque que la baie partagée dans le cas du RAC. Nous arrivons alors à un coût de $ pour 4 licences de SQL Server 2000 (édition entreprise) avec 135 $ pour chaque licence utilisateur (24 utilisateurs pour un coût de $). Soit un coût total d un peu moins de $. III.3.5 Conclusion Le tableau suivant décrit les avantages et les inconvénients entre la base de données ORACLE et SQL Server : Disponibilité Monter en performance (environnement Win.) ORACLE + Haute disponibilité - Difficile de mettre en oeuvre, - Complexité de la maintenance, - Coût de la solution + Scale-Up + Scale-Up SQL SERVER + Plus facile de mettre en œuvre + Moins coûteuse + Maintenance plus simple - Disponibilité et non Haute disponibilité Coût - Solution plus coûteuse + Solution moins coûteuse Sécurité + Base de données sécurisée + Base de données sécurisée Au terme de ce comparatif, on constate que les deux produits ORACLE et SQL Server sont matures et propres à répondre à nos besoins en termes de performance et de disponibilité. Le pragmatisme de la firme Mécanique au niveau des solutions techniques retenues sur la disponibilité, et l adéquation des réponses face aux évolutions techniques des processeurs des serveurs sur le plan des performances est générateur de simplicité et d économie. Bref ne pas considérer SQL Server comme une alternative crédible à Oracle serait certainement plus coûteux. 42

43 Deuxième Partie Implémentation 43

44 4 Automatisation du Contrôle Technique IV.1 Structure de l Application IV.2 Implémentation de la Base de Données IV.3 Alimentation du EUROSYSTEM IV.4 Analyse des Résultats IV.5 Sécurité Interne IV.6 Gestion des Archives IV.1 Structure de l Application J ai composé l architecture globale de l application en trois couches : La couche de données (voir la sous-section IV.1.3). La couche métier (voir la sous-section IV.1.2) et pour conclure, La couche présentation (voir la sous-section IV.1.1). Après consultation avec les directeurs techniques des centres de contrôle, et vu les changements futurs pouvant affecter le déroulement de ce dernier, j ai remarqué qu une telle décomposition de l application apporte plusieurs avantages. Pour comprendre ces types de changements qui peuvent être introduits dans le futur, prenons un exemple pratique et simple, celui du test de l Oxyde de Carbone CO ; Ce contrôle est accompli en introduisant un tube dans l échappement du véhicule. Ce tube récupère 6 valeurs distinctes. Ces valeurs seront présentes dans le fichier ES_Out généré à la fin du déroulement du contrôle par le EUROSYSTEM. Ces valeurs seront ainsi analysées et sauvegardées dans notre base de données. Pour récupérer le résultat final du test du CO, on utilise une certaine formule telle que l addition de ces 6 valeurs et la division de la valeur résultante par 6. 44

45 Mais, cette formule est vulnérable à des modifications futures (ces modifications sont issues des directeurs des centres de contrôle après consultation avec le Ministère de l'intérieur et des Municipalités). Une nouvelle formule introduite pourra ainsi considérer que la valeur minimale des 6 valeurs calculées contient le résultat du test de l Oxyde de Carbone. En composant l application en 3 couches, c est le tiers métier qui s occupera de calculer le résultat du contrôle de l Oxyde de Carbone (et ultérieurement du tout type de contrôle). Des changements futurs concernant la formule employée affecteront uniquement cette couche. Le tiers données et présentation resteront intactes. La version 1.1 du Framework.NET avec le langage VB.Net ont été utilisé pour le développement de tous les composants de l application. IV.1.1 Tiers présentation, VB.NET Le tiers de présentation est fait en utilisant la technologie VB.NET. L interface graphique est principalement composée de Windows Forms avec un contrôleur associé qui prend la forme d un fichier *.resx. En tant que développeur j ai dû concrètement implémenter : Tous les Windows Forms (*.resx) correspondant aux différentes pages de l application. La création se fait de manière graphique. Les fichiers sont organisés par le Framework Visual Studio.NET. Tous les fichiers contrôleurs (*.vb) associés aux Windows Forms *.resx. Ces derniers correspondent au code qui doit être exécuté (par exemple, le code pour changer la langue d affichage ou encore pour l envoi des données d un formulaire). Toutes les classes et les modules associés à l application. Le fichier de configuration et d initialisation en XML qui contient toute la configuration du projet, à savoir :. Le profile de l utilisateur. Le string d accès à la base de données. etc. IV.1.2 Tiers métier Le tiers métier est composé d une seule couche (en J2EE en générale, une telle couche est composée de deux couches : Session et Entity Beans). 45

46 L'objet ADO.Net va remplir le rôle d une structure objet qui correspond à la base de données. Cet objet, selon des requêtes faites par les utilisateurs, accèdera à la base de données pour récupérer les données recherchées. Le tiers métier (écrit en langage VB.Net sous forme des librairies *.dll) accèdera à ces données et les traitera selon des règles prédéfinies. Toute modification de ces règles affectera uniquement cette couche. Ceci simplifie énormément mon travail en tant que développeur. Quand une modification au niveau des règles est faite, je n aurai pas à modifier la structure de la Base de Données ni les formulaires concernant l affichage des données aux utilisateurs. En fait, au départ, le département Recherche et Développement était bien compact et, c était moi qui s occupais de toutes les tâches (analyse, développement, implémentation et administration de la Base de Données) mais, il était prévu par la suite de répartir ces tâches entre plusieurs personnes. L analyse principale que j ai faite a permis aux nouveaux membres de l équipe de s intégrer rapidement et facilement au sein du groupe et de mieux gérer la répartition des tâches. Enfin, pour l affichage de données sur les formulaires (Windows Forms), il suffit d affecter directement l objet ADO.Net à un composant placé sur ces Forms tel que l objet ListView ou l objet DataGrid. Il n y a donc aucun intermédiaire (tel que des Transfer Object) ce qui simplifie la structure et le codage. IV.1.3 Tiers données L accès à la Base de Données se fait de manière codée en combinant les langages: Structured Query Language SQL et l'objet ADO.Net. En fait, et pour des raisons d'efficacité en performance, j'ai encapsulé les requêtes SQL dans des procédures stockés. Ceci nous a présenté plusieurs avantages. Une procédure stockée est un ensemble d'instructions SQL qui s'exécute à la demande. On peut lui passer des paramètres et elle peut retourner un résultat au programme. Une procédure stockée est compilée au sein même du moteur de base de donnée. Le premier avantage remarqué est que, durant son exécution, un seul échange se produit avec la base, lors de l'appel de la procédure et de la récupération de son résultat, alors que l'exécution de chaque commande SQL en nécessite plusieurs. 46

47 Dès que plusieurs requêtes doivent s'enchaîner (ce qui est fortement présent dans notre situation), l'emploi de procédures stockées est toujours préférable au SQL dynamique. En fait, lors de sa première exécution, la procédure stockée est compilée, ce qui produit un plan d'exécution, essentiellement un enregistrement des actions que doit exécuter SQL Server pour obtenir les résultats spécifiés par le code T-SQL dans la procédure stockée. Le plan d'exécution est ensuite placé en mémoire cache pour être utilisé plus tard. Cela permet d'améliorer les performances de la procédure stockée dans la mesure où SQL n'a pas besoin d'analyser de nouveau le code pour savoir ce qu'il doit en faire; il peut simplement se référer au plan en mémoire cache. Le plan est disponible jusqu'au redémarrage de SQL (ce qui se passe rarement) ou jusqu'à ce qu'il soit supprimé de la mémoire suite à une faible utilisation ce qui signifie que ce plan d exécution possède une très haute disponibilité. En plus, au sein de notre entreprise, le serveur de base de données et le serveur frontal sont séparés, l'utilisation des procédures stockées permet ainsi de diminuer le trafic réseau entre les deux machines ce qui présente un autre avantage. La figure 8 montre la structure globale d une application 3-tiers: Figure 8 : Structure de l application 47

48 IV.2 Implémentation de la Base des Données Dans ce paragraphe, je vais focaliser sur les trois étapes suivies durant la phase de l implémentation de la base de données. La première étape consiste à définir le schéma des données. Le modèle que j ai choisi est le modèle Relationnel-Objet. La deuxième étape consiste à définir les opérations sur les données, ces opérations sont plutôt les opérations de recherche, de mise à jour, etc. La dernière étape consiste à mettre en place les mécanismes capables de gérer le partage des données entre les différents utilisateurs. Le mécanisme employé est le mécanisme de transaction. IV.2.1 Définition du schéma des données : Le Modèle Objet La modélisation est une technique d ingénierie visant à créer un système informatique. Elle permet de visualiser souvent sous forme graphique un système tel que nous voudrions qu'il soit [a6]. Cette technique permet aussi d en préciser la structure ou le comportement suivant des points de vue qui éclairent la réalité de différentes façons et ce, indépendamment du langage de programmation. Les SGBD relationnels répondent efficacement aux exigences des applications classiques, une simplicité et un accès efficace aux données sont à reconnaître mais, puisque le domaine du contrôle technique des véhicules est un domaine un peu complexe, le modèle relationnel s est révélé clairement insuffisant, il répond mal aux besoins pour deux raisons essentielles. D une part ce modèle ne supporte pas directement les objets complexes, D autre part, son langage de requêtes est incomplet et incapable d assurer la programmation d applications entières, donc nécessite de l'immerger dans le langage de programmation, ce qui provoque des dysfonctionnements du système. Dans ce cas, je serai obligé de manipuler simultanément deux langages qui ont des paradigmes très différents : SQL et VB.Net. Ce travail supplémentaire diminuera la productivité durant la phase du développement. 48

49 En plus, je serai obligé de décomposer la base de données en un grand nombre de tables pour respecter la contrainte d atomicité des attributs qu exige la première forme normale. Les informations deviennent ainsi dispersées et l opération de jointure qui est très coûteuse, devient indispensable. Les avantages que présente le modèle relationnel sont multiples : Clair et facile à comprendre, Les données sont représentées sous forme de simples tableaux, Les opérations de base sont calées sur un modèle mathématique très solide. Mais, à cause des inconvénients cités là dessus, j ai choisi un modèle beaucoup plus puissant et riche de types et d opérations, le modèle Objet. Ce modèle est basé sur la notion fondamentale centralisée autour du terme Objet, contrairement aux techniques classiques, les données et leurs comportements, c est à dire les traitements qu on peut effectuer dessus, sont devenus regroupés au sein des mêmes entités, et on commence à ne pas s intéresser à la composition des entités mais uniquement à leurs interfaces de communication avec l extérieur. Ce modèle est issu des langages objets et des modèles de données sémantiques, ces derniers visent à capturer toute la sémantique des données, et sont facilement traductibles en relationnel. En résumé, un modèle de données objet inclut les notions: - d objet. - de classe. - d héritage. - et de liens sémantiques: * de référence (un véhicule passe un contrôle). * de composition (un contrôle est composé de:... ). Les avantages que présente alors l utilisation du modèle objet sont: Offrir un langage commun de programmation de bases de données, pour éliminer le dysfonctionnement du au multi-langage (programmation et SQL). Offrir directement un modèle objet, afin de supporter les structures complexes et éviter le recours à la décomposition. Partager le code réutilisable des applications au sein du SGBD. 49

50 Un schéma d une base peut-être vu comme un ensemble de classes, complété par des associations interclasses, ces dernières servent à capturer les contraintes d intégrité référentielles. La figure 9 présente une partie de notre schéma de la base de données. ch Nom Propriétaire Véhicule Contrôle Visuel Adresse Contrôle Freinage Rue Int ch Ville Véhicule Diesel Motocycle Véhicule Essence Contrôle CO Contrôle O2 Figure 9 : Modèle Objet Relationnel Classe Type Attribut Héritage 50

51 IV.2.2 Opérations sur les données Les opérations sur les données, surtout les opérations d insertion ou de mise à jour, doivent assurer l intégrité de ces derniers. Pour assurer cette intégrité, j ai suivi les règles suivantes durant la phase de développement: Garantir la présence des enregistrements cités dans une table Quand une table fait référence à des enregistrements d une autre table, il est important que les enregistrements cités existent bel et bien. Cette règle s appelle l intégrité relationnelle. Cette règle est mise en danger quand on supprime un enregistrement. Pour la garantir, le système peut prendre l initiative de supprimer en cascade les enregistrements qui font référence à l enregistrement en question. C est une règle que nous avons adoptée systématiquement sauf dans le cas où cela pourrait être dangereux pour un utilisateur non averti. En particulier nous ne l avons pas fait pour les liens vers des "petites" tables. Garantir l absence de doublons dans les enregistrements Les doublons sont en général proscrits dans les bases de données relationnelles. Un doublon est un enregistrement en double dans une table. Dans certains cas, on ne considère que certains champs pour juger de la présence de doublons. Pour garantir l absence de doublons dans une table, des index sont posés sur un ou plusieurs champs de la table. Un index est une structure interne au système de gestion de base de données qui donne pour chaque valeur du champ ou des couples de champs qui définissent l index, un accès direct aux enregistrements qui utilisent cette valeur. Pour garantir l absence de doublons, on pose comme condition que l index doit être sans doublons. L absence de doublons dans un champ est mise en péril par l ajout d enregistrements. Structure des données pour permettre les mises à jour. Les données contenues dans la base de données sont pour l essentiel saisies par les utilisateurs du système. Il est important de faire en sorte que les données dont nous avons décidé, pour une raison ou pour une autre, de ne pas tenir compte, ne soient pas purement et simplement supprimées. 51

52 Il est impératif de garder une trace des données que nous avons souhaité de mettre "hors jeu", la suppression n étant pas une solution acceptable. Pour permettre la mise à jour, nous avons introduit à chaque fois que nécessaire, des champs d activation ou d inactivation. Par défaut, tous les enregistrements sont actifs. Les enregistrements indésirables sont inactivés grâce à ce champ. Pour clarifier les choses, voici un exemple; Parfois, la direction exige, pour un certain type de véhicules (Moto), de ne plus faire le contrôle du "LITE". Une table dans la base de données indiquant les contrôles à faire pour le Moto contient les contrôles à faire pour le Moto. Au lieu de supprimer l'entrée "LITE" de la table et de la réintroduire ultérieurement, j'ai utilisé des champs de type (bits) qui se met à 0 quand ce test n'est pas exigé et vice versa. Les Opérations de recherche L opération la plus complexe est la recherche en raison de la variété des critères. Pour l utilisateur, une bonne requête doit s exprimer facilement. Il est également souhaitable de ne pas attendre trop longtemps. Enfin, et surtout, la réponse doit être fiable. Une bonne partie de mon travail sur le SGBD SQL Server consiste à satisfaire ces nécessités. Pour ce faire, j ai utilisé les index puisque leur rôle consiste à améliorer les performances des requêtes. SQL Server 2000 possède des fonctionnalités qui permettent d'améliorer les performances tout en facilitant l'administration de ces index. Un index est créé avec la commande "CREATE INDEX". Cette commande est complètement intégrée dans le moteur de requêtes, ce qui signifie que : il est possible de définir pour chaque colonne de l'index un ordre ascendant ou descendant (options ASC ou DESC). Au cours de la création d'un index, d'autres index existants sur la table peuvent être utilisés pour optimiser les performances. Par exemple, l opération de recherche d un véhicule est basée sur, soit son numéro d immatriculation, soit son numéro de châssis. Il est évident alors que la création d un index sur chacun de ces deux colonnes est une opération essentielle. 52

53 IV.2.3 Partage des données : Les Transactions Puisque plusieurs utilisateurs accèdent à la base de données en même temps, cet accès concurrentiel requiert alors la gestion des mécanismes permettant de contrer les effets négatifs de la modification d'une ressource déjà en cours d'utilisation. Les transactions spécifient un niveau d'isolement. Ce niveau définit le degré d'isolement d'une transaction par rapport aux modifications de ressource ou de données apportées par d'autres transactions. Les niveaux d'isolement déterminent les effets secondaires de la concurrence (lectures incorrectes, lectures fantômes) qui sont autorisés. Le niveau d'isolement d'une transaction régit les éléments suivants : L'acquisition de verrous lors de la lecture de données, et le type de verrous nécessaires, La durée de vie des verrous de lecture, La réaction d'une opération de lecture qui fait référence à des lignes modifiées par une autre transaction, Blocage jusqu'à ce que le verrou exclusif sur la ligne soit levé, Récupération de la version validée de la ligne telle qu'elle était au début de l'instruction ou de la transaction, Lecture de la modification des données non validées. Le choix d'un niveau d'isolement n'a aucune influence sur les verrous acquis pour protéger les modifications de données. Une transaction acquiert toujours un verrou exclusif sur les données qu'elle modifie et garde celui-ci jusqu'à ce qu'elle ait terminé son travail, indépendamment du niveau d'isolement défini pour elle. Dans le cas des opérations de lecture, le niveau d'isolement d'une transaction définit principalement son niveau de protection contre les effets des modifications apportées par les autres transactions. Plus le niveau d'isolement est faible, plus le nombre de personnes susceptibles d'accéder aux données en même temps est élevé, et plus les effets secondaires de la concurrence (lectures incorrectes, mises à jour perdues) sont nombreux. Inversement, plus le niveau d'isolement est élevé, plus le nombre de types d'effets secondaires de la concurrence qu'un utilisateur est susceptible de rencontrer est réduit. 53

54 Cependant, la quantité de ressources système nécessaires et la probabilité d'un blocage mutuel de transactions sont plus élevées. Le choix du niveau d'isolement adéquat dépend d'une mise en équilibre de l'espace réservé et des exigences en matière d'intégrité des données de l'application. Le niveau le plus élevé, sérialisable, garantit qu'une transaction récupère exactement les mêmes données à chaque fois qu'elle répète une opération de lecture, mais en utilisant un niveau de verrouillage susceptible de gêner les autres utilisateurs dans les systèmes multi-utilisateurs. Le niveau le plus bas, lecture non validée, permet la récupération de données qui ont été modifiées mais non validées par d'autres transactions. Ce niveau permet l'apparition de tous les effets secondaires de la concurrence, mais la charge du système est réduite puisqu'il n'y a pas verrouillage de lecture. Aucun de ces deux niveaux ne répond à nos besoins ; le niveau que j ai admis est le niveau Lecture Renouvelable. Ce niveau d isolement permet la récupération de données qui ont été modifiées et validées par d'autres transactions. 54

55 IV.3 Implémentation du système d Alimentation du EUROSYSTEM Après la phase de modélisation de la base des données, la phase d implémentation des procédures d automatisation du contrôle technique des véhicules fallait prendre en considération certaines exigences. IV.3.1 La Saisie des Informations Quand un véhicule se présente pour passer le contrôle, il faut que les informations concernant ce véhicule soient saisies par l utilisateur du système. Durant cette étape, il faut prendre en considération que le propriétaire du véhicule est impatient, il a tendance à terminer la phase du contrôle le plus tôt possible. Cette dernière débute en introduisant les informations du véhicule. La rapidité de l exécution de cette étape présentera alors un avantage pour les utilisateurs et les propriétaires des véhicules. Les utilisateurs du système pourront alors exécuter leurs tâches aisément et rapidement et, le propriétaire du véhicule n aura pas à supporter de longs fils d attente. IV Outils de reconnaissance de caractères (Optical Character Recognition) La plupart des informations concernant un véhicule sont contenues sur la Carte Grise. Pour accélérer la saisie des informations, j'ai eu une idée (qui s est rapidement avéré inefficace) d'utiliser les outils de reconnaissance de caractères (Optical Character Recognition) pour scanner cette Carte Grise et afficher son contenu sur l'interface graphique qui sera par la suite validée par l utilisateur. Mai, puisque cette Carte Grise contient à la fois des caractères en Latin et en Arabe, les inconvénients d utilisation des outils de reconnaissance seront nombreux. L utilisateur passera ainsi la plupart de son temps à rectifier les erreurs rencontrées. En prenant en considération les avis et les recommandations des utilisateurs du système, on s est rendu compte qu en passant la plupart de leur temps à rectifier les informations saisies par l outil de reconnaissance, ceci aboutira à la frustration et ensuite à la négligence. Le risque d avoir alors une base de données erronées sera énorme. 55

56 IV Importation des Informations La deuxième solution que j'ai prise en considération consiste à importer les informations des véhicules de l Office de Registration des véhicules au Liban afin de les intégrer dans notre base de données. Mais, l Office de Registration des véhicules ne possède pas une base de données centralisée qui peut nous faciliter notre tâche. En plus, les formats des données sont différents. Ces formats sont soit des fichiers Excel soit des fichiers Access. La réalisation de cette opération de transfert fait appel alors à l'utilisation des outils avancés en informatique tel que l'utilisation des DTS (Data Transformation Services) et même à écrire des programmes spéciaux pour l'extraction de ces données. Par exemple, un certain fichier contenant les informations d'un véhicule pourra avoir 2 champs pour représenter la plaque d'immatriculation, 3 champs pour représenter le propriétaire du véhicule, etc. Il fallait alors écrire des programmes afin de rectifier ces erreurs. Il fallait également garder à l esprit que la conservation des données telles qu elles sont exploitées après migration dans notre base de données n est pas la meilleure solution. Certaines de ces données peuvent être erronées ou pas mis à jour (une voiture pourra être vendue et son propriétaire n'a pas informé l'office de Registration par exemple), d autres données peuvent être redondantes. La Saisie des Informations : Procédure Finale Pour résoudre ces problèmes, j ai créé une table temporaire tbl_vehicle_temp. Cette table contient la totalité des informations importées des différentes sections de l Office de Registration de Véhicule au Liban tout en tenant compte qu une partie de ces informations est erronée, dupliquée ou même manquante. En fait, l intégrité des informations lors de l enregistrement d un véhicule auprès de l Office de Registration n est pas une condition essentielle!!! En se basant sur cette nouvelle solution, les opérations suivantes sont déclenchées quand un véhicule se présente pour passer le contrôle technique: L utilisateur saisit tout simplement le numéro d immatriculation du véhicule. Un automate est déclenché. L automate cherche les informations du véhicule dans la table tbl_vehicle. Si ces informations ne sont pas trouvés, ceci indique que ce véhicule ne s est pas présenté au contrôle technique et ainsi, l automate recherche les informations de la table temporaire tbl_vehicle_temp. 56

57 Si les informations concernant le véhicule ne sont pas trouvés dans la table tbl_vehicle_temp non plus, l utilisateur doit saisir toutes les informations. Si, par contre, les informations sont trouvées, l automate affiche les informations récupérées, L utilisateur valide les informations, L utilisateur modifie / sauvegarde les informations dans la table tbl_vehicle considérée comme la table contenant les informations les plus récentes concernant un véhicule (Durant cette phase, et si les informations étaient trouvées de la table tbl_vehicle_temp, un autre automate est déclenché qui efface les information de cette table), L utilisateur envoie le véhicule à la ligne de contrôle. La figure 10 représente la procédure de saisie d informations Figure 10 : Saisie d Informations Cette procédure c est avéré efficace. Malgré que les informations soient manquantes, l utilisateur n aura pas à saisir la totalité des informations. 57

58 Alimentation du EUROSYSTEM Cette étape est une des phases les plus importantes du fonctionnement du système informatique. Une erreur pourrait conduire à l abortion du contrôle ce qui peut frustrer énormément les clients. La réalisation de cette phase consiste à créer le fichier ES_In correspondant au véhicule en tenant compte des résultats des visites précédentes. Cette étape est gérée dynamiquement sans aucune intervention de l utilisateur en se basant sur les données du véhicule sauvegardées dans la base de données. Deux cas peuvent se présenter ; Un nouveau véhicule se présente au contrôle ou un véhicule se présente pour une contre visite. Pour le premier cas, la solution est simple ; il s agit de construire le fichier ES_In en se basant sur les informations saisies par l utilisateur. Pour le second cas, l opération est alors plus délicate. Il faut prendre dans ce cas en considération le délai entre la première visite et la visite actuelle. En se basant sur ce délai du temps, ce véhicule doit alors recommencer le contrôle de nouveau si ce délai est plus grand qu un mois ou passer une contre visite dans le cas échéant. Dans ce dernier cas, il faut alors récupérer tous les résultats du contrôle précédents du véhicule concerné. Ces résultats sont en fait contenus dans la base de données mais aussi dans un fichier ES_Out sauvegardé sur un grand ordinateur. Au lieu de reconstruire le fichier ES_In en se basant sur des informations de la base de données, il est alors plus rapide de localiser l ancien fichier ES_Out en se basant sur un indice contenu dans la base de données. Après l opération de repérage, il sera envoyé alors au EUROSYSTEM. En fait, les fichiers ES_Out créés depuis plus qu un mois sont nettoyés par un automate et ce, pour alléger le plus possible les ressources sur le grand ordinateur et pour accélérer le repérage des fichiers ES_Out. 58

59 IV.4 Implémentation du Système d Analyse des Résultats Afin d implémenter le système d analyse automatique des résultats, il fallait surmonter quelques problèmes. Dans ce paragraphe, je vais faire le point sur ces problèmes en expliquant les méthodes que j ai suivi pour les résoudre. Fichier ES_Out non structuré En fait, le fichier ES_Out, contenant les résultats du contrôle, n est pas un fichier structuré comme un fichier XML par exemple. C est un simple fichier texte qui n aide pas à la création d un automate d analyse simple. La procédure d analyse la plus simple à développer consiste à parcourir et à traiter tous les codes contenus dans ce fichier. Cette procédure est simple à développer mais elle est lente. Par contre, une procédure plus complexe à implémenter mais, qui accélère le traitement consiste à savoir d avance les codes à traiter. Dans ce cas, l automate d analyse traitera les codes dans un fichier ES_Out qu il faut traiter et, négligera ceux qui ne doivent pas être traités. Pour implémenter cette procédure, j ai créé alors une table dans la base de données que j ai appelé tbl_inspection_active. Cette table contient les informations concernant le type de la visite et les codes à traiter d un véhicule quand ce dernier se présente pour passer le contrôle technique. Cette table est remplie automatiquement en se basant sur les visites précédentes d un véhicule et non pas par l utilisateur et ce, durant la phase d enregistrement du véhicule. Elle sera consultée par le processus de traitement automatique avant le traitement d un fichier ES_Out. Après consultation de cette table, le processus de traitement saura les codes à traiter et ceux à négliger. Le traitement et l analyse du fichier ES_Out est alors générique: il s'agit d'interactions dans lesquelles les informations (codes) à analyser ne sont pas extraits du fichier mais, sont prélevées d un tableau de données. On pourrait, en se basant sur le fichier ES_Out, savoir le type de la visite et les résultats des visites précédentes et ainsi, les codes à analyser et ceux à négliger mais, la lecture dans une base de données et beaucoup plus rapide que la lecture d un fichier (surtout un fichier non structuré). 59

60 La figure suivante (figure 11) donne une description générale du fonctionnement de l automate d analyse des fichiers ES_Out. Figure 11 : Automate de traitement des fichiers ES_Out Durant la première étape, l utilisateur enregistre un véhicule qui se présente pour passer le contrôle technique automobile. Durant cette phase, un automate automatique est déclenché. Ce dernier analyse les visites précédentes du véhicule. Cette analyse est faite en consultant une table dans la base de données qui contient toutes les informations concernant les résultats des visites précédentes. Cet automate insère ensuite les informations trouvées et les nouvelles données saisies par l utilisateur dans une table qui sera consultée par l automate d analyse automatique. A la troisième étape, l utilisateur envoie le véhicule à la ligne de contrôle en créant un fichier ES_In (voir partie IV.2). Le contrôle pourra alors commencer. 60

61 À la fin contrôle, le EUROSYSTEM génère un fichier ES_Out et le place dans un emplacement sur grand ordinateur qui sera consulté au fur et à mesure par l automate d analyse automatique. L automate d analyse, en consultant régulièrement l emplacement mentionné en dessus trouve alors le fichier ES_Out. Le traitement de ce fichier doit alors commencer pour analyser les résultats et générer le certificat officiel du contrôle. Ce certificat de contrôle répond aux normes exigées par le Ministère de l Intérieur et comprend des données en Arabe et en Latin. Il est développé en utilisant Crystal Reports Version 8.0. Un exemplaire de ce certificat se trouve dans l annexe J. Cet automate dynamique procède de la façon suivante : Consulte la table tbl_inspection_active pour savoir les codes à analyser Analyse les codes contenus dans le fichier ES_Out Place le contenu de la table tbl_inspection_active dans une autre table appelée tbl_inspection_history et ce, pour alléger le contenu de cette table Sauvegarde les résultats dans la base de données Génère un certificat de contrôle 61

62 IV.5 Sécurité Interne Un autre facteur à prendre en considération est la gestion de la sécurité interne du système. Celle-ci ne doit pas être limitée. Il fallait ainsi bien gérer les utilisateurs en groupes. Pour parvenir à la bonne gestion de ces groupes d utilisateurs, il fallait bien comprendre les rôles à distribuer à chacun d eux. En se basant sur les avis de la direction, 5 groupes d utilisateurs ont été créés. Le groupe Administrator Le groupe Cashier Le groupe Head Cashier Le groupe Certificate Generator Le groupe Comptability droits. Comme l indique son nom, le groupe Administrator possède la totalité des En plus, ce groupe permet la création et la gestion des nouveaux utilisateurs. Les utilisateurs du département Informatique au sein de l'entreprise sont les seuls à faire partie de ce groupe. Le groupe Cashier est responsable de l alimentation du système EUROSYSTEM en enregistrant les véhicules qui se présentent pour passer le contrôle technique. Le groupe Head Cashier est responsable de vérifier et valider les données saisies par le groupe Cashier. Bref, ce groupe contrôle le fonctionnement des utilisateurs du groupe Cashier. Le groupe Certificate Generator imprime après validation les certificats officiels du contrôle. Le groupe Comptability gère les états générés par le système informatique. Il s assure aussi des fonds de caisse. 62

63 IV.6 Implémentation du Système de Gestion des Archives Deux grands groupes de documents papiers sont gérés distinctement dans la plupart des organisations : D une part, l ensemble des documents produits ou reçus par l organisation dans l exercice de ses fonctions, que l on désigne par "documents administratifs". D autre part, les documents soumis au dépôt légal que l on désigne par "documents de référence" et qui sont gérés par les bibliothèques. Exigence du Ministère de l'intérieur et des Municipalités La présence d une certaine règle, exigée par le Ministère de l'intérieur et des municipalités, concernant la gestion des documents administratifs, a exercé une influence générale sur la pratique de gestion des documents administratifs. Ces documents administratifs concernés sont les "Attestations d habitation" présentées par le client quand il se présente au guichet du centre du contrôle. En vertu de la règle sur la gestion des documents administratifs, notre entreprise a la responsabilité spécifique d assurer l entière gestion de ces documents. Elle doit donc s assurer de l acquisition, du traitement, de la conservation et de la diffusion de ces archive au ministère de l intérieur. Etant spécifié que cette diffusion doit être sous forme électronique et, doit permettre aux destinataires de repérer des informations précises rapidement j ai été alors amené à trouver la solution. Le processus de gestion documentaire Le processus de gestion documentaire se définit par les différentes étapes de la gestion des documents, depuis leur création ou leur réception jusqu à leur élimination ou à leur versement aux Archives. Ce processus se caractérise par le classement des pièces physiques de papier dans des lieux d entreposage (chemises, classeurs). Ce classement s effectue en fonction des sujets déterminés dans le plan de classification : ainsi un dossier rassemblant les documents reliés à un sujet constitue une unité logique du plan de classification. 63

64 Au sein de notre organisme, l unité logique du plan de classification est le véhicule lui-même. Ceci amène à créer alors un dossier pour chaque véhicule qui s est présenté au contrôle. Une première solution consiste alors à scanner chaque dossier sur support électronique (Image de format tiff), les copier à fur et à mesure sur des CD-ROM et les envoyer au destinataire (ministère de l intérieur) via Réseau Local ou Internet. Cette solution rend les opérations de classification et de repérage trop lentes et maximisent le risque de pertes d informations (CD ROM endommagé). Ceci nous amène à considérer un choix électronique pour la gestion de tels documents. La gestion électronique des documents GED présentait alors une solution fiable. IV.6.1 Introduction à la Gestion Electronique de Documents Par définition la Gestion Electronique de Documents s'intègre dans l'environnement informatique et lui apporte les outils logiciels nécessaires pour gérer électroniquement les documents et l'ensemble des informations qui circulent dans les entreprises [a7]. Pour reprendre cette définition donnée par l'aproged (Association des Professionnels de la GED), la GED n'est à vrai dire pas une fin en soi, mais plutôt un ensemble d'outils et de techniques qui permettent de dématérialiser, classer, gérer et stocker des documents à partir d'applications informatiques dans le cadre normal des activités de l'entreprise. En se basant sur les normes de la GED, la création d une application de type classement administratif ou archivage électronique présentera les avantages suivants: Un destinataire pourra retrouver une attestation d habitation particulière en 1 à 2 secondes. L entreprise acquérra des gains de productivité plus importantes et dégagera un meilleur retour sur investissement. Cette technologie présente alors un substitue à l ancienne solution qui consiste à diffuser les documents électroniques sur CD-ROM via un réseau local ou Internet. Apports de l archivage électronique Le tableau suivant décrit les différences entre un archivage traditionnel et un archivage électronique : 64

65 ARCHIVAGE TRADITIONNEL Importance des volumes Difficultés de classement Lourdeur de manipulation Délais de recherche Fragilité des supports Mauvaise qualité de la restitution ARCHIVAGE ELECTRONIQUE Réduction de l'encombrement Optimisation du classement Revalorisation des tâches Diminution du temps d'accès Pérennité des informations Amélioration de la qualité de la restitution IV.6.2 Implémentation du Système Scan-Plus Avant la phase de développement de l application Scan_Plus, une phase d analyse était préalable. Cette phase d analyse peut être réparties en deux étapes: Choix du scanner qui répond le mieux à nos besoins, Développement de l application permettant une communication simple et efficace avec le scanner. Phase I - Choix du scanner Un scanner est un instrument servant à numériser des documents. Du négatif aux photos en passant par du texte. Il existe plusieurs types de scanners. Les plus polyvalents sont les scanners "à plat", qui sont aussi les plus courants. Plus spécialisés, certains ne peuvent numériser que des négatifs (format 24x36 par exemple), ou encore que des feuilles de papier (à défilement). Les critères importants à prendre en considération sont : Résolution optique en dpi: 600x600 dpi OPTIQUE minimum pour les documents A4 ; supérieure ou égale à 1200x2400 (optique) si on doit souvent scanner des petites surfaces (format "timbre-poste"). Profondeur d'échantillonnage: 24 bits minimums (16 millions de couleurs). Type de documents numérisés : Feuilles de Papier: Tous les scanners à plat, les scanners à défilement, Livres, tissus, etc. : Tous les scanners à plat, Transparents: Scanner à plat pourvu d'un dos pour transparents (lumineux), 65

66 Négatifs: Un scanner à plat 1200x2400 dpi (minimum) avec dos transparent et porte-négatifs ou un scanner spécialisé (pour une utilisation professionnelle). Interfaces: Il existe plusieurs types d'interfaces pour les scanners. Ceux qui se branchent sur port parallèle ; d autres qui se connectent au port USB ou à interface SCSI. Détaillons chaque critère afin de pouvoir mieux choisir le scanner qui répond à nos besoins : Point 1 - Résolution optique (en dpi) Le couple de chiffres (par exemple 600x1200 dpi) définit le nombre de points que le capteur CCD est capable de discriminer sur une surface d'un pouce carré. Plus ce chiffre est élevé, plus le scanner est précis. Numériser un document A4 à une résolution de 300x300 dpi donne des résultats corrects et suffisants dans plus de 90% des cas. Même si la technologie a déjà tellement évolué qu'il est aujourd'hui recommandé de prendre au moins un 600x600 dpi. J ai considéré qu une résolution de 300x300 dpi répondra suffisamment à nos besoins puisque les documents à scanner sont des papiers de format A4. Point 2 - Profondeur d'échantillonnage Son unité de mesure est le bit. Plus le nombre de bits est élevé, plus le scanner est capable de discriminer un grand nombre de couleurs. En clair, plus il code l'information de façon précise, plus les couleurs seront restituées avec leurs nuances. Pour en connaître le nombre exact, c'est très simple, il suffit d'effectuer le calcul de 2 bits. Un scanner de 10 bits, c'est donc 2^10 (soit 1024) couleurs. 24 bits ; 2^24 (plus de 16 millions) couleurs. 42 bits 2^42 (440 milliards) couleurs. Aujourd'hui, un scanner doit posséder au moins 24 bits. Mais, ce critère n est pas tellement signifiant dans notre cas puisque les attestations d habitations sont en Noir et Blanc. Ce facteur de couleur ne joue pas un rôle majeur qui peut affecter le choix de notre scanner. Point 3 - Type de scanner Ce qui différencie tous ces scanners, outre leur résolution et leur profondeur d'échantillonnage, c'est le type de document qu'ils sont capables de numériser. Selon le type de scanners, les possibilités ne sont pas les mêmes. 66

67 Scanner à main: Presque complètement disparu. Il fallait le déplacer sur la surface à numériser. Au final, la qualité et la fiabilité de ces scanners n'étaient pas bonnes. Scanner à défilement: Capable de numériser une feuille en la glissant dans une fente, il prend moins de place sur un bureau mais reste très limité par son mode d'utilisation. Scanner à plat: C'est le scanner le plus répandu. Il peut numériser tous les types de document opaques, jusqu'au format A4 (la plupart du temps). Scanner à plat à dos pour transparent (lumineux): Offre la solution la plus polyvalente aujourd'hui. Pour peu que la résolution soit de 1200x2400, il peut scanner tous les documents opaques ET les documents sur films (transparents et négatifs 24x36, certains modèles acceptent aussi les négatifs "moyen format"). Scanner de film: Spécialisé dans les négatifs 24x36 (dans 98% des cas), il peut atteindre des résolutions très élevées (plus de 2400x2400 dpi). La qualité de ces scanners est excellente, mais leur usage reste réservé aux professionnels (à cause du prix). Malgré la limitation du mode d utilisation des scanners à défilement, il présente un avantage absolu dans le domaine de rapidité par rapport aux autres scanners. Le glissement d un papier dans une fente est très rapide et pourra alors augmenter considérablement le gain en temps des opérations du scanning. C est pour cela que j ai limité mes recherches à un scanner de ce type. Point 4 - Les interfaces Les scanners d'aujourd'hui présentent plusieurs types de connexions. Les parallèles sont tournés vers le passé. L'USB a le vent en poupe et le SCSI est toujours le plus rapide ; entre les deux, c'est plus une question de choix personnel que de performances à proprement parler... Il faut bien sûr posséder le port en question sur son ordinateur. USB (Universal Serial Bus): De plus en plus de périphériques se connectent au port USB, et les scanners n'échappent pas à cette règle. Les raisons de ce succès sont simples : o Branchement "à chaud" du scanner sur l'ordinateur o Compatible PC et Mac (sauf contre indication) o Taux de transfert plus rapide o Presque tous les ordinateurs de moins de deux ans en sont pourvus 67

68 o Certains modèles s'auto alimentent par ce biais, évitant ainsi de brancher directement le scanner à la prise de courant (déplaçables plus facilement) o Ressource processeur moindre que pour l'interface parallèle SCSI (Small Computer System Device): C'est de loin l'interface la plus rapide. Sa consommation en ressource processeur est très faible. Certains modèles de scanners sont vendus avec la carte contrôleur SCSI, il faut tout de même ouvrir la machine et installer la carte sur un port PCI libre! Le choix de l interface ne constitue pas un facteur dominant mais, le choix d un scanner ayant une interface USB est préférable vu la simplicité de son installation. Cette phase de recherche m a permis de mettre en évidence le scanner le plus adapté à notre environnement ; un scanner à défilement, ayant une interface USB et possédant une résolution minimale de 300x300 dpi. Le modèle ainsi choisi est le modèle CANON DR2080C. Phase II - Développement de l application Il fallait par la suite développer une application capable de communiquer avec le scanner. En fait, lors de l achat d un scanner, des logiciels additionnels sont offerts afin de pouvoir l utiliser. Mais, ces logiciels ne présentent pas une solution fiable qui répond à nos exigences puisqu ils sont conçus pour une utilisation personnelle et offrent ainsi un moyen simple de scanner et sauvegarder les images en format fichier. Or, j ai prévu l utilisation d une base de données au lieu des fichiers comme moyen de sauvegarde des images (voir III.2). Celles-ci seront transformées en BLOB (Binary Image Object). Après une phase de recherche préalable, j ai constaté qu un grand nombre de scanners peut communiquer avec une interface appelée TWAIN. Cette interface sert alors comme moyen de liaison entre un scanner et un logiciel. Cette interface est composée de plusieurs librairies de type Active-X Controls. Lors du développement, j ai utilisé cette interface (après une installation correcte indiquée dans l annexe L) comme étant un intermédiaire (tiers-métier) entre l application et le scanner. J ai développé alors la couche présentation et la couche base de données. Un serveur dédié (contenant la base de données centralisée) présent dans les locaux de l entreprise Mécanique est accessible via WAN (Macro wave) par les utilisateurs du ministère de l intérieur afin de récupérer les informations. Ce même serveur est accessible via LAN par les utilisateurs de l entreprise Mécanique afin d insérer les informations (attestations d habitations). 68

69 La couche présentation devait permettre la rapidité des phases du scan et de recherche des informations. Les utilisateurs du système sont répartis en deux groupes : Un groupe d utilisateurs (employés dans l entreprise Mécanique) qui s occupent des opérations du scanning via une simple interface graphique nommée Document Scanning, Un autre groupe, représentant les utilisateurs destinataires (employés dans le Ministère de l Intérieur), chargé de récupérer les informations suivant leurs besoins via une autre interface graphique appelée Information Retrieval. Les 2 interfaces graphiques constituant la couche présentation sont: Interface 1 : Document Scanning Cette interface permet aux utilisateurs (employés de l entreprise Mécanique) de scanner les documents papiers. Ces documents sont alors sauvegardés sous forme de BLOB (Binary Image Object) dans la base de données centralisée. L utilisateur doit introduire simplement le numéro de la plaque d immatriculation du véhicule, glisser l attestation d habitation dans la fente du scanner et presser un bouton. Ce bouton déclenche alors un automate, totalement invisible à l utilisateur qui se charge de: Insérer une entrée dans la base de données correspondant au numéro de la plaque d immatriculation Scanner le document sous format Fichier-Image Transformer le Fichier-Image ainsi créé en format BLOB Insertion de cet objet dans la base de données Elimination du Fichier-Image Association de l objet image ainsi inséré au numéro de la plaque d immatriculation introduite auparavant La simplicité et la rapidité de cette opération permettent d augmenter énormément le rendement des utilisateurs. 69

70 La figure 12 illustre le fonctionnement de cette opération : Figure 12 : Phase de scan Interface 2 : Recherche des Informations Cette interface permet aux utilisateurs (employés du Ministère de l Intérieur) de récupérer les informations souhaitées de la base de données centralisée. Il suffit que l utilisateur tape le numéro d immatriculation du véhicule, le système recherche alors l attestation d habitation correspondante (sous forme d objet binaire dans la base de données centralisée). Si cette dernière est trouvée, elle sera transformée en format image et affichée sur l écran. Cette attestation pourra être ainsi consultée et même imprimée. Cette opération de recherche ne dépasse pas les 2 ou 3 secondes. Avantages Les objectifs assurés par cette application sont : Une fréquence élevée des opérations du scanning : Grâce à une interface graphique simple, les opérations de sauvegarde des données et du scanning sont très simples. Un gain de temps en recherche d informations : Ces recherches permettent l'affichage des documents en moins de cinq secondes depuis un poste de travail. Un risque de pertes ou déclassement de documents minimisé (Un backup se fait régulièrement pour minimiser les risques de perte d informations) Des documents ré-imprimables à volonté. 70

71 La figure suivante (Figure 13) décrit l architecture globale de l application Figure 13 : Gestion des Documents Electroniques 71

72 5 Contrôle de Qualité V.1 La Qualité du Contrôle V.2 La Surveillance des centres de contrôle 73 V.3 Les Contrôleurs V.4 Le Système de Monitorage V.5 Informatisation des Procédures V.1 La Qualité du Contrôle Le contrôle technique des voitures de tourisme et des camionnettes a été rendu obligatoire en Il doit avoir lieu 3 ans après la mise en circulation du véhicule puis ensuite être renouvelé chaque année. En 2005, environ 900 milles véhicules ont été contrôlés % environ d entre eux ont du être présentés à un contrôle complémentaire après réparation. Ce volume important et les implications de ces prestations au regard de la sécurité routière requièrent une organisation rigoureuse des contrôles garantissant à la fois leur impartialité et leur qualité technique. La surveillance des installations de contrôle et des réseaux est affiliée à une entreprise appelée Vivauto, agréée par le Ministère des Municipalités et du Transport. Cette entreprise est alors chargée d inspecter la qualité des contrôles réalisés dans tous les centres. A ce titre, notamment, elle effectue des audits dans chaque installation et suit de près les formations des contrôleurs et des superviseurs. Pour répondre aux exigences de Vivauto, l entreprise Mécanique a chargé alors le département "Quality Control" de veiller sur la surveillance des installations du contrôle et du réseau et d implémenter les suggestions et les actions correctives exigées par Vivauto. 72

73 V.2 La Surveillance des Centres de Contrôle Le département "Recherche et Développement" a été chargé de mettre aux dispositions du département "Quality Control" des logiciels informatiques capables d automatiser ces opérations de surveillance. Afin de pouvoir commencer le développement des ces outils facilitant les tâches des membres du département "Quality Control", il fallait que je comprenne en un premier lieu les détails et les procédures employées au sein de ce département. V.2.1. Les Objectifs Les visites de surveillance ont plusieurs objectifs. Un premier est de s assurer de la bonne organisation pour ce qui concerne notamment : les locaux et l environnement ; la gestion et la formation du personnel ; la maintenance du matériel servant aux contrôles techniques; les modes opératoires de contrôle ; les suites données au recours. Un deuxième objectif est de s assurer du bon déroulement des contrôles techniques. La garantie de la qualité des visites techniques réalisées dans les installations de contrôle est un troisième objectif. En particulier, ces visites de surveillance sont chargés d auditer les installations et d exercer un suivi de leur activité. Ils organisent, par ailleurs, la formation des contrôleurs et mettent à disposition les outils indispensables à la bonne réalisation des visites (procédures, instructions, logiciel informatique..). Les centres de contrôle qui ont l obligation de travailler sous assurance qualité, sont tous certifiés par rapport à la norme ISO 9001 Version La surveillance exercée a alors, pour quatrième objectif, de vérifier que ces dernières remplissent correctement les différentes composantes de leur mission réglementaire. 73

74 V.2.2. Les Modalités Hors les visites dans le cadre de l instruction d une demande d agrément, deux types de visites de surveillance ont été définis : 1 - Visites approfondies dont les dates sont fixées: Elles sont l occasion d un examen systématique des dispositions d organisation, des procédures, de la bonne application de ces mêmes dispositions, du dernier rapport d audit réglementaire effectué, des suites données aux actions correctives préconisées lors de l audit, des statistiques d activité de l installation et des contrôleurs et de la réalisation d au moins une visite technique. 2 - Les visites ponctuelles réalisées de façon inattendue : Elles sont destinées en priorité, soit à vérifier un point particulier de l activité d une installation qui aurait été identifié lors d une visite approfondie, soit à examiner le bien-fondé d une réclamation locale. Les visites approfondies ou ponctuelles sont suivies de rapports adressés à l exploitant (directeur générale de l entreprise) pour propositions d actions correctives. Le cas échéant, des propositions de sanctions sont transmises aux chefs de départements ou aux contrôleurs concernés. V.2.3 Le Bilan Les anomalies constatées au cours des visites portent principalement sur : Le matériel de contrôle : vérification, maintenance, dépassement des dates limites d étalonnage. Le déroulement du contrôle (l omission de certains points de contrôle) La gestion des documents (délivrance des documents) Le suivi des contrôleurs Les locaux Le suivi des observations faites à l issue des visites de surveillance, s est avéré inefficace et difficile à suivre. Il a été relevé pour l essentiel d utiliser des moyens informatiques pour : 74

75 Assurer le suivi et l analyse de la performance des contrôleurs, Assurer l efficacité et la rapidité de réponse lors du contrôle du matériel Ces moyens informatiques doivent alors permettre l exercice d une meilleure surveillance du fonctionnement des centres. Afin de remplir ces deux missions, j ai été amené alors a créé deux systèmes informatiques ; Le système de Monitorage des contrôleurs et, le système de contrôle de matériels. Les buts à accomplir par ces deux systèmes sont : Monitoire des performances des contrôleurs, Automatisation des procédures du contrôle du matériel. Dans les paragraphes V.4 et V.5, je vais expliquer en détails les techniques que j ai utilisé lors du développement de ces deux logiciels. 75

76 V.3 Les Contrôleurs V.3.1 Définition Le contrôleur technique ne se contente pas de réaliser les vérifications légales. Il se charge également des relations avec la clientèle au travers de l'accueil et de l entretien des appareils de contrôle. Après avoir pris en charge le véhicule du client, il effectue tous les contrôles en fonction de la réglementation en vigueur: freinage, direction, visibilité, éclairage et signalisation, train roulant, structure carrosserie, équipements, organes mécaniques, pollution, niveau sonore,... Il travaille au sein du centre de contrôle et est encadré par le chef de centre. Le contrôleur est aussi en contact avec les équipementiers et les entreprises d'entretien des équipements de contrôle. V.3.2 Responsabilité La responsabilité des centres de contrôle peut être mise en cause lorsqu un défaut qui aurait dû être détecté ne l a pas été. Le centre est non seulement responsable à l égard de l entreprise Vivauto, mais aussi à l égard du propriétaire du véhicule. Par exemple, l état d oxydation du châssis d un véhicule âgé de 17 ans, ne doit pas échapper au contrôleur à l issue du simple contrôle visuel. Le centre de contrôle pourrait être condamné à verser des dommages et des intérêts quand des lacunes pareilles apparaissent après le contrôle d un véhicule. Un autre exemple est le cas d un contrôleur qui préconise une remise en état dès que possible (et non immédiatement) du frein de stationnement et un réglage du train avant, sans insister sur l urgence et la nécessité de faire ces travaux. Ce contrôleur ne remplit pas alors sa mission correctement. Il engage donc sa responsabilité à l égard du département "Quality Control". Il pourrait éventuellement être poursuivi pour complicité de tromperie et l entreprise par suite pourrait être suivie pour cause d inefficacité du contrôle. 76

77 V.4 Le Système de Monitorage V.4.1 Introduction Il fallait que je développe un système qui jouera le rôle d un moniteur automatique. Cette application sera consultée régulièrement par le département Quality Control. Elle doit indiquer, en temps réel ou différé, les défaillances et les anomalies du contrôle des véhicules afin de rendre le déroulement de ces derniers conforme aux normes agréées. Un superviseur (qui fait généralement partie du département Quality Control) peut alors capter ces contradictions et y intervenir pour prendre les actions correctives correspondantes. Ce système de monitorage, en se basant sur les performances des contrôleurs, doit aussi affecter des notes à ces derniers. Ce système de "carnet de notes" permettra ainsi de distinguer les contrôleurs les uns des autres. Les contrôleurs ayant une bonne note seront récompensés (par exemple il pourra être élu comme étant "Employé du mois"). Avant le développement d une telle application, il fallait que je comprenne exactement les méthodes employées par les contrôleurs pour manipuler les résultats des tests. Parmi les scénarios que j ai pu remarqué, je vais donner quelques uns à titre d exemple. Scénario 1 Effacement d un Code Avant propos : La présence d'une certaine anomalie visuelle dans le véhicule doit imposer au véhicule de passer un re-contrôle après fixation de cette anomalie. Acteur 1 : Contrôleur au premier poste Acteur 2: Contrôleur au poste numéro 4 o L'Acteur 1 performe un contrôle habituel et indique la présence d'une certaine anomalie visuelle dans le véhicule (Absence du ceinture de sécurité par exemple). Conclusion: ce véhicule ne coïncide pas avec les normes de sécurité. Il est prévu de ne pas passer avec succès le contrôle technique périodique. o Les donnés sont transférées au second poste, au troisième poste et vers la fin au poste numéro 4. o Au poste numéro 4, L'Acteur 2, indique que la ceinture de sécurité est présente. L'Acteur 2 conclut le contrôle. Le véhicule est prévu de 77

78 passer avec succès le contrôle technique périodique. Un re-contrôle n est plus exigible. Scénario 2 Test inefficace de l oxyde de carbone Avant propos : Pour que le test du l oxyde de carbone soit efficace, il faut insérer un tube dans l échappement du véhicule pour une durée de 30 secondes. Une durée de moins de ces 30 secondes aboutira à des résultats erronés. Acteur 1 : Contrôleur au premier poste o L'Acteur 1 performe un contrôle habituel de l oxyde de carbone. Il insère le tube dans l échappement du véhicule. Il enlève ce tube avant la limite des 30 secondes. Le test est alors erroné. Scénario 3 Test inefficace du système de freinage Avant propos : Pour que le test du système de freinage soit efficace, il faut en un premier temps prendre le poids total d un véhicule. Ce poids est composé de 4 parties : poids de l axe avant droit, l axe avant gauche, l axe arrière droit et l axe arrière gauche. Ce poids est calculé automatiquement par des capteurs en plaçant le véhicule sur un certain plateau au poste numéro 2. La position du véhicule sur ce plateau doit être centrée sinon, le poids total du véhicule sera erroné. Puisque le résultat du système de freinage prend en compte le poids du véhicule, des résultats erronés de ce poids affectera le résultat des freins. Acteur 1 : Contrôleur au second poste o L'Acteur 1 place le véhicule d une façon non centrée sur le plateau au poste numéro 2. Par la suite le contrôle du système de freinage est erroné. Scénario 4 Contrôle générale inefficace Avant propos : Le déroulement du contrôle d un véhicule (voiture par exemple) doit être comprise entre 20 et 40 minutes. Une durée en dessous ou au-delà de cette limite indiquera qu un contrôle, effectué sur un certain poste, est fait d une façon nonchalante. Le système de monitorage doit capter le poste de contrôle et le contrôleur responsable de l inefficacité du contrôle. 78

79 Scénario 5 Copier Coller des résultats Un contrôleur, présent sur un poste de contrôle, peut affecter les résultats d un véhicule qui a déjà passé le contrôle avec succès à un autre véhicule (susceptible de ne pas passer le contrôle avec succès). D autres scénarios existent (17 scénarios au total) et affectent directement le résultat du contrôle et par la suite l honnêteté de l entreprise Mécanique. Il fallait alors que je trouve les moyens informatiques capables de capter la totalité de ces scénarios, les signaler aux superviseurs afin de prendre les actions correctives correspondantes. J ai fais alors, dans une première étape, une étude approfondie et détaillée de tous les codes présents dans les sorties du EUROSYSTEM. Ces sorties sont les fichiers ES-Out générés par ce système après le contrôle d un véhicule (voir la section III.1.3 page 24). Afin de compléter cette tâche, j ai consulté le catalogue fourni par l entreprise MAHA qui donne les identifications des numéros des codes et l interprétation de leurs valeurs contenus dans les fichiers ES_Out. Voici quelques exemples d identifications des numéros des codes: Le code numéro est celui du test de l oxyde de carbone. Si la valeur de ce code est 0.000, ceci indique que le test de l oxyde de carbone n a pas été effectué. Le code numéro fait référence au poids de l axe avant droit d un véhicule. Le code numéro indique le temps d entrée d un véhicule sur le premier poste de contrôle. Le code numéro indique le temps de sortie d un véhicule du premier poste de contrôle. Etc. Un système informatique capable de lire préalablement le contenu du fichier ES-Out et d analyser automatiquement par la suite les résultats contenus dans ce fichier doit permettre de contourner un grand nombre d anomalies. Mais, ce logiciel ne pourra jamais capter la totalité des anomalies. Dans le scénario 1 par exemple, un certain code défectueux a été placé par un contrôleur (Absence de ceinture de sécurité par exemple) mais, si jamais ce contrôleur n a pas signalé du tout la présence d une telle anomalie, le système ne pourra pas alors indiquer que le contrôle est inefficace. 79

80 Il faudra alors que le système de monitorage travaille en concordance avec les superviseurs afin d aboutir à des résultats satisfaisants. Après cette phase d analyse, les étapes à développer constituant le système informatique de monitorage sont: Collection des informations de contrôle, Analyse des informations, Affichage des anomalies. 80

81 V.4.2 Architecture du système de monitorage Cette application est basée sur une architecture "3-tiers" développée en utilisant le.net Framework et la base de données SQL Server Ces différentes couches sont: Couche Présentation: Comprend les différents types de clients (Les Interfaces graphiques qui manipulent les informations). Couche métier: Comprend les traitements (classes, modules). Couche données: Comprend les modèles de stockage des informations (Base de données relationnelles, Fichiers XML, Fichiers texte etc....). La figure 14 montre l architecture 3-tier du.net Framework Figure 14 : Architecture 3 tiers Cette séparation des rôles et des couches permet de minimiser l'impact de l'évaluation de l'application dans le futur. Les avantages de la distribution des rôles sont expliqués en détails dans la partie IV.1. 81

82 V.4.3 Collection des Informations La base de données EUROSYSTEM est une base de données propriétaires. Les langages de programmation habituels ne sont pas capables d accéder à une telle base afin de retirer les informations qui nous seront utiles. Le seul moyen valable pour retirer les informations contenues dans cette base se concrétise par l étude du contenu du fichier ES_Out généré par le EUROSYSTEM à la fin du contrôle. Mais, une phase d analyse avancée m a conduit à la conclusion que la lecture de ce fichier ES-Out n est ni suffisante ni efficace pour capter les anomalies d d un contrôle. Elle ne donne pas des résultats satisfaisants au niveau d analyse du contrôle puisque la marge de manipulation par les contrôleurs est très grande. Pour clarifier les choses, prenons un exemple ; si un code visuel est signalé par un contrôleur présent au poste numéro 1. Cette indication sera alors inscrite dans la base de données du EUROSYSTEM. Si un contrôleur présent au poste numéro 3 efface ce code, la base de données EUROSYSTEM sera mise à jour. A la fin du contrôle, un fichier ES-Out sera généré. Ce fichier n indiquera pas qu un code visuel était signalé par un contrôleur et effacé par un autre. Une telle manipulation ne pourra pas alors être captée!!! La figure 15 clarifie cette situation: Figure 15: Effacement d un code visuel 82

83 La lecture du fichier ES-Out généré à la fin du contrôle n est pas suffisante. Elle n indique pas les manipulations faites tout au long du contrôle. Pour augmenter l efficacité du système de monitorage, une analyse détaillée devrait être faite après le passage du véhicule sur chaque poste de contrôle. Les fichiers ES-Out intermédiaires Après consultation avec l entreprise MAHA, on s est mis d accord à ce que le système EUROSYSTEM sera modifié de sorte qu il puisse fournir en plus du fichier ES-Out, des fichiers ES-Out intermédiaire. Chaque ES-Out intermédiaire sera généré à la fin du contrôle effectué par un poste de contrôle (et non pas à la fin globale du contrôle) ; il contiendra les résultats du contrôle correspondants à ce poste. Cette addition permettra au système de monitorage d analyser avec plus de précisions les défaillances du contrôle technique. La figure 16 explique ce nouveau fonctionnement du EUROSYSTEM: Figure 16 : ES-Out intermédiaires 83

84 Le EUROSYSTEM crée ces fichiers ES-Out intermédiaires au fur et à mesure du passage des véhicules auprès des postes de contrôle. L emplacement physique de ces fichiers est manipulable. Il est possible de spécifier au EUROSYSTEM de créer ces fichiers sur l ordinateur lié au poste de contrôle ou, sur un certain dossier présent sur grand ordinateur. J ai choisi le second choix puisque c est plus simple de récupérer les fichiers d un seul emplacement au lieu de plusieurs. Le trafic réseau est alors réduit et la programmation est plus simple. La première phase du développement consiste alors à récupérer ces fichiers lors de leur création afin de les analyser. Pour implémenter cet échange, plusieurs solutions existent : Les Services Web Elles peuvent être une solution séduisante au premier abord mais, elle n'est malheureusement pas triviale à mettre en oeuvre dans notre cas. Le client devant posséder une certaine logique d'invocation à travers un objet Proxy SOAP et les reprises, en cas d'échec de la communication, n est pas assuré par les Services Web de manière native. Faire du Pulling Cette méthode consiste à lancer un seul Thread (programmation asynchrone) qui invoquera la méthode ismodified() de l emplacement contenant les fichiers ES- Out intermédiaire à intervalles réguliers. Ce mécanisme est assez souvent employé dans les serveurs d'application, il est efficace mais coûteux en temps machine (monopolisation du CPU pendant l exécution du mécanisme). Lancer des Tâches de fond (Jobs) Les lancer à certaines heures, lorsque ces dates sont connues à l'avance bien entendu. Cette méthode s'accommode mal puisque les créations des fichiers ES-Out intermédiaires sont aléatoires. Utiliser l objet FileSystemWatcher Cet objet, présent dans le.net Framework, a le rôle d avertir un système informatique lorsqu'un nouvel évènement de type Modification, Suppression ou Création apparaît sur un fichier donné. J aurai à préciser le type d'évènement "Création" (d un fichier ES-Out intermédiaire) comme étant le type d événement à gérer. 84

85 Lorsque ce type d événement survient, le système de monitorage sera notifié par le Framework immédiatement. La récupération de l information est ainsi faite, la phase d analyse et de traitement pourra alors commencer. Méthode choisie : FileSystemWatcher L objet FileSystemWatcher est optimisé par le Framework.NET pour prendre le minimum de ressources machine. En plus il est facile à utiliser. Pour ces raisons cet objet s est manifesté comme la solution la plus adéquate à mes besoins. La création d un FileSystemWatcher passe par les étapes suivantes : Créer l objet FileSystemWatcher Spécifier le répertoire à superviser Définir les types de fichiers concernés via un filtre (*.txt, *.xml) Spécifier les événements qui nous intéressent : Created, Deleted, Renamed ou Changed Créer les méthodes qui seront appelées lorsqu un événement survient La figure 17 ci-dessous décrit le fonctionnement du FileSystemWatcher Figure 17 : Fonctionnement du FileSystemWatcher 85

86 Problèmes rencontrés Deux problèmes majeurs se sont émergés durant les phases de tests préliminaires que j ai amené: Création de plusieurs évènements pour une seule action La création d un seul fichier texte a généré plusieurs événements qui seront tous traités par le composant FileSystemWatcher. La cause de cette erreur est que le EUROSYSTEM performe plusieurs actions durant la procédure de création d un fichier ES_Out. Il écrit dans une première étape le contenu du fichier et, dans une deuxième étape il affecte les attributs de ce fichier. Puisque l objet FileSystemWatcher observe les activités du système d exploitation, tous les événements générés seront traités et par suite, pour chaque fichier ES_Out intermédiaire créé, deux évènements seront déclanchés! Fichiers ES_Out non traités Lors de la présence d un grand nombre de fichiers dans un emplacement qui sera observé par l application du monitorage, certains de ces fichiers n ont pas été traités par l objet FileSystemWatcher!!! En fait, le centre de contrôle localisé à Hadath est considéré comme celui le plus grand au monde, il contient 25 lignes de contrôle et alors, une simple opération de calcul permet de déduire, qu à un instant donné, 100 fichiers ES_Out intermédiaires pourraient être générés simultanément. Apparemment, l objet FileSystemWatcher n est pas conçu à traiter ce nombre de fichiers simultanément!!!! L utilisation de l objet FileSystemWatcher était sensé être facile et simple mais la présence des problèmes cités là-dessus m a amené a reconsidéré mes choix. Malgré que le remède au premier problème pourrait exister, le deuxième problème est intraitable. Pour cela j ai décidé d utiliser la méthode Pulling. 86

87 Méthode alternative choisie : Faire du Pulling Ce mécanisme (assez employé dans les serveurs d'application) est efficace mais coûteux en temps machine puisqu il consiste à lancer un Thread à intervalles réguliers. Mais, puisqu il était prévu de dédicacer un ordinateur à cette application de monitorage, le problème du coût en temps machine ne constitue pas un obstacle. Avant le début du développement et après consultation avec le utilisateurs de ce système, il était prévu d afficher les anomalies captées par ce système de monitorage en temps réel et ce, pour que les superviseurs puissent prendre les mesures nécessaires et les action correctives presque immédiatement. Le cycle constituant les étapes du logiciel est composé des fonctions suivantes: Récupération des informations du contrôle (voir partie V.4.4), Analyse de ces informations (voir partie V.4.5) afin de capter les anomalies, Sauvegarde des anomalies dans la base de données (s ils existent), Affichage instantané des anomalies aux utilisateurs (s ils existent), Consultation des anomalies (afin de prendre les actions correctives) et indication au système de l action corrective effectuée. En fait, ce logiciel de monitorage nécessite une interaction avec des utilisateurs (superviseurs). Ces derniers doivent être informés des anomalies lors d un contrôle technique d un véhicule afin de pouvoir prendre les actions correctives (parfois, le contrôle technique pourra être repris dès le départ, c est ce qu on appelle un re-contrôle). Ce logiciel doit ainsi réagir assez rapidement que possible pour capter les anomalies afin de les afficher aux utilisateurs en temps réel. Cependant, ce logiciel doit en même temps récupérer les données, les analyser (en effectuant des calculs parfois complexe) afin de capter les anomalies puis, les insérer dans la base de données. Si je prends en compte l exécution de toutes les taches composant le cycle d exécution, ce dernier puisse être interrompue si une certaine anomalie n est pas réglée. Le cycle sera alors en état de suspension jusqu à ce que cette anomalie non réglée sera traitée. 87

88 L utilisation d un seul Thread d'exécution est alors inefficace, j ai ainsi prévu de subdiviser le cycle d exécution en deux: Une partie faite d une façon asynchrone qui assure la communication avec les utilisateurs en affichant les anomalies et, Une autre partie indépendante pour la récupération, l analyse des informations et le sauvegarde dans la base de données. Cette décomposition permettra alors d'accroître la réactivité par rapport à l'utilisateur et de réduire le temps de traitement des données de l application. J ai ainsi programmé une seule application composée de deux Threads puisque j ai considéré que cette technique est la plus efficace pour accroître la réactivité par rapport à l'utilisateur et traiter d'une manière presque simultanée les données nécessaires à l'accomplissement des tâches (récupération, analyse et affichage des anomalies rencontrées). Sur un ordinateur équipé d'un processeur, plusieurs Threads peuvent créer cet effet, tirant profit de courtes périodes de temps entre les événements utilisateur pour traiter les données en arrière-plan. Par exemple, un utilisateur peut récupérer les anomalies du test du CO, tandis qu'un autre Thread recalcule d'autres anomalies (système de freinage par exemple) au sein de la même application. 88

89 La figure 18 explique la procédure citée en dessus. Figure 18 : Fonctionnement de l Application de Monitorage 89

90 V.4.4 Récupération des Informations Plusieurs points sont examinés par l application de monitorage, une liste de tous ces points se trouve dans l annexe I. Apres la phase de récupération des informations, le logiciel, en utilisant des algorithmes précis, se met à analyser ces informations afin de trouver les anomalies. V.4.5 Analyse des Informations Plusieurs points sont examinés par l application de monitorage, une liste de tous ces points se trouve dans l annexe I. Apres la phase de récupération des informations, le logiciel, en utilisant des algorithmes précis, se met à analyser ces informations afin de trouver les anomalies. Toute anomalie captée est insérée dans la base de données afin qu elle soit diffusée aux utilisateurs. L une des anomalies la plus répandue et la plus difficile à capter est le test du système de freinage. En fait, ce test de freinage se base sur le poids des véhicules. Si la prise du poids d un véhicule est erronée, ceci affectera le test du système de freinage et aboutira à des résultats erronés. Le poids d un véhicule est pris après le placement (par un contrôleur) de cette dernière d une façon précise sur une certaine plaque (au poste de contrôle numéro 2). Si ce placement n est pas précis, le senseur ne captera pas le poids exact du véhicule et alors, le système de freinage donnera des résultats erronés. Or, dans les fichiers ES-Out, on récupère le poids calculé par la machine et non pas le poids que doit avoir un véhicule. Afin de pouvoir comparer le poids calculé par la machine et son poids correct, il fallait que je trouve un moyen pour retrouver les poids corrects des véhicules. Il fallait alors que je construis une base contenant les poids des véhicules. En se basant sur les fichiers ES-Out générés par le EUROSYSTEM de l année 2003 (ce système de monitorage est fait pendant la deuxième année du contrôle technique qui a débuté en 2003), j ai développé une application qui a pour but d extraire le moyen des poids des véhicules en se basant sur la marque (exemple Mercedes), la date de création (exemple année 1999) et le modèle (exemple C 230). 90

91 Cette application a alors étudié le contenu d une totalité de près de 900,000 véhicules. Apres la population de cette base, je pouvais maintenant étudier le contrôle du système de freinage. Cette étude est constituée des points suivants: Après la fin du contrôle au poste numéro 2, un fichier ES-Out intermédiaire est généré. Le système retire de ce fichier le poids du véhicule (addition des 4 valeurs des axes constituant le poids total), Comparer ce poids au poids contenu dans la base de donnée contenant les poids calculés de l année précédente pour ce même véhicule, Si une différence de poids existe et est plus que (ou moins que) 10 % le système de monitorage considère que le poids du véhicule est erronée, une anomalie est alors signalée, Sinon, aucune anomalie n est signalée, Si par contre, le poids de ce véhicule n existe pas dans la base de données, il sera inséré et aucun test ne sera effectué. La figure 19 montre le fonctionnement de ce test Figure 20: Test du poids 91

92 V.4.6 Résultats constatés Après la mise en production du système de monitorage les améliorations suivantes sont enregistrées : 65 % des contrôleurs ont fait l objet d une suspension d agrément, 5 % des contrôleurs se sont vus retirer leurs agréments, Le rendement des contrôleurs a évolué de 20 %, Minimisation des résultats faussés à cause de l augmentation du pourcentage des véhicules qui ont passé la visite complémentaire. 92

93 V.5 Le Système d Informatisation des Procédures Les formulaires administratifs du département "Quality Control" représentent une portion importante de la totalité des documents produits et reçus au sein de l entreprise. Ces formulaires sont générés par les inspecteurs durant les visites de surveillance des centres de contrôle, plusieurs types de formulaires existent: Les formulaires concernant le suivi des équipements (équipements en faille, équipements non réglés proprement, etc. ), Les formulaires concernant les plaintes des clients (état du véhicule du client endommagé après le déroulement du contrôle, temps d attente avant le commencement du contrôle est très long, etc. ), Les formulaires concernant le suivi des contrôleurs (contrôleur a besoin de plus d entraînement, contrôleur ayant les qualités techniques suffisantes pour obtenir une promotion, etc. ). V.5.1 Les Objectifs L'information que recèlent les inspecteurs s'avère souvent d'importance capitale pour la conduite et le suivi de ces visites. Il faut donc s'assurer que les formulaires en vigueur recueillent les bonnes informations. Ces informations doivent être facilement exploitables. Leur distribution représente une source d'économies très appréciable. Ceci représente une deuxième exigence de l application. Le contrôle de leur prolifération et l'élimination de ceux devenus inutiles ou redondants représentent le troisième volet de cette activité. Ce logiciel doit être capable d en fournir à partir de ces formulaires administratifs des rapports internes constituant une importante source d'information. Ceux ci renferment les données témoignant de la production des contrôleurs et font le point sur les problèmes existants ou émergeant (notamment les problèmes des matériels et de leur maintenance). C'est à partir de ces rapports internes que se prennent la majorité des décisions, d'où la nécessité d'en contrôler la qualité. En développant un système informatique capable de répondre à ces demandes, j épargnerai à la fois le temps de travail requis pour concevoir les formulaires, le coût du matériel et de l'entreposage qu'ils requièrent, ainsi que celui du personnel devant les compléter. 93

94 V.5.2 Architecture et Fonctionnement Il fallait ainsi développer un système informatique dont l objet est la gestion automatique et informatisée de ces formulaires. Mais, l existence de plusieurs types de formulaires (3 types au total) m a posé un premier problème. En fait, chaque formulaire concerne un département spécifique. Les trois de département sont : Département qui s occupe du suivi des contrôleurs, Département qui s occupe du suivi de matériel et, Département qui s occupe du suivi des plaintes Chacun de ces départements est autonome. Il est sous la supervision directe du département "Quality Control". Les informations de chaque département lui sont spécifiques et ne doivent pas être partagées. Le développement de trois applications distinctes nécessitera la création de trois bases de données et le développement de trois logiciels. La phase du développement sera ainsi longue et la maintenance sera un facteur préoccupant. J ai décidé ainsi de développer une seule application en tenant compte de la diversification des interfaces graphiques concernant chacun des départements. Chaque interface graphique reflète (par ses couleurs, son langage etc. ) les connaissances des utilisateurs du département concerné. En fait, certains départements préfèrent d utiliser le langage arabe pour traiter les informations (c est le cas du département du suivi des plaintes des clients) pour une simple raison ; ce sont les clients mêmes qui remplissent ce formulaire (sur support papier) et par suite, ça sera l utilisateur qui saisira ces informations et alors, c est inutile et embêtant pour l utilisateur de copier / traduire les plaintes en utilisant une interface en latin. Un exemplaire de ces interfaces graphiques se trouve dans l annexe K. Afin de pouvoir distinguer les départements les uns des autres, j ai créé une table "Groups" contenant les groupes d utilisateurs du système. Chaque groupe reflète un département spécifique (il en existe trois au total). Chaque utilisateur aura accès seulement aux interfaces et par suite aux informations concernant le groupe dont il fait partie. 94

95 La figure suivante (figure 21) montre la phase d accès au système : Figure 21 : Accès au système Base de données Durant la phase de création de la base de données, il fallait faire attention de ne pas confondre les entités. Par exemple, un contrôleur qui s occupe du suivi des matériels n est pas le même qui s occupe des visites périodiques des véhicules. Il fallait ainsi créer deux entités distinctes tbl_contrôleur_contrôle et tbl_contrôleur_matériel. La première entité reflète les contrôleurs qui assurent le contrôle technique du véhicule tandis que la deuxième reflète les contrôleurs qui assurent la maintenance du matériel du contrôle. Architecture J ai conçu l architecture de ce système de façon qu il tourne autour d un centre de stockage centralisé appelé unité centrale. Ce dernier est un serveur équipé de périphériques de stockage (une base de données), d un système opérationnel Windows et du logiciel. Les applications clientes appelées "Units" pouvant accéder au centre sont interconnectées par IP (Wide Area Network). Les données sont ainsi directement inscrites sur l unité centrale. Le logiciel pourra être installé sur n importe quel poste de travail faisant partie du réseau. Chaque utilisateur aura un nom d utilisateur, un mot de passe et sera affecté à un groupe afin de pouvoir accéder à l interface approprié du système. 95

96 Administration centralisée Les administrateurs ont une vision globale des unités par l intermédiaire d une fenêtre graphique permettant à la fois la configuration et la supervision. Cette fenêtre peut être ouverte depuis les postes des administrateurs. En fonction de leurs droits, ces derniers effectuent facilement tout type d opération : Suivi des formations des contrôleurs Suivi des opérations de maintenance des matériels en panne Suivi des plaintes des clients (plaintes résolues, plaintes non résolues, etc. ) Interface I: Suivi des contrôleurs En se basant sur les instructions du département du Quality Control, un superviseur est chargé de suivre les performances de 10 contrôleurs. En fait, un contrôleur est sous la direction directe d un superviseur. Le suivi de ces contrôleurs constitue une étape essentielle pour assurer le bon fonctionnement du contrôle technique périodique des véhicules. Ce suivi permet de distinguer les contrôleurs les uns des autres. En se basant sur leur performance, ils pourrant être promu, dégradé, etc.... Ce suivi est fait d une façon hebdomadaire. 11 points au total sont examinés (Voir Annexe K). Certains de ces points sont étudiés par les superviseurs appropriés (communication, flexibilité, connaissances techniques, etc. ), d autres points sont générés automatiquement par le système du contrôle de qualité (voir section V.4.1). Chaque superviseur aura alors à affecter des notes aux contrôleurs appropriés. Ce superviseur accédera au système informatique en fournissant son nom, son mot de passe et le groupe dont il fait partie (Groupe : Superviseur). Il sera redirigé vers l interface graphique correspondante. Il choisira le numéro du contrôleur en question, il lui affectera une note comprise entre 0 et 5 à neuf de ces 11 points. 2 points sont affectés automatiquement par le système de contrôle de qualité (nombre de véhicules contrôlés et la note affectée par le système de monitorage). Le système informatique s arrangera alors de calculer la moyenne des contrôleurs. Le système peut alors suggérer des actions correctives prédéfinis (par exemple une moyenne en dessus de 17 nécessitera une promotion, etc. ) ; Ces moyennes (et les actions correctives suggérées par le système) pourront être consultés par l administrateur (utilisateur du département Quality Control) pour prendre les actions correspondantes. 96

97 Interface II: Suivi des plaintes Les plaintes des clients constituent un sujet assez important. Ces plaintes doivent être réglés rapidement et efficacement selon leur niveau. En fait, un niveau est associé à chaque plainte ; par exemple si cette plainte concerne un accident qui s est manifesté durant le déroulement du contrôle, l administrateur doit être informé automatiquement et rapidement afin de régler le problème le plus tôt possible puisque le niveau d une telle plainte est assez élevé. Les étapes qui seront suivis sont les suivantes : Le client se présentera vers un contrôleur responsable de suivre les plaintes des clients Le client expliquera au contrôleur les détails de sa complainte Le contrôleur accèdera alors au système pour remplir les informations fournies par le client S il s agit d une plainte ayant un niveau assez élevé, un mail sera renvoyé à l administrateur (celui-ci sera aussi informé par téléphone) Les actions correctives seront alors prises assez rapidement par le contrôleur sous la supervision de l administrateur S il ne s agit pas d une plainte ayant un niveau assez élevé, le contrôleur prendra les coordonnées du client. Les actions correctives seront alors prises par le contrôleur sous la supervision de l administrateur. L administrateur contactera le client pour lui fournir des explicatives. Interface III: Suivi du matériel (réglage) Le système informatique (en se basant sur la base de données proprement remplies) est capable de fournir aux contrôleurs une liste des machines à être réglées et ce, d une façon régulière. En fait, chaque machine doit être réglé à des intervalles de temps bien précis. Ces informations sont remplies dans la base de données une et une seule fois par l administrateur. Le système informatique, après consultation (que doit avoir lieu chaque matin), fournira aux contrôleurs une liste des machines à être réglée. En cas de négligence, l administrateur système sera prévu (après consultation du système) et pourra ainsi prendre les mesures correspondantes. 97

98 Une Solution Economique L utilisation de matériel de stockage standard permet de réduire significativement les coûts d investissement, tout en assurant des fonctionnalités de très haut niveau. Les états internes La création et la réimpression des états donnent lieu à une analyse des besoins ainsi qu'à une planification visant à éviter la duplication, la redondance ou la rupture des stocks. Conclusion Après installation et utilisation de ce système, les avantages distingués sont la continuité de service, la sécurisation des données et l optimisation des ressources en s appuyant sur du matériel standard. 98

99 6 Maîtrise des Risques de Perte d Informations VI.1 La Réplication des Données VI.2 Types de Réplication de SQL Server VI.3 La Structure Adoptée VI.4 Les Résultats Constatés VI.1 La Réplication des Données En se focalisant sur la maîtrise des risques de perte d informations, les coûts, la productivité et la cohérence générale, il fallait optimiser la gestion globale de notre système d information. L homogénéité et la réplication des bases de données d aide à la décision sont les obstacles à surmonter. Notre département est alors amené à mettre en place des projets pour répondre à ces besoins. Il fallait trouver alors un moyen qui consiste à propager les mises à jour des données d'une application vers une ou plusieurs autres en temps réel. Etre capable de faire de la haute disponibilité de machines est une chose qui présente de nombreux avantages. Malheureusement elle ne résout pas à elle seule la disponibilité des services hébergés et la solution peut parfois être fort complexe dans le cadre des bases de données. Ceci est dû au fait que, contrairement à un serveur web, un site ftp ou tout autre service, il s agit de gérer un jeu de données qui peuvent être modifiées à fréquence élevée. 99

100 VI.1.1 Définitions Une application de base de données repose sur un modèle client-serveur. Dans ce modèle, le client se connecte au SGBD pour passer des ordres. Ces ordres sont de deux natures : lecture (on parle alors de requêtes) ou mise à jour (on parle alors de transactions). Pour les transactions il y a une modification des données sur le serveur, mais cela reste des ordres de courte durée. A l inverse, dans le cas d une lecture, il n y a pas de modification des données mais les traitements peuvent être longs et porter sur une grande masse de données. On comprend donc aisément que, dans le cadre d un site web par exemple, un nombre important de requêtes peut immobiliser partiellement (ou complètement) le serveur. Il existe plusieurs solutions pour palier à ce genre de problèmes et, ça tombe bien, la réplication en est une. L objectif principal de la réplication est de faciliter l accès aux données en augmentant la disponibilité. Soit parce que les données sont copiées sur différents sites permettant de répartir les requêtes, soit parce qu un site peut prendre la relève lorsque le serveur principal s écroule. Ce qui peut se résumer à l aide des trois types de scénarios suivants : VI.1.2 Principe deux serveurs distants sur lesquels les données doivent être consistantes ; deux serveurs, un comme serveur principal, l autre comme serveur de Backup à chaud ; plusieurs serveurs en cluster utilisés pour de l équilibrage de charge et de la tolérance à la panne. Le principe de la réplication, qui met en jeu au minimum deux SGBD, est assez simple et se déroule en trois temps : 1. La base maître reçoit un ordre de mise à jour (INSERT, UPDATE ou DELETE). 2. Les modifications faites sur les données sont détectées et stockées (dans une table, un fichier, une queue) en vue de leur propagation. 3. Un processus de réplication prend en charge la propagation des modifications à faire sur une seconde base dite esclave. Il peut bien entendu y avoir plus d une base esclave. Bien entendu il est tout à fait possible de faire de la réplication dans les deux sens (de l esclave vers le maître et inversement). On parlera dans ce cas-là de réplication bidirectionnelle ou symétrique. Dans le cas contraire la réplication est unidirectionnelle (seulement du maître vers l esclave) et on parle de réplication en lecture seule ou asymétrique. De plus la réplication peut être faite de manière synchrone ou asynchrone. Dans le premier cas la résolution des conflits éventuels entre deux sites intervient avant la validation des transactions. Dans le second cas, la résolution est 100

101 faite dans des transactions séparées. Il est donc possible d avoir quatre modèles de réplication : Réplication asymétrique (maître/esclave) avec propagation asynchrone ; Réplication asymétrique (maître/esclave) avec propagation synchrone ; Réplication symétrique ou Peer-to-peer (update everywhere) avec propagation asynchrone ; Réplication symétrique avec propagation synchrone. VI.1.3 La mise à jour synchrone La réplication synchrone est aussi appelée réplication en temps réel. La synchronisation est effectuée en temps réel puisque chaque requête est déployée sur l ensemble des bases de données avant la validation (commit) de la requête sur le serveur où la requête est exécutée. Ce type de réplication assure un haut degré d intégrité des données mais requiert une disponibilité permanente des serveurs et de la bande passante. Ce type de réplication, fortement dépendant des pannes des systèmes, nécessite de gérer des transactions multi sites coûteuses en ressources [a11]. La réplication synchrone asymétrique Une modification sur le site primaire sera propagée aux sites secondaires à l aide par exemple d un trigger sur la table modifiée. La table est modifiée en temps réel sur les autres sites, ces modifications faisant parties de la transaction. Figure 22 : Réplication synchrone asymétrique La réplication synchrone symétrique 101

102 Dans ce cas, il n y a pas de table maître, mais chaque table possède ses triggers, déclenchés lors d une modification. Il est alors nécessaire de définir des priorités et de gérer les blocages des tables en attendant qu une modification soit entièrement propagée. D autre part, les triggers doivent différencier les mises à jour issues d une réplication des mises à jour de requête directes. Figure 23 : Réplication synchrone symétrique VI.1.4 La mise à jour asynchrone La réplication asynchrone (aussi appelée Store and Forward pour << stocker et propager >>) stocke les opérations intervenues sur une base de données dans une queue locale pour les propager plus tard à l aide d un processus de synchronisation. Ce type de réplication est plus flexible que la réplication synchrone. Il permet en effet de définir les intervalles de synchronisation, ce qui permet à un site de fonctionner même si un site de réplication n est pas accessible. L utilisateur peut ainsi déclarer que la synchronisation sera effectuée la nuit, à une heure de faible affluence. Si le site distant est victime d une panne, l absence de synchronisation n empêche pas la consistance de la base maître. De même une panne de réseau laissera les deux bases, maître et esclave dans des états de consistance. Les opérations sur les données sont plus rapides, puisqu une requête n est pas immédiatement déployée. Le trafic sur le réseau est de ce fait plus compact. Par contre, le planning de réplication est dans ce cas plus complexe, puisqu il s agit de gérer les conflits émanant d un éventuel accès en écriture sur une base esclave entre deux mises à jour. La réplication asynchrone asymétrique Les mises à jour sont stockées dans une file d attente et ne seront propagées que lors d un déclenchement programmé. 102

103 Figure 24 : Réplication asynchrone asymétrique La réplication asynchrone symétrique Toute modification sur toute table de toute base est stockée dans une file pour être rejouée ultérieurement. De fortes incohérences des données sont à craindre. Figure 25 : Réplication asynchrone symétrique 103

104 VI.2 Types de Réplications de SQL Server SQL Server propose trois types de réplications. En voici une description de chacune [a8]: 1 Réplication Instantanée Cette réplication copie une vue entière de données sur un autre ordinateur. La vue de la base de données de destination est écrasée par la nouvelle version. La réplication instantanée distribue les données exactement telles qu elles apparaissent à un moment spécifique et n analyse pas les mises à jour des données. Elle est particulièrement adaptée à la réplication de données qui changent rarement, ou de données où les valeurs les plus actuelles, de faible latence, ne sont pas nécessaires. Lors de la synchronisation, l instantané entier est généré et envoyé aux Abonnés. 2 Réplication Transactionnelle Les transactions et les instructions INSERT, UPDATE et DELETE, exécutées sur un ordinateur sont répliquées sur un autre. Grâce à la réplication transactionnelle, un instantané initial des données est appliqué aux abonnés, puis lorsque les modifications des données sont reportées au niveau de l Éditeur, les transactions individuelles sont capturées et propagées aux Abonnés. La réplication transactionnelle est utile, lorsque : Les modifications incrémentielles doivent être propagées aux abonnés lorsqu elles surviennent. Les transactions doivent prendre en charge les propriétés d atomicité, de cohérence, d isolation et de durabilité (ACID). Les abonnés sont connectés de manière fiable et/ou fréquente à l Éditeur. 3 Réplication de Fusion Les mises à jour effectuées sur un ordinateur sont ultérieurement répliquées sur un autre ordinateur. La réplication de fusion est le processus de distribution des données de l Éditeur aux Abonnés, qui permet à l Éditeur comme aux Abonnés d effectuer des mises à jour, qu ils soient connectés ou déconnectés, puis de fusionner les mises à jour entre les sites, une fois connectés. La réplication de fusion permet à différents sites de fonctionner de manière autonome. Ultérieurement, les mises à jour de fusion produisent un résultat uniforme unique. L instantané initial a été appliqué aux Abonnés, puis vous avez effectué le 104

105 suivi des modifications apportées aux données publiées au niveau de l Éditeur et des Abonnés. Les données sont synchronisées entre les serveurs de manière continue, à une heure programmée ou à la demande. Étant donné que les mises à jour sont effectuées sur plusieurs serveurs, les mêmes données peuvent avoir été mises à jour par l Éditeur ou par plusieurs Abonnés. Ainsi, des conflits peuvent apparaître lors de la fusion des mises à jour. La réplication de fusion inclut des choix par défaut et des choix personnalisés pour la résolution des conflits, que l utilisateur peut définir tout en configurant une publication de fusion. Lorsqu un conflit survient, un service de résolution est appelé par l Agent de fusion et détermine quelles données seront acceptées et propagées aux autres sites. La réplication de fusion est utile, lorsque : Plusieurs Abonnés ont besoin de mettre à jour des données à des moments différents et de propager ces modifications à l Éditeur et aux autres Abonnés. Les Abonnés ont besoin de recevoir des données, d effectuer des modifications hors connexion et de synchroniser ultérieurement les modifications avec l Éditeur et les autres Abonnés. Peu de conflits peuvent se produire lorsque des données sont mises à jour sur plusieurs sites. Cela est dû à ce que les données sont filtrées en partitions, puis publiées auprès de différents Abonnés, ou en raison des utilisations de l application. Toutefois, si des conflits surviennent, la violation des propriétés ACID est acceptable. VI.3 La Structure Adoptée Dans chaque centre de contrôle deux serveurs co-existent. Un Main_Server et un Standby_Server. Le premier joue le rôle du serveur initial auquel sont connectés les utilisateurs, tandis que le deuxième joue le rôle du serveur qui sera utilisé lors de l écroulement du serveur initial. Pour minimiser les risques de pertes d informations et afin que le Standby_Server joue son rôle proprement, les modifications doivent être propagées du Main_Server à l abonné Standby_Server lorsqu elles surviennent et ce dans chaque centre de contrôle. En plus, ces deux serveurs sont toujours connectés d une façon fiable. Le type de réplication qui accommode nos besoins est alors la réplication transactionnelle. D un autre part, pour des besoins multiples dont des besoins d analyse et de statistiques, il fallait avoir un serveur dédié et centralisé contenant toutes les informations de chacun des centres de contrôle. 105

106 Ce serveur est appelé Mécanique, toute modification d information à n importe quel centre de contrôle lui sera propagée. Celui ci est alors abonné à tous les serveurs principaux (Main) dans chacun des centres de contrôle et, une réplication transactionnelle assure alors la propagation des informations de chacun des centres de contrôle vers ce serveur. La figure suivante montre cette architecture : Figure 26 : Stratégie de Réplication Ce qui suit est une présentation de la première solution adoptée pour remédier au risque de perte d informations et à l optimisation des analyses; Cette solution prend en considération les faits suivants: Chaque centre de contrôle possède deux serveurs: Main et Standby Les utilisateurs sont connectés à l un des deux serveurs à la fois (Main) On a configuré le serveur Standby de la même manière que le serveur Main (même configuration de la base de données SQL Server) 106

107 En cas d erreur, les utilisateurs seront de-connectés du serveur initial (Main), ce dernier sera éliminé du réseau. On indiquera à l application (par le biais du fichier d initialisation de l application) que le serveur Standby est celui utilisé. Les utilisateurs redémarrent leurs applications, ils seront connectés et poursuivent leurs tâches habituelles. Le serveur Main initial sera fixé et reconfiguré et jouera ainsi le rôle du serveur Standby. Pour implémenter une réplication SQL Server 2000, on a besoin d un: Editeur : Le serveur source de données à être propagées Abonné : Le serveur destinataire des informations propagées Distributeur : Le serveur coordinateur qui extrait les données de l éditeur et les propage aux abonnés Dans notre cas, les rôles sont configurés comme suit: Serveur Main: joue le rôle de l éditeur Serveur Standby: joue le rôle du distributeur et celui de l abonné Serveur Mécanique: joue le rôle d un abonné Utilisateurs Figure 27 : Stratégie de Réplication (2) L éditeur est responsable de publier les articles à être propagées. Ces derniers sont seulement les tables. Tout autre objet (stored procedures, views) sera répliqué manuellement en utilisant des scripts écrits à fur et à mesure de chaque modification/création d un nouvel objet et ce pour minimiser le trafic sur le réseau lors du transfert des données. Cette réplication manuelle aura généralement lieu le soir quand aucune activité sur le réseau est prévue. Chaque table publiée possède un index spécifique pour la réplication. 107

108 L abonné utilise des Pull Subscriptions. Ce type d abonnement sera géré et contrôlé par le distributeur et non pas par l éditeur puisque ce rôle est attribué au Serveur_Main et par suite, il est préférable que les opérations de réplication n affectent pas les tâches principales du Serveur_Main. Le cliché initial des données (Snapshot) est initialisé une seule fois par le Snapshot Agent et ce lors de la configuration initiale de la réplication. Le Distribution Agent est paramétré à tourner d une façon continue pour propager les données en temps réel. En se basant sur la configuration déjà décrite, les deux serveurs Main et Standby possèdent les même données à tout instant. VI.4 Les Résultas Constatés L architecture décrite là dessus présente une bonne solution qui garantit un risque de perte de données presque négligeable. En plus de l élimination (ou presque) du risque de perte d information, les données du serveur principal de chaque centre de contrôle sont propagées en temps réel au serveur secondaire de ce même centre. Chacun des serveurs principaux des quatre centres de contrôle diffusent immédiatement les informations à un seul serveur initial (Serveur Mécanique) qui contient la totalité des données des quatre centres. Ce serveur Mécanique est consulté pour des objets d analyse et de statistiques. 108

109 7 Test et Implémentation VII.1 Tests d intégrité de la Base de Données VII.3 Tests du Module d Interprétation des Résultats VII.2 Tests de Saisie d Informations VII.4 Tests de validation Les tests de chaque module doivent être menés à différents échelons du développement. Ces tests se décomposent en : VII.1 Tests d intégrité de la Base de Données Pour s assurer du bon fonctionnement du logiciel, les tests ont été divisés en plusieurs étapes. Durant la première étape, il fallait s assurer que la base de données était robuste et performante. Il fallait ainsi tester si cette dernière pouvait répondre, dans un délai satisfaisant, aux requêtes utilisateurs (tel que les opérations de recherche des informations d un véhicule, etc.). J ai ainsi inséré (en écrivant des procédures Transact-SQL) près d un millions enregistrements dans la base de données. Ce nombre, choisi avec soin, correspond au nombre de véhicules circulant (officiellement) au Liban. En utilisant certains outils tel que "SQL Query Execution Plan", j ai examiné le plan d exécution des requêtes, le temps écoulé pour retrouver les informations recherchées, etc. Ces recherches ont été basé sur les trois identifiants principaux d un véhicule : son propriétaire, sa plaque d immatriculation et son numéro de châssis. D autres tests concernés l ajout, la suppression et la modification des enregistrements avant et après l insertion du million enregistrements. Ces tests étaient indispensables pour s assurer de l architecture de la base de données, de la bonne distribution des indices (ces indices accélèrent les opérations de recherche) et de la capacité de la base de données à répondre aux opérations initiés 109

110 par les utilisateurs. D autres tests concernés, la modification, à une seconde près, d un même enregistrement par deux utilisateurs ; il fallait s assurer que la modification effectuée correspondait à l utilisateur qui a modifié l enregistrement le dernier. Ensuite, je me suis consacré à vérifier si la réplication entre les deux bases de données se faisait d une façon satisfaisante et correcte. J ai arrêté le serveur initial et je l ai remplacé par la base présente sur le serveur Standby. Ces tests se sont déroulés d une façon satisfaisante. D autres tests ont été emmenés concernant les droits des utilisateurs (droits de sauvegarder des informations, de suppression des informations, etc.). VII.2 Test du module d interprétation des résultats Dans une deuxième étape, je me suis consacré à vérifier si le module d interprétation des résultats fonctionnait correctement. Pour atteindre ce but, on a passé plusieurs jours à faire passer tout type de véhicules sur les lignes de contrôle. Après chaque contrôle, un superviseur expérimenté et moi-même récoltions les résultats du certificat MAHA et comparions les informations de ce certificat aux résultats (interprétés) contenus dans le certificat généré par le module d interprétation. Par exemple, si le certificat MAHA indiquait la présence du code suivant : ; il fallait que le module d interprétation des résultats inscrit ce qui suit dans le» عدد المقاعد : غير مطابقة لدفتر سير المرآبة «: officiel certificat Vii.3 Test du module de saisie d informations Pour tester ce module, j ai essayé d ajouter des enregistrements dupliqués, de modifier les informations d un véhicule à qui est en train de passer, à l instant même la visite technique, etc. Il fallait que le système me prévienne de l impossibilité de tels actions. J ai essayé ainsi de saisir tout type de caractère, des nombres décimaux ou il ne fallait pas, etc. Certains bugs émergeaient au fur et à mesure de ces tests. Les réglages de ces anomalies n a pas posé beaucoup de problèmes. VII.2 Tests de Validation Le but des tests de validation est de s assurer que les logiciels implémentés dans le matériel fonctionnent normalement dans l environnement employé. Les étapes de ce test ont compris : l installation et l exécution de tous les modules des applications. Le seul mal fonctionnement que j ai pu détecté est la non concordance des librairies concernant le scanning. La version de ces librairies déjà présente dans le système opérationnelle employé dans nos locaux (Win XP Pro) a posé des problèmes et ces librairies ont du être remplacées manuellement par d autres versions que j ai recherché sur Internet (Voir Annexe L). 110

111 8 Conclusion Le contrôle technique périodique obligatoire des véhicules au Liban était prévu de commencer au début de l année Ce projet, a été confié à l entreprise SAUDI FAL pour assurer, entre autres, le bon déroulement et fonctionnement de ce contrôle. Cependant, comme toute entreprise entrant dans un nouveau domaine d activité technique devra, dans un premier temps, s assurer de bien choisir ces équipes de professionnelles. Ces équipes doivent, chacun dans son secteur, être capable de planifier et d organiser le travail d une équipe, de respecter les impératifs de livraison, d en former d autres, d intervenir dans toutes les situations, etc. L entreprise SAUDI FAL, ne possédait pas les connaissances techniques et informatiques requises pour automatiser le déroulement du contrôle obligatoire des véhicules. Or, puisqu une telle automatisation est facteur d efficacité en matière de facilitation et réglementation de l inspection des véhicules, la firme FAL a eu ainsi recours à une entreprise ayant déjà ces expertises informatiques; l entreprise ACT (Automation & Computer Technologies). J ai été ainsi choisi, par mon entreprise ACT, pour répondre à la totalité des besoins informatiques de l entreprise FAL. Mon rôle dans ce projet consistait, en un premier temps, à analyser la structure et l architecture de l application qui sera utilisé pour informatiser l inspection des véhicules. Dans un deuxième temps à développer le noyau de l application et, dans un dernier temps, à implémenter et assurer le bon fonctionnement et déroulement de cette application dans les quatre centres de contrôle. Les intérêts que ce projet m a rapportés ne se manifestaient pas au niveau de l architecture de l application ni au niveau technique, puisqu je maîtrisais les technologies prévues à employer durant l implémentation et, puisque j étais déjà amené à faire des architectures plus complexes dans des projets antécédents. 111

112 Les intérêts principaux que ce projet m a rapportés se manifestent en plusieurs points. La livraison de ce projet dans les délais fixés et le respect du budget impartis étaient deux points essentiels qui devaient être respecté à tout prix. L intégration de mon application avec un système déjà existant a représenté un challenge supplémentaire dans ce projet. Le système EUROSYSTEM, un produit de l entreprise allemande MAHA, utilisé pour capter et enregistrer les résultats des tests des véhicules, devait interagir avec mon application afin de traduire ces résultats en un format interprétable par les utilisateurs humains. Durant l occurrence d un certain bug, j ai été amené à examiner avec soin les causes probables de cette erreur puisque deux sources furent probables ; ma propre application ou le logiciel EUROSYSTEM. Certains de ces erreurs parvenaient d un certain mal fonctionnement du système allemand. Ces bugs ont été réglés par la suite. Cette coopération a permis par la suite (Janvier 2006), à installer la version BETA du logiciel EUROSYSTEM (version SQL SERVER) dans nos locaux afin de faire les tests préalables avant que ce logiciel soit rendu public. Un autre atout que j ai considéré comme étant un avantage s est manifesté par l offre d embauche que j ai reçu de la part de l entreprise FAL. Cette offre s est représenté comme étant une reconnaissance de mes expertises dans le domaine du management du projet, de l implémentation et du bon suivi de ce dernier et, comme étant une appréciation du temps et d effort que j ai dédié pour assurer le succès de ce projet. D autres avantages personnels que j ai acquis se présentent dans l élaboration de mes connaissances dans le domaine de réseau et, dans un autre domaine, peu loin de l informatique ; le domaine des automobiles. Deux ans après la livraison de ce logiciel, je peux signaler qu on n a jamais eu des problèmes signifiants ; on n a jamais eu de perte d informations, dans un cas d échec d un certain serveur, le temps de disponibilité du système informatique est très satisfaisant. Dans des étapes futures, plusieurs fonctionnalités seront ajouter au système y compris : L ajout des interfaces web permettant aux utilisateurs de choisir la date qui leur convient pour passer ce contrôle. L utilisation des cardes à puces (Conatct Cards, Contact-Less Cards : Radio Frequency) pour remplacer le certificat d immatriculation courant d un véhicule. 112

113 Cette nouvelle technologie emmènera à automatiser entièrement la procédure de saisies d informations et, minimisera les risques de duplication et de falsification de ces certificats. La migration de certains des données des entreprises d assurance, des offices de registration des véhicules etc. dans une base de données centralisée que nous administrons afin de pouvoir rechercher simplement et efficacement les informations globales d un véhicule (type d assurance, etc.) Pour en conclure, je peux mentionner que la vision de l entreprise Mécanique est une vision futuriste qui s appuie, dans sa totalité, sur l utilisation des nouvelles technologies. Le succès de la réalisation de ces projets est lié aux deux facteurs suivants: les performances et les connaissances des personnes au sein de l entreprise. Facteurs dont l entreprise Mécanique assume les responsabilités. 113

114 A Acronymes ActiveX Data Objects Application Programming Interface American Standard Code for Information Interchange Base Class Library Common Intermediate Language Common Language Infrastructure Common Language Runtime Common Language Specification Container Managed Persistence Component Object Model Data Base Dynamically Linked Library Domain Name System File Transfer Protocol Graphical user interface HyperText Transfert Protocol Integrated Development Environment Interface Description Language Intermediate Language International Organization for Standardization Just In Time Microsoft Microsoft Developer Network Microsoft Distributed Transaction Coordinator Microsoft Intermediate Language MSMQ Microsoft Message Queuing Open DataBase Connectivity Object Linking and Embedding Object Oriented Programming Operating System Portable Document Format Structured (English) Query Language Unified Modeling Language Visual Basic Visual Studio ADO API ASCII BCL CIL CLI CLR CLS CMP COM DB DLL DNS FTP GUI HTTP IDE IDL IL ISO JIT MS MSDN MSDTC MSIL MSMQ ODBC OLE OOP OS PDF SQL UML VB VS 114

115 B Logiciels Utilisés B.1 Systèmes d Exploitation Windows XP Professional - Il s agit du système d exploitation principalement utilisé par les applications développées. Windows Server Il s agit du système d exploitation principalement utilisé pour le développement et l hébergement du Système de Gestion des Bases de Données. B.2 Outils de Développement, IDE Microsoft Visual Studio Il s agit de l IDE (Environnement de développement) principalement utilisé pour le développement des applications. B.3 Base de Données Pour la base de données, il s agit de SQL Server La gestion des données s est fait en grosse partie à l aide d outils graphiques : SQL Enterprise Manager - GUI pour Windows pour la gestion des tables et des données. Ce GUI permet d afficher les tables et les données, de modifier les tables, de sauvegarder des données, de gérer les utilisateurs, de créer les procédures stockés, de gérer la réplication des données, etc,. SQL Query Analyser - GUI pour Windows permettant d exécuter des requêtes SQL, des procédures stockés, etc, B.4 Gestion de Versions 115

116 Pour la gestion de versions, l attribut AssemblyVersion du Framework.NET est utilisé. Cet attribut possède 4 parties: Major, Minor, Revision et Build. B.5 Documentation La documentation est écrite en format.doc, avec Microsoft Word comme éditeur. La documentation est disponible sur mon site Internet personnel. 116

117 C Installation C.1 SQL Server 2000 La procédure d installation de SQL Server 2000 (Enterprise Edition) sous Windows Server 2003 se fait très facilement avec un installateur graphique. Après cette installation, il est mandataire d installer SQL Service Pack 3. Ensuite, il faut créer les deux bases de données VTS et IMS. La création de ces deux bases de données se fait en utilisant SQL Enterprise Manager. Create the Blank Database Expand a server group Expand a server Select Databases and select New Database Type the Database name Choose the collation name: SQL_Latin1_General_CP1256_CI_AS (this collation allows Arabic data to be written to and read from the database) After the creation of the Database, select Database Properties Select Options In the Recovery Model combo box select Simple (if this model is chosen, the database can be recovered only to the last full database backup or last differential backup) Set the Auto Shrink option to ON (in this case, the database files are candidates for periodic shrinking. Both data file and log files can be shrunk automatically by SQL Server. This option reduces the size of the transaction log if the database is set to SIMPLE recovery model or if the log is backed up) The other options should remain unchanged. Create the Database Structure Open SQL Server Query Analyzer Chose the Database script generated during the development phase Run the script The Database should be created Create the Login Expand Security group Expand Login 117

118 Select New Login Specify the name and the password of the Login Specify the database accessible by this user NB : Chacune des deux Bases de données possède son propre Login. C.2 Visual Studio 2003 L installation de Visual Studio 2003 et MSDN ne devrait pas poser de problème. En plus de l environnement de développement, VS contient également le framework.net. C.3 Framework.NET Pour installer le framework.net, il y plusieurs solutions. La solution la plus simple est de passer par Windows Update. Sinon, Windows Server 2003 contient déjà la version 1.1 et une mise à jour suffit. Le framework en version 1.1 est également inclus dans VS C.4 Déploiement du VTS et IMS.NET 1. Grâce à l outil Setup and Deployment Projects du Visual Studio 2003, la création d un package contenant l application et les états est simple. Il suffit alors d exécuter ce package pour installer l application. 2. Après l installation, il faut spécifier (pour chacune des deux applications) quelques données clés dans le fichier ini.xml (Le nom du Serveur, le Login, le mot de passe, etc. ). Ce fichier est consulté au démarrage de l application. 3. Lors du démarrage de l application pour la première fois, quelques entrées dans des tables clés seront automatiquement remplies. 118

119 D Interface Graphique IMS D.1 IMS Main Screen 119

120 E Interface Graphique VTS E.1 Login Screen 120

121 E.2 Set Group Permissions 121

122 E.3 VTS Main Screen 122

123 F Description des postes de Contrôle F.1 - Contrôle au Poste Numéro I La liste des points de contrôle au premier poste est la suivante: Feu de route / Croisement Feu d anti-brouillard AV Feu additionnel Feu de position AR Feu indicateur de direction Feu de stop Troisième feu de stop Feu de plaque AR Feu de brouillard AR Feu de recul Feu de gabarit Catadioptres AR Catadioptres latéraux (véhicule de plus de 6 mètres) Témoins des feux Commande d'éclairage et signalisation Avertisseur sonore Essuie-glace Lave-glace Capot Aile Portes latérales Pied montant Bas de caisse Porte arrière, hayon Pare chocs, bouclier Elément de carrosserie inamovible Caisse (VU) Roue, jante Pneus Réservoir de carburant Plaque d immatriculation Numéro de châssis 123

124 Capot arrière ou porte arrière, hayon Fixation amortisseurs Capot moteur Passage de roue Amortisseur Réservoir de liquide de frein Maître-cylindre Module du système antiblocage Système d assistance de freinage Canalisations de frein Batterie Circuit de carburant Carburateur, système d injection Pompe d alimentation en carburant Crémaillère Pompe d'assistance de direction Courroie de la pompe d assistance de direction Réservoir d assistance de direction Accouplement de direction Collecteur d'échappement Bruit moteur Energie motrice Frappe à froid sur le châssis Teneur en CO Pour en comprendre plus, quelques définitions sont vitales: FEU: On entend par feu un dispositif destiné à éclairer la route ou à émettre un signal lumineux. CATADIOPTRE: Par catadioptre, on entend un dispositif servant à indiquer la présence d un véhicule par réflexion de la lumière émanant d une source lumineuse CATADIOPTRE LATERAL: On entend par feu de position latéral un dispositif destiné à émettre un signal lumineux installé sur les cotés latéraux de la caisse des véhicules de longueur supérieure à 6 m. TEMOIN DE FONCTIONNEMENT: Par témoin de fonctionnement, on entend un témoin lumineux ou acoustique indiquant si un dispositif, mis en action, fonctionne correctement ou non. La mesure de sécurité à prendre au premier poste est de valider que le Véhicule est à l arrêt. Les conditions de contrôle sont: Le véhicule doit être équipé d une batterie en bon état de fonctionnement. Le véhicule sera placé devant le miroir de contrôle arrière. Le véhicule doit être présenté dans un état de propreté permettant un contrôle efficace. 124

125 Le véhicule doit être vide. Moteur à l arrêt. Le capot moteur doit pouvoir être ouvert. Moteur à température de fonctionnement (T d huile à 80 C) et tournant à un régime de ralenti régulier. Si le véhicule est équipé par un dispositif de départ à froid manuel, il ne faut pas l actionner. Tous les accessoires et options qui influent sur la fréquence de rotation au régime de ralenti ne doivent pas être actionnés (par exemple A/C OFF) L échappement doit être en bon état. F.2 Contrôle au Poste Numéro II La liste des points de contrôle au deuxième poste est la suivante: Les ceintures de sécurité avant Les sièges avant Les rétroviseurs Commande du rétroviseur extérieur Témoin du coussin gonflable Témoin (OBD) Nombre de places assises Plaquette d'identification du chauffeur (taxi) Feu signalétique (taxi) Pare bise Autres vitrages Volant de direction Colonne de direction Assistance de direction Portes latérales avant (ouverture de l'intérieur Ripage Suspension Pour en comprendre plus, quelques définitions sont vitales: Par suspension, il y a lieu d entendre un ensemble d éléments qui assurent le contact entre la structure portante et le sol. Par banc de suspension, il y a lieu d entendre l appareil qui permet d évaluer l amplitude du mouvement des roues, au moment le plus critique du test. Ripage: La tendance d une roue à s écarter de la trajectoire de la roue opposée. (Voir Figure No A1) 125

126 Rip (+) Rip (-) Figure A1 : Ripage Les mesures de sécurité à suivre: Le véhicule doit être présenté sans animaux. Le véhicule doit être à l arrêt Les conditions de contrôle sont: Le véhicule doit être vide et dans un état de propreté permettant un contrôle correct. La place normale du conducteur doit être occupée, portière fermée. Il faut s assurer que les roues du véhicule coté gauche sont bien centrées sur la plaque de ripage et que les pneus paraissent gonflés. Le véhicule doit arriver lentement sur la plaque de ripage en ligne droite, sans tourner le volant et sans freiner La place normale du conducteur doit être occupée, portière fermée. L essieu testé ne peut être freiné Le véhicule doit arriver lentement sur la plaque de ripage en ligne droite, sans tourner le volant et sans freiner. F.3 Contrôle au Poste Numéro III La liste des points de contrôle au troisième poste est la suivante: Mesures (Frein de service, Frein de stationnement) Eléments de commande (Pédale du frein de service, Commande du frein de stationnement) Circuit hydraulique (Maître cylindre) Témoins d information (Manomètre ou témoin de pression d air, Témoin ABS) 126

127 Roue Pour en comprendre plus, quelques définitions sont vitales: Frein de Service/Stationnement: Anomalie de fonctionnement: i. Blocage immédiat d une roue dés sollicitations de la commande de freinage ii. La force de freinage sur la roue ne dépasse pas le 0.3KN VL, 1KN PL ou autocars 25 passagers lorsque le frein est actionné. iii. Blocage continue d une roue avant, après ou durant le test. Contrôle impossible: i. Véhicule muni de pneus á clous, galette/corps étranger. ii. Véhicule muni de roues de taille différentes sur un même essieu. iii. Plaquette de frein frottement acier sur acier/absent. iv. Rupture de flexible de frein ou câble de frein de stationnement pendant l essai. v. Véhicule a suspension hydraulique bloquée en position basse. vi. Essieu originale absent ou non fonctionnement d un essieu relevable. vii. Hernie, Coupure profonde sur le flanc ou la bande de roulement laissant apparaître la toile ou la carcasse (PL). Les mesures de sécurité à suivre: Veiller à ce que personne n approche des rouleaux en mouvement. Veiller à garder une distance suffisante derrière le véhicule en cas d éjection. Pour les poids lourds (Camions ou Bus touristiques), il ne faut pas réaliser le test de frein si un des pneumatiques manifeste une des anomalies suivantes : i. Coupure profonde sur le flanc ou la bande de roulement laissant apparaître la toile ou la carcasse ii. Hernie et/ou boursouflure du flanc iii. Absence de sculpture sur une partie de la bande de roulement Le véhicule dont les roues motrices se trouvent dans les rouleaux, ne peut sortir des rouleaux que si ces derniers sont en rotation Faire attention à certaines voitures 4X4 permanent comme Range Rover, Honda CRV-HRV-MRV, Cherokee Limited- Sang Yong- Subaru SRX, Oldsmobile Bravada, Toyota Corolla XLI,Ford Expedition/Explorer (Voir liste4x4) etc. Ces véhicules doivent être testés sur freinomètre IW

128 Les conditions de contrôle: Moteur tournant. Pas de pneus à clous, roue galette ou de dispositif anti-neige (pneus à clous tolérés pour véhicules d urgence). Le blocage de pont doit être enlevé Le réservoir d air doit être à une pression suffisante pour pouvoir effectuer plusieurs essais sans temps de latence Pour PL dont le nombre d essieux supérieure à 2 la mesure d efficacité de frein de stationnement s effectue sur deux essieux et s il existe une anomalie sur un des roues il faut l indiquer dans le système même si la force totale est 14% Pour une remorque la mesure d efficacité de frein de stationnement s effectue sur un essieu sur le tracteur et un essieu de la remorque, et le code d'anomalie sera appliqué seulement sur l'essieu enregistré F.4 Contrôle au Poste Numéro IV La liste des points de contrôle est vaste, elle comprend tout ce qui est en rapport avec les dessous des véhicules. Les mesures de sécurité à suivre sont: Veiller à éviter tout risque de chute dans la fosse pour les membres du personnel. Véhicule à l arrêt. Porter les lunettes et le casque de protection. Attendre le signal de l inspecteur pour déplacer le véhicule. Prévoir un plancher de fosse antidérapant. Vérifier la propreté du plancher de fosse (huile, eau, carburant, ). Les conditions de contrôle sont: S assurer que l état de propreté du véhicule permette un contrôle efficace. L inspecteur adjoint se trouvant au volant du véhicule (Radio éteint) doit être à l écoute des instructions données par l inspecteur sous le véhicule. Pour tout véhicule en contre-visite le certificat VTS de la visite précédente doit être présenté au contrôleur L1 même si la voiture n a pas un code relié á la fosse 128

129 G Exemple d un Fichier ES-In G.1 Fichier ES-In [HEADER] 10003= = = Fst 10058= 05/01/2006 3:07:41 PM 10100= Rabih Rahbani 10102= WDB A = Champagne 10111= = = = = = MERCEDES 10201= C23 Kompressor 10204= Privée 10212= = = = 15:09 [ENDOFFILE] Lors d une première visite, le fichier ES_In doit comprendre les informations suivantes : La plaque d'immatriculation Le constructeur et le modèle du véhicule Le type d'utilisation du véhicule Le type du moteur Le numéro du moteur Le numéro du chassis Le nombre d'axe Le type du véhicule (Voiture, Moto, etc.) 129

130 H Exemple d un Fichier ES-Out ; Test value-file in ASCII-Format for SQL-Server ; Date : 29/05/2006 Time : 8:21 ; Filename : B txt ; [HEADER] 10003= = = Fst Visit 10058= 29/05/2006 7:30:38 AM 10100= B = VF1K17905TR =??? 10111= = = = = = RENAULT 10201= R =?????????? 10212= = = = 8:21 ; Inspector info Zone x 15300= 29/05/2006 8:11: = 29/05/2006 8:13: = 29/05/2006 8:13: = 29/05/2006 8:15: = 29/05/2006 8:15: = 29/05/2006 8:17: = 29/05/2006 8:18: = 29/05/2006 8:21: = = = = =

131 15110= = = = = = ; physical units 19500= = = = = = = = = = = = = = = = = = = = [DATAOUT] ; Side-slip 30000= = = ; Shock absorber 31001= = = = = = = = = = = = = =

132 31121= = = ; Light 32100= = = = = = = = = = = = = = = = = = = = = = = ; Noise level meter 34090= = ; Turning plate 35090= ; LPS 36090= ; Speedometer tester 37190= ; OPACI 38990= ; Gas Tester 39000= = = =

133 39004= = = = = = = = = = = = = = = = = = ; Motorcycle test stand 44006= = = = = = = = = = = = = = = 8: = VF1K17905TR = ; Brake tester 50001= = = = = = = = = = =

134 50025= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

135 51000= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

136 51320= = = = = = = = = = = = = = = = = 0 ; Final evaluation 59005= = = = = = = = = = = = = ; External scale 60001= = = = = = = = = = = = ; total evaluations 99900= =

137 99901= ; visual defects ; Freinage 70000= = = = = = =defect.ini 70010= = 8: = ; Eclairage, Signalisation 70020= = = = = = =defect.ini 70030= = 8: = = = = = = = =defect.ini 70050= = 8: = ; Structure, Carrosserie 70060= = = = = = =defect.ini 70070= = 8: =

138 70080= = = = = = =defect.ini 70090= = 8: = ; Equipements 70100= = = = = = =defect.ini 70110= = 8: = ; Organes mécaniques 70120= = = = = = =defect.ini 70130= = 8: = = = = = = = =defect.ini 70150= = 8: = = = = 0 138

139 ; End of File =END OF FILE [ENDOFFILE] =END OF FILE 139

140 I Anomalies Captées par le Système de Monitorage 1. Vérification de l effacement des codes visuels 2. Vérification de Batterie défectueuse 3. Vérification du poids du véhicule 4. Vérifications du temps de contrôle du véhicule sur chaque poste 5. Vérification des changements de ligne de contrôle 6. Signal d un code sur le poste non correspondant 7. Vérification du système de freinage 8. Vérification du nombre de contrôleurs qui ont examiné le véhicule 9. Vérification de l'oxyde de Carbone pour les véhicules à moteur essence 10. Vérification de l Opacité des fumées pour les véhicules à moteur diesel 11. Vérification du CO2 pour les véhicules à moteur diesel 12. Vérification du temps d attente d un véhicule 140

141 J Certificat Officiel 141

142 K Système d Automatisation des Procédures K.1 Suivi des contrôleurs 142

143 K.2 Suivi du matériel 143

144 K.3 Suivi des plaintes des utilisateurs 144

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

CA ARCserve D2D. Une récupération après sinistre ultra-rapide vous permet d'éviter une interruption de service. DOSSIER SOLUTION : CA ARCserve D2D r16

CA ARCserve D2D. Une récupération après sinistre ultra-rapide vous permet d'éviter une interruption de service. DOSSIER SOLUTION : CA ARCserve D2D r16 CA ARCserve D2D CA ARCserve D2D est un produit de récupération sur disque conçu pour offrir la combinaison idéale de protection et de récupération rapides, simples et fiables de vos données professionnelles.

Plus en détail

Ingénieur de recherche en statistique

Ingénieur de recherche en statistique Ingénieur de recherche en statistique E1D24 Statistique - IR Dans le cadre d une étude ou d un projet de recherche, l ingénieur de recherche en statistique conçoit le plan d analyse statistique et prend

Plus en détail

Objectifs. Maîtriser. Pratiquer

Objectifs. Maîtriser. Pratiquer 1 Bases de Données Objectifs Maîtriser les concepts d un SGBD relationnel Les modèles de représentations de données Les modèles de représentations de données La conception d une base de données Pratiquer

Plus en détail

Optimisez vos processus informatiques, maximisez le taux de rendement de vos actifs et améliorez les niveaux de service

Optimisez vos processus informatiques, maximisez le taux de rendement de vos actifs et améliorez les niveaux de service Solutions de gestion des actifs et services Au service de vos objectifs d entreprise Optimisez vos processus informatiques, maximisez le taux de rendement de vos actifs et améliorez les niveaux de service

Plus en détail

Généralités sur les bases de données

Généralités sur les bases de données Généralités sur les bases de données Qu est-ce donc qu une base de données? Que peut-on attendre d un système de gestion de bases de données? Que peut-on faire avec une base de données? 1 Des données?

Plus en détail

IBM Tivoli Storage Manager

IBM Tivoli Storage Manager Maintenir la continuité des affaires grâce à une gestion efficace et performante du stockage IBM Tivoli Storage Manager POINTS FORTS Accroît la continuité des affaires en réduisant les temps de sauvegarde

Plus en détail

des systèmes d'information

des systèmes d'information Responsable du pilotage de systèmes d information E1A21 Pilotage, administration et gestion des systèmes d information - IR Le responsable du pilotage de système d'information définit et fait évoluer un

Plus en détail

CA ARCserve Backup r12

CA ARCserve Backup r12 DOSSIER SOLUTION : CA ARCSERVE BACKUP r12 CA ARCserve Backup r12 CA ARCSERVE BACKUP R12 ASSURE UNE PROTECTION EXCEPTIONNELLE DES DONNÉES POUR LES SERVEURS, LES BASES DE DONNÉES, LES APPLICATIONS ET LES

Plus en détail

Dream Report. Dream Report vs Reporting Services

Dream Report. Dream Report vs Reporting Services Dream Report Dream Report vs Reporting Services Date : Mars 2015 A propos de Dream Report Dream Report est le 1 er logiciel d édition de rapport prêt à l emploi offrant aux utilisateurs la possibilité

Plus en détail

REPUBLIQUE ISLAMIQUE DE MAURITANIE HONNEUR FRATERNITE JUSTICE INSPECTION GENERALE D'ÉTAT TERMES DE REFERENCE

REPUBLIQUE ISLAMIQUE DE MAURITANIE HONNEUR FRATERNITE JUSTICE INSPECTION GENERALE D'ÉTAT TERMES DE REFERENCE REPUBLIQUE ISLAMIQUE DE MAURITANIE HONNEUR FRATERNITE JUSTICE INSPECTION GENERALE D'ÉTAT TERMES DE REFERENCE POUR LA MISE EN PLACE D UN SYSTEME DE GESTION DES MISSIONS DE L IGE Liste des abréviations IGE

Plus en détail

CA ARCserve Backup. Avantages. Vue d'ensemble. Pourquoi choisir CA

CA ARCserve Backup. Avantages. Vue d'ensemble. Pourquoi choisir CA DOSSIER SOLUTION : CA ARCSERVE BACKUP R12.5 CA ARCserve Backup CA ARCSERVE BACKUP, LOGICIEL DE PROTECTION DE DONNÉES LEADER DU MARCHÉ, INTÈGRE UNE TECHNOLOGIE DE DÉDUPLICATION DE DONNÉES INNOVANTE, UN

Plus en détail

Architecte d infrastructures informatiques

Architecte d infrastructures informatiques Architecte d infrastructures informatiques E1C23 Infrastructures informatiques - IR L architecte d infrastructures informatiques pilote la conception, le déploiement et la mise en oeuvre d'architectures

Plus en détail

Gestion du serveur WHS 2011

Gestion du serveur WHS 2011 Chapitre 15 Gestion du serveur WHS 2011 Les principales commandes Windows Home Server 2011 reprend l ergonomie de Windows 7 et intègre les principales commandes de Windows Server 2008 R2. Les commandes

Plus en détail

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base)

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) 1. Généralités sur l'information et sur sa Représentation 1.1 Informations et données : a. Au sen de la vie : C

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

UNIFIED. Nouvelle génération d'architecture unifiée pour la protection des données D TA. dans des environnements virtuels et physiques PROTECTION

UNIFIED. Nouvelle génération d'architecture unifiée pour la protection des données D TA. dans des environnements virtuels et physiques PROTECTION UNIFIED Nouvelle génération d'architecture unifiée pour la protection des données D TA dans des environnements virtuels et physiques PROTECTION Unified Data protection DOSSIER SOLUTION CA arcserve UDP

Plus en détail

Service de réparation sur appel de produits matériels HP intervention le jour suivant États-unis et Canada

Service de réparation sur appel de produits matériels HP intervention le jour suivant États-unis et Canada Service de réparation sur appel de produits matériels HP intervention le jour suivant États-unis et Canada Services Care Pack HP Données techniques Le Service de réparation sur appel avec intervention

Plus en détail

EMC Data Domain Boost for

EMC Data Domain Boost for EMC Data Domain Boost for Symantec Backup Exec Augmentez vos performances de sauvegarde grâce à une intégration avancée dans OpenStorage Avantages clés Sauvegardes plus rapides et meilleure utilisation

Plus en détail

Production / Qualité / Maintenance / Méthodes. Garantir un haut niveau de production

Production / Qualité / Maintenance / Méthodes. Garantir un haut niveau de production Garantir un haut niveau de production 1 - Ingénieur industrialisation 2 - Ingénieur maintenance 3 - Ingénieur méthodes 4 - Ingénieur production 5 - Ingénieur qualité projet 6 - Ingénieur résident qualité

Plus en détail

DOSSIER SOLUTION CA Service Assurance Mai 2010. assurez la qualité et la disponibilité des services fournis à vos clients

DOSSIER SOLUTION CA Service Assurance Mai 2010. assurez la qualité et la disponibilité des services fournis à vos clients DOSSIER SOLUTION CA Service Assurance Mai 2010 assurez la qualité et la disponibilité des services fournis à vos clients est un portefeuille de solutions de gestion matures et intégrées, qui contribue

Plus en détail

NFS Maestro 8.0. Nouvelles fonctionnalités

NFS Maestro 8.0. Nouvelles fonctionnalités NFS Maestro 8.0 Nouvelles fonctionnalités Copyright Hummingbird 2002 Page 1 of 10 Sommaire Sommaire... 2 Généralités... 3 Conformité à la section 508 de la Rehabilitation Act des Etats-Unis... 3 Certification

Plus en détail

Chef de projet ou expert systèmes informatiques, réseaux et télécommunications

Chef de projet ou expert systèmes informatiques, réseaux et télécommunications Chef de projet ou expert systèmes informatiques, réseaux et télécommunications E1C23 Systèmes informatiques, réseaux et télécommunications - IR Le chef de projet ou l expert systèmes informatiques, réseaux

Plus en détail

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN

Plus en détail

IBM Maximo Asset Management for IT

IBM Maximo Asset Management for IT Gérez de manière économique l ensemble du cycle de vie de vos équipements et ressources informatiques IBM Points forts Aide à contrôler les coûts et l impact financier des équipements informatiques avec

Plus en détail

IBM Tivoli Monitoring

IBM Tivoli Monitoring Surveiller et gérer les ressources vitales et les mesures sur diverses plates-formes à partir d une seule console IBM Tivoli Monitoring Points forts Surveille de manière proactive Aide à réduire les coûts

Plus en détail

Sélectionner la bonne base de données de gestion de configurations pour mettre en place une plate-forme efficace de gestion de services.

Sélectionner la bonne base de données de gestion de configurations pour mettre en place une plate-forme efficace de gestion de services. Solutions de Service Management Guide d achat Sélectionner la bonne base de données de gestion de configurations pour mettre en place une plate-forme efficace de gestion de services. Aujourd hui, toutes

Plus en détail

Installer et débuter avec PostgreSQL

Installer et débuter avec PostgreSQL Dominique Colombani Installer et débuter avec PostgreSQL FOCUS Digit Books Éditeur de livres numériques et papiers Brest infos@digitbooks.fr http://www.digitbooks.fr Digit Books, 2013 Conception des couvertures

Plus en détail

Gestion des accès aux ressources à l aide des groupes

Gestion des accès aux ressources à l aide des groupes Gestion des accès aux ressources à l aide des groupes Un groupe est un ensemble de comptes d utilisateur. Les groupes permettent de simplifier la gestion de l accès des utilisateurs et des ordinateurs

Plus en détail

Le Workflow comme moteur des projets de conformité

Le Workflow comme moteur des projets de conformité White Paper Le Workflow comme moteur des projets de conformité Présentation Les entreprises sont aujourd'hui soumises aux nouvelles régulations, lois et standards de gouvernance les obligeant à mettre

Plus en détail

Solutions informatiques (SI) Semestre 1

Solutions informatiques (SI) Semestre 1 Solutions informatiques (SI) Cette unité vise l acquisition de compétences générales à partir desquelles sont construites les compétences propres aux parcours de spécialisation. Elle comprend, d une part,

Plus en détail

BUSINESSOBJECTS EDGE PREMIUM

BUSINESSOBJECTS EDGE PREMIUM PRODUITS BUSINESSOBJECTS EDGE PREMIUM Avantages de la Business Intelligence Assurer une visibilité intégrale des activités Identifier de nouvelles opportunités Détecter et résoudre les problèmes Remplacer

Plus en détail

Système de base de données

Système de base de données Système de base de données 1. INTRODUCTION Un système de base de données est un système informatique dont le but est de maintenir les informations et de les rendre disponibles à la demande. Les informations

Plus en détail

maximo IT service management Visibilité et valorisation de vos actifs informatiques

maximo IT service management Visibilité et valorisation de vos actifs informatiques maximo IT service management Visibilité et valorisation de vos actifs informatiques maximo IT service management Accroître vos actifs sans augmenter vos besoins en gestion Vous utilisez des PC, des serveurs,

Plus en détail

agility made possible

agility made possible DOSSIER SOLUTION Flexibilité et choix dans la gestion d infrastructure Le SI peut-il répondre aux attentes métier face à la complexité croissante des infrastructures et aux importantes contraintes en termes

Plus en détail

Service d échange HP Foundation Care

Service d échange HP Foundation Care Données techniques Service d échange HP Foundation Care Services HP Care Pack Le service d échange HP Foundation Care regroupe un ensemble de services matériels et logiciels qui vous permettent d accroître

Plus en détail

Rapidité, économies et sécurité accrues : comment améliorer la souplesse, le coût total de possession (TCO) et la sécurité grâce à une planification

Rapidité, économies et sécurité accrues : comment améliorer la souplesse, le coût total de possession (TCO) et la sécurité grâce à une planification Rapidité, économies et sécurité accrues : comment améliorer la souplesse, le coût total de possession (TCO) et la sécurité grâce à une planification des tâches sans agent Livre blanc rédigé pour BMC Software

Plus en détail

Guide des solutions Microsoft Server

Guide des solutions Microsoft Server Guide des solutions Microsoft Server Quel serveur choisir pour les petites et moyennes entreprises? Guide Partenaires Dans le monde des entreprises d aujourd hui, les PME doivent faire beaucoup de choses

Plus en détail

Conserver des systèmes informatiques opérationnels : Guide de la continuité des activités pour les PME

Conserver des systèmes informatiques opérationnels : Guide de la continuité des activités pour les PME Conserver des systèmes informatiques opérationnels : Guide de la continuité des activités pour les PME Des applications disponibles en permanence de la gestion quotidienne des systèmes à la reprise des

Plus en détail

ITIL V2 Processus : La Gestion des Configurations

ITIL V2 Processus : La Gestion des Configurations ITIL V2 Processus : La Gestion des Configurations Auteur: Fabian PIAU, Master 2 MIAGE, Nantes La Gestion des Configurations est un processus issu d ITIL version 2 qui aide au soutien du service («Service

Plus en détail

Que souhaitent les Administrateurs Système?

Que souhaitent les Administrateurs Système? WORLDINTERPLUS Que souhaitent les Administrateurs Système? Contrôle Maniabilité Gestion de la Configuration du Système en mode réseau ou déconnecté «online / offline» Maintenir les standards de configuration

Plus en détail

Manuel de référence de HP Web Jetadmin Database Connector Plug-in

Manuel de référence de HP Web Jetadmin Database Connector Plug-in Manuel de référence de HP Web Jetadmin Database Connector Plug-in Mentions relatives aux droits d auteur 2004 Copyright Hewlett-Packard Development Company, L.P. Il est interdit de reproduire, adapter

Plus en détail

Gestion Projet : Cours 2

Gestion Projet : Cours 2 Gestion Projet : Cours 2 Le Système d Information «Ensemble d acteurs humains et/ou applicatifs en interaction les uns avec les autres ayant pour but de traiter, diffuser, persister l information afin

Plus en détail

PROJET D APPUI A L ERSUMA ET AUTRES INSTITUTIONS DE L OHADA. 9 ème FED

PROJET D APPUI A L ERSUMA ET AUTRES INSTITUTIONS DE L OHADA. 9 ème FED PROJET D APPUI A L ERSUMA ET AUTRES INSTITUTIONS DE L OHADA 9 ème FED TERMES DE REFERENCE POUR LA SELECTION D UN DEVELOPPEUR PHP/MySQL POUR LA REALISATION D UNE PLATEFORME DE GESTION DES ACTIVITES DE FORMATION

Plus en détail

Chapitre 1. Introduction aux Bases de Données. Cours de Bases de Données. Polytech Paris-Sud. Chapitre 1 : Quelques questions

Chapitre 1. Introduction aux Bases de Données. Cours de Bases de Données. Polytech Paris-Sud. Chapitre 1 : Quelques questions Cours de Bases de Données Chapitre 1 Polytech Paris-Sud Sarah Cohen-Boulakia LRI, Bât 490, Université Paris-Sud 11, Orsay cohen @ lri. fr 01 69 15 32 16 Introduction aux Bases de Données 1 2 Chapitre 1

Plus en détail

Introduction aux S.G.B.D.

Introduction aux S.G.B.D. NFE113 Administration et configuration des bases de données - 2010 Introduction aux S.G.B.D. Eric Boniface Sommaire L origine La gestion de fichiers Les S.G.B.D. : définition, principes et architecture

Plus en détail

Solutions d archivage d e-mails Gamme FileNet Software Capitalisez pleinement sur vos investissements existants en matière de gestion des e-mails

Solutions d archivage d e-mails Gamme FileNet Software Capitalisez pleinement sur vos investissements existants en matière de gestion des e-mails Minimisation des risques liés aux e-mails, conformité et reconnaissance Solutions d archivage d e-mails Gamme FileNet Software Capitalisez pleinement sur vos investissements existants en matière de gestion

Plus en détail

Associer la puissance des nouvelles technologies tout en préservant l environnement

Associer la puissance des nouvelles technologies tout en préservant l environnement gestco Associer la puissance des nouvelles technologies tout en préservant l environnement A ERP SaaS A propos... GESTCO : Progiciel de gestion d activités en ligne Avantages : - Faciliter la gestion et

Plus en détail

1 Introduction à l infrastructure Active Directory et réseau

1 Introduction à l infrastructure Active Directory et réseau 1 Introduction à l infrastructure Active Directory et réseau Objectifs d examen de ce chapitre Ce premier chapitre, qui donne un aperçu des technologies impliquées par la conception d une infrastructure

Plus en détail

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures Le stockage 1. Architecture de stockage disponible a. Stockage local ou centralisé L architecture de stockage à mettre en place est déterminante pour l évolutivité et la performance de la solution. Cet

Plus en détail

TERMES DE RÉFÉRENCE RELATIFS A LA «FORMATION PROFESSIONNELLE EN ORACLE»

TERMES DE RÉFÉRENCE RELATIFS A LA «FORMATION PROFESSIONNELLE EN ORACLE» RÉPUBLIQUE TUNISIENNE *** MINISTÈRE DE L ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE *** UNIVERSITÉ DE JENDOUBA TERMES DE RÉFÉRENCE RELATIFS A LA «FORMATION PROFESSIONNELLE EN ORACLE» 1 I/ CADRE

Plus en détail

Solutions Client Management et Universal Printing

Solutions Client Management et Universal Printing Solutions Client Management et Universal Printing Manuel de l'utilisateur Copyright 2007 Hewlett-Packard Development Company, L.P. Windows est une marque déposée de Microsoft Corporation aux États-Unis.

Plus en détail

Logiciel d analyse du monde des objets connectés intelligents

Logiciel d analyse du monde des objets connectés intelligents Logiciel d analyse du monde des objets connectés intelligents Le défi : Transformer les données en intelligence décisionnelle Le logiciel SkySpark analyse automatiquement les données issues des équipements

Plus en détail

Article 2 : Conseils et meilleures pratiques pour gérer un cloud privé

Article 2 : Conseils et meilleures pratiques pour gérer un cloud privé Article 2 : Conseils et meilleures pratiques pour gérer un cloud privé Sponsored by Mentions relatives aux droits d'auteur 2011 Realtime Publishers. Tous droits réservés. Ce site contient des supports

Plus en détail

Présentation Générale Solution de mobilité pour le personnel nomade

Présentation Générale Solution de mobilité pour le personnel nomade Présentation Générale Solution de mobilité pour le personnel nomade I Notre entreprise Notre activité Nous sommes un éditeur de logiciels pour terminaux mobiles. Nous développons des technologies et solutions

Plus en détail

Sauvegarde et restauration en environnement VMware avec Avamar 6.0

Sauvegarde et restauration en environnement VMware avec Avamar 6.0 Livre blanc Sauvegarde et restauration en environnement VMware avec Avamar 6.0 Analyse détaillée Résumé Dans les entreprises, les environnements virtuels sont de plus en plus déployés dans le cloud. La

Plus en détail

Gestion des licences électroniques avec Adobe License Manager

Gestion des licences électroniques avec Adobe License Manager Article technique Gestion des licences électroniques avec Adobe License Manager Une méthode plus efficace pour gérer vos licences logicielles Adobe Cet article technique traite des enjeux de la gestion

Plus en détail

Virtual Data Center d Interoute. Prenez la main sur votre Cloud.

Virtual Data Center d Interoute. Prenez la main sur votre Cloud. Virtual Data Center d Interoute. Prenez la main sur votre Cloud. Faites évoluer vos ressources informatiques à la demande Choisissez la localisation d hébergement de vos données en Europe Le réseau européen

Plus en détail

Cloud Service Management

Cloud Service Management Cloud Service Management HEAT Help Desk SOLUTION BRIEF 1 MODERNISEZ LES OPERATIONS DE GESTION DES SERVICES ET OFFREZ PLUS DE VALEUR STRATEGIQUE A L ENTREPRISE HEAT Cloud Service Management est un ensemble

Plus en détail

Installation technique et démarrage HP Services de mise en œuvre de HP OpenView Performance Insight

Installation technique et démarrage HP Services de mise en œuvre de HP OpenView Performance Insight Installation technique et démarrage HP Services de mise en œuvre de HP OpenView Performance Insight Les experts en gestion des services HP apportent au client les compétences et les connaissances nécessaires

Plus en détail

RECUEIL DE LEGISLATION. A N 99 15 mai 2009. S o m m a i r e CENTRE DES TECHNOLOGIES DE L INFORMATION DE L ETAT

RECUEIL DE LEGISLATION. A N 99 15 mai 2009. S o m m a i r e CENTRE DES TECHNOLOGIES DE L INFORMATION DE L ETAT MEMORIAL Journal Officiel du Grand-Duché de Luxembourg 1473 MEMORIAL Amtsblatt des Großherzogtums Luxemburg RECUEIL DE LEGISLATION A N 99 15 mai 2009 S o m m a i r e CENTRE DES TECHNOLOGIES DE L INFORMATION

Plus en détail

ISO 17799 : 2005/ISO 27002. Bonnes pratiques pour la gestion de la sécurité de l information. White Paper

ISO 17799 : 2005/ISO 27002. Bonnes pratiques pour la gestion de la sécurité de l information. White Paper White Paper ISO 17799 : 2005/ISO 27002 Bonnes pratiques pour la gestion de la sécurité de l information Éric Lachapelle, CEO Veridion René St-Germain, Président Veridion Sommaire Qu est-ce que la sécurité

Plus en détail

Ratabase de CGI. Fonctionnalité éprouvée, extensibilité et technologie flexible

Ratabase de CGI. Fonctionnalité éprouvée, extensibilité et technologie flexible Ratabase de CGI Fonctionnalité éprouvée, extensibilité et technologie flexible RATABASE: UNE SOLUTION PUISSANTE ET FIABLE Ratabase profite immédiatement aux petites et aux grandes sociétés d assurances

Plus en détail

Introduction aux Bases de Données Relationnelles. Introduction aux Bases de Données Relationnelles Introduction- 1. Qu est-ce qu une base de données?

Introduction aux Bases de Données Relationnelles. Introduction aux Bases de Données Relationnelles Introduction- 1. Qu est-ce qu une base de données? Qu est-ce qu une base de données? Utilisez-vous des bases de données? Introduction aux Bases de Données Relationnelles explicitement? implicitement? Qui n utilise jamais de base de données? Département

Plus en détail

Service HP Support Plus Services contractuels d assistance clientèle HP

Service HP Support Plus Services contractuels d assistance clientèle HP Service HP Support Plus Services contractuels d assistance clientèle HP Des services complets pour matériel et logiciels vous permettent d améliorer la disponibilité de votre infrastructure informatique.

Plus en détail

UltimaX EDM for Microsoft Dynamics AX TM

UltimaX EDM for Microsoft Dynamics AX TM UltimaX EDM for Microsoft Dynamics AX TM Au sein d une organisation, une gestion de l information non structurée se révèle être parfois très compliquée pour l ensemble des collaborateurs. La surcharge

Plus en détail

LA GESTION DE FICHIERS

LA GESTION DE FICHIERS CHAPITRE 6 : LA GESTION DE FICHIERS Objectifs spécifiques Connaître la notion de fichier, ses caractéristiques Connaître la notion de répertoires et partitions Connaître les différentes stratégies d allocation

Plus en détail

TIBCO LogLogic Une solution de gestion Splunk

TIBCO LogLogic Une solution de gestion Splunk P R É S E N TAT I O N D E L A S O L U T I O N TIBCO LogLogic Une solution de gestion 1 Table des matières 3 La situation actuelle 3 Les défis 5 La solution 6 Fonctionnement 7 Avantages de la solution 2

Plus en détail

IBM WebSphere MQ File Transfer Edition, Version 7.0

IBM WebSphere MQ File Transfer Edition, Version 7.0 Transfert de fichiers administré pour architecture orientée services (SOA) IBM, Version 7.0 Solution de transport polyvalente pour messages et fichiers Transfert de fichiers haute fiabilité basé sur la

Plus en détail

Information Protection Services

Information Protection Services http://www.ibm.com/fr/tendancesibm Information Protection Services Nicolas Tailhardat Tailhardat@fr.ibm.com MOINS DE COÛTS POUR VOTRE BUSINESS, Agenda 1 Le contexte 2 Le besoin de nos clients 3 Le service

Plus en détail

Politique de sécurité de l actif informationnel

Politique de sécurité de l actif informationnel TITRE : Politique de sécurité de l actif informationnel Adoption par le conseil d administration : Résolution : CARL-130924-11 Date : 24 septembre 2013 Révisions : Résolution : Date : Politique de sécurité

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

Les archives de l entreprise à l ère du numérique. Présentée par: HAMMA Mustapha

Les archives de l entreprise à l ère du numérique. Présentée par: HAMMA Mustapha Les archives de l entreprise à l ère du numérique Présentée par: HAMMA Mustapha Définition des archives Toute information enregistrée, produite ou reçue dans la conduite d'une activité institutionnelle

Plus en détail

Cours Administration BD

Cours Administration BD Faculté des Sciences de Gabès Cours Administration BD Chapitre 2 : Architecture Oracle Faîçal Felhi felhi_fayssal@yahoo.fr 1 Processus serveur 1 Mémoire PGA Architecture SGBD Oracle Processus serveur 2

Plus en détail

Dialogue Live. la solution pour des documents intelligents et interactifs

Dialogue Live. la solution pour des documents intelligents et interactifs Dialogue Live la solution pour des documents intelligents et interactifs la prochaine dimension Imaginez pour l automatisation des documents d entreprise Les entreprises font appel à des centaines de processus

Plus en détail

WHITEPAPER. Quatre indices pour identifier une intégration ERP inefficace

WHITEPAPER. Quatre indices pour identifier une intégration ERP inefficace Quatre indices pour identifier une intégration ERP inefficace 1 Table of Contents 3 Manque de centralisation 4 Manque de données en temps réel 6 Implémentations fastidieuses et manquant de souplesse 7

Plus en détail

INTRODUCTION AUX BASES de DONNEES

INTRODUCTION AUX BASES de DONNEES INTRODUCTION AUX BASES de DONNEES Équipe Bases de Données LRI-Université Paris XI, Orsay Université Paris Sud Année 2003 2004 1 SGBD : Fonctionnalités et Principes Qu est qu une base de données? Un Système

Plus en détail

Les systèmes RAID Architecture des ordinateurs

Les systèmes RAID Architecture des ordinateurs METAIS Cédric 2 ème année Informatique et réseaux Les systèmes RAID Architecture des ordinateurs Cédric METAIS ISMRa - 1 - LES DIFFERENTS SYSTEMES RAID SOMMAIRE INTRODUCTION I LES DIFFERENTS RAID I.1 Le

Plus en détail

IBM Tivoli Service Desk

IBM Tivoli Service Desk Déployer des services de qualité tout en maîtrisant les coûts IBM Tivoli Service Desk Points forts Rationalise la gestion des problèmes et des incidents afin de permettre la restauration rapide et économique

Plus en détail

en version SAN ou NAS

en version SAN ou NAS tout-en-un en version SAN ou NAS Quand avez-vous besoin de virtualisation? Les opportunités de mettre en place des solutions de virtualisation sont nombreuses, quelque soit la taille de l'entreprise. Parmi

Plus en détail

Bases de données Cours 1 : Généralités sur les bases de données

Bases de données Cours 1 : Généralités sur les bases de données Cours 1 : Généralités sur les bases de données POLYTECH Université d Aix-Marseille odile.papini@univ-amu.fr http://odile.papini.perso.esil.univmed.fr/sources/bd.html Plan du cours 1 1 Qu est ce qu une

Plus en détail

Annuaire : Active Directory

Annuaire : Active Directory Annuaire : Active Directory Un annuaire est une structure hiérarchique qui stocke des informations sur les objets du réseau. Un service d'annuaire, tel qu'active Directory, fournit des méthodes de stockage

Plus en détail

Intégration et protection de données Avril 2008. IBM ireflect : Intégration et protection des données pour les environnements Oracle

Intégration et protection de données Avril 2008. IBM ireflect : Intégration et protection des données pour les environnements Oracle Avril 2008 IBM ireflect : Intégration et protection des données pour les environnements Oracle Page 2 Le saviez-vous? ireflect peut répliquer les données entre différentes versions d Oracle, vous permettant

Plus en détail

L I V R E B L A N C P r o t ég e r l e s a p p l i c a t i o n s m ét i e r s c r i t i q u e s M a i n f r a m e, un b e s o i n c r u c i a l

L I V R E B L A N C P r o t ég e r l e s a p p l i c a t i o n s m ét i e r s c r i t i q u e s M a i n f r a m e, un b e s o i n c r u c i a l Siège social : 5 Speen Street Framingham, MA 01701, É.-U. T.508.872.8200 F.508.935.4015 www.idc.com L I V R E B L A N C P r o t ég e r l e s a p p l i c a t i o n s m ét i e r s c r i t i q u e s M a i

Plus en détail

Bases de données relationnelles : Introduction

Bases de données relationnelles : Introduction Bases de données relationnelles : Introduction historique et principes V. Benzaken Département d informatique LRI UMR 8623 CNRS Université Paris Sud veronique.benzaken@u-psud.fr https://www.lri.fr/ benzaken/

Plus en détail

Dossier Solution - Virtualisation Arcserve Unified Data Protection

Dossier Solution - Virtualisation Arcserve Unified Data Protection Dossier Solution - Virtualisation Arcserve Unified Data Protection La virtualisation des serveurs et des postes de travail est devenue omniprésente dans la plupart des organisations, et pas seulement au

Plus en détail

Configuration DCOM pour OPC Factory Server

Configuration DCOM pour OPC Factory Server Configuration DCOM pour OPC Factory Server Sommaire 1. Présentation de OPC...2 2. Présentation de OLE, COM et DCOM...2 2.1. Qu'est-ce qu'ole?...2 2.2. Qu'est-ce que COM?...3 2.3. Qu'est-ce que DCOM?...3

Plus en détail

Nos Solutions PME VIPDev sont les Atouts Business de votre entreprise.

Nos Solutions PME VIPDev sont les Atouts Business de votre entreprise. Solutions PME VIPDev Nos Solutions PME VIPDev sont les Atouts Business de votre entreprise. Cette offre est basée sur la mise à disposition de l ensemble de nos compétences techniques et créatives au service

Plus en détail

Installation d'un serveur Forefront Threat Management Gateway 2010 (TMG 2010)

Installation d'un serveur Forefront Threat Management Gateway 2010 (TMG 2010) Installation d'un serveur Forefront Threat Management Gateway 2010 (TMG 2010) Par LoiselJP Le 01/05/2013 1 Objectifs Ce document décrit le plus succinctement possible une manière, parmi d'autres, d installer

Plus en détail

La gestion des correctifs de sécurité avec WinReporter et RemoteExec

La gestion des correctifs de sécurité avec WinReporter et RemoteExec White Paper La gestion des correctifs de sécurité avec WinReporter et RemoteExec Ce document décrit les fonctionnalités de WinReporter et RemoteExec permettant de maintenir les systèmes Windows à jour

Plus en détail

FileMaker Pro 14. Utilisation d'une Connexion Bureau à distance avec FileMaker Pro 14

FileMaker Pro 14. Utilisation d'une Connexion Bureau à distance avec FileMaker Pro 14 FileMaker Pro 14 Utilisation d'une Connexion Bureau à distance avec FileMaker Pro 14 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054

Plus en détail

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES BASES DE DONNÉES CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98 J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES III. LES SYSTÈMES RÉSEAU IV. LES SYSTÈMES RELATIONNELS V. LE LANGAGE

Plus en détail

CA Mainframe Chorus for Security and Compliance Management version 2.0

CA Mainframe Chorus for Security and Compliance Management version 2.0 FICHE PRODUIT CA Mainframe Chorus for Security and Compliance CA Mainframe Chorus for Security and Compliance Management version 2.0 Simplifiez et rationalisez vos tâches de gestion de la sécurité et la

Plus en détail

PROFIL DE POSTE AFFECTATION. SERIA (service informatique académique) DESCRIPTION DU POSTE

PROFIL DE POSTE AFFECTATION. SERIA (service informatique académique) DESCRIPTION DU POSTE PROFIL DE POSTE BAP : CORPS : NATURE : SPÉCIALITÉ : E ITRF Externe IGR 2, Chef de projet développement ÉTABLISSEMENT : Rectorat SERVICE : VILLE : SERIA (service informatique académique) DESCRIPTION DU

Plus en détail

Présentation. Logistique. Introduction

Présentation. Logistique. Introduction Présentation Diapo01 Je m appelle Michel Canneddu. Je développe avec 4D depuis 1987 et j exerce en tant qu indépendant depuis 1990. Avant de commencer, je tiens à remercier mes parrains Jean-Pierre MILLIET,

Plus en détail

Dossier Solution - Virtualisation CA arcserve Unified Data Protection

Dossier Solution - Virtualisation CA arcserve Unified Data Protection Dossier Solution - Virtualisation CA arcserve Unified Data Protection La virtualisation des serveurs et des postes de travail est devenue omniprésente dans la plupart des organisations, et pas seulement

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

PARC ET RESSOURCES INFORMATIQUES POLITIQUE DE GESTION

PARC ET RESSOURCES INFORMATIQUES POLITIQUE DE GESTION Le 27/08/2014 Gestion du parc informatique de l école Jean Moulin Page 1 sur 5 PARC ET RESSOURCES INFORMATIQUES DE L ÉCOLE PRIMAIRE JEAN-MOULIN : POLITIQUE DE GESTION Synthèse : Pour garder des outils

Plus en détail

CA Server Automation. Vue d ensemble. Avantages. agility made possible

CA Server Automation. Vue d ensemble. Avantages. agility made possible FICHE PRODUIT : CA Server Automation CA Server Automation agility made possible La solution intégrée CA Server Automation permet d automatiser le provisioning, la correction et la configuration des composants

Plus en détail