Vous êtes sur la page 1sur 36

Liste des Eléments A Remettre 

1) TP 1 : TP Pratique de Système d’Information Et Programmation Orientée Objet :


a) TP1 : (Enoncé + Eléments de Correction) ;

Utilisation Et Manipulations de PowerAMC :

Client
idClient <pi> Entier <O> Fournisseur
nomClient Caractère variable (50) CodeFournisseur <pi> Caractère variable (5) <O>
adresseClient Caractère variable (50) nomFournisseur Caractère variable (50)
emailClient Caractère variable (50) adresseFournisseur Caractère variable (50)
telClient Caractère variable (50) telFournisseur Caractère variable (50)
...

1,n 1,n

Passer Produit
refProduit <pi> Caractère variable (5) <O>
libelléProduit Caractère variable (50)
qtestockProduit Entier
qteseuilProduit Entier
Effectuer
1,1 prixProduit Entier
...

Commande 1,n 1,n


idCommande <pi> Entier <O>
dateCommande Date Associer
qteCommande Entier 1,1
...

1,1 Livraison
idLivraison <pi> Entier <O>
1,1 dateLivraison Date
Composer qteLivraison Entier
...

TAF :

 Créer Le MD à l’écran ;

 Vérifier votre MCD ;

 Générer le MPD et le fichier de la base de données et nommez ce fichier


« bdd_gestionmagasin ». Placer ce fichier dans un répertoire « GestionMag » dans le
bureau.

 Lancer phpmyAdmin et créer une nouvelle base de donnée vide « bdd_gestionmag » ;

 Editer votre fichier .SQL en insérant les clauses « AUTO_INCREMENT » ;

 Importer le fichier .SQL dans votre base de données ;


 Vérifier la structure complète de votre base de données ;

 Insérer les valeurs dans chaque table de votre base de données.

Exercice TP :

1) Modélisation du MCD Avec PowerAMC :

i. Dessiner Le MCD (Entités + Propriétés Avec Types + Associations + Liens Entre


Entités + Cardinalités) ;

ii. Vérifier Le Modèle (0 Avertissements Et 0 Erreurs) ;


iii. Générer Le Modèle Physique de Données (Menu Outils + Commande Générer Un
Modèle Physique de Données + Cliquez Sur Le Bouton Ok) ;
iv. Générer Le Fichier .SQL de La Base de Données (Etant Sur Le Modèle Physique,
Faire Menu SGBD + Commande Générer La Base de Données + Bouton Ok) ;
v. Edition du Fichier .SQL (Avec Notepad++. Faites Un Clic Droit Sur Le Fichier
.SQL Et Commande Editer Avec Notepad++. Et Editer Le Fichier En Ajoutant La
Clause AUTO_INCREMENT Devant Les Attributs Id ou Numéro de Type Entier
Comme « IDINSCRIPTION » Et « IDREGLEMENT ») ;

2) Manipulation de l’outil phpmyadmin :

i. Lancer Votre Outil Web (WAMP ou XAMP ou EasyPHP) Et Attendez Le


Démarrage de Tous Les Service ;

ii. Lancer L’outil phpmyadmin ;


iii. Cliquez Sur Base de Données Et Créer Une Base de Données Vide
« bdd_gestionEtudiant » : Et Cliquez Sur Le Bouton Ok ;

iv. Une Fois La Base de Données Créée, Cliquez Sur Le Bouton « Importer » Et
Sélectionnez Le Fichier .SQL Obtenue Avec PowerAMC. Cliquez Sur Parcourir ou
Browse . . . Cliquez Sur Ouvrir Et Enfin Sur Exécuter En Bas de La Fenêtre ;
v. Insertion des Données Dans Les Tables. Cliquez Sur Chaque Table + Vérifier La
Structure Sur Bouton Structure + Et Insérer Valeur Ou Données Dans Insérer Et Sur
Bouton Exécuter Pour Valider Insertion des Données :
vi. Exporter La Base de Données. Se Positionnez Sur La Base de Données Et Cliquez
Sur Le Bouton Exporter. Et Cliquez Sur Le Bouton Exécuter.
b) TP2 : (Enoncé + Eléments de Correction) ;

