• Aucun résultat trouvé

Page 1/4

N/A
N/A
Protected

Academic year: 2022

Partager "Page 1/4"

Copied!
4
0
0

Texte intégral

(1)

Page 1/4

ESTIA 2ième année – Épreuve d’Informatique – SI - Guillaume Rivière - CGP-MPA Estia 2014

Unité d’Enseignement en Informatique Année 2012-2013

2ième année ESTIA – CGP-MPA

Examen de Système d’Information – Première Session du 22 Mars 2013 (durée 2h00, aucun document autorisé)

Remarque : Une indication sur le niveau atteint est donnée après chaque exercice. Les exercices pourront cependant être traités indépendamment de leur ordre.

Contexte :

Depuis 1995, l’entreprise DEEP (Design Elements for Engineering in Precision) utilise pour son activité un logiciel de dessin hautement spécialisé, Preciware, qui est très peu répandu. Aujourd’hui l’entreprise DEEP connait un succès international et travaille en B2B1 avec de nombreux partenaires. Son nouvel ERP permet à l’entreprise DEEP de mieux répondre (et encore plus rapidement) à une demande croissante et de mieux satisfaire ses nouveaux partenaires. Cependant, le logiciel de dessin Preciware et le nouvel ERP installé en 2012 ne sont pas prévus pour communiquer ensemble. Cela fait plusieurs mois que les ingénieurs saisissent à la main les cotations dans le module SGDT du nouvel ERP. Cette étape est chronophage et source d’erreurs de transcription. La mission (que vous avez acceptée) est d’aider à l’automatisation de cette étape.

Heureusement, le logiciel Preciware possède une fonctionnalité d’exportation des données dans un fichier CSV2. Cela va grandement faciliter le travail, d’autant que l’ERP possède quand à lui une fonctionnalité d’import de fichiers CSV. Par contre la description des données est différente entre ces deux logiciels. Il va falloir lire le fichier CSV généré par Preciware afin de créer un autre fichier CSV respectant la description comprise par l’ERP. Pour ce faire il a été décidé de mettre en place un script PHP qui sera appelé par un formulaire HTML. La figure 1 récapitule le contexte qui vient d’être décrit.

Figure 1 : Schématisation du contexte.

1 B2B : Business to business

2 CSV : Les fichiers Comma Separated Values sont des fichiers ASCII où les données peuvent êtres stockées sur plusieurs lignes et où les colonnes sont marquées par le symbole ";". Ces fichiers peuvent êtres affichés dans un tableur.

CSV

BDD

Code matériau : Nom fichier CSV : Nom fichier CSV :

convertir.php

ERP (SGDT)

Preciware

formulaire.html Exporter

Ouvrir / Lecture

Déclencher

Ouvrir / Ecriture

Importer

CSV

(2)

Page 2/4

ESTIA 2ième année – Épreuve d’Informatique – SI - Guillaume Rivière - CGP-MPA Estia 2014

Pour une rondelle et une entretoise, les données dans les fichiers CSV sont formatées comme suit dans Preciware :

Type = Rondelle

Diamètre externe (inches;mm) Diamètre interne (inches;mm) Epaisseur (inches;mm)

Type = Entretoise

Diamètre externe (inches;mm) Largeur (inches;mm)

Longueur (inches;mm)

Ce qui donnera par exemple :

Le format correspondant dans le SGDT sera celui d’un cylindre creux dont le cercle interne est co- centré avec le cercle externe :

Type = CylindreCreux

Diamètre cercle externe (mm) Diamètre cercle interne (mm) Hauteur (mm)

Centre cercle interne (mm;mm) Code matériau

Ce qui donnera, pour les deux exemples précédents, avec le code matériau 105 : diamètre interne diamètre externe

largeur

diamètre externe

entretoise1_ERP.csv - Bloc notes

cylindrecreux 8.0

6.0 40.0 0.0;0.0 105 rondelle1_ERP.csv - Bloc notes

cylindrecreux 8.0

6.0 1.0 0.0;0.0 105

entretoise1.csv - Bloc notes

entretoise 0.31496062;8.0 0.07874015;2.0 1.57480314;40.0 rondelle1.csv - Bloc notes

rondelle

0.31496062;8.0 0.236220472;6.0 0.03937007;1.0

diamètre interne diamètre externe

épaisseur longueur

hauteur centre du cercle interne

(3)

Page 3/4

ESTIA 2ième année – Épreuve d’Informatique – SI - Guillaume Rivière - CGP-MPA Estia 2014

Vous noterez que dans le SGDT de l’ERP le matériau doit être spécifié. Cette information n’existant pas dans Preciware, elle sera établie par l’utilisateur via un champ dans le formulaire. Notez également qu’un mémento des fonctions PHP pour la manipulation de fichiers, pour la décomposition d’une chaîne de caractères et pour dialoguer avec MySQL est à votre disposition à la fin de cet énoncé.

Question 1 :

a) Qu’est-ce que MySQL ?

- Une gestion électronique de document - Un échange de données informatisé

- Un système de gestion de bases de données - Une base de données

b) Que veut dire le sigle francophone SGDT ?

c) Que veut dire le sigle anglophone ERP ? Donnez l’équivalent francophone de ce sigle.

E | Être capable de restituer les connaissances générales du domaine

Question 2 :

a) Qu’est qu’un ERP ? A quoi cela sert-il au sein de l’entreprise ?

b) Donnez les trois principales particularités qui caractérisent les logiciels ERP ? D | Être capable de répondre à des choix de mise en œuvre d’une solution logicielle

Question 3 :

Écrire le script convertir.php auquel seront transmises par méthode GET les trois valeurs suivantes : materiau : le code matériau de la pièce

csv1 : le nom du fichier CSV à lire provenant de Preciware csv2 : le nom du fichier CSV à écrire à destination de l’ERP C | Être capable d’écrire un script simple

Question 4 :

Donner le code HTML d’un formulaire qui : 1. demande de saisir le code du matériau,

2. demande de saisir le nom du fichier CSV provenant de Preciware, 3. demande de saisir le nom du fichier CSV à destination de l’ERP, 4. propose un bouton de réinitialisation des champs saisis,

5. propose un bouton pour valider le formulaire.

Le script appelé par le formulaire sera le script convertir.php de la question précédente.

Remarque : attention, il n’est pas demandé de gérer l’upload sur le serveur du fichier à lire.

B | Savoir développer une interface client

(4)

Page 4/4

ESTIA 2ième année – Épreuve d’Informatique – SI - Guillaume Rivière - CGP-MPA Estia 2014 Question 5 :

Laisser la saisie du code matériau à la discrétion des utilisateurs n’est pas une solution satisfaisante. Non seulement les utilisateurs doit connaître les code des matériaux, mais en plus le risque d’une erreur de saisie n’est pas écarté. Pour palier à cette difficulté, nous souhaitons qu’une liste de boutons radio permette à l’utilisateur de choisir le code matériau parmi les codes matériaux existant dans le SGDT de l’ERP.

Les codes matériau sont décrits dans une table, de la base de données de l’ERP, dont le schéma relationnel est le suivant :

materiaux

code (integer) nom (varchar 50) module_de_young (float) limite_elastique (float)

Écrire le code du nouveau formulaire qui récupère la liste des matériaux et génère la liste de choix avec les valeurs récupérées dans la base de données de l’ERP (nom du serveur : localhost, nom d’utilisateur : root, mot de passe : root, nom de la base de données : db_erp).

A | Savoir exploiter une base de données

MÉMENTO : Voici quelques éléments de PHP pour vous aider à mener à bien ce travail

La fonction fopen permet d’obtenir un descripteur (type resource) d’un fichier $filepath ouvert en lecture quand $mode vaut "r" et en écriture quand $mode vaut "w". La valeur retournée par fopen est le desctipteur qui a été ouvert, ou faux si l’ouverture a échoué (par exemple en cas de fichier inexistant).

resource fopen ( string $filepath , string $mode ) ; La fonction fclose permet de libérer le descripteur de fichier $fid.

bool fclose ( resource $fid ) ;

La fonction feof permet de tester si le descripteur de fichier $fid a atteint la fin du fichier. La valeur retournée est vrai si la fin de fichier a été atteinte, faux sinon.

bool feof ( resource $fid ) ;

La fonction fgets permet de lire une ligne dans le fichier décrit par le descripteur $fid. La valeur retournée est une chaîne de caractères contenant la ligne du fichier.

string fgets ( resource $fid ) ;

La fonction fputs permet d’écrire dans le fichier décrit par le descripteur $fid.

void fputs ( resource $fid , string $txt) ;

La fonction explode permet de décomposer une chaîne de caractères en plusieurs morceaux dans un tableau selon un délimiteur spécifié.

array explode ( string $delimiter, string $line ) ;

La fonction mysql_connect permet d’ouvrir une connexion avec un seveur MySQL.

resource mysql_connect ( string $host, string $user, string $password ) ; La fonction mysql_select_db permet de sélectionner la base de données à interroger.

bool mysql_select_db ( string $database ) ; La fonction mysql_query permet d’effectuer une requête SQL sur la base de données.

result mysql_query ( string $query ) ;

La fonction mysql_result permet de récupérer la valeur du champ $field de la ligne $i de la réponse $result à une requêtre SQL de type SELECT.

string mysql_result ( result $result, int $i, string $field ) ;

Références

Documents relatifs

[r]

The algorithm is based on: (i) the Aho-Corasick string matching algorithm whose objective is to efficiently detect the occurrences of all sensitive patterns in the string, (ii)

Within a short period of time, most likely within one hour, the authorization string will e- mailed to you.. Note 1: Use an e-mail address that you check regularly. Note 2: A

resource fopen ( string $filepath , string $mode ) ; La fonction fclose permet de libérer le descripteur de fichier $fid. bool fclose ( resource $fid

It is actually not hard to generalize the random access data structure of [5, Thm 5.3] to support access on grids within O(|Γ | polylog n) space, where Γ is a grid attractor as

Regular string-to-string functions enjoy a nice triple characterization through determinis- tic two-way transducers (2DFT), streaming string transducers (SST) and MSO

Conversely, some variant of the mirror language { w | w ∈ {a, b} ∗ and w = w R } is generated by many variants of sticker systems (that can generate all linear context-free

By mixing the idea of representing a string as its length using a numeric abstraction and input/output relations, our analyzer is able to handle the strcpy example. More