• Aucun résultat trouvé

[PDF] Test programmation web avec correction | Cours Informatique

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] Test programmation web avec correction | Cours Informatique"

Copied!
53
0
0

Texte intégral

(1)

Université Mohammed Premier

Faculté des sciences Oujda

Département de Mathématiques et Informatiques

Master Électronique et Informatique

Module :

Semestre 3

Mourad OUDGHIRI

Janvier 2012

Technologies de Web

(2)
(3)

Table des matières

I

Énoncés des exercices

3

HTML

4

CSS

10

JavaScript

13

PHP

16

Contrôle 1 : 2012/2013

19

Contrôle 2 : 2012/2013

22

II

Corrigés

24

HTML

25

CSS

31

JavaScript

34

PHP

39

Contrôle 1 : 2012/2013

45

Contrôle 2 : 2012/2013

49

(4)

Première partie

(5)

HTML

Exercice 1. On commence par créer un fichier nommé exercices.html et on y met

les balises : html, head, body. Le titre du document est : Exercices de HTML.

1. Changer la couleur du fond du document en #00ffff.

2. Placer le titre Corrigé des exercices de HTML centré en haut de la page.

3. Insérer une ligne horizontale de largeur 80% et d’épaisseur 2.

4. Placer le sous-titre Exercice 2 aligné à gauche.

Exercice 2.

1. Reproduisez ce tableau en le centrant horizontalement.

2. Donner la valeur 6 à cellpading et cellspacing.

3. Modifier la dimension des cellules.

Exercice 3. Reproduisez cette liste :

Exercice 4.

1. Ecrivez cette phrase en utilisant la police de caractères

Co-mic Sans MS : J’utilise la police CoCo-mic Sans MS. Puis un retour à la

ligne

2. Ecrivez cette phrase en utilisant la police de caractères Arial : J’utilise la

police Arial. Puis un retour à la ligne

(6)

3. Ecrivez cette phrase en utilisant la police de caractères Verdana : J’utilise

la police Verdana.

Exercice 5. On commence par créer le dossier "cinema" dans "c :/wamp/www/".

1. Créer le fichier index.html dont le titre est "Cinéma".

2. Créer un tableau centré dans la page web : largeur 760px, border 1, espace

entre les cellules 0, nombre de colonnes 1, nombre de lignes 4, hauteur des

cellules de la première ligne est 100px, hauteur des cellules de la deuxième

ligne est 50px, hauteur des cellules de la quatrième ligne est 100px.

3. Placer au centre de la première cellule le titre "Les Débuts Du Cinéma" de

type h1 et de couleur #897ae2.

4. Dans la cellule 4, mettez au centre et en utilisant un fond de -2 : "Tous

droits réservés". Sur une nouvelle ligne, mettez le lien "webmaster" qui

pointe sur votre email.

5. Dans la troisième ligne

— Insérer une liste énumérée de type A dont les éléments sont : Cinéma

américaine ; Cinéma française ; Cinéma espagnole.

— Utiliser chaque élément de la liste précédente pour créer des liens vers les

ancres dont les noms sont respectivement cineamercaine, cinefrancaise,

cineespagnole. Les ancres associés seront définis par les titres : Cinéma

américaine, Cinéma française, Cinéma espagnole.

— Insérez une ligne de largeur 75% et de taille 2.

— Mettez "Cinéma américaine" comme titre centré de taille h3 et de

cou-leur #39E932. Puis, laissez un peu d’espace vertical.

— Insérer l’image 1 : alignement à gauche, espace horizontal égale à 5.

Puis, copier et coller ce texte :

Aux États-Unis, les balbutiements du septième art sont plus

mouve-mentés qu’en France. En effet, dès 1897, George Eastman (industriel

américain ; 1854-1932) et Thomas Edison (inventeur américain ;

1847-1931) Edison intente plusieurs procès à tous ses concurrents dans le but

d’être le seul à posséder le brevet d’un appareil dérivé du

cinémato-graphe, le kinétoscope, dont il se prétend le père. Face à ces différentes

attaques, le représentant de Lumière en Amérique se voit contraint de

quitter clandestinement le pays à bord d’un transatlantique, et peu de

temps après, l’invention des deux frères français est confisquée. Durant

ces événements, quelques aventuriers, dont William Fox, un teinturier

reconverti dans le cirque, Adolphe Zukor, un marchand de fourrures,

et Warner, quatre frères réparateurs de bicyclettes, se lancent dans la

production de films.

— Introduire ce texte en italique comme paragraphe séparé :

le premier western de l’histoire, The Great Train Robbery, du réalisateur

Edwin S. Porter, prend d’assaut les écrans.

— Copier coller ce texte :

Le premier grand événement marquant du cinéma américain se déroule

en 1914, lorsque David W. Griffith, inspiré par le roman de Dixon,

The Clansman, termine Naissance d’une nation, dont le tournage, pour

(7)

lequel il eut du mal à trouver des financements, dura plus de quatre

mois. Évoquant la vie d’une famille sudiste après la guerre de Sécession,

le scénario prend, avec un racisme certain, partie pour le Sud, ce qui crée

des émeutes, et amasse les foules dans les salles. Outre son incontestable

réussite commerciale, ce film signe le début de l’hégémonie des mises en

scène supérieures à 80 minutes, appelées aussi longs métrages.

Mettez image 2 à l’intérieur du texte : alignement à droite, espace

horizontal égale à 5.

— Mettez "Cinéma française" comme titre centré de taille h3 et de couleur

#39E932. Puis, laissez un peu d’espace vertical.

— insérer :

À la fin du XIXe siècle, pendant les années héroïques du cinéma, la

France fournit plusieurs pionniers importants. En premier lieu, les frères

Auguste et Louis Lumière, inventeurs du cinématographe. Le 13 février

1895, ils déposent le brevet du Cinématographe avant de présenter, le

22 mars 1895, en projection privée à Paris à la Société

d’encourage-ment à l’industrie nationale, la Sortie de l’usine Lumière à Lyon. Après

une tournée triomphale en France devant des spectateurs choisis, les

Frères Lumière tentent l’expérience commerciale. Le 28 décembre 1895,

la première projection publique et payante se déroule à Paris dans le

sa-lon indien du Grand Café, 14 Boulevard des Capucines. Au programme

notamment l’Arroseur arrosé, le Repas de bébé, la Sortie de l’usine

Lu-mière à Lyon. 35 spectateurs payants sont recensés le premier jour ; 35

francs de recette et 5 francs de bénéfice pour un loyer fixé à 30 francs,

l’affaire était encore rentable. Suite aux articles élogieux de la presse

pa-risienne, 2000 à 2500 spectateurs se pressent rapidement tous les jours ;

le loyer reste lui fixé à seulement 30 francs par jour pour une durée

minimum d’un an, contrat oblige. L’affaire devient très juteuse. 1895

est bien l’an 1 du cinéma. Le genre en vogue est clairement le

documen-taire. Les opérateurs se contentent le plus souvent de poser leur caméra

pour filmer la vie telle qu’elle est au bout de la rue ou à l’autre bout

du monde. Les frères Auguste et Louis Lumière ont permis le passage

délicat entre l’époque des chercheurs et celle des utilisateurs. Et les

uti-lisateurs sont nombreux à se presser chez les Lumière pour se lancer

dans la cinématographie.

— Mettez "Cinéma espagnole" comme titre centré de taille h3 et de

cou-leur #39E932. Puis, laissez un peu d’espace vertical.

— insérer :

S’il naît peu après son grand frère français, le cinéma espagnol va

connaître un développement beaucoup plus lent, en raison de la

dic-tature franquiste et de la censure féroce qui l’a longtemps frappé. Avec

le retour de la démocratie, c’est l’explosion créative et la movida, dont

Pedro Almodóvar est l’un des plus fervents représentants. Depuis le

dé-but des années 2000, la jeune garde ne démérite pas. L’Espagne emboîte

rapidement le pas à la France, patrie du cinéma, avec de premiers films

réalisés en 1896, soit un an seulement après la naissance du septième

(8)

art. Les premiers studios de tournage voient le jour en 1909 à Barcelone

et Madrid. Certains cinéastes étrangers y prennent leurs quartiers.

— Chercher Pedro Almodóvar dans le texte ci-dessus et créer un lien qui

pointe vers

"http ://cinema.fluctuat.net/pedro-almodovar.html"

Ce lien devra s’ouvrir dans une nouvelle fenêtre.

6. Créer le fichier film.html dans le dossier www/cinema/

7. Préciser le titre : The Great Train Robbery.

8. Créer un tableau centré dans la page web : largeur 760px, border 1, espace

entre les cellules 0, nombre de colonnes 3, nombre de lignes 10.

9. Ligne 1 : Fusionnez toutes les cellules. Centrez le titre The matrix en lui

affectant la couleur bleu.

10. Ligne 2 : Fusionnez la première cellule avec les 4 cellules en dessous en

lui donnant une largeur de 160px. Mettez dans la cellule obtenue l’image

matrix.jpg. Fixez la largeur de la deuxième cellule à 120px en y mettant

"Pays :". Dans la troisième cellule vous mettez USA.

11. Notez que dans les 4 lignes qui suivent nous avons que deux cellules.