Mini application de gestion des produits :

 Sois ta table « Produit » à créer dans phpmyAdmin et définie comme suis :

o idProduit : Type INT. Index = PRIMARY. Cocher A_I pour


AUTO_INCREMENT ;

o libProduit : Type VARCHAR(50) ;

o stockProduit : Type INT ;

o seuilProduit : Type INT ;

o prix_unitProduit : Type INT ;

 Insérer les données suivantes :

o Produit 1 : CLAVIER – 0 – 5 – 5000 ;

o Produit 2 : SOURIS – 0 – 10 – 3000 ;

o Produit 3 : LAPTOP – 0 – 15 – 45000 ;

o Produit 4 : IMPRIMANTE – 0 – 20 – 35000 ;

o Produit 5 : ECRAN ORDINATEUR – 0 – 25 – 100000.

 Créez un nouveau projet Visual Studio et reproduisez la maquette suivante :


 Insérer les codes des boutons NOUVEAU + AJOUTER + MODIFIER + SUPPRIMER +
TRIER + AFFICHER + FERMER + ELEMENT TEXTBOX RECHERCHER ;

 Pour les autres boutons :

o ALERTE : Afficher la liste des produits qui doivent faire l’objet d’une nouvelle
livraison. Un produit doit faire faire l’objet d’une nouvelle livraison si sa quantité
stock est inférieur à sa quantité seuil ;

o LIVRAISON : augmente la quantité stock d’un produit sélectionné et met à jour le


stock ;

o SORTIE : diminue la quantité stock d’un produit sélectionné et met à jour le stock.

Programmation Evènementielle – Microsoft Visual Studio – Visual Basic.Net Avec MySQL


// 1 - Importer La Référence MySQL Permettant d’installer les classes MySQL. Mais Avant Importer Déjà Et D’Abord
Cette Référence. Sur L’Explorateur de Solution, Faites Un Clic Droit Commande Ajouter Et Cliquez Sur Référence.
Dans La Boite de Dialogue, Cliquez Sur Parcourir Et Choisir La Référence MySQL Puis Cliquez Sur Ajouter Et Ok
Afin de Valider L’Importation.
Imports MySql.Data.MySqlClient

Public Class FORM_ETD (Sa Peut Aussi Etre FORM1)


// 2 - Insérer La Chaine de Connexion A La Base de Données MySQL
Dim str As String = "server=localhost; uid=root; pwd=; database=gestion_Etudiant"
Dim con As New MySqlConnection(str)

// 3 - Insérer Le Code de Chargement de La Fenêtre Principale. Au Niveau des .Clear(), Cela Dépend du Nombre de
Colonnes de La Tables. Autant de Colonnes = Autant de .Clear() Car Chaque Colonne A Son TextBox
Sub MaLoad()
Dim query As String = "select * from Etudiant"
Dim adpt As New MySqlDataAdapter(query, con)
Dim ds As New DataSet()
adpt.Fill(ds, "Emp")
DataGridView1.DataSource = ds.Tables(0)
con.Close()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
End Sub

// 4 - Appel du Code Chargement de La Fenêtre Principale + Derrière Le Bouton Afficher L’Insérer Egalement//
Private Sub FORM_ETD_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MaLoad()
End Sub

// 5 - Manipulation du Champ DataGridView. Sur La Partie IHM Se Placer Sur Le DataGridView Et Chercher Les
Propriétés MultiSelect (Valeur = False) Et ReadOnly (Valeur True). Et Sur L’Onglet Evènement Chercher
« Cell_Click » Et Doublez Cliquer Dessus Et Taper le Code Suivant :
Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
Dim row As DataGridViewRow = DataGridView1.CurrentRow
Try
TextBox1.Text = row.Cells(0).Value.ToString()
TextBox2.Text = row.Cells(1).Value.ToString()
TextBox3.Text = row.Cells(2).Value.ToString()

