24.06.2013 Views

Atlantis Montaza Rapport de Stage EMPI Groupe 12

Atlantis Montaza Rapport de Stage EMPI Groupe 12

Atlantis Montaza Rapport de Stage EMPI Groupe 12

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Atlantis</strong> <strong>Montaza</strong><br />

<strong>Rapport</strong> <strong>de</strong> <strong>Stage</strong> <strong>EMPI</strong> <strong>Groupe</strong> <strong>12</strong><br />

Tuteur entreprise : Sylvie Nicol<br />

Tuteur Ecole : Benoit Martineaux<br />

Samuel Picquenot / Corentin Néau / Marc N’Kaoua / Amaury Ollagnier


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

Sommaire<br />

Contexte............................................................................................................. 2<br />

1. Présentation <strong>de</strong> l´entreprise ........................................................................ 2<br />

2. Cahier <strong>de</strong>s charges ...................................................................................... 3<br />

I. La gestion du projet ......................................................................................... 4<br />

1. La mise au point .......................................................................................... 5<br />

2. La réalisation ............................................................................................... 8<br />

3. La vérification .............................................................................................. 9<br />

II. Structure et organisation du logiciel ............................................................. 10<br />

1. Structure <strong>de</strong>s classes ................................................................................. 10<br />

2. Structure <strong>de</strong> la Base <strong>de</strong> Données ............................................................... 10<br />

3. Organisation du logiciel ............................................................................. 11<br />

III. Aperçu du logiciel ........................................................................................ <strong>12</strong><br />

1. Principales fonctionnalités ........................................................................ <strong>12</strong><br />

2. Sauvegar<strong>de</strong>s et Sécurité ............................................................................ 14<br />

3. Divers scenarii possibles et métho<strong>de</strong>s utilisées pour la restauration ......... 17<br />

V. Bilan Conclusion ........................................................................................... 19<br />

1. Du point <strong>de</strong> vue du groupe ........................................................................ 19<br />

2. Du point <strong>de</strong> vue <strong>de</strong> l´entreprise ................................................................. 22<br />

ANNEXES .......................................................................................................... 24<br />

Organigramme <strong>de</strong> l’entreprise ...................................................................... 24<br />

1


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

1. Présentation <strong>de</strong> l´entreprise<br />

Contexte<br />

<strong>Atlantis</strong> <strong>Montaza</strong> est une entreprise <strong>de</strong> fabrication et <strong>de</strong> pose <strong>de</strong> tuyauterie industrielle.<br />

Créée en 2005, cette PME opère principalement dans le secteur naval, mais également dans le<br />

bâtiment, les constructions industrielles et la sécurité incendie.<br />

Depuis sa création, l'entreprise connaît une<br />

croissance importante et est dans une phase<br />

d'expansion. Son chiffre d'affaires est passé<br />

<strong>de</strong> 450.000 € à 1.390.000 € et l'effectif <strong>de</strong> 6 à<br />

29 employés. Elle a construit un atelier <strong>de</strong><br />

fabrication en 2009 et a déménagé ses<br />

bureaux début 2011 dans la zone industrielle<br />

<strong>de</strong> Trignac aux alentours <strong>de</strong> Saint Naeaire. De plus <strong>Atlantis</strong><br />

<strong>Montaza</strong> est une entreprise <strong>de</strong> sous-traitance, milieu dans lequel la concurrence est très forte ;<br />

c´est pourquoi pouvoir améliorer sa rapidité et sa compétitivité est crucial pour pouvoir être<br />

pérenne dans son environnement.<br />

Et dans cette optique <strong>de</strong> croissance, <strong>Atlantis</strong> <strong>Montaza</strong> a décidé d'automatiser une partie<br />

<strong>de</strong>s opérations administratives afin d'optimiser ses capacités <strong>de</strong> production et notre mission<br />

entrait dans cette stratégie.<br />

2


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

2. Cahier <strong>de</strong>s charges<br />

Lors <strong>de</strong> l'établissement d'un <strong>de</strong>vis pour un chantier, l'entreprise doit évaluer le coût <strong>de</strong>s<br />

différentes pièces qu'elle aura à comman<strong>de</strong>r à ses fournisseurs. Établir le montant <strong>de</strong>s<br />

fournitures et comparer les prix sur chaque type <strong>de</strong> pièce <strong>de</strong>man<strong>de</strong> la mobilisation <strong>de</strong> 40%<br />

d'un temps plein et ralentit l'édition du <strong>de</strong>vis, ce choix <strong>de</strong>vant se faire par estimations sur<br />

d'anciens <strong>de</strong>vis ou <strong>de</strong>man<strong>de</strong> <strong>de</strong>s prix à chaque fournisseur.<br />

Il nous a donc été <strong>de</strong>mandé <strong>de</strong> créer une base <strong>de</strong> données permettant <strong>de</strong> modéliser ces<br />

coûts et un logiciel utilisant cette base pour effectuer <strong>de</strong>s comparatifs <strong>de</strong> prix. Ce logiciel doit<br />

permettre à <strong>Atlantis</strong> <strong>Montaza</strong> <strong>de</strong> comparer les tarifs <strong>de</strong> ses fournisseurs, et ainsi d'établir plus<br />

rapi<strong>de</strong>ment les montants <strong>de</strong> ses achats, ceux-ci <strong>de</strong>vant être aussi avantageux que possible.<br />

Un premier logiciel avait déjà été créé mais contenait trop <strong>de</strong> bugs et problèmes<br />

d'implémentation qui le rendaient inutilisable. Nous avions le choix <strong>de</strong> reprendre ce logiciel<br />

ou <strong>de</strong> créer le nôtre entièrement, et nous avons choisi la secon<strong>de</strong> option.<br />