12. Ligne 3 : mettez Genre : dans la première cellule et Science fiction dans

la deuxième.

13. Ligne 4 : mettez Durée : dans la première cellule et 2h15 dans la deuxième.

14. Ligne 5 : mettez Date de sortie : dans la première cellule et 1999 dans

la deuxième.

15. Ligne 6 : mettez Langue : dans la première cellule et Anglais dans la

deuxième.

16. Ligne 7 : mettez Réalisateurs : dans la première cellule. Fusionnez les deux

dernières cellules et y mettez Larry Wachowski, Andy Wachowski.

17. Ligne 8 : mettez Acteurs : dans la première cellule. Fusionnez les deux

dernières cellules et y mettez Keanu Reeves, Laurence Fishburne,

Carrie-Anne Moss, Hugo Weaving, Joe Pantoliano.

18. Ligne 9 : Fusionnez toutes les cellules. Mettez hstoirefilm.gif comme font

d’écran. En laissant un peux d’espace horizontal, mettez Histoire en blanc.

19. Ligne 10 : Fusionnez toutes les cellules. Mettez dans la cellule obtenue le

texte suivant :

Programmeur anonyme dans un service administratif le jour, Thomas

An-derson devient Neo la nuit venue. Sous ce pseudonyme, il est l’un des pirates

les plus recherchés du cyber-espace. A cheval entre deux mondes, Neo est

assailli par d’étranges songes et des messages cryptés provenant d’un

cer-tain Morpheus. Celui-ci l’exhorte à aller au-delà des apparences et à trouver

la réponse à la question qui hante constamment ses pensées : qu’est-ce que

la Matrice ? Nul ne le sait, et aucun homme n’est encore parvenu à en

percer les defenses. Mais Morpheus est persuadé que Neo est l’Elu, le

libé-rateur mythique de l’humanité annoncé selon la prophétie. Ensemble, ils se

lancent dans une lutte sans retour contre la Matrice et ses terribles agents...

(9)

20. Créer le fichier NewFilm.html dans le dossier www/cinema/

21. Préciser le titre : Nouveau Film.

22. Insérer une zone pour la création d’un formulaire : method = "post", action

="".

23. Créer un tableau centré dans la zone du formulaire : largeur 760px, border

1, espace entre les cellules 0, nombre de colonnes 3, nombre de lignes 11.

24. Mettez comme titre du tableau Introduction d’un nouveau Film (taille

h1).

25. Ligne 1 : La première cellule est de largeur 120px et contient "Titre :".

On fusionne les deux cellules restantes et on y met une balise input : type

text, nom titre, taille 80.

26. Ligne 2 : La première cellule est de largeur 120px et contient "Genre :".

On fusionne les deux cellules restantes et on y met une balise input : type

text, nom genre, taille 80.

27. Ligne 3 : La première cellule contient "Pays :". On fusionne les deux cellules

restantes et on y met une balise select nommé pays. Les options sont :

France, Espagne, Égypte, USA, Maroc. Les valeurs correspondant : france,

espagne, egypte, usa, maroc.

28. Ligne 4 : La première cellule est de largeur 120px et contient "Durée :".

On fusionne les deux cellules restantes et on y met une balise input : type

text, nom duree, taille 3, nombre maximum de caractères 4.

29. Ligne 5 : La première cellule est de largeur 120px et contient "Année

de sortie :". On fusionne les deux cellules restantes et on y met une balise

input : type text, nom anneesortie, taille 3, nombre maximum de caractères

4.

30. Ligne 6 : La première cellule contient "Langue :". On fusionne les deux

cellules restantes et on y met une balise select nommé langue. Les options

sont : Arabe, Anglais, Espagnole, Français. Les valeurs correspondant :

arabe, anglais, espagnole, francais.

31. Ligne 7 : La première cellule contient "Réalisateurs :". On fusionne les deux

cellules restantes et on y met une balise select nommé realisateurs qui

permet plusieurs choix. Les options sont : Larry Wachowski, Andy

Wa-chowski. Les valeurs correspondant : Larry Wachowski, Andy WaWa-chowski.

32. Ligne 8 : La première cellule contient "Acteurs :". On fusionne les deux

cellules restantes et on y met une balise select nommé acteurs qui

per-met plusieurs choix. Les options sont : Keanu Reeves, Laurence Fishburne,

Chuck Norris, Lenore Kasdorf, Joe Pantoliano, Carrie-Anne Moss, Hugo

Weaving. Les valeurs correspondant : Keanu Reeves, Laurence Fishburne,

Chuck Norris, Lenore Kasdorf, Joe Pantoliano, Carrie-Anne Moss, Hugo

Weaving.

33. Ligne 9 : La première cellule est de largeur 120px et contient "Affiche :".

On fusionne les deux cellules restantes et on y met une balise input : type

file, nom affiche, taille 60.

(10)

34. Ligne 10 : La première cellule est de largeur 120px et contient "Histoire :".

On fusionne les deux cellules restantes et on y met une balise textarea :

nom histoire, nombre de colonnes maximal 50, nombre de ligne maximal 5.

35. Ligne 11 : On fusionne les trois cellules et on y met une balise input : type

reset, valeur Rafraîchir. On laisse un peu d’espace horizontal et on rajoute

une balise input : type submit, valeur Envoyer.

(11)

CSS

Exercice 6.

1. Copier coller les fichiers du dossier TP_Cinema dans le

dossier www/cinema/.

2. Supprimer la couleur de police et le centrage des titres h1, h3 dans

in-dex.html. Actualiser le navigateur.

3. Effacer le tableau et ses éléments en gardant son contenu.

— Mettez l’image 1, puis le texte Aux États-Unis ... production de

films dans la balise paragraphe <p>.

— Mettez le texte Le premier grand événement ... longs métrages

dans la balise paragraphe <p>.

— Mettez le texte S’il naît peu ... leurs quartiers dans la balise

para-graphe <p>.

— Mettez Tous droits réservés et webmaster dans un paragraphe.

4. Créer le fichier main.css dans le dossier www/cinema/.

5. Lier cette feuille de style au fichier index.html avec la balise <link>.

6. Définissez une classe titre 1 qui permet de : centrer le titre Les Débuts

Du Cinéma en lui donnant la couleur de police green et la taille

xx-large ; Souligner, surligner et clignoter. Appliquer cette classe au titre Les

Débuts Du Cinéma. Actualiser le navigateur.

7. Forcer h3 à afficher les titres centrés avec des caractères de couleur yellow

italiques en majuscules. Actualiser le navigateur.

8. Utiliser la famille de police verdana, times, sans-serif dans le document

index.html.

9. Créer un identifiant bas pour le paragraphe contenant "Tous droits

ré-servés" et "webmaster" avec les propriétés suivantes : texte centré, taille

small.

10. Définir les propriétés suivantes pour les liens de classe "LienTitre" :

— Lien non visité : couleur rouge red

— Lien visité : couleur black

— Le pointeur de la souris est sur le lien : couleur yellow

— Lien sélectionné : couleur green

— enlever le soulignement des liens

11. Affecter le style LienTitre aux liens : Cinéma américaine, Cinéma

fran-çaise, Cinéma espagnole

(12)

12. Donnez aux paragraphes le style : interligne de 2em ; alignement du texte

justify ; la première lettre de chaque paragraphe est de taille x-large, de

couleur red, les marges internes à gauche et à droite de 10 px.

13. Donnez aux images une bordure de type solid, de largeur 2px et de couleur

px fuchsia.

14. Indiquer # 002157 comme couleur de fond pour tout le document.

15. Insérer une div dont l’identifiant est conteneur. Cette div enveloppera

tout le contenu de la balise body. On lui applique le style : centré et

de position relative, largeur 752 px, fond de couleur white, marge

interne supérieur de 30 px.

16. Fixez les marge extérieures de h1 et body à 0.

17. Affichez la page web avec Internet Explorer.

18. Effacer la balise <h1> et son contenu : Histoire du cinéma.

19. Insérer une div d’identifiant top après body et avant la div conteneur.

Attribuez à cette div le style : div centrée, position relative, marges internes

nulles, hauteur de 175px, largeur de 752px, pas de bordures. Dans cette div :

— On insère une div de style : flottement à gauche, hauteur 175px, largeur

236px, marges internes et externes nulles, pas de bordures, image de

fond est image4.jpg

— On insère une div de style : flottement à gauche, hauteur 175px, largeur

235px, marges internes et externes nulles, pas de bordures, couleur de

fond black, couleur de la police white, taille de la police 20px,

inter-ligne de 130px, ainter-lignement de texte centre. A l’intérieur de cette div

on met Cinéma.

— On insère une div de style : flottement à gauche, hauteur 175px, largeur

281px, marges internes et externes nulles, pas de bordures, image de

fond est image5.jpg

20. Insérer une div d’identifiant menu après top et avant la div conteneur.

Cette div servira pour faire un menu horizontal. On attribue à cette div

le style : div centrée, position relative, marges internes et externes nulles,

hauteur 30px, largeur 752px, couleur de fond black, pas de bordures.

21. Mettez dans la div menu la liste non numérotée des liens : Accueil