Catch ex As Exception

End Try
End Sub

// 6 - Code du Bouton Afficher


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MaLoad()
End Sub

// 7 – Le Bouton Trier.
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim query As String = "select * from Etudiant order by nomEtudiant"
Dim adpt As New MySqlDataAdapter(query, con)
Dim ds As New DataSet()
adpt.Fill(ds, "Emp")
DataGridView1.DataSource = ds.Tables(0)
con.Close()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
End Sub

// - 8 – Le Bouton Ajouter Ou Insérer Ou Enregistrer. Préciser Bien Le Nom de La Table Et Les Noms des Colonnes
Exactement Comme Définies Dans MySQL de phpmyAdmin. Vous Pouvez Même Souvent Se Placer Sur L’Onglet
Structure de phpmyAdmin Et Copier Labà Et Venir Coller Ici Afin D’Etre Sur De Pas Faire d’Erreurs. Et Chaque
TextBox (Le Texte) de Mon Formulaire = A La Valeur Qui Sera Insérer Dans La Colonne de La Table de La BDD.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim cmd As MySqlCommand
con.Open()
Try
cmd = con.CreateCommand
cmd.CommandText = "insert into etudiant(matEtudiant,nomEtudiant,telEtudiant)values(@matEtudiant,@nomEtudiant,@telEtudiant);"

cmd.Parameters.AddWithValue("@matEtudiant", TextBox1.Text)
cmd.Parameters.AddWithValue("@nomEtudiant", TextBox2.Text)
cmd.Parameters.AddWithValue("@telEtudiant", TextBox3.Text)
cmd.ExecuteNonQuery()
MaLoad()
Catch ex As Exception

End Try
End Sub

// 9 – Le Bouton Modifier. NB : On Ne Modifie Pas Et Jamais La Clé Primaire. Jamais. Donc Avec Ce Bouton On
Modifie Les Autres Valeurs Sauf La Clé Primaire Car Elle Est Unique Et Non Modifiable Une Fois Insérer A Partir du
Bouton Ajouter.
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim cmd As MySqlCommand
con.Open()
Try
cmd = con.CreateCommand
cmd.CommandText = "update etudiant set nomEtudiant=@nomEtudiant, telEtudiant=@telEtudiant where
matEtudiant=@matEtudiant;"
cmd.Parameters.AddWithValue("@matEtudiant", TextBox1.Text)
cmd.Parameters.AddWithValue("@nomEtudiant", TextBox2.Text)
cmd.Parameters.AddWithValue("@telEtudiant", TextBox3.Text)
cmd.ExecuteNonQuery()
MaLoad()
Catch ex As Exception
End Try
End Sub

// - 10 – Le Bouton Supprimer
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim cmd As MySqlCommand
con.Open()
Try
cmd = con.CreateCommand()
cmd.CommandText = "delete from etudiant where matEtudiant=@matEtudiant;"
cmd.Parameters.AddWithValue("@matEtudiant", TextBox1.Text)
cmd.ExecuteNonQuery()
MaLoad()
Catch ex As Exception

End Try
End Sub

// 11 – Code Rechercher. Etant Sur Le TextBox du Champ Recherche, Doublez Cliquer Dessus Et Taper Ceci
Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
TextBox4.TextChanged
Dim adapater As MySqlDataAdapter
Dim ds As New DataSet
Try
con.Open()
adapater = New MySqlDataAdapter("select * from etudiant where nomEtudiant like '%" & TextBox4.Text & "%'",
con)
adapater.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)
con.Close()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
Catch ex As Exception

End Try
End Sub
End Class
c) CC Sujet 1 : (Enoncé + Eléments de Correction) ;
d) Prototype Examen Sujet 1 : (Enoncé + Eléments de Correction) ;