3


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

I. La gestion du projet<br />

Avant le début du stage, nous avons pris connaissance du cahier <strong>de</strong>s charges, et <strong>de</strong>s<br />

différentes tâches à effectuer. En vue du planning et du temps imparti pour la réalisation du<br />

projet (10 jours, confer tableau ci-<strong>de</strong>ssous), une bonne gestion du projet a été indispensable.<br />

Nous allons donc vous présenter dans cette partie les différents outils que nous avons utilisés<br />

et que nous avons créé pour la gestion du ce projet<br />

La première étape, dès le lancement du projet, a été <strong>de</strong> lister toutes les tâches à<br />

effectuer. Chacune <strong>de</strong> ces tâches s’intègre dans un processus continu <strong>de</strong> développement<br />

articulé entre trois gran<strong>de</strong>s parties : la mise au point, la réalisation, la vérification :<br />

Réalisati<br />

on<br />

Mise au<br />

point<br />

Vérification<br />

4


Mise au<br />

point<br />

Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

1. La mise au point<br />

1°) Durant la phase <strong>de</strong> mise au point du projet, nous avons rencontré nos<br />

clients, à savoir l’entreprise <strong>Atlantis</strong> <strong>Montaza</strong>, 20 jours avant le début du<br />

projet, pour nous préciser le cahier <strong>de</strong>s charges. Cette réunion nous a été<br />

très bénéfique pour orienter notre travail dans la bonne direction.<br />

À la fin <strong>de</strong> cet entretien, nous avions toutes les cartes en main pour débuter la conception du<br />

logiciel <strong>de</strong>mandé.<br />

2°) Nous avons donc décidé <strong>de</strong> séparer le projet en trois parties distinctes.<br />

Chacun <strong>de</strong>s membres du groupe a été affecté à une <strong>de</strong> ces parties pour la totalité du stage :<br />

Corentin Néau s’est occupé <strong>de</strong> la gestion <strong>de</strong> la base <strong>de</strong> données.<br />

Amaury Ollagnier a développé le modèle, interprète entre l’interface et la base <strong>de</strong><br />

données.<br />

Marc N’Kaoua ainsi que Samuel Picquenot se sont occupés eux plutôt <strong>de</strong> l’interface<br />

du logiciel.<br />

5


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

3°) Des recherches étaient aussi nécessaires pour faire communiquer les différentes<br />

parties du programme entre elles. En effet le langage pour gérer la base <strong>de</strong> données, le SQL,<br />

est un langage très différent <strong>de</strong> celui pour la réalisation du modèle ainsi que pour l’interface.<br />

4°) En parallèle, nous avons réfléchi tous ensemble à différentes caractéristiques du<br />

logiciel. Tout d’abord pour l’architecture globale <strong>de</strong> notre co<strong>de</strong> à travers un diagramme <strong>de</strong><br />

modélisation UML (Unified Mo<strong>de</strong>ling Language) disponible en annexe. Nous avons ensuite<br />

réalisé <strong>de</strong>s plans <strong>de</strong> l'apparence désirée <strong>de</strong> l’interface du logiciel afin d’améliorer l’ergonomie<br />

du notre logiciel.<br />

5°) Par ailleurs, il nous fallait capitaliser sur le projet réalisé par nos prédécesseurs.<br />

Nous avons donc étudié leur travail pour en cibler les principaux points forts et faibles et ainsi<br />

concevoir un logiciel disposant <strong>de</strong>s mêmes avantages mais comblant ses inconvénients.<br />

6°) Nous avons réalisé aussi dès le premier jour un planning <strong>de</strong> prévision pour chacun<br />

<strong>de</strong>s membres du groupe :<br />

6


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

7


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

2. La réalisation<br />

Réalisation<br />

parler.<br />

Une fois la phase <strong>de</strong> mise au point terminée, nous savions que<br />

<strong>de</strong>s détails d’ordre technique ou organisationnel seraient <strong>de</strong> toute<br />

façon à revoir au cours <strong>de</strong> notre avancée. Cependant, nous avions<br />

assez <strong>de</strong> données pour commencer le développement à proprement<br />

Les trois parties du programme ont pu être développées presque simultanément. Une <strong>de</strong>s<br />

principales difficultés <strong>de</strong> cette phase <strong>de</strong> développement résidait dans la nécessité <strong>de</strong> les<br />

articuler au mieux.<br />

C’est pourquoi nous avons mis en place un serveur SVN, système <strong>de</strong> gestion <strong>de</strong><br />

versions qui nous a permis <strong>de</strong> travailler en synchronisation permanente au sein du groupe.<br />

Chaque membre du groupe profitait en permanence <strong>de</strong>s <strong>de</strong>rnières avancées du co<strong>de</strong> <strong>de</strong>s autres<br />

les différentes couches logicielles.<br />

membres, même si nous travaillions<br />

tous sur <strong>de</strong>s ordinateurs différents.<br />

Grâce à cet outil, nous avons gagné<br />

du temps dans le développement <strong>de</strong>s interactions entre<br />

Nous avons donc grâce à cet outil réalisé les trois différentes parties du programme. Il<br />

a fallu <strong>de</strong> plus gérer toutes les interactions entre ces différentes parties une <strong>de</strong>s tâche qui nous<br />

a pris le plus <strong>de</strong> ressources niveau temps.<br />

Pour donner un ordre d’idée, notre co<strong>de</strong> fait aux alentours <strong>de</strong> 10 000 lignes <strong>de</strong> co<strong>de</strong>.<br />

Enfin la <strong>de</strong>rnière partie concernant la partie optimisation du programme avec<br />

l'affichage <strong>de</strong>s meilleurs prix, l’affichage <strong>de</strong> l’évolution <strong>de</strong>s prix pour chacun <strong>de</strong>s fournisseurs.<br />