poin-tant vers la page index.html, Film poinpoin-tant vers la page film.html,

Nou-veau film pointant vers la page NewFilm.html.

22. On impose sur les listes de de la div menu le style : marges internes et

externes nulles, police gras, famille de police Georgia, Times, serif, taille

de la police 0.8em, puces enlevés.

23. On impose que les éléments de la liste s’affiche horizontalement. Pensez au

flottement à gauche des li.

24. Pour les liens <a> on adopte le style suivant : on transforme cet élément

en ligne en block, marges internes et externes nulles, couleur de la police

green, pas de décoration, largeur 150px, hauteur 30px, couleur de fond #

fc0, alignement de texte centré. Épaisseur des bordures supérieure, à droite,

(13)

inférieure, à gauche sont respectivement 1px, 2px, 2px, 1px. Couleur des

bordures supérieure, à droite, inférieure, à gauche sont respectivement #

cecece, # 4a4a4a, # 4a4a4a, # cecece. Le style des bordures est solid.

25. Quand le pointeur de la souris est sur le lien, le style de <a> devient :

Épaisseur des bordures supérieure, à droite, inférieure, à gauche sont

res-pectivement 2px, 1px, 1px, 2px. Couleur des bordures supérieure, à

droite, inférieure, à gauche sont respectivement # 4a4a4a, # cecece, #

cecece, # 4a4a4a.

(14)

JavaScript

Exercice 7.

1. Créer une variable de type tableau dans laquelle on enregistre

les jours de la semaine.

2. A l’aide de la méthode join, affichez :

Les jours de la semaine :Lundi ; Mardi ; Mercredi ; Jeudi ;

Ven-dredi ; Samedi ; Dimanche.

3. En utilisant la boucle for, afficher :

Jour 0 : Lundi

Jour 1 : Mardi

Jour 2 : Mercredi

Jour 3 : Jeudi

Jour 4 : Vendredi

Jour 5 : Samedi

Jour 6 : Dimanche

Exercice 8.

1. Créer la fonction somRec(i), en utilisant le principe de

ré-curcivité, qui renvoie

— Somme indéfinie si i n’est pas un nombre entier ou i < 0.

— la valeur de 1 + 2 + · · · + i dans le cas contraire.

2. Créer la fonction somFor(i) qui permet de faire la même chose que somRec(i),

tout en utilisant la boucle for.

3. En utilisant la métode prompt(), faites de sorte qu’une boîte s’ouvre pour

demander au visiteur d’Entrer un entier positif avec la valeur par

dé-faut 0. Cette valeur est récupérée par la fonction somRec() qu’on utilise

pour afficher : la valeur de somRec(valeur) est : valeur de

som-Rec(valeur).

4. Mettez en commentaire tout ce qu’on a fait dans la question précédente.

Exercice 9.

1. Insérez trois paragraphes d’identificateurs par1, par2, par3

et de contenu paragraphe numéro 1, de contenu paragraphe numéro 2, de

contenu paragraphe numéro 3 respectivement.

2. Bloquez l’affichage de ces paragraphes :display :non.

3. Insérer un formulaire contenant une balise select dont les options sont :

vide, par1, par2, par3 de valeurs correspondantes 0, 1, 2, 3.

4. Écrivez la fonction afficher qui permet d’afficher le bon paragraphe quand

il est sélectionné.

(15)

Exercice 10.

— Afficher le nom de navigateur et sa version.

— Afficher le titre du document.

— Afficher la Date de dernière modification.

Exercice 11. Ecrire un fichier tva.html permettant de calculer la TVA sur un

produit : La tva sur un produit agricole est 0%, et sur un produit non agricole est

19%.

Exercice 12. Ecrire un fichier multip.html permettant de réviser quelques

mul-tiplications :

Lorsque l’utilisateur clique sur ń vérifier résultats ż, une

boite de dialogue affiche le nombre de réponses correctes.

Exercice 13.

1. Écrire une page FonCol.html. Lorsque cette page se charge,

une boite de dialogue de type prompt s’ouvre pour demander à l’utilisateur

de choisir la couleur de fond. Le texte de la boite de dialogue propose trois

choix (gris, bleu, vert). Voici les codes couleurs associés :

— Gris : #C0C0C0

— Bleu : #669999

— Vert : #99FF66

2. A partir de ce que vous avez fait dans l’exercice 1, créez une nouvelle page

dans laquelle l’utilisateur choisira la couleur de fond à partir d’un menu

déroulant.

Exercice 14.

1. Ecrire une page multiplication.html permettant d’afficher la

table de multiplication pour un nombre donné par l’utilisateur.

(16)

2. Changez la fonction écrite dans la question 1, pour qu’elle renvoie Entrer

une valeur valable lorsque la valeur entrée n’est pas un entier.

3. Enlevez le bouton et faites de sorte que le textearea affiche la table de

multiplication une fois il a le focus

(17)

PHP

Exercice 15. Dans exercice1.php, on déclare deux variables $nom et $prenom de

valeurs respectivement idrissi et haitham. Afficher Idrissi Haitham sur la page en

utilisant les 3 modes syntaxiques suivants :

1. Trois commandes echo,

2. une commande echo et une seule chaîne de caractères,

3. une commande echo avec le point de concaténation.

Exercice 16. Dans exercice2.php, Construisez une fonction som($n) qui permet

de calculer la somme des entiers 1 + 2 · · · $n en utilisant la boucle for ou while. La

fonction renvoie $n n’est pas un entier positif lorsque $n n’est pas de type entier

ou $n est un entier négatif. Application : $n=13 ;

Exercice 17. Dans exercice3.php, Construisez une fonction ConvEuro($tab), où

$tab est un tableau dont les clés sont des produits et les valeurs sont leurs prix

correspondants, qui retourne un tableau bidimensionnel ordonné par valeurs de

clés tel que la valeur de chaque clé est un tableau de taille 2 contenant le prix du

produit en dirham et en euro. On suppose que 1 euros = 11 Dh. Application :

$tab est le tableau :

table

bureau

ordinateur

imprimante

chaise

356.51

6523.11

4500.43

715.88

999.9

Afficher le tableau suivant en utilisant la boucle foreach :

Prix en Dh

Prix en Euro

table

356.51

32.41

bureau

6523.11

593.01

ordinateur

4500.43

409.13

imprimante

715.88

65.08

chaise

999.9

90.9

Exercice 18. Dans inscription.php

(18)

où la valeur de l’attribut action est le fichier do_inscription.php.

2. Créer un sous-dossier nommé photos.

Dans do_inscription.php :

3. A l’aide de PhpMyAdmin, créer la base masterElect et la table personne

d’attributs : id, nom, prenom, anneeNaiss, password, photo,loisirs.

4. Écrire un script qui permet d’enregistrer les données du formulaire dans la

table personne.

5. Si le fichier est bien téléchargé et de type image/jpeg, alors on le déplace

du dossier temporaire au dossier photos en lui donnant le nom

nomPer-sonne.jpeg et on redirige le navigateur vers personne.php en transmettant

l’id de l’utilisateur dans l’URL. Dans le cas contraire, on affiche Echec

d’en-voi de la photo et le lien " Revenir au formulaire" qui point vers la page

inscription.php.

Dans personne.php :

6. Sélectionnez les données de l’utilisateur d’identifiant id et affichez-les sous

cette forme :

Vous êtes nom prenom

Vous êtes né en annee

Loisirs : loisir 1, loisir 2...

Votre mot de passe est : password

"Votre photo :" et la photo de la personne sur une nouvelle ligne.

7. Rajouter le lien "Modifier mes données" qui pointe vers la page

inscrip-tion.php en transmettant l’id de l’utilisateur dans l’URL.

Session :

8. Ouvrez une session sur les pages : inscription.php, do_inscription.php.

9. Créer les variables de session suivant dans do_inscription.php

:$_SES-SION[’nom’], $_SESSION[’prenom’] et $_SESSION[’id’] en leur donnant

les bonnes valeurs.

(19)

10. Mettez un formulaire à deux champs (nom et Mot de passe) et un bouton

submit. La valeur de l’attribut action est connect.php.

11. Metter le lien "s’inscrire" qui pointe vers la page inscription.php.

Dans connect.php :

12. On crée un script qui compare le nom et le mot de passe saisis dans

in-dex.php avec ceux de la table personne. Quand le résultat de la

comparai-son est positif, on crée les variables de session suivant :$_SESSION[’nom’],

$_SESSION[’prenom’] et $_SESSION[’id’] en leur donnant les bonnes

va-leurs et on redirige le navigateur vers personne.php. Dans le cas contraire,

on redirige le navigateur vers index.php.

Dans inscription.php :

13. Si l’utilisateur est connecté, ce qui se traduit par la présence de la variable

non vide $id, on sélectionne ses données de la table personne, et on les mets

dans les champs du formulaire afin qu’il puisse les modifier.

Dans do_inscription.php :

14. On fait de sorte que s’il s’agit de modification de données existantes, le

script utilise la requête UPDATE pour modifier les valeurs de : nom,

pre-nom, anneeNaiss, loisirs, password.

Dans index.php :

On fait de sorte que le formulaire de connexion ne s’affiche pas si l’utilisateur

est déjà connecté, et on le remplace par un lien "Se déconnecter" qui permet de

fermer la session de l’utilisateur.

(20)

Contrôle 1 : 2012/2013

Questions de cours

1. Quelle est la balise de html qui permet d’afficher un texte préformaté ?

2. Quel est l’effet de la balise TT sur le texte qu’il englobe ?

3. Rappeler la définition d’un élément de type bloc. Donner l’exemple d’un

élément de type bloc possédant des marges externes nulles par défaut.

4. Quelle est la propriété de CSS qui permet de répéter une image de font

horizontalement et verticalement ?

5. Que représente l’unité em ?

6. Rappeler la signification des mots-clé ETag et Pragma dans le protocole

HTTP.

Partie 1 : Dans cette partie, tous les styles CSS appliqués sur les éléments de

index.html doivent être mis dans main.css.

1. Créez un fichier nommé index.html dont le titre du document est Contrôle

1 de Tech Web.

2. Créez une feuille de style CSS nommée main.css qu’on associe au fichier

index.html.

3. Écrasez les marges externes de body.

4. Dans tous le document, Utilisez la famille de polices Tribuchet.

5. Placez au centre du document une div d’identifiant zone_centree et de

largeur 800 px.

6. Placez dans la div zone_centree, une div d’identifiant conteneur de largeur

800 px, de couleur de font noire, de texte centré, de position relative avec

left et top nuls.

7. Imposez aux liens de la div conteneur d’être de couleur blanche et non

soulignés.

8. Insérez dans la div conteneur un lien qui ouvre la page de Google dans une

nouvelle fenêtre.

9. Placez dans la div d’identifiant conteneur les trois divs suivantes :

(a) Une div d’identifiant mon_nom, de largeur et de hauteur 300 px, de

famille de police Verdana, de couleur de font verte,de texte centré, de

graisse maximal, positionné en absolue (voir image).

(21)

(b) Une div d’identifiant ment_obt, de largeur et de hauteur 300 px, de

couleur de font lightblue, de texte aligné à gauche, positionné en absolue

(voir image).

(c) Une div d’identifiant notes, de largeur 400 px, de hauteur 300 px, de

couleur de font jaune, positionné en absolue (voir image).

10. Modifier l’ordre d’affichage des trois divs de la question précédente afin

d’obtenir le même résultat que dans l’image.

11. Écrivez en minuscule votre nom et prénom dans la div d’identifiant mon_nom

en le centrant verticalement.

12. Rajoutez dans le style de la div mon_nom la propriété qui permet d’afficher

la première lettre de chaque mot en majuscule.

13. Créez une classe nommée cg qui permet à ses éléments d’avoir un texte en

gras et de couleur rouge.

14. Dans la div ment_obt

(a) on insère une div appartenant à la classe cg et dont le contenu est

Mentions obtenues.

(b) on insère une div d’identifiant mention.

15. Placez dans la div notes

(a) une div d’identifiant alerte de hauteur 50 px, de couleur de font noire

et de couleur de texte blanche.

(b) une balise form contenant un tableau d’identifiant formulaire positionné

en absolue et qui prend la largeur de son conteneur, de couleur de font

blanche, de hauteur 250 px, de bordures de taille 1 px, de style solid et

de couleur gray.

i. Les deux cellules de la première ligne contiennent respectivement

"Nom :" et un champ de type texte et d’identifiant nom.

ii. Les deux cellules de la deuxième ligne contiennent respectivement

"Prénom :" et un champ de type texte et d’identifiant prenom.

iii. Les deux cellules de la troisième ligne contiennent respectivement

"Moyenne de la première année :" et un champ de type texte et

d’identifiant moy1.

iv. Les deux cellules de la quatrième ligne contiennent respectivement

"Moyenne de la deuxième année :" et un champ de type texte et

d’identifiant moy2.

v. La dernière ligne contient une seule cellule de type bouton et de

valeur Afficher mentions.

vi. On associe les cellules contenant "Nom" et "Prénom" à la classe cg.

vii. On fixe le nombre maximal de caractères saisies dans les champs

moy1 et moy2 à 5.

(22)

Partie 2 : Les fonctions ci-dessous doivent être mises dans l’entête du document

1. Déclarez une fonction nommée mention à un seul argument a qui retourne

(a) Très mauvais résultat si a < 10.

(b) Passable si 10 ≤ a < 12.

(c) Assez Bien si 12 ≤ a < 14.

(d) Très Bien si a > 14.

2. Déclarez une fonction nommée resultat sans arguments. Cette fonction

ré-cupère les valeurs saisies dans les champs du formulaire. Si la valeur moy1,

ou moy2, n’est pas un nombre, la fonction affiche la div alerte et le message

suivant "la valeur n’est pas un nombre", voir image. Sinon elle affiche dans

la div ment_obt le nom et le prénom et les mentions obtenues en utilisant

la fonction mention, voir image.

3. La fonction resultat est appelée lorsqu’on clique sur le bouton Afficher

mentions.

(23)

Contrôle 2 : 2012/2013

Exercice 1 Cet exercice doit être réalisé dans un fichier nommé exercice1.php

1. Déclarer la variable $coef de type tableau dont les clés sont (POO, PHP,

BD) et les valeurs correspondantes sont (4, 6, 2).

2. Écrire une fonction nommée Afficher_notes($liste_notes), où $liste_notes

est un tableau dont les éléments sont des tableaux de la forme

array("nom", "prenom", array("POO" => note_poo, "PHP" => note_php, "BD" => note_bd))

voir Figure 1, qui calcule la moyenne générale de chaque étudiant ainsi que

la moyenne de la classe en les affichant dans un tableau HTML (voir Figure

2). Dans le script de la fonction, on doit utiliser :

(a) la variable $coef,

(b) la somme des coefficients enregistrés dans le tableau $coef en utilisant

la boucle foreach,

(c) la fonction qui retourne la taille d’un tableau,

(d) la fonction qui met le premier caractère en majuscule. Elle sera

appli-quée aux prénoms,

(e) la fonction qui met tous les caractères en majuscule. Elle sera appliquée

aux noms.

3. Appliquer la fonction Afficher_notes() au tableau $liste_notes donné

dans Figure 1.

Exercice 2 :

1. Dans index.php, construisez un formulaire qui permet de saisir un nom,

un prénom et une année de naissance. Dans l’attribut action, on indique le

fichier sauv.php.

2. Créer à l’aide de PhpMyAdmin une base de données MySql nommée exam

contenant la table personne d’attributs : id (clé primaire, auto incrément),

nom, prenom, AnnNaiss.

3. Dans sauv.php, on affiche le nom, le prénom et l’année de naissance saisis

dans le formulaire.

4. Écrivez dans sauv.php un script qui permet d’enregistrer les données du

formulaire dans la table personne.

5. Dans affiche.php, on affiche toutes les données de la table personne qui

sont nés en 1986.

(24)

Exercice 1

La fonction Afficher_notes() appliquée à

Figure 1 – Tableau HTML

affichera le tableau suivant :

(25)

Deuxième partie

(26)

HTML

Exercice 1.

<h t m l> <h e a d> <t i t l e> TP 1 de H T M L < /t i t l e> <m e t a http - e q u i v = " Content - T y p e " c o n t e n t= " t e x t / h t m l ; c h a r s e t = UTF -8 " > < /h e a d> <b o d y b g c o l o r= " #00 f f f f " > <h1 a l i g n= " c e n t e r " > C o r r i g é du TP de H T M L < /h1> <hr w i d t h= " 80% " s i z e= " 2 " > < /b o d y> < /h t m l>

Exercice 2.

<h2 a l i g n= " l e f t " > E x e r c i c e 2 < /h2> <t a b l e b o r d e r= " 1 " c e l l p a d d i n g= " 6 " c e l l s p a c i n g= " 6 " a l i g n= " c e n t e r " > <c a p t i o n a l i g n= " b o t t o m " > Mon p r e m i e r t a b l e a u < /c a p t i o n> <tr> <th b g c o l o r= " g r e e n " c o l s p a n= " 3 " > C e t t e c e l l u l e o c c u p e t o u t e la l a r g e u r du t a b e l a u . Sa c o u l e u r est v e r t e < /th> < /tr> <tr> <td a l i g n= " l e f t " > a l i g n e m e n t à g a u c h e < /td> <td a l i g n= " c e n t e r " > t e x t e c e n t r é < /td> <td a l i g n= " r i g h t " > a l i g n e m e n t à d r o i t e < /td> < /tr> <tr> <td r o w s p a n= " 2 " a l i g n= " c e n t e r " v a l i g n= " b o t t o m " b g c o l o r= " b l u e " > C e t t e c e l l u l e o c c u p e <br> d e u x l i g n e s < /td> <td> <f o n t c o l o r= " red " > é c r i r e en r o u g e < /f o n t> < /td> <td> < /td> < /tr> <tr> <td> Je ne d é f i n i s que < /td> <td> d e u x c e l l u l e s sur c e t t e l i g n e s < /td> < /tr> <tr> <td c o l s p a n= " 2 " > f u s i o n de de u x c e l l u l e s < /td> <td b g c o l o r= " y e l l o w " > < /td> < /tr> < /t a b l e>