TRAVAUX PRATIQUES SYSTÈME D’INFORMATION ET PROGRAMMATION ORIENTÉE


OBJET

OUTILS : Power AMC, WAMPSERVER OU XAMPSERVER, VISUAL STUDIO POUR .NET OU


NETBEANS pour JAVA.

Partie A : SI Et BDD : 60Points

Enoncé :

Une entreprise est organisée par divisions implantées géographiquement en des localités
distinctes. Chaque division est identifiée par un numéro et possède un nom. Les salariés de l'entreprise
sont identifiés par leur numéro de matricule, travaillent dans une division où ils exercent une fonction. Ils
perçoivent un salaire. Les salariés sont regroupés dans des équipes représentant des pôles de compétence.
Il est possible que certains salariés ne travaillent dans aucune division.

Un projet, coordonné par un salarié, le chef de projet, est caractérisé par un numéro, une
appellation, un thème, des dates de début et de fin de réalisation. Les projets sont réalisés pour des clients
à une date d'échéance. Un projet est constitué de tâches caractérisées par un coût.

Des salariés participent à tout ou partie de ces tâches entre deux dates déterminées. Les salariés
utilisent des matériels identifiés par un numéro, désignés par un nom, caractérisés par leur type et la
référence du constructeur.

Section 1 : Analyse du cas avec la méthode MERISE : 40Points

En vous servant de Power AMC, réaliser le modèle conceptuel des données (MCD) et le modèle
logique de données relationnel (MLDR) en précisant les suppositions que vous serez éventuellement
amenés à faire et les impacts que ceux-ci auront sur l’utilisateur du système.

Section 2 : Administration de BD avec MySQL (Wampserver ou XampServer) : 20Points

En vous servant du SGBD MySQL du Package WampServer, faites les opérations suivante : -
Créer la Base de données : Gestion_Projet; - Créer les tables découlant du MCD défini à la Section 1 ; -
Insérer les données de test dans les différentes tables permettant de sauvegarder et exporter votre base de
données.
Partie B : PROGRAMMATION ORIENTEE OBJET : 40Points

Section 1 : Translation du MCD en diagramme de classe : 5Points

En vous servant du MCD de la partie A section 1, créé à partir de Visual Studio pour .NET ou
NETBEANS pour JAVA le diagramme de classe de notre réservation hôtelière.

Section 2 : Conception des IHM : 10Points

A partir de Visual Studio pour .NET ou NETBEANS pour JAVA concevez des interfaces
ergonomiques pour :

 le formulaire page connexion ;


 le formulaire servant de menu principal avec des commandes de l’application ;
 les formulaires de gestion et enregistrement dans les tables projet, client. Avec les boutons :
o afficher ;
o nouveau ;
o ajouter ;
o modifier ;
o supprimer ;
o trier ;
o espace pour rechercher des informations en fonction du critère de recherche ;
 la liste des projets en cours.

Section 3 : Interfaçage avec la BD à l’aide de .NET ou JAVA : 25Points

A partir de .Net ou Java, effectuez une connexion sur la base de données «Gestion_Projet » définie
à la section 2 de la partie A et Affichez à partir de l’interface « afficher la liste des projets », la liste des
salariés et des clients de votre base de données. Traiter des évènements « clique » dans les boutons de
l’interface de gestion des projets et dans la table client également.
2) TP 2 : TP Programmation Web Et Mobile :
a) TP1 : (Enoncé + Eléments de Correction) ;
*{
font-family: Avenir, sans-serif;
}
fieldset{
background-color: RGBa(240, 160, 0, 0.2);
}
legend{
font-weight: bold;
}
.champ{
margin-bottom: 10px;
}
textarea{
width: 80%;
height: 100px;
}
input{
width: 150px;
}
input[type="radio"], input[type="checkbox"]{
width: auto;
}
input[type="submit"]{
width: 100px;
}
<!DOCTYPE html>
<html>
<head>
<title>Cours HTML et CSS</title>
<meta charset= "utf-8">
<link rel="stylesheet" href="cours.css">
</head>