8


Vérification<br />

Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

3. La vérification<br />

Enfin la <strong>de</strong>rnière partie du planning lié à la vérification <strong>de</strong> la<br />

fonctionnalité <strong>de</strong> notre programme.<br />

Nous avons dans un premier temps du mettre en place un système<br />

<strong>de</strong> sauvegar<strong>de</strong> sur le réseau, plus détaillé dans la suite du rapport<br />

Nous avons eu aussi la chance <strong>de</strong> pouvoir discuter au cours du stage <strong>de</strong>s<br />

possibilités d’amélioration <strong>de</strong> développements complémentaires sur le<br />

programme pour il soit le plus possible en adéquation avec les attentes <strong>de</strong> l’entreprise.<br />

Enfin une vérification plus technique pour vérifier que toutes les fonctionnalités du logiciel<br />

sont bien opérationnelles. Pour cela nous avons procédé à <strong>de</strong> nombreuses séries <strong>de</strong> test <strong>de</strong><br />

crash et déverminage du programme: gran<strong>de</strong>ur nature, avec les utilisateurs finaux (clients).<br />

9


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

II. Structure et organisation du<br />

1. Structure <strong>de</strong>s classes<br />

logiciel<br />

Pour que le programme soit plus simple à développer et accessible à <strong>de</strong>s développeurs<br />

tiers par la suite, nous l'avons structuré dès le début du projet. Nous avons pour cela utilisé<br />

une représentation sous forme <strong>de</strong> diagramme UML (Unified Mo<strong>de</strong>ling Language), qui permet<br />

<strong>de</strong> visualiser les liens entre les classes, c'est-à-dire entre les différents fichiers texte dans<br />

lesquels nous écrivons pour réaliser le programme, et entre les objets qu'ils représentent<br />

(clients, fournisseurs, pièces, etc...).<br />

Ce diagramme est présent dans l'annexe.<br />

2. Structure <strong>de</strong> la Base <strong>de</strong> Données<br />

La base <strong>de</strong> données, socle du programme, <strong>de</strong>vait elle aussi être lisible facilement pour<br />

permettre à tous les membres du groupe <strong>de</strong> comprendre facilement comment sont articulées<br />

les différentes tables et les liens présents entre elles.<br />

Pour ceci, nous avons mis au point le diagramme suivant :<br />

10


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

3. Organisation du logiciel<br />

Nous avons donc choisi <strong>de</strong> développer notre logiciel sur un modèle en trois couches, décrites<br />

sur le schéma ci-<strong>de</strong>ssous<br />

- La première couche permet <strong>de</strong> manipuler la base <strong>de</strong> données, <strong>de</strong> type MySQL, à partir du<br />

langage Java dans lequel est développé le reste du logiciel. Ainsi, un pilote permet d’exécuter<br />

<strong>de</strong>s requêtes sur la base <strong>de</strong> données à partir <strong>de</strong> Java ;<br />

- Une partie intermédiaire est celle du modèle, qui fait le lien entre les requêtes sur la base <strong>de</strong><br />

données et les objets Java qui sont manipulés par le logiciel à partir <strong>de</strong> ces requêtes ;<br />

-Enfin, la <strong>de</strong>rnière couche est la seule visible par l’utilisateur final, c’est l’Interface Homme-<br />

Machine, qui produit les éléments graphiques tels que <strong>de</strong>s fenêtres, onglets, boutons et autres<br />

dialogues dont l’utilisateur se sert pour créer, supprimer ou modifier <strong>de</strong>s objets du modèle.<br />

11


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

III. Aperçu du logiciel<br />

1. Principales fonctionnalités<br />

Nous avons décidé <strong>de</strong> séparer le logiciel en trois gran<strong>de</strong>s catégories, organisées sous<br />

formes d'onglets. Cette organisation permet <strong>de</strong> passer aisément d'une catégorie à l'autre sans<br />

risquer <strong>de</strong> perdre son travail, et <strong>de</strong> ne pas se perdre dans les fonctionnalités ainsi que tous les<br />

types <strong>de</strong> données à entrer.<br />

Ces catégories sont elles-mêmes divisées en onglets ; la catégorie « édition », qui<br />

permet <strong>de</strong> consulter et d'éditer les données <strong>de</strong> la base, est donc répartie en quatre onglets :<br />

Fournisseur, Pièce, Client et Chantier.<br />

Il est possible pour chacun d'ajouter ou supprimer <strong>de</strong>s éléments et <strong>de</strong> modifier les<br />

données. Il existe <strong>de</strong>s relations <strong>de</strong> dépendance entre ces catégories, et le logiciel permet <strong>de</strong> les<br />

mettre en évi<strong>de</strong>nce :<br />

les fournisseurs proposent chacun une liste <strong>de</strong> pièce, à un prix fixé ;<br />

les chantiers sur lesquels l'entreprise opère sont liés à <strong>de</strong>s clients ;<br />

les comman<strong>de</strong>s passées sont faites à un fournisseur donné, pour un chantier précis.<br />

Exemple d'onglet : l'onglet Clients<br />

<strong>12</strong>


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

La catégorie "étu<strong>de</strong>" permet <strong>de</strong> manipuler les données entrées pour apporter une ai<strong>de</strong><br />

non négligeable dans l'exercice <strong>de</strong> la comptabilité.<br />

Le premier onglet permet d'établir la liste <strong>de</strong>s comman<strong>de</strong>s passées. Ces comman<strong>de</strong>s<br />

référencent le fournisseur, le chantier pour lequel elles sont passées et le détail <strong>de</strong>s pièces<br />

commandées. Il est possible <strong>de</strong> filtrer ces comman<strong>de</strong>s pour affiner les recherches.<br />