(27)

Exercice 3.

<h2 a l i g n= " l e f t " s t y l e= " b o r d e r :1 px s o l i d b l a c k " > E x e r c i c e 3 < /h2> <ol t y p e=I> <li> C h a p i t r e 1 < /li> <li> C h a p i t r e 2 <ol t y p e=i> <li> S e c t i o n 1 < /li> <li> S e c t i o n 2 <ul t y p e= " d i s c " > <li> G r a p h e 1 < /li> <li> G r a p h e 2 < /li> < /ul> < /li> < /ol> < /li> <li> C h a p i t r e 3 <ul t y p e= " s q u a r e " > <li> I m a g e 1 < /li> <li> I m a g e 2 < /li> < /ul> < /li> < /ol>

Exercice 4.

<f o n t f a c e = " C o m i c S a n s MS " > J ’ u t i l i s e la p o l i c e C o m i c S a n s MS < /f o n t> <br> <f o n t f a c e = " A r i a l " > J ’ u t i l i s e la p o l i c e A r i a l < /f o n t> <br> <f o n t f a c e = " V e r d a n a " > J ’ u t i l i s e la p o l i c e V e r d a n a < /f o n t>

Exercice 5.

Fichier : index.html

< !D O C T Y P E H T M L P U B L I C " -// W3C // DTD H T M L 4 . 0 1 T r a n s i t i o n a l // EN " > <h t m l> <h e a d> <m e t a http - e q u i v = " Content - T y p e " c o n t e n t= " t e x t / h t m l ; c h a r s e t = UTF -8 " > <t i t l e> C i n é m a < /t i t l e> < /h e a d> <b o d y> <t a b l e a l i g n= " c e n t e r " b o r d e r= " 1 " w i d t h= " 760 px " c e l l s p a c i n g= " 0 " v a l i g n= " top " r u l e s = " c o l s " > <tr> <td h e i g h t= " 100 px " > <h1 a l i g n= " c e n t e r " > <f o n t c o l o r= " # 8 9 7 AE2 " > Les D é b u t s Du C i n é m a < /f on t> < /h1> < /td>

(28)

< /tr> <tr> <td h e i g h t= " 50 px " > < /td> < /tr> <tr> <td> <ul t y p e= " A " > <li> <a h re f= " i n d e x . h t m l # c i n e a m e r i c a i n e " > C i n é m a a m é r i c a i n e < /a> < /li> <li> <a h re f= " i n d e x . h t m l # c i n e f r a n c a i s e " > C i n é m a f r a n ç a i s e < /a> < /li> <li> <a h re f= " i n d e x . h t m l # c i n e e s p a g n o l e " > C i n é m a e s p a g n o l e < /a> < /li> < /ul> <hr w i d t h= " 75% " s i z e= " 2 " > <c e n t e r> <h3> <a n a m e= " c i n e a m e r i c a i n e " > <f o n t c o l o r= " #39 E 9 3 2 " > C i n é m a a m é r i c a i n e < /f o n t> < /a> < /h3> < /c e n t e r> <img src= " i m a g e 1 . jpg " a l i g n= " l e f t " h s p a c e= " 10 " >

Aux États - Unis , les b a l b u t i e m e n t s du s e p t i è m e art . . . . <b l o c k q u o t e> <i> le p r e m i e r w e s t e r n de l ’ h i s t o i r e , The G r e a t T r a i n Robbery , du r é a l i s a t e u r E d w i n S . Porter , p r e n d d ’ a s s a u t les é c r a n s . < /i> < /b l o c k q u o t e> Le p r e m i e r g r a n d é v é n e m e n t ... à t r o u v e r des <img src= " i m a g e 2 . jpg " w i d t h= " 150 px " a l i g n= " r i g h t " h s p a c e= " 10 " > f i n a n c e m e n t s , d u r a ... a u s s i l o n g s m é t r a g e s . <br> <br> <c e n t e r> <h3> <a n a m e= " c i n e f r a n c a i s e " > <f o n t c o l o r= " #39 E 9 3 2 " > C i n é m a f r a n ç a i s e < /f o n t> < /a> < /h3> < /c e n t e r> À la fin du XI X e siècle , ... p o u r se l a n c e r d a n s la c i n é m a t o g r a p h i e . <c e n t e r> <h3> <a n a m e= " c i n e e s p a g n o l e " > <f o n t c o l o r= " #39 E 9 3 2 " > C i n é m a e s p a g n o l e < /f o n t> < /a> < /h3> < /c e n t e r> S ’ il n a î t ... la movida , d o n t <a h r e f= " h t t p :// c i n e m a . f l u c t u a t . net / pedro - a l m o d o v a r . ht m l " > P e d r o A l m o d ó v a r < /a> est l ’ un des p l u s ... p r e n n e n t l e u r s q u a r t i e r s . < /td> < /tr> <tr> <td h e i g h t= " 100 px " a l i g n= " c e n t e r " > <f o n t s i ze= " -2 " > T o u s d r o i t s r é s e r v é s <br> <a h r e f= " m a i l t o : o u d g h i r i @ m a i l . com " > C o n t a c t e r le w e b m a s t e r < /a> < /f o n t> < /td> < /tr> < /t a b l e> < /b o d y> < /h t m l>

Fichier : newfilm.html

<h t m l> <h e a d> <t i t l e> N o u v e a u f i l m < /t i t l e>

(29)

<m e t a http - e q u i v = " Content - T y p e " c o n t e n t= " t e x t / h t m l ; c h a r s e t = UTF -8 " > < /h e a d> <b o d y> <f o r m m e t h o d= " p o s t " a c t i o n= " " > <t a b l e w i d t h= " 760 px " b o r d e r= " 0 " a l i g n= " c e n t e r " c e l l s p a c i n g= " 0 " > <c a p t i o n> <h1> I n t r o d u c t i o n d ’ un n o u v e a u F i l m < /h1> < /c a p t i o n> <tr> <td w i d t h= " 130 px " > T i t r e : < /td> <td c o l s p a n= " 2 " > <i n p u t t y p e= " t e x t " n a m e= " t i t r e " s i z e= " 80 " > < /td> < /tr> <tr> <td> G e n r e : < /td> <td c o l s p a n= " 2 " > <i n p u t t y p e= " t e x t " n a m e= " g e n r e " s i z e= " 80 " > < /td> < /tr> <tr> <td> P a y s : < /td> <td c o l s p a n= " 2 " > <s e l e c t na m e= " p a y s " > <o p t i o n v a l u e= " " > < /o p t i o n> <o p t i o n v a l u e= " f r a n c e " > F r a n c e < /o p t i o n> <o p t i o n v a l u e= " e s p a g n e " > E s p a g n e < /o p t i o n> <o p t i o n v a l u e= " e g y p t e " > E g y p t e < /o p t i o n> <o p t i o n v a l u e= " usa " > USA < /o p t i o n> <o p t i o n v a l u e= " m a r o c " > M a r o c < /o p t i o n> < /s e l e c t> < /td> < /tr> <tr> <td> D u r é e : < /td> <td c o l s p a n= " 2 " > <i n p u t t yp e= " t e x t " n a m e= " d u r e e " s i z e= " 3 " m a x l e n g t h= " 4 " > ( en min ) < /td> < /tr> <tr> <td> A n n é e de s o r t i e : < /td> <td c o l s p a n= " 2 " > <i n p u t t yp e= " t e x t " n a m e= " a n n e e s o r t i e " s i z e= " 3 " m a x l e n g t h= " 4 " > < /td> < /tr> <tr> <td> L a n g u e : < /td> <td c o l s p a n= " 2 " > <s e l e c t na m e= " l a n g u e " > <o p t i o n v a l u e= " " > < /o p t i o n> <o p t i o n v a l u e= " fr " > F r a n ç a i s < /o p t i o n> <o p t i o n v a l u e= " es " > E s p a g n o l e < /o p t i o n> <o p t i o n v a l u e= " ar " > A r a b e < /o p t i o n> <o p t i o n v a l u e= " en " > A n g l a i s < /o p t i o n> < /s e l e c t> < /td> < /tr> <tr> <td> R é a l i s a t e u r s : < /td> <td c o l s p a n= " 2 " > <s e l e c t na m e= " r e a l i s a t e u r s " m u l t i p l e> <o p t i o n v a l u e= " " > < /o p t i o n>

(30)

<o p t i o n v a l u e= " L a r r y W a c h o w s k i " > L a r r y W a c h o w s k i < /o p t i o n> <o p t i o n v a l u e= " A n d y W a c h o w s k i " > A n d y W a c h o w s k i < /o p t i o n> < /s e l e c t> < /td> < /tr> <tr> <td> A c t e u r s : < /td> <td c o l s p a n= " 2 " > <s e l e c t na m e= " a c t e u r s " m u l t i p l e> <o p t i o n v a l u e= " K e a n u R e e v e s " > K e a n u R e e v e s < /o p t i o n> <o p t i o n v a l u e= " L a u r e n c e F i s h b u r n e " > L a u r e n c e F i s h b u r n e < /o p t i o n> <o p t i o n v a l u e= " C h u c k N o r r i s " > C h u c k N o r r i s < /o p t i o n> <o p t i o n v a l u e= " L e n o r e K a s d o r f " > L e n o r e K a s d o r f < /o p t i o n> <o p t i o n v a l u e= " Joe P a n t o l i a n o " > Joe P a n t o l i a n o < /o p t i o n> <o p t i o n v a l u e= " Carrie - A n n e M os s " > Carrie - A n n e M o s s < /o p t i o n> <o p t i o n v a l u e= " H u g o W e a v i n g " > H u g o W e a v i n g < /o p t i o n> < /s e l e c t> < /td> < /tr> <tr> <td> A f f i c h e : < /td> <td c o l s p a n= " 2 " > <i n p u t t y p e= " f i l e " n a m e= " a f f i c h e " s i z e= " 60 " > < /td> < /tr> <tr> <td> H i s t o i r e : < /td> <td c o l s p a n= " 2 " > <t e x t a r e a n a m e= " h i s t o i r e " r o ws= " 5 " c o l s= " 50 " > < /t e x t a r e a> < /td> < /tr> <tr> <td c o l s p a n= " 3 " a l i g n= " c e n t e r " > <br> <i n p u t t y p e= " r e s e t " v a l u e= " R a f r a î c h i r " > & n b s p ;& n b s p ; <i n p u t t yp e= " s u b m i t " v a l u e= " E n v o y e r " > < /td> < /tr> < /t a b l e> < /f o r m> < /b o d y> < /h t m l>

Fichier : film.html

<h t m l> <h e a d> <t i t l e> F i l m < /t i t l e> <m e t a http - e q u i v = " Content - T y p e " c o n t e n t= " t e x t / h t m l ; c h a r s e t = UTF -8 " > < /h e a d> <b o d y> <t a b l e w i d t h= " 760 px " b o r d e r= " 0 " a l i g n= " c e n t e r " c e l l s p a c i n g= " 0 " > <tr> <td c o l s p a n= " 3 " a l i g n= " c e n t e r " > <f o n t c o l o r= " b l u e " > The M a t r i x < /f o n t> < /td> < /tr> <tr>

(31)

<td r o w s p a n= " 5 " w i d t h= " 160 px " > <img src= " m a t r i x . jpg " > < /td> <td w i d t h= " 120 px " > P a y s : < /td> <td> USA < /td> < /tr> <tr> <td> G e n r e : < /td> <td> S c i e n c e f i c t i o n < /td> < /tr> <tr> <td> D u r é e : < /td> <td> 2 h15 < /td> < /tr> <tr> <td> D a t e de s o r t i e : < /td> <td> 1 9 9 9 < /td> < /tr> <tr> <td> L a n g u e : < /td> <td> A n g l a i s < /td> < /tr> <tr> <td > R é a l i s a t e u r s : < /td> <td c o l s p a n= " 2 " > L a r r y W a c h o w s k i , A n d y W a c h o w s k i < /td> < /tr> <tr> <td> A c t e u r s : < /td> <td c o l s p a n= " 2 " >

K e a n u Reeves , L a u r e n c e F i s h b u r n e , Carrie - A n n e Moss , H ug o Weaving , Joe P a n t o l i a n o < /td> < /tr> <tr> <td c o l s p a n= " 3 " b a c k g r o u n d= " h i s t o i r e f i l m . gif " > <f o n t c o l o r= " w h i t e " > & n b s p ;& n b s p ; H i s t o i r e < /fo n t> < /td> < /tr> <tr> <td c o l s p a n= " 3 " > P r o g r a m m e u r a n o n y m e d a n s ... ses t e r r i b l e s a g e n t s ... < /td> < /tr> < /t a b l e> < /b o d y> < /h t m l>

(32)

CSS

Exercice 6.

. t i t r e 1 { t e x t - a l i g n : c e n t e r ; c o l o r : g r e e n ; f o n t - s i z e : x x - l a r g e ; t e x t - d e c o r a t i o n : u n d e r l i n e o v e r l i n e b l i n k ; p a d d i n g : 0; m a r g i n : 0; } # t a b l e _ c o n t e n u { w i d t h : 1 0 0 % ; p a d d i n g : 0 10 px ; } # t a b l e _ c o n t e n u c a p t i o n { c o l o r : b l u e ; f o n t - s i z e : l a r g e ; m a r g i n : 10 px 0; } h3 { t e x t - a l i g n : c e n t e r ; c o l o r : y e l l o w ; f o n t - s t y l e : i t a l i c ; t e x t - t r a n s f o r m : u p p e r c a s e ; } b o d y { f o n t - f a m i l y : verdana , times , s a n s - s e r i f ; b a c k g r o u n d - c o l o r : # 0 0 2 1 5 7 ; p a d d i n g : 0 px ; m a r g i n : 0; t e x t - a l i g n : c e n t e r ; } # bas { t e x t - a l i g n : c e n t e r ; f o n t - s i z e : s m a l l ; b o r d e r - t o p : 2 px s o l i d b l a c k ; }

(33)

a . L i e n T i t r e : l i nk {c o l o r : red } a . L i e n T i t r e : v i s i t e d {c o l o r : b l a c k } a . L i e n T i t r e : h o v e r {c o l o r : y e l l o w } a . L i e n T i t r e : a c t i v e {c o l o r : g r e e n } a { t e x t - d e c o r a t i o n : n on e ; } p { l i n e - h e i g h t : 2 em ; t e x t - a l i g n : j u s t i f y ; p a d d i n g : 0 px 10 px ; } p : f i r s t - l e t t e r { c o l o r : red ; f o n t - s i z e : x - l a r g e ; } img { b o r d e r : s o l i d 2 px f u c h s i a ; } # c o n t e n e u r { p o s i t i o n : r e l a t i v e ; m a r g i n : 0 px a u t o ; w i d t h : 752 px ; b a c k g r o u n d - c o l o r : w h i t e ; p a d d i n g - t o p : 30 px ; } #top{ p o s i t i o n : r e l a t i v e ; m a r g i n : 0 a u t o ; h e i g h t : 175 px ; w i d t h : 752 px ; } # m e n u { w i d t h : 752 px ; p o s i t i o n : r e l a t i v e ; m a r g i n : 0 a u t o ; h e i g h t : 30 px ; b a c k g r o u n d - c o l o r : b l a c k ; } # m e n u ul { m a r g i n : 0; p a d d i n g : 0; f o n t - w e i g h t : b o l d ; f o n t - f a m i l y : Georgia , Times , s e r i f ; f o n t - s i z e : 0.8 em ; l i s t - s t y l e - t y p e : n on e ; }

(34)

# m e n u ul li { f l o a t : l e f t; } # m e n u a { d i s p l a y : b l o c k ; m a r g i n : 0; p a d d i n g :0 ; c o l o r : g r e e n ; t e x t - d e c o r a t i o n : n on e ; w i d t h : 130 px ; h e i g h t : 3 0 p x ; b a c k g r o u n d - c o l o r : # fc0 ; t e x t - a l i g n : c e n t e r ; b o r d e r - w i d t h : 1 px 2 px 2 px 1 px ; b o r d e r - c o l o r : # c e c e c e #4 a 4 a 4 a #4 a 4 a 4 a # c e c e c e ; b o r d e r - s t y l e : s o l i d ; l i n e - h e i g h t : 20 px ; } # m e n u a : h o v e r { b o r d e r - w i d t h : 2 px 1 px 1 px 2 px ; b o r d e r - c o l o r : #4 a 4 a 4 a # c e c e c e # c e c e c e #4 a 4 a 4 a ; }

(35)

JavaScript

Exercice 7.

Question 1 :

< s c r i p t ty p e = " t e x t / j a v a s c r i p t " > var J o u r s =new A r r a y ( " L u n d i " , " M a r d i " , " M e r c r e d i " , " J e u d i " , " V e n d r e d i " , " S a m e d i " , " D i m a n c h e " ); </ script >

Question 2 :

< s c r i p t ty p e = " t e x t / j a v a s c r i p t " > d o c u m e n t.w r i t e( J o u r s .j o i n( " , " )); </ script >

Question 3 :

< s c r i p t ty p e = " t e x t / j a v a s c r i p t " > for(var i =0; i < J o u r s .l e n g t h; i + + ) { d o c u m e n t.w r i t e( " J o u r " + i + " : " + J o u r s [ i ]+ " < br > " ); } </ script >

Exercice 8.

Question 1 :

< s c r i p t ty p e = " t e x t / j a v a s c r i p t " > f u n c t i o n s o m R e c ( i ){ if(!( i ==p a r s e I n t( i )) || ( i < 0 ) ) { r e t u r n " S o m m e i n d é f i n i e " ;} e l s e{ if( i = = 0 ) r e t u r n 0; e l s e r e t u r n s o m R e c ( i - 1 ) + i ; } } } d o c u m e n t.w r i t e( " la v a l e u r de s o m R e c (6) est : " + s o m R e c ( 6 ) + " < br > " ); </ script >

Question 2 :

< s c r i p t ty p e = " t e x t / j a v a s c r i p t " > f u n c t i o n s o m F o r ( i ){ if(!( i ==p a r s e I n t( i )) || ( i < 0 ) ) { r e t u r n " S o m m e i n d é f i n i e " ;} e l s e{ var som =0; for(var j =0; j <= i ; j + + ) { som += j ; } r e t u r n som ;

(36)

} } d o c u m e n t.w r i t e( " la v a l e u r de s o m F o r (\" a b c d e \") est : " + s o m F o r ( " a b c d e " )+ " < br > " ); </ script >

Question 3 :

< s c r i p t ty p e = " t e x t / j a v a s c r i p t " > var i =p r o m p t( ’ E n t r e r un e n t i e r p o s i t i f ’ , ’ 0 ’ ); d o c u m e n t.w r i t e( " la v a l e u r de s o m R e c ( " + i + " ) est : " + s o m R e c ( i )+ " < br > " ); </ script >

Question 4 :

< s c r i p t ty p e = " t e x t / j a v a s c r i p t " > /* var i = p r o m p t ( ’ E n t r e r un e n t i e r p o s i t i f ’ , ’0 ’); d o c u m e n t . w r i t e (" la v a l e u r de s o m R e c ("+ i +") est : "+ s o m R e c ( i )+" < br > " ) ; */ </ script >

Exercice 9.

Questions 1 et 2 :

<p id= " p ar 1 " s t y l e= " d i s p l a y : n o n e ; " > P a r a g r a p h e n u m é r o 1 < /p> <p id= " p ar 2 " s t y l e= " d i s p l a y : n o n e ; " > P a r a g r a p h e n u m é r o 2 < /p> <p id= " p ar 3 " s t y l e= " d i s p l a y : n o n e ; " > P a r a g r a p h e n u m é r o 3 < /p>

Question 3 :

<f o r m> <s e l e c t o n C h a n g e= " a f f i c h e r ( t h i s . v a l u e ) " > <o p t i o n v a l u e= " 0 " > < /o p t i o n> <o p t i o n v a l u e= " 1 " > p a r 1 < /o p t i o n> <o p t i o n v a l u e= " 2 " > p a r 2 < /o p t i o n> <o p t i o n v a l u e= " 3 " > p a r 3 < /o p t i o n> < /s e l e c t> < /f o r m>

Question 4 :

< s c r i p t ty p e = " t e x t / j a v a s c r i p t " > f u n c t i o n a f f i c h e r ( x ){ d o c u m e n t.g e t E l e m e n t B y I d( " p ar 1 " ).s t y l e.d i s p l a y= ’ n o n e ’ ; d o c u m e n t.g e t E l e m e n t B y I d( " p ar 2 " ).s t y l e.d i s p l a y= ’ n o n e ’ ; d o c u m e n t.g e t E l e m e n t B y I d( " p ar 3 " ).s t y l e.d i s p l a y= ’ n o n e ’ ; for( i =1; i <4; i + + ) { if( i == x ){ d o c u m e n t.g e t E l e m e n t B y I d( " par " + x ).s t y l e.d i s p l a y= ’ ’ ; } } } </ script >

(37)

Exercice 10.

< s c r i p t ty p e = " t e x t / j a v a s c r i p t " > d o c u m e n t.w r i t e( " Nom du n a v i g a t e u r : " +n a v i g a t o r.a p p C o d e N a m e + " < br > V e r s i o n du n a v i g u a t e u r : " +n a v i g a t o r.a p p V e r s i o n + " < br > D a t e de d e r n i è r e m o d i f i c a t i o n : " +d o c u m e n t.l a s t M o d i f i e d ); </ script >

Exercice 11.

< html > < head > < s c r i p t ty p e = " t e x t / j a v a s c r i p t " > f u n c t i o n tva (){ var m o n t a n t T v a , prixht , n a t u r e ; p r i x h t =N u m b e r(d o c u m e n t. F o r m u l a i r e T V A . p r i x h t .v a l u e); n a t u r e =N u m b e r(d o c u m e n t. F o r m u l a i r e T V A . n a t u r e [ 0 ] .c h e c k e d); if( n a t u r e ==t r u e) m o n t a n t T v a =0; e l s e m o n t a n t T v a = p r i x h t * 0 . 1 9 ; p r i x = p r i x h t + m o n t a n t T v a ; r e t u r n p r ix ; } </ script > </ head > <b o d y> P r i x HT du p r o d u i t : <f o r m n a me= " F o r m u l a i r e T V A " > <i n p u t t yp e= " t e x t " n a m e= " p r i x h t " > <br> P r o d u i t c u l t u r e l <i n p u t t y p e= " r a d i o " n a m e= " n a t u r e " v a l u e= " c u l t u r e l " > A u t r e <i n p u t t y p e= " r a d i o " n a m e= " n a t u r e " v a l u e= " a u t r e " > <i n p u t t yp e= " b u t t o n " v a l u e= " V a l i d e r " o n c l i c k= " a l e r t ( tva ()) " > < /f o r m> < /b o d y> < /h t m l>

Exercice 12.

< s c r i p t ty p e = " t e x t / j a v a s c r i p t " > var N b r e R e s =0; f u n c t i o n r e v M u l t (){ if(d o c u m e n t. f o r m M u l t . r e s u l t a t 1 .v a l u e= = 6 ) N b r e R e s ++; if(d o c u m e n t. f o r m M u l t . r e s u l t a t 2 .v a l u e= = 4 2 ) N b r e R e s ++; if(d o c u m e n t. f o r m M u l t . r e s u l t a t 3 .v a l u e= = 1 6 ) N b r e R e s ++; if(d o c u m e n t. f o r m M u l t . r e s u l t a t 4 .v a l u e= = 1 5 ) N b r e R e s ++; if( c o n f i r m ( " V o u s a v e z " + N b r e R e s + " b o n n e s r é p o n se s , c o r r e c t i o n ? " )){ d o c u m e n t.g e t E l e m e n t s B y N a m e( " r e s u l t a t 1 " ) [ 0 ] .v a l u e=6; d o c u m e n t.g e t E l e m e n t B y I d( " r es 2 " ).v a l u e= 4 2 ; d o c u m e n t. f o r m M u l t . r e s u l t a t 3 .v a l u e= 1 6 ; d o c u m e n t. f o r m M u l t . r e s u l t a t 4 .v a l u e= 1 5 ; } } </ script >

(38)

<f o r m n a me= " f o r m M u l t " > 3*2 : <i n p u t t y p e= " t e x t " n a m e= " r e s u l t a t 1 " > <br> 6*7 : <i n p u t t y p e= " t e x t " n a m e= " r e s u l t a t 2 " id= " re s 2 " > <br> 4*4 : <i n p u t t y p e= " t e x t " n a m e= " r e s u l t a t 3 " > <br> 3*5 : <i n p u t t y p e= " t e x t " n a m e= " r e s u l t a t 4 " > <br> <i n p u t t yp e= " b u t t o n " v a l u e= " V a l i d e r " o n c l i c k= " r e v M u l t () " > < /f o r m>

Exercice 13.

Question 1 :

< s c r i p t ty p e = " t e x t / j a v a s c r i p t " >

var col =p r o m p t( " Q u e l l e c o u l e u r de f o n d s o u h a i t e z v o u s : gris , bleu , v e r t " , " " )

s w i t c h( col ){ c a s e " g r i s " : d o c u m e n t.b g C o l o r= " # C 0 C 0 C 0 " ; b r e a k; c a s e " b l e u " : d o c u m e n t.b g C o l o r= " # 6 6 9 9 9 9 " ; b r e a k; c a s e " v e r t " : d o c u m e n t.b g C o l o r= " #99 F F 6 6 " ; b r e a k; d e f a u l t : d o c u m e n t.b g C o l o r( " # F F F F F F " ); } </ script >

Question 2 :

< head > < s c r i p t ty p e = " t e x t / j a v a s c r i p t " > f u n c t i o n c h a n g e r C o l (){ col =d o c u m e n t. c h o i x C o u l e u r . c o u l e u r .v a l u e; s w i t c h( col ){ c a s e " g r i s " : d o c u m e n t.b g C o l o r= " # C 0 C 0 C 0 " ; b r e a k; c a s e " b l e u " : d o c u m e n t.b g C o l o r= " # 6 6 9 9 9 9 " ; b r e a k; c a s e " v e r t " : d o c u m e n t.b g C o l o r= " #99 F F 6 6 " ; b r e a k; d e f a u l t : d o c u m e n t.b g C o l o r( " # F F F F F F " ); } } </ script > </ head > <b o d y> <f o r m n a me= " c h o i x C o u l e u r " > C h o i s i s s e z une c o u l e u r de f o n d : <s e l e c t na m e= " c o u l e u r " > <o p t i o n v a l u e= " b l e u " > b l u e < /o p t i o n> <o p t i o n v a l u e= " g r i s " > g r i s < /o p t i o n> <o p t i o n v a l u e= " v e r t " > v e r t < /o p t i o n> < /s e l e c t> <i n p u t t yp e= " b u t t o n " v a l u e= " C h o i s i r " o n c l i c k= " c h a n g e r C o l () " > < /f o r m> < /b o d y>

Exercice 14.

Question 1 :

< head > < s c r i p t ty p e = " t e x t / j a v a s c r i p t " > f u n c t i o n c a l c u l e r (){ n =N u m b e r(d o c u m e n t. T a b M u l . n o m b r e .v a l u e); /* d o c u m e n t . g e t E l e m e n t s B y N a m e (" t a b l e " ) [ 0 ] . i n n e r H T M L = n + " *1 =

(39)

"+( n * 1 ) + " \ n "+ n + " *2 = "+( n * 2 ) ; */ var r e s u l t a t = " " ; for(var i =1; i < =9 ; i + + ) { r e s u l t a t += n + " * " + i + " = " +( n * i )+ " \ n " ; } d o c u m e n t.g e t E l e m e n t s B y N a m e( " t a b l e " ) [ 0 ] .i n n e r H T M L= r e s u l t a t } </ script > </ head > <b o d y> T a b l e de m u l t i p l i c a t i o n par N <f o r m n a me= " T a b M u l " > <i n p u t t yp e= " t e x t " n a m e= " n o m b r e " > <i n p u t t yp e= " b u t t o n " v a l u e= " c a l c u l e r " o n c l i c k= " c a l c u l e r () " > <br> <t e x t a r e a c o l s= " 15 " r o w s= " 12 " n a m e= " t a b l e " > < /t e x t a r e a> < /f o r m>

Question 2 :

< head > < s c r i p t ty p e = " t e x t / j a v a s c r i p t " > f u n c t i o n c a l c u l e r (){ n =N u m b e r(d o c u m e n t. T a b M u l . n o m b r e .v a l u e); var r e s u l t a t = " " ; if( n !=p a r s e I n t( n )) r e s u l t a t = " E n t r e r une v a l e u r v a l a b l e \ n " ; e l s e{ for(var i =1; i < =9 ; i + + ) { r e s u l t a t += n + " * " + i + " = " +( n * i )+ " \ n " ; } } d o c u m e n t.g e t E l e m e n t s B y N a m e( " t a b l e " ) [ 0 ] .i n n e r H T M L= r e s u l t a t } </ script > </ head >

(40)

PHP

Exercice 15.

<h t m l> <h e a d> <m e t a http - e q u i v = " Content - T y p e " c o n t e n t= " t e x t / h t m l ; c h a r s e t = UTF -8 " > <t i t l e> E x e r c i c e 1 < /t i t l e> < /h e a d> <b o d y> <? php $ n o m = " i d r i s s i " ; $ p r e n o m = " h a i t h a m " ; # # Q u s e t i o n 1 e c h o u c f i r s t( $ n o m ); e c h o ’ ’ ; e c h o u c f i r s t( $ p r e n o m ); ? > < br > <? php # # Q u e s t i o n 2 e c h o u c w o r d s( " $ n o m $ p r e n o m " ); ? > < br > <? php # # Q u e s t i o n 3 e c h o u c f i r s t( $ n o m ). " " .u c f i r s t( $ p r e n o m ); ? > </ body > </ html >

Exercice 16.

<h t m l> <h e a d> <m e t a http - e q u i v = " Content - T y p e " c o n t e n t= " t e x t / h t m l ; c h a r s e t = UTF -8 " > <t i t l e> < /t i t l e> < /h e a d> <b o d y> <h1> E x e r c i c e 1 < /h1> <? php f u n c t i o n s o m _ f o r ( $n ){ $ s o m =0; if(!i s _ i n t e g e r( $n ) | $n < = 0 ) r e t u r n " $n n ’ est pas un e n t i e r p o s i t i f " ;

(41)

e l s e{ for( $i =1; $i < $n ; $i + + ) { $ s o m += $i ; } r e t u r n $ so m ; } } f u n c t i o n s o m _ w h i l e ( $n ){ $ s o m =0; if(!i s _ i n t e g e r( $n ) | $n < = 0 ) r e t u r n " $n n ’ est pas un e n t i e r p o s i t i f " ; e l s e{ $i =1; w h i l e( $i < $n ){ $ s o m += $i ++; } r e t u r n $ so m ; } } e c h o " 1 + 2 + . . . + 1 3 = " . s o m _ f o r ( 1 3 ) ; e c h o " < br / > " ; e c h o " 1 + 2 + . . . + 1 3 = " . s o m _ w h i l e ( 1 3 ) ; ? > < /b o d y> < /h t m l>

Exercice 17.

<h t m l> <h e a d> <m e t a http - e q u i v = " Content - T y p e " c o n t e n t= " t e x t / h t m l ; c h a r s e t = UTF -8 " > <t i t l e> E x e r c i c e 3 < /t i t l e> < /h e a d> <b o d y> <? php f u n c t i o n C o n v E u r o ( $ t a b ){ $ t a b l e a u _ c o n v e r t i =a r r a y(); f o r e a c h( $ t a b as $c = > $v ){ $ t a b l e a u _ c o n v e r t i [ $c ]=a r r a y( $v , $v / 1 1 ) ; } k s o r t( $ t a b l e a u _ c o n v e r t i ); r e t u r n $ t a b l e a u _ c o n v e r t i ; } $ t a b =a r r a y( " t a b l e " = > 356.51 , " b u r e a u " = > 6 5 23 . 1 1 , " o r d i n a t e u r " = > 4 5 0 0 . 4 3 , " i m p r i m a n t e " = > 715.88 , " c h a i s e " = > 9 9 9 . 9 ) ; $ t a b l e a u _ e u r o _ d h = C o n v E u r o ( $ t a b ); ? > <c e n t e r> <t a b l e b o r d e r= " 1 " > <tr>

(42)

<td> < /td> <th> P r i x en Dh < /th> <th> P r i x en E u r o < /th> < /tr> <? php f o r e a c h( $ t a b l e a u _ e u r o _ d h as $c = > $v ){ e c h o " < tr > < td > $c </ td > < td > $v [0] </ td > < td > $v [1] </ td > </ tr > " ; } ? > < /t a b l e> < /c e n t e r> < /b o d y> < /h t m l>

Exercice 18.

inscription.php

<? php s e s s i o n _ s t a r t()? > <h t m l> <h e a d> <m e t a http - e q u i v = " Content - T y p e " c o n t e n t= " t e x t / h t m l ; c h a r s e t = UTF -8 " > <t i t l e> < /t i t l e> < /h e a d> <b o d y> <? php e x t r a c t( $ _ G E T ); # # Q u e s t i o n 14 $ n o m = " " ; $ p r e n o m = " " ; $ a n n e e = " " ; $ p h o t o = " " ; $ p a s s w o r d = " " ; $ l o i s i r s = " " ; if(i s s e t ( $id )){ $ m y s q l =m y s q l _ c o n n e c t( " l o c a l h o s t " , " r o o t " , " " ); m y s q l _ s e l e c t _ d b( " m a s t e r E l e c t " );

$ s q l = " S E L E C T nom , prenom , a n n e e N a i s s , p a s s w o r d , loisirs , p h o t o F R O M p e r s o n n e w h e r e id = ’ $id ’ " ; $ r e s u l t a t =m y s q l _ q u e r y( $ s q l ); $ l i g n e =m y s q l _ f e t c h _ a s s o c( $ r e s u l t a t ); $ n o m = $ l i g n e [ " nom " ]; $ p r e n o m = $ l i g n e [ " p r e n o m " ]; $ a n n e e = $ l i g n e [ " a n n e e N a i s s " ]; $ p h o t o = $ l i g n e [ " p h o t o " ]; $ p a s s w o r d = $ l i g n e [ " p a s s w o r d " ]; $ l o i s i r s =e x p l o d e( " ; " , $ l i g n e [ " l o i s i r s " ]); $ c h e c k e d V o y a g e = " " ; $ c h e c k e d S p o r t = " " ; $ c h e c k e d L e c t u r e = " " ; $ c h e c k e d P ê c h e = " " ; f o r e a c h( $ l o i s i r s as $v ){ $v =t r i m( $v ); if( $v != " " ){

Figure

table bureau ordinateur imprimante chaise 356.51 6523.11 4500.43 715.88 999.9 Afficher le tableau suivant en utilisant la boucle foreach :
Figure 1 – Tableau HTML affichera le tableau suivant :

Références

Documents relatifs

Un premier obstacle au jeu de cette concurrence réside dans le fait que pour l’essentiel, les achats de gaz de la région sont toujours effectués dans le cadre de contrats de

Findings further indicate that although industrial design practice in Alberta remains underdeveloped compared to Québec and Ontario, with increased government support,

Entre 1995 et 2009, deux pays ont vu leur contribution à l’encours de dette total de la zone euro significativement augmenter : ce sont les Pays-Bas et l’Espagne en raison

Pour autant, nous excluons l’hypothèse d’un resserrement de la politique monétaire par le biais d’une hausse des taux d’intérêt directeur car la croissance reste fragile,

diminuer la demande excédentaire. Pour Hicks, la question est de savoir si l‟on peut généraliser ce résultat au cas d‟une économie à n biens. Il va donc chercher à

Dans les plus petites communes, son utilité est très largement contestée tandis que la quasi-totalité des élus des communes de plus de 800 habitants l’estiment indispensable ou du

L'Année du Maghreb est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions

À l’aide des données issues d’une enquête ethnographique et par collecte de récits de vie, conduite en France et en Belgique, auprès de cette typologie de couple,