Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
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
...
1,1 Livraison
idLivraison <pi> Entier <O>
1,1 dateLivraison Date
Composer qteLivraison Entier
...
TAF :
Créer Le MD à l’écran ;
Exercice TP :
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) ;
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 SORTIE : diminue la quantité stock d’un produit sélectionné et met à jour le stock.
// 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
// 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) ;
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.
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.
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
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.
A partir de Visual Studio pour .NET ou NETBEANS pour JAVA concevez des interfaces
ergonomiques pour :
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>
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 :
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 ;
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) ;
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.
2. Insérez dans la base les données se trouvant ci-dessous avec des ordres INSERT.
Station Activite
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 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
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
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)
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).
Enoncé :
TRAVAIL A FAIRE :
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.