Le second onglet permet <strong>de</strong> comparer les différents prix pour une même pièce. Il suffit<br />

d'entrer un nombre <strong>de</strong> pièces à comman<strong>de</strong>r et <strong>de</strong> choisir la pièce pour que tous les<br />

fournisseurs la proposant s'affichent, permettant ainsi <strong>de</strong> comparer les prix <strong>de</strong> chacun. Cet<br />

onglet est très important, car établir <strong>de</strong>s <strong>de</strong>vis nécessitait auparavant d'appeler les fournisseurs<br />

afin <strong>de</strong> trouver la comman<strong>de</strong> la moins coûteuse, ce qui prenait beaucoup <strong>de</strong> temps. Cet onglet<br />

permet au contraire <strong>de</strong> trouver le fournisseur le plus avantageux bien plus rapi<strong>de</strong>ment et<br />

d'établir un <strong>de</strong>vis plus vite.<br />

Le <strong>de</strong>rnier onglet, quant à lui, permet <strong>de</strong> générer un graphe montrant l'évolution <strong>de</strong>s<br />

prix suivant les fournisseurs, à compter <strong>de</strong> juin 2011. Cela permettrait, en cas <strong>de</strong> hausse <strong>de</strong>s<br />

prix <strong>de</strong> matières premières, <strong>de</strong> justifier au client une hausse <strong>de</strong>s prix.<br />

La <strong>de</strong>rnière catégorie est consacrée à la sauvegar<strong>de</strong> <strong>de</strong>s données; on peut y effectuer<br />

<strong>de</strong>s sauvegar<strong>de</strong>s manuelles <strong>de</strong> la base <strong>de</strong> données ou importer <strong>de</strong>s données en cas <strong>de</strong><br />

problème.<br />

L'organisation en onglets permet d'implémenter un grand nombre <strong>de</strong> types <strong>de</strong> données<br />

et <strong>de</strong> fonctionnalités tout en gardant un logiciel clair et structuré. Il peut permet <strong>de</strong> plus un<br />

développement facile <strong>de</strong> modules complémentaires ultérieurs, qui pourront se greffer<br />

directement sur le logiciel existant.<br />

Le logiciel et l'édition <strong>de</strong> données sont clairs et intuitifs et ont été très bien accueillis<br />

par le personnel <strong>de</strong> l'entreprise. La seule étape qui ait posé <strong>de</strong>s difficultés techniques a été<br />

l'installation du programme sur les ordinateurs d'<strong>Atlantis</strong> <strong>Montaza</strong>, mais nous étions présents<br />

et avons pu les assister. La démarche est <strong>de</strong> plus détaillée dans le manuel d'utilisation (en<br />

annexe).<br />

13


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

2. Sauvegar<strong>de</strong>s et Sécurité<br />

1.1/ La base <strong>de</strong> donnée :<br />

Dans le cadre <strong>de</strong> notre réalisation, nous avions à choisir un système <strong>de</strong> base <strong>de</strong><br />

données. SQL a été retenu <strong>de</strong> par ses nombreux apports. En effet, le langage <strong>de</strong> base <strong>de</strong><br />

données SQL est très rependu et reconnu dans le stockage <strong>de</strong> données.<br />

De plus, pendant notre parcours d’étudiant ingénieur à l’Ecole <strong>de</strong>s Mines <strong>de</strong> Nantes,<br />

nous avons étudié ce langage. Ensuite, nous avons choisi le serveur MySQL fourni dans le<br />

pack EasyPHP car il est livré avec <strong>de</strong>s outils <strong>de</strong> gestion, comme PhpMyAdmin, qui sont très<br />

pratiques lors <strong>de</strong> la réalisation <strong>de</strong> notre programme.<br />

La base <strong>de</strong> données est organisée par <strong>de</strong>s relations entre les différentes tables<br />

comportant les données. Ce système <strong>de</strong> liaisons est une nécessité dans notre programme. Avec<br />

la gestion <strong>de</strong>s utilisateurs par un système <strong>de</strong> droits, ainsi que <strong>de</strong>s sauvegar<strong>de</strong>s facilement<br />

réalisables, le support <strong>de</strong> cette base <strong>de</strong> données est complet. La facilité d’installation et<br />

d’utilisation du pack nous a aussi encouragés à l’utiliser.<br />

1.2/ Le format <strong>de</strong> sauvegar<strong>de</strong> :<br />

De par le serveur SQL, les fichiers <strong>de</strong> sauvegar<strong>de</strong> sont <strong>de</strong>s fichiers au format .sql.<br />

Ceux-ci sont au format texte codé en ASCII et sont très flexibles et facilement modifiables.<br />

De plus, le langage utilisé à l’intérieur est le même que celui du serveur, soit le SQL. Ainsi, il<br />

n’y a pas <strong>de</strong> fichier binaire ou crypté qui peuvent présenter <strong>de</strong>s difficultés d’import ou<br />

d’autres standards nécessitants <strong>de</strong>s logiciels tiers.<br />

Les fichiers .sql sauvegar<strong>de</strong>nt la base <strong>de</strong> données en listant toutes les comman<strong>de</strong>s SQL<br />

nécessaires à la reconstruction <strong>de</strong> la base <strong>de</strong> données complète. Lors d’un export, un utilitaire<br />

<strong>de</strong> MySQL nous fournit le fichier complet <strong>de</strong> sauvegar<strong>de</strong> comportant toutes les informations<br />

<strong>de</strong> la base qu’elles représentent la structure <strong>de</strong>s tables ou les données. En outre, lors d’un<br />

import, le serveur MySQL va exécuter l’ensemble <strong>de</strong>s requêtes SQL présente dans le fichier<br />