<body>
<form method="post" action="form.php">
<fieldset>
<legend>Informations personnelles :</legend>
<div class="champ">
<label for="nom">Nom de famille :</label>
<input type="text" id="nom" name="nom">
</div>
<div class="champ">
<label for="prenom">Prénom :</label>
<input type="text" id="prenom" name="prenom">
</div>
<div class="champ">
<label for="mail">Adresse mail :</label>
<input type="email" id="mail" name="mail">
</div>
<div class="champ">
<label for="age">Age :</label>
<input type="number" id="age" name="age">
</div>
<div class="champ">
<input type="radio" id="h" name="sexe" value="homme">
<label for="h">Homme</label>
<input type="radio" id="f" name="sexe" value="femme">
<label for="f">Femme</label>
</div>
<div class="champ">
<label for="pays">Pays de résidence :</label>
<select id="pays" name="pays">
<optgroup label="Europe">
<option value="france">France</option>
<option value="belgique">Belgique</option>
<option value="suisse">Suisse</option>
</optgroup>
<optgroup label="Afrique">
<option value="algerie">Algérie</option>
<option value="tunisie">Tunisie</option>
<option value="maroc">Maroc</option>
<option value="madagascar">Madagascar</option>
<option value="benin">Bénin</option>
<option value="togo">Togo</option>
</optgroup>
<optgroup label="Amerique">
<option value="canada">Canada</option>
</optgroup>
</select>
</div>
</fieldset>
<fieldset>
<legend>Compétences / expérience :</legend>
<div class="champ">
<input type="checkbox" id="html" name="competences" value="html">
<label for="html">HTML</label>
<input type="checkbox" id="css" name="competences" value="css">
<label for="css">CSS</label>
<input type="checkbox" id="js" name="competences" value="javascript">
<label for="js">JavaScript</label>
<input type="checkbox" id="php" name="competences" value="php">
<label for="php">PHP</label>
<input type="checkbox" id="sql" name="competences" value="sql">
<label for="sql">SQL</label>
<input type="checkbox" id="seo" name="competences" value="seo">
<label for="seo">SEO</label>
</div>
<div class="champ">
<textarea name="exp" placeholder="Décrivez une expérience pro"></textarea>
</div>
</fieldset>
<fieldset>
<legend>Validation :</legend>
<div class="champ">
<label for="pass">Choisissez un mot de passe :</label>
<input type="password">
</div>
<input type="submit" value="Envoyer">
</fieldset>
</form>
</body>

b) TP2 : (Enoncé + Eléments de Correction) ;


L’objectif dans cette section du cours est la création et l’exécution des scripts écrits en PHP et
ceci permettra la manipulation et l’exploitation de la base de données MySQL. Pour chaque table
présente dans votre base de données, et de manière générale et ordonnée (capture image en ordre
désordre) :

 Etape 1 : Créer un fichier « Connecion.php » : qui permettra de se connecter à la base de


données et en cas de mauvais paramètres de connexion, le fichier devra renvoyer un
message d’erreur :

 Etape 2 : Créer le fichier « Liste.php » : Ce fichier permettra d’afficher l’ensemble des
informations enregistrées dans la table présente dans votre base de données. Les éléments
de ce fichier sont entre autres :

o L’inclusion du fichier « Connecion.php » permettant de vérifier si l’utilisateur est


bel et ien connecté à la base de données ;
o Créer une variable résultat permettant de récupérer le résultat de la requête
d’affichage des informations de la base de données ;

o Créer un tableau associatif qui permettra de représenter dans un tableau l’ensemble


des informations de la table. Et de manière générale, ce tableau sera toujours sous la
forme suivante :

Action
Colonne 1 Colonne 2 Colonne N Editer
Supprimer
(Modifier)
Valeur Colonne Valeur Colonne Valeur Colonne Lien Pour Lien Pour
1 2 N Modifier Supprimer

Pour sélectionner des données dans une base de données, nous allons utiliser l’instruction SQL
SELECT… FROM
 Etape 3 : Créer le fichier « Nouveau.php » : qui est un formulaire permettant à
l’utilisateur d’insérer les valeurs et de cliquer sur le bouton valider ou ajouter ou insérer
afin d’ajouter une nouvelle ligne de données dans la table.

 Etape 4 : Créer le fichier « Insert.php » : qui est un script php permettant de récupérer
les valeurs du formulaire et d’exécuter la commande SQL « INSERT ». après insertion,
l’utilisateur doit automatiquement se rediriger vers la liste afin de visualiser le nouvel
ajout.
Une fois notre base de données et nos premières tables créées, nous allons pouvoir commencer à
insérer des données dans ces dernières. Dans cette nouvelle section, nous allons voir comment
insérer une ou plusieurs entrées dans une table et allons également comprendre l’intérêt de
préparer ses requêtes SQL et voir comment faire cela.

Pour insérer des données dans une table, nous allons cette fois-ci utiliser l’instruction SQL
INSERT INTO suivie du nom de la table dans laquelle on souhaite insérer une nouvelle entrée
avec sa structure puis le mot clef VALUES avec les différentes valeurs à insérer. Concrètement,
la structure de la requête SQL va être la suivante : INSERT INTO nom_de_table (nom_colonne1,
nom_colonne2, nom_colonne3, …)

VALUES (valeur1, valeur2, valeur3, …). Il y a cependant quelques règles de syntaxe à respecter
afin que cette requête fonctionne :

 Les valeurs de type chaine de caractère (String) doivent être placées entre apostrophes ;

 La valeur NULL ne doit pas être placée entre apostrophes ;

 Les valeurs de type numérique ne doivent pas être placées entre apostrophes.

 Etape 5 : Créer le fichier « Supprimer.php » : qui est un script php permettant de
supprimer l’information sur la ligne de données souhaitée mais surtout doit demander une
confirmation à l’utilisateur (gestion de l’évènement « OnClick » de JavaScript)

Dans cette nouvelle section, nous allons apprendre à supprimer des données précises d’une table
ou toutes les données d’une table ou encore à supprimer complètement une table ou une base de
données.
De manière pratique, il est essentiel de savoir comment supprimer d’une table, au cas où un
utilisateur voudrait faire jouer son droit à l’effacement de ses données personnelles par exemple.

Pour supprimer des données d’une table, nous allons utiliser l’instruction SQL DELETE FROM.
Pour préciser quelles entrées doivent être supprimées, nous allons accompagner DELETE FROM
d’une clause WHERE nous permettant de cibler des données en particulier dans notre table.

En pratique, pour supprimer une entrée en particulier, nous utiliserons la clause WHERE sur une
colonne « id » en ciblant un « id » précis.

 Etape 6 : Créer le fichier « Editer.php » : qui est un formulaire mais en mode édition
oumodification permettant à l’utilisateur de modifier les valeurs anciennes avec les
nouvelles et de cliquer sur le bouton modifier ou éditer afin de valider la mise à jour de la
ligne de données souhaitée dans la table.
 Etape 7 : Créer le fichier « Update.php » : qui est un script php permettant de validant la
mise à jour et / ou les modifications sur une ligne de données déjà existante.

Dans de nombreux cas, nous devrons mettre à jour les données dans nos bases de données. Ce
sera par exemple le cas lorsqu’un utilisateur va mettre à jour une adresse de livraison ou une
adresse mail, ou encore lorsqu’une valeur de type date doit être remplacée régulièrement comme
une date d’expiration ou la date de dernier achat d’un client.

Il va être beaucoup plus rare d’intervenir directement sur la structure d’une table qui devrait
normalement être fixe mais cependant cela peut arriver dans des cas de refonte ou de mise en
conformité avec de nouvelles fonctionnalités, lois, etc.

Nous allons utiliser l’instruction SQL UPDATE suivie du nom de la table pour mettre à jour des
données dans une table.

Cette instruction va toujours être accompagnée de SET qui va nous servir à préciser la colonne à
mettre à jour ainsi que la nouvelle valeur pour la colonne. En s’arrêtant là, en effet, nous allons
mettre à jour toutes les valeurs d’une colonne d’un coup ! Ce sera très rarement ce que nous
voudrons faire en pratique, et c’est pour cela que nous allons généralement également utiliser la
clause WHERE pour spécifier quelles entrées doivent être mises à jour.
c) CC Sujet 1 : (Enoncé + Eléments de Correction) ;

TRAVAUX PRATIQUES PROGRAMMATION WEB ET MOBILE

Fiche TD. NB  : TRAITER D’ABORD L’EXERCICE 2 PUIS LE 3 ET ENFIN L’EXERCICE


1.

Exercice 1 : Il s'agit de définir un schéma de base de données, et d'y insérer quelques
informations.

1. Créez les tables du schéma 'Agence_voyages' donné ci-dessous. Les attributs en gras sont
les clés primaires. Choisissez les types de données qui vous semblent adaptés.

 Station (nomStation, capacité, région, tarif)

 Activite (nomStation, libellé, prix)

 Client (idclient, nom, prénom, ville, solde)

 Sejour (idclient, nomStation, début, nbPlaces)

2. Insérez dans la base les données se trouvant ci-dessous avec des ordres INSERT.

Station Activite

NomStatio Capacité Région Tarif


n
NomStatio Libellé Prix
Venusa 350 Djerba 500
n
Dorothée 500 Hamamet 600
Venusa Voile 150
Venusa Plongée 120
Dorothée Voile 200
Dorothée Jet 180

Client Sejour
idclien nom prénom ville solde
t
101 Ben sassi Salah Kairoua 2000
n
102 Friwa Mokhta Bizerte 1800
idClien station début nbPlaces
r
t
103 Jlassi Khaoula Kef 2200
101 Venusa 03-07-2012 2
102 Dorothee 15-07-2012 1
3. Exécutez les requêtes SQL suivantes :
103 Venusa 18-07-2012 3
 Recherchez tous les clients.

 Recherchez les stations qui proposent l’activité « voile ».

 Recherchez le coût total des activités par ville.

 Recherchez les clients qui ont des séjours le mois de Juillet 2012

Dans la suite de cet exercice, on va créer une petite application pour tester la connexion
PHP/MySQL

4. Créez un formulaire permettant de saisir le nom du serveur, le login, le mot de passe, le


nom de la base ;

5. Sur validation de ce formulaire, exécutez un script TestConnect.php qui récupère les


données saisies par l'utilisateur, tente de se connecter à MySQL et affiche un message
indiquant si la connexion a échoué ou réussi.

6. Créer une page web qui affiche la liste des stations avec leurs capacités, leurs régions de
situation et leurs tarifs.

7. Faire un formulaire permettant de choisir le nom d'une station dans laquelle on souhaite
partir en vacances. Sur validation de ce formulaire, afficher la liste des stations
correspondant aux critères saisis avec les activités disponibles.

8. Présenter une page web comprenant un tableau donnant la liste des activités des stations.
Exercice 2 : développement d’une application de gestion de médiathèque

L’application a pour but de permettre une gestion des emprunts d’une médiathèque
municipale. La commune dispose d’un biblio-bus et des bornes de connexion Internet encadrent
toute la commune permettant l’accès à la BDD. On envisage donc de confier un ordinateur
portable à l’agent chargé de la gestion des emprunts via le biblio-bus. Proposition d’interface de
l’application MEDIATHEQUE

Comme on peut le constater, l’application doit répondre à des impératifs d’administration


de la BDD et proposer une interface web conviviale autorisant une gestion simple des
mouvements des documents.

 Etape 1 : En fonction des éléments de l’interface et selon vos connaissances MERISE,
proposez un MCD, Dessinez le sur PowerAMC et effectuer la création de la base de
données BIBLIO dans phpmyAdmin de votre package Web ;

 Etape 2 : développement en HTML des formulaires pour saisie et des scripts en PHP pour
la manipulation des données permettant cette gestion (Liste_Infos, Ajouter_Infos,
Supprimer_Infos)

Exercice 3 : développement mobile

 Installez Angular dans votre machine ;


 Créez un nouveau projet Angular nommé « projet_TestAngular » et énumérez l’ensemble
des fichiers et dossier présents dans ce répertoire.

d) Prototype Examen Sujet 1 : (Enoncé + Eléments de Correction) ;

Prototype de Sujets Pour Examen – BTS Session Avril / Juin 2020

TRAVAUX PRATIQUES PROGRAMMATION WEB ET MOBILE

FORME DE L’EPREUVE : EPREUVE PRATIQUE ;

DUREE DE L’EPREUVE : 05 heures ;

CREDIT : 7 ;

L’épreuve comporte deux parties indépendantes qui doivent être traitées et corrigées sur
ordinateur. Outils : un ordinateur contenant les logiciels suivants : Editeur Notepad ++, Wamp Server
pour MySQL, HTML5, CS3, ANGULAR VERSION X (Connexion Internet momentanément pour
installer les packages nécessaires à la programmation mobile).

Partie A : Programmation Web Dynamique – 70Points

Enoncé :

En votre qualité future de technicien supérieur en informatique option génie logiciel,


l’administration de l’enseignement supérieur au Cameroun MINESUP vous demande de réaliser une mini
application permettant de gérer de manière simple un répertoire téléphonique. Un répertoire est constitué
d’un ensemble de contacts. Chaque contact est caractérisé par un numéro ou ID, un nom, une adresse
email, un numéro de téléphone à 9caractères. L’ensemble des contacts sera sauvegardé dans une base de
données nommée « dbgesion_MINESUP ».

TRAVAIL A FAIRE :

1) Créez cette base de données en utilisant phpmyAdmin de WAMPSERVER OU XAMPSERVER ;


2) Créez la ou les différentes tables de la base de données ;
3) Insérer les données de test dans les différentes tables permettant de sauvegarder et exporter votre
base de données ;
4) Créer un projet web « gestionContact » et le placer dans votre répertoire web. Dans ce dossier sera
crée l’ensemble des pages HTML ou PHP permettant d’effectuer un ensemble de manipulations ;
5) Créez une page HTML « liste_contact.html » permettant d’afficher l’ensemble des contacts de la
base de données ;
6) Créez une page HTML « nouveau_contact.html » contenant le formulaire d’enregistrement d’un
contact en prévoyant un bouton « Valider ».
7) Mettez en forme la page HTML en utilisant le CSS. Cette mise en forme dépendra de l’ingénierie
de chaque étudiant ;
8) Configurez la page web avec un fichier « insertContact.php » qui permettra d’enregistrer les
contacts dans la table « contact » de la base de données à partir du formulaire ;
9) Enregistrez 03 contacts dans la base de données à partir du formulaire.
10) Configurez la page web avec un fichier « supprimerContact.php » qui permettra de supprimer un
contact sélectionné dans la liste des contacts affiché dans la page « liste_contact.html ».

Partie B : Développement d’Application Mobile – 30Points

 Créer un projet simplifié nommé « FormContact » avec la suite Angular X, NodeJS, Apache
Cordova, Ionic permettant d’afficher un formulaire d’enregistrement d’un contact à partir d’un
Terminal Mobil Android.
 Ce projet devra être crée sur le bureau.

Vous aimerez peut-être aussi