<strong>de</strong> sauvegar<strong>de</strong> pour restaurer totalement une version <strong>de</strong> la base.<br />

14


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

1.3/ Les détails <strong>de</strong>s sauvegar<strong>de</strong>s :<br />

A ce moment, nous avons décidé d’utiliser ce type <strong>de</strong> sauvegar<strong>de</strong> (intégralité <strong>de</strong> la<br />

base dans un fichier unique) pour avoir une gestion plus flexible <strong>de</strong> nos fichiers .sql. Nous<br />

utiliserons la date et l’heure <strong>de</strong> sauvegar<strong>de</strong> comme nom <strong>de</strong> fichier afin <strong>de</strong> connaître quelle<br />

sauvegar<strong>de</strong> est la plus récente. En effet, un seul fichier suffit à restaurer la totalité <strong>de</strong>s données.<br />

Même s’il comporte l’intégralité <strong>de</strong> la base, ce fichier reste relativement léger, il <strong>de</strong>vrait faire<br />

moins <strong>de</strong> 20 Mo. Il suffit donc <strong>de</strong> ne gar<strong>de</strong>r que le fichier le plus récent comme sauvegar<strong>de</strong>.<br />

Cependant, si l’on gar<strong>de</strong> en mémoire la totalité <strong>de</strong>s mises à jour, les nombreuses sauvegar<strong>de</strong>s<br />

encombreraient les espaces <strong>de</strong> stockage dédiés.<br />

C’est pour cela que nous avons décidé <strong>de</strong> gar<strong>de</strong>r un nombre fixe <strong>de</strong> mises à jour fixé à<br />

10 pour, dans un premier temps avoir plusieurs sauvegar<strong>de</strong>s en cas d’erreur <strong>de</strong> saisie, et, dans<br />

un <strong>de</strong>uxième temps, <strong>de</strong> ne pas être submergé par ses nombreuses sauvegar<strong>de</strong>s.<br />

Nous <strong>de</strong>vions aussi nous accor<strong>de</strong>r sur la fréquence <strong>de</strong>s sauvegar<strong>de</strong>s, et, au vu du choix ci-<br />

<strong>de</strong>ssus d’un nombre limité <strong>de</strong> fichiers <strong>de</strong> sauvegar<strong>de</strong>, nous avons choisi <strong>de</strong> faire une<br />

sauvegar<strong>de</strong> à chaque modification <strong>de</strong>s données. Cette décision a été prise pour conserver un<br />

maximum <strong>de</strong> mise à jour et <strong>de</strong> n’avoir que très peu <strong>de</strong> manipulations à refaire lors d’un<br />

problème.<br />

De plus, une fonctionnalité <strong>de</strong> sauvegar<strong>de</strong> manuelle a été mise en place dans le<br />

programme. Elle permet d’exporter la base <strong>de</strong> données dans un répertoire spécifié pour une<br />

utilisation extérieure ou simplement une sauvegar<strong>de</strong> complémentaire. L’utilisateur a le choix<br />

du moment <strong>de</strong> la sauvegar<strong>de</strong> ainsi que du dossier <strong>de</strong> <strong>de</strong>stination du fichier .sql.<br />

La restauration d’un fichier <strong>de</strong> sauvegar<strong>de</strong> est tout aussi simple. Un fichier initialisation.sql<br />

compte l’installation <strong>de</strong> base <strong>de</strong>s tables. Les données sont importables via le programme en<br />

utilisant le bouton « importer ». Le programme va donc exécuter les différentes lignes du<br />

fichier <strong>de</strong> sauvegar<strong>de</strong> afin <strong>de</strong> réinitialiser la base.<br />

15


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

2/ Placement physique <strong>de</strong>s sauvegar<strong>de</strong>s :<br />

2.1/ Le poste principal (poste <strong>de</strong> Cynthia) :<br />

Le poste principal est le poste d’utilisation du programme, il compte la base <strong>de</strong><br />

données via le serveur MySQL ainsi qu’un serveur <strong>de</strong> sauvegar<strong>de</strong> détaillé plus loin.<br />

L’utilisation d’un seul poste pour la base <strong>de</strong> données ainsi que les nombreux utilitaires permet<br />

d’éviter d’encombrer les autres postes avec un surplus <strong>de</strong> programmes. La base <strong>de</strong> données<br />

étant en local, l’accès aux données est plus rapi<strong>de</strong> et plus sécurisé.<br />

Ce poste comporte <strong>de</strong>ux supports <strong>de</strong> sauvegar<strong>de</strong>. Le premier est la base <strong>de</strong> donnée<br />

MySQL qui compote en permanence la <strong>de</strong>rnière version <strong>de</strong>s données du programme. Un<br />

support <strong>de</strong> sauvegar<strong>de</strong> externe est aussi utilisé afin <strong>de</strong> conserver la base <strong>de</strong> données même lors<br />

d’un plantage ou d’une détérioration <strong>de</strong> l’ordinateur. Cet espace <strong>de</strong> sauvegar<strong>de</strong> est une clé usb<br />

16


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

branché sur ce PC sur laquelle sont sauvegardées toutes les mises à jour <strong>de</strong> la base <strong>de</strong> données<br />

en temps réel.<br />

2.2/ Les autres postes du réseau :<br />

De plus, chacun <strong>de</strong>s autres postes du réseau peuvent servir d’utilitaire <strong>de</strong> sauvegar<strong>de</strong><br />

via le réseau. En effet, grâce aux connexions LAN et à un utilitaire <strong>de</strong> sauvegar<strong>de</strong> lancé sur<br />

ces autres postes, le programme principal envoie les mises à jour à travers le réseau à tous les<br />

postes lançant l’utilitaire. Ainsi, les fichiers <strong>de</strong> sauvegar<strong>de</strong> sont copiés localement dans le<br />

disque dur <strong>de</strong> chacun <strong>de</strong>s postes annexes.<br />

Le programme utilitaire fonctionne en arrière-plan afin <strong>de</strong> ne pas interférer avec<br />

l’utilisation première <strong>de</strong> ces postes. Cette sauvegar<strong>de</strong> supplémentaire peut être très utile si la<br />

clé du poste principal n’est pas branchée et que le disque dur <strong>de</strong> ce même poste meurt. Ainsi,<br />

il suffit d’une <strong>de</strong>s <strong>de</strong>ux métho<strong>de</strong>s <strong>de</strong> sauvegar<strong>de</strong> pour éviter <strong>de</strong> perdre l’intégralité <strong>de</strong>s<br />

données.<br />

3. Divers scenarii possibles et métho<strong>de</strong>s utilisées pour la<br />

restauration<br />

3.1/ Utilisation normale du programme :<br />

L’utilisateur peut spécifier le dossier <strong>de</strong> sauvegar<strong>de</strong> sur clé usb au démarrage du<br />

programme. Le programme <strong>de</strong> gestion du réseau va être lancé afin <strong>de</strong> gérer les postes annexes<br />

et leur transmettre les différentes mises à jour.<br />

Ces <strong>de</strong>ux dispositifs vont sauvegar<strong>de</strong>r les données dans <strong>de</strong>s fichiers .sql avec la date<br />

en nom <strong>de</strong> fichier. Lors <strong>de</strong> l’utilisation « normale » et fonctionnelle du programme, la base <strong>de</strong><br />

donnée est sauvegardée à chaque mise à jour d’informations. On peut aussi sauvegar<strong>de</strong>r les<br />

données manuellement dans le répertoire désiré.<br />

17


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

3.2/ Si le programme plante :<br />

La base <strong>de</strong> données étant indépendante du programme, celle-ci n’a pas planté et est<br />

accessible lors d’un redémarrage simple du programme. La <strong>de</strong>rnière version <strong>de</strong> la base sera<br />

celle avant la <strong>de</strong>rnière mise à jour faite. Il y aura donc qu’une opération à réitérer. Si le<br />

problème persiste, il faut réinstaller le programme et importer les données d’une date<br />

souhaitée grâce au manuel d’utilisation.<br />

3.3/ Si le disque dur du poste principal meurt :<br />

Il faut réinstaller le programme sur le nouveau poste principal ou le nouveau disque<br />

dur du poste principal en suivant les instructions du manuel d’utilisation. En important un<br />

fichier <strong>de</strong> sauvegar<strong>de</strong> d’une certaine date, les données relatives seront restaurées (choisir<br />

notamment une <strong>de</strong>s sauvegar<strong>de</strong> <strong>de</strong> la clé usb ou dans les autres postes du réseau).<br />

3.4/ Si la clé usb meurt ou si tout autre poste a un problème :<br />

Dans cette situation, il n’y a aucune répercussion sur notre logiciel du poste principal.<br />

Il faut cependant s’assurer qu’un ou plusieurs systèmes <strong>de</strong> sauvegar<strong>de</strong> est toujours présent<br />

comme une nouvelle clé usb branchée ou d’autres postes faisant fonctionner l’utilitaire <strong>de</strong><br />

sauvegar<strong>de</strong> en arrière-plan, facilement installable <strong>de</strong>puis la clé d’installation.<br />

3.5/ S’il y a une erreur <strong>de</strong> saisie majeure :<br />

Une ancienne version <strong>de</strong> la base <strong>de</strong> donnée peut facilement être retrouvable et mise en<br />

place grâce à un import d’un fichier .sql avec la fonctionnalité du programme. La version<br />

relative à ce fichier <strong>de</strong> sauvegar<strong>de</strong> va être réinitialisée.<br />

18


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

1. Du point <strong>de</strong> vue du groupe<br />

V. Bilan Conclusion<br />

Ce stage a été très enrichissant pour nous et nous a offert une expérience très différente <strong>de</strong><br />

celle du stage opérateur. Là où le stage opérateur nous permettait <strong>de</strong> découvrir le<br />

fonctionnement <strong>de</strong> l'entreprise, les conditions <strong>de</strong> travail <strong>de</strong> la production et nous offrait un<br />

contact avec les salariés, ce stage <strong>EMPI</strong> nous a placés au niveau décisionnel, où nous avons<br />

dû effectuer une tâche susceptible d'orienter les choix stratégiques <strong>de</strong> l'entreprise.<br />

Parmi les apports que la mission nous a apportés nous avons pu i<strong>de</strong>ntifier quatre<br />

gran<strong>de</strong>s catégories: compétences techniques, travail <strong>de</strong> groupe, gestion <strong>de</strong> projet et exigences<br />

du travail en entreprise.<br />

Compétences techniques<br />

Tout d'abord, ce projet nous a apporté <strong>de</strong> soli<strong>de</strong>s connaissances et compétences<br />

techniques concernant :<br />

-la gestion et la manipulation <strong>de</strong>s bases <strong>de</strong> données : nous avions étudié le langage<br />

SQL, qui permet cela, mais n'avions pas encore eu l'opportunité <strong>de</strong> mettre en œuvre ces<br />

connaissances au sein d'un projet <strong>de</strong> cette ampleur. Nous avons ici pu abor<strong>de</strong>r notamment la<br />

gestion <strong>de</strong>s utilisateurs et <strong>de</strong>s droits sur une base <strong>de</strong> données ;<br />

-la communication entre une base <strong>de</strong> données MySQL et un programme développé en<br />

langage Java. Ce point nous était totalement inconnu au début du projet. Après quelques<br />

heures <strong>de</strong> recherches, nous avons trouvé un outil intégré au langage Java pour communiquer<br />

avec <strong>de</strong>s bases <strong>de</strong> données, et nous le sommes approprié.<br />

-la création d'une architecture PAC (Présentation-Abstraction-Contrôle) permettant <strong>de</strong><br />

générer une interface graphique complète et évolutive pour notre logiciel. Nous avions abordé<br />

ce point lors <strong>de</strong> nos cours, mais <strong>de</strong> façon moins poussée et sur <strong>de</strong>s projets à plus petite échelle.<br />

19


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

Pour les besoins <strong>de</strong> création <strong>de</strong> cette interface, nous nous sommes fait un <strong>de</strong>voir <strong>de</strong> réfléchir<br />

tous ensemble. En effet, il était capital <strong>de</strong> se mettre à la place <strong>de</strong> l'utilisateur final et <strong>de</strong><br />

récolter autant d'idées que possible pour concevoir un logiciel intuitif, facile à prendre en<br />

main et à utiliser au quotidien même pour quelqu'un n'ayant pas <strong>de</strong> connaissances<br />

particulières en informatique.<br />

Cette démarche <strong>de</strong> prise <strong>de</strong> recul nous a permis <strong>de</strong> mieux répondre aux attentes non exprimées<br />

<strong>de</strong> l'entreprise en lui présentant un logiciel utilisable dès son installation.<br />

Nous avons pu voir que cette réflexion <strong>de</strong> notre part avait réussi. En effet, une employée<br />

d'<strong>Atlantis</strong> <strong>Montaza</strong> a commencé à saisir avec aisance <strong>de</strong>s clients et <strong>de</strong>s chantiers dans le<br />

logiciel alors qu'il était à peine installé et qu'elle n'en avait pas lu la notice.<br />

-le développement d'un logiciel en équipe, rendu plus simple par l'utilisation <strong>de</strong> l'outil<br />

SVN qui nous permettait <strong>de</strong> synchroniser le co<strong>de</strong> entre les différents membres du groupe.<br />

Travail en groupe<br />

Outre la prise en main <strong>de</strong> cet outil très utilisé lors du développement <strong>de</strong> projets<br />

informatiques à gran<strong>de</strong> échelle, nous avons développé nos capacités <strong>de</strong> travail en équipe tout<br />

au long <strong>de</strong> cette mission.<br />

En effet, il n'aurait nullement été possible <strong>de</strong> mener ce projet à bien sans une bonne<br />

communication et un soutien mutuel important au sein du groupe :<br />

– chacun <strong>de</strong>s membres avisait en permanence les autres <strong>de</strong>s avancées réalisées dans son<br />

domaine : base <strong>de</strong> données, modèle ou interface homme-machine. Grâce à cela, chacun savait<br />

immédiatement lorsqu'une nouvelle fonctionnalité du programme en développement ou d'une<br />

<strong>de</strong> ses composantes logicielles étaient disponibles. De fait, <strong>de</strong> nombreux tests pouvaient être<br />

réalisés au fur et à mesure du développement pour en améliorer la fiabilité et la robustesse.<br />

– lorsqu'un membre du groupe rencontrait <strong>de</strong>s difficultés, les autres étaient toujours<br />

présents pour lui apporter leur soutien moral et/ou leur savoir-faire pour surmonter les<br />

obstacles. Il régnait ainsi une très bonne cohésion au sein du groupe.<br />

20


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

Gestion <strong>de</strong> projet<br />

Notre progression a en outre été facilitée par une très bonne gestion <strong>de</strong> projet.<br />

Le planning prévisionnel a permis d'avoir une visibilité optimale sur l'ensemble <strong>de</strong>s procédés<br />

<strong>de</strong> conception, développement et vérification du logiciel, et ce dès le lancement <strong>de</strong> la mission.<br />

Par ailleurs, nous avons pu nous organiser sur la base d'un planning <strong>de</strong> présence dans<br />

les locaux <strong>de</strong> l'entreprise, et ainsi déterminer les tâches prioritaires à réaliser et discernant<br />

celles qui étaient réalisables à l'école <strong>de</strong> celles qui nécessitaient notre présence à Trignac.<br />

Ensuite, grâce à la répartition <strong>de</strong>s différentes parties du développement entre les membres <strong>de</strong><br />

l'équipe, chacun <strong>de</strong> nous a pu se concentrer sur un aspect particulier du logiciel pour ainsi en<br />

maîtriser au mieux les caractéristiques.<br />

Enfin, nous avons déterminé l'architecture du logiciel en la représentant sous forme<br />

schématique, pour détecter au plus vite d'éventuels problèmes ou incohérences et donner à<br />

chacun <strong>de</strong>s équipiers la possibilité <strong>de</strong> repérer un fichier <strong>de</strong> travail dans la structure du<br />

programme. De cette manière, la visibilité nécessaire à un développement efficace arrivait<br />

rapi<strong>de</strong>ment.<br />

Exigences du travail en entreprise<br />

Ce travail <strong>de</strong>mandé diffère d'un projet <strong>de</strong> l'école dans le sens où un résultat répondant<br />

à <strong>de</strong> réels besoins était attendu. Lors d'un projet d'école, <strong>de</strong>s résultats sont bien sûr <strong>de</strong>mandés<br />

mais ils reflètent uniquement notre investissement dans le projet et nos compétences<br />

techniques acquises au cours <strong>de</strong> la formation.<br />

Durant ce stage, le projet que nous avons mené à bien répondait d'un réel besoin <strong>de</strong> la<br />

part <strong>de</strong> l'entreprise. Il doit servir <strong>de</strong> base <strong>de</strong> travail et d'outil décisionnel important au sein<br />

d'<strong>Atlantis</strong> <strong>Montaza</strong>, et lui apporter un atout face à ses concurrents. Il peut aussi<br />

éventuellement être complété <strong>de</strong> nouvelles fonctionnalités dans le futur pour répondre à <strong>de</strong><br />

nouveaux besoins qui seraient formulés.<br />

Ce facteur est très motivant par rapport à un projet <strong>de</strong> l'école et nous a poussés à<br />

travailler bien au-<strong>de</strong>là <strong>de</strong>s horaires impartis afin <strong>de</strong> le mener à bien. Il nous a également donné<br />

une pression supplémentaire quant à la nécessité <strong>de</strong> finir le logiciel. De plus nous avons été<br />

très contents <strong>de</strong> nous même lorsque nous l'avons vu fonctionner.<br />

21


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

Cela n'était pourtant pas évi<strong>de</strong>nt: dans les projets informatiques que nous avons<br />

effectué plus tôt dans nos étu<strong>de</strong>s, un petit dysfonctionnement ne remettait pas en cause notre<br />

compréhension du programme et pouvait être toléré. Ici, la moindre erreur, d'entrées <strong>de</strong><br />

données par exemple, empêche l'écriture <strong>de</strong> données dans la base et rend caduc la quasi-<br />

totalité du logiciel. Nous avons donc dû faire très attention à ce que le logiciel soit<br />

opérationnel et ne contienne pas <strong>de</strong> problèmes <strong>de</strong> ce genre.<br />

Un point important <strong>de</strong>s besoins <strong>de</strong> l'entreprise, qui peut paraître évi<strong>de</strong>nt aux yeux <strong>de</strong>s<br />

personnes travaillant en milieu professionnel mais qui ne saute pas à nos yeux d'ingénieur, est<br />

la sécurité que nécessite un tel logiciel. En effet, il est indispensable que l'entreprise soit sûre<br />

que ses données ne soient pas perdues, et suite aux recommandations <strong>de</strong> notre tuteur école<br />

nous avons fait en sorte <strong>de</strong> réduire ce risque au minimum. Les données entrées sont <strong>de</strong> plus<br />

confi<strong>de</strong>ntielles et ne doivent pas être récupérées par une personne extérieure à la société, c'est<br />

pourquoi nous avons fait fonctionner le logiciel sur réseau local.<br />

Il nous a fallu <strong>de</strong> plus communiquer avec le personnel afin <strong>de</strong> connaître au mieux leurs<br />

besoins; nous avons ainsi modifié le projet plusieurs fois, <strong>de</strong> manière à répondre à leurs<br />

besoins; ainsi, l'onglet "évolution <strong>de</strong>s prix" n'était pas présent dans notre projet initial, mais<br />

nous l'avons ajouté quand il nous a été <strong>de</strong>mandé <strong>de</strong> le faire.<br />

2. Du point <strong>de</strong> vue <strong>de</strong> l´entreprise<br />

Grâce au logiciel, l'entreprise a estimé que le temps d'établissement d'un <strong>de</strong>vis pourrait<br />

passer <strong>de</strong> 0,4 temps plein à 0,1 temps plein. En se basant sur le coût annuel d'un SMIC et en<br />

incluant les charges patronales, le gain <strong>de</strong> 0,3 temps plein en termes <strong>de</strong> salaire ferait donc<br />

économiser un peu plus <strong>de</strong> 7000€ par an à l'entreprise; ce temps pourra être investi dans<br />

d'autres tâches à accomplir étant donné le faible nombre d'employés administratifs (2<br />

personnes).<br />

De plus, comme le logiciel est intuitif et permet une prise en main rapi<strong>de</strong>, la maîtrise<br />

du logiciel pourra être rapi<strong>de</strong> et permettra d'optimiser le temps d'utilisation.<br />

22


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

Cependant, le principal atout du logiciel est <strong>de</strong> faire gagner un temps considérable<br />

dans l'établissement <strong>de</strong>s <strong>de</strong>vis, ce qui procure à l'entreprise un atout considérable par rapport à<br />

ses concurrents. La rapidité <strong>de</strong> réponse peut en effet constituer un facteur important dans le<br />

choix d'un client pour son fournisseur et cela pourra peser dans la balance en faveur d'<strong>Atlantis</strong><br />

<strong>Montaza</strong>, ce qui lui permettra d'obtenir plus <strong>de</strong> chantiers par rapport à ses concurrents<br />

qu'auparavant.<br />

Ce logiciel entre également dans la politique d'automatisation <strong>de</strong>s comman<strong>de</strong>s <strong>de</strong><br />

l'entreprise, ce qui lui permet d'être globalement plus performante. Dans la même veine, il<br />

nous a été <strong>de</strong>mandé en complément d'améliorer un logiciel <strong>de</strong> répartition <strong>de</strong>s tâches <strong>de</strong><br />

production. Il fallait auparavant, en fonction <strong>de</strong>s capacités <strong>de</strong> production journalières, entrer<br />

manuellement la répartition <strong>de</strong>s tâches à effectuer en production. Nous avons automatisé cette<br />

tâche, qui a donc réparti la production en fonction <strong>de</strong>s dates <strong>de</strong> début et <strong>de</strong> fin <strong>de</strong> chaque<br />

comman<strong>de</strong> et du temps qu'elle <strong>de</strong>mandait, ce qui répartit les comman<strong>de</strong>s <strong>de</strong> manière<br />

automatique et évite <strong>de</strong> passer un temps considérable à établir les plannings.<br />

23


Ollagnier Amaury / N’Kaoua Marc / Picquenot Samuel / Néau Corentin<br />

Organigramme <strong>de</strong> l’entreprise<br />

ANNEXES<br />

24

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!