Valid XHTML    Valid CSS2    

Listing du fichier sen_tds.php

 

00001     <?php
00002     
include("../std.php") ;
00003     
# (gH) -_- sen_tds.php ; TimeStamp (unix) : 28 Septembre 2010 vers 14:40
00004     
debutPage
("L3SEN TD ENONCES","strict") ;
00005     
debutSection() ;
00006     
h1
("ENONCES DES TDS INFORMATIQUE WEB") ;
00007     
h1
("pour la licence DSCS") ;
00008     
h1
("(Diffusion du savoir et Culture scientifique)") ;
00009     
00010     
p
("grouge droite") ;
00011     echo
"gilles.hunault@univ-angers.fr" ;
00012     
finp() ;
00013     
00014     
#########################################################
00015     
00016     
function
tdDscs($num,$nom="") {
00017     
h2
("TD <a name='td$num'>DSCS</a> numéro $num ".ancre("sen_tds_cor.php#td$num","(corrigé)").$nom) ;
00018     }
# fin de fonction tdDscs
00019     
00020     #########################################################
00021     #########################################################
00022     
00023     
$nomTd = array() ;
00024     
$nomTd
[1] = " Langage XHTML et CSS" ;
00025     
$nomTd
[2] = " CSS, formulaires, Javascript " ;
00026     
$nomTd
[3] = " Javascript " ;
00027     
$nomTd
[4] = " Php" ;
00028     
$nomTd
[5] = " Php et Mysql " ;
00029     
$nomTd
[6] = " Tout à la fois " ;
00030     
00031     
h2
("<a name='tdm'>Table des matières</a>") ;
00032     
$nb_td
= 6 ;
00033     
blockquote() ;
00034      for (
$itd
=1;$itd<=$nb_td;$itd++) {
00035      echo
h3
(ancre("#td$itd","TD numéro $itd").$nomTd[$itd]) ;
00036      } ;
# fin pour
00037     
finblockquote() ;
00038     
00039     
$jtd
= 0 ;
00040     
00041     
#########################################################
00042     
00043     
$jtd
++ ; tdDscs($jtd,$nomTd[$jtd]) ; # TD1
00044     
00045     #########################################################
00046     
00047     
ol() ;
00048     
00049     
debutli() ;
00050     
p
("texte") ;
00051     echo
"Que signifie HTML&nbsp;? Où sont les marqueurs dans une page web&nbsp;? " ;
00052     echo
"Comment peut-on écrire les marqueurs &lt; et &gt;&nbsp;? " ;
00053     echo
"Y a-t-il d'autres systèmes de marqueurs&nbsp;? " ;
00054     echo
"" ;
00055     
finp() ;
00056     
finli() ;
00057     
00058     
debutli() ;
00059     
p
("texte") ;
00060     echo
"Trouver 5 façons d'afficher en XHTML le texte "
.b("Bonjour.")." sur une ligne puis le texte " ;
00061     echo
b
("Bonsoir.")." sur la ligne d'après." ;
00062     echo
" On pourra par exemple utiliser des paragraphes différents, un seul paragraphe et des retours à la ligne," ;
00063     echo
" des divisions, un tableau..." ;
00064     
finp() ;
00065     
finli() ;
00066     
00067     
debutli() ;
00068     
p
("texte") ;
00069     echo
"Quelle est la différence entre marqueur, élément, balise, entité et attribut&nbsp;? " ;
00070     echo
" Quelle est la structure hiérarchique d'une page web&nbsp;? " ;
00071     echo
" Est-il important de bien structurer une page&nbsp;? " ;
00072     echo
" Est-il obligatoire de bien structurer une page&nbsp;? " ;
00073     echo
" Est-il important d'écrire des pages valides&nbsp;? " ;
00074     echo
" Est-il obligatoire d'écrire des pages valides&nbsp;? " ;
00075     echo
" Est-ce la m&ecirc;me chose de fermer une balise et un élément&nbsp;? " ;
00076     
finp() ;
00077     
finli() ;
00078     
00079     
debutli() ;
00080     
p
("texte") ;
00081     echo
"De quelles grammaires dispose-t-on pour bien écrire les pages Web&nbsp;? " ;
00082     echo
" Quelles en sont les règles&nbsp;? " ;
00083     
finp() ;
00084     
finli() ;
00085     
00086     
debutli() ;
00087     
p
("texte") ;
00088     echo
"Donner le code-source d'une adresse comme " ;
00089     
finp() ;
00090     
pre() ;
00091     
nbsp
(5) ; echo "Jean DUPONT\n" ;
00092     
nbsp
(5) ; echo "3 route de Rome\n" ;
00093     
nbsp
(5) ; echo "49100 ANGERS\n" ;
00094     
finpre() ;
00095     
p
("texte") ;
00096     echo
" On utilisera comme structure un seul paragraphe et des retours à la ligne après avoir justifié cette structure." ;
00097     echo
" Détailler les différences transitionnel/strict " ;
00098     echo
" sachant qu'on veut mettre le nom de la ville en gras, le nom et le prénom en bleu, tout le texte en grands caractères. " ;
00099     echo
" Peut-on vraiment imprimer à l'italienne (en paysage)&nbsp;? " ;
00100     echo
" On donnera des solutions valides XHTML et CSS pour les grammaires strictes et transitionnelles." ;
00101     
finp() ;
00102     
00103     
finli() ;
00104     
00105     
debutli() ;
00106     
p
("texte") ;
00107     echo
" Ecrire le texte XHTML valide au sens transitionnel qui correspond aux indications suivantes." ;
00108     echo
" L'élement X1 a pour attribut X2 (de valeur X3) et X4 (de valeur X5). Il contient dans cet ordre " ;
00109     echo
" le texte X6 puis l'élément autofermant X7 et en fin le texte X8 écrit en gras. " ;
00110     echo
" Remplacer X1 par p, X2 par id, X3 par mfp, X4 par class, X5 par texte, X6 par Bonjour, " ;
00111     echo
" X7 par hr, X8 par tout le monde. Qu'obtient-ton&nbsp;?" ;
00112     
finp() ;
00113     
finli() ;
00114     
00115     
debutli() ;
00116     
p
("texte") ;
00117     echo
"Comment afficher un \"beau\" calendrier des saisons pour des petites classes&nbsp;?" ;
00118     echo
" On donnera une solution en tableau et une solution en liste de définitions." ;
00119     echo
" Comment avoir tout le calendrier en bleu&nbsp;? " ;
00120     echo
" Comment mettre un quadrillage&nbsp;? " ;
00121     
finp() ;
00122     
p
("texte") ;
00123     echo
" <em>Rappel</em> : une saison a un nom, une date de début et une date de fin." ;
00124     
finp() ;
00125     
finli() ;
00126     
00127     
debutli() ;
00128     
p
("texte") ;
00129     echo
"Je veux écrire un paragraphe justifié à droite et à gauche. Quelles sont les possibilités en XHTML / CSS&nbsp;? " ;
00130     echo
" Quels sont toutes les propriétés d'un paragraphe&nbsp;? Comment les modifier&nbsp;? " ;
00131     
finp() ;
00132     
finli() ;
00133     
00134     
debutli() ;
00135     
p
("texte") ;
00136     echo
" Quelle est la syntaxe exacte à utiliser pour définir un style, à la volée, en local, en externe&nbsp;? Si on utilise toujours une propriété et une " ;
00137     echo
" valeur, pourquoi doit-on mettre un point-virgule entre les propriétés&nbsp;? " ;
00138     
finp() ;
00139     
finli() ;
00140     
00141     
debutli() ;
00142     
p
("texte") ;
00143     echo
" Peut-on mettre plusieurs attributs pour un m&ecirc;me élément&nbsp;? Et plusieurs propriétés&nbsp;? " ;
00144     echo
" Avec les m&ecirc;mes noms&nbsp;? " ;
00145     
finp() ;
00146     
finli() ;
00147     
00148     
debutli() ;
00149     
p
("texte") ;
00150     echo
" Dans CSS, le C signifie cascade. Qu'est-ce que cela veut dire&nbsp;? " ;
00151     
finp() ;
00152     
finli() ;
00153     
00154     
debutli() ;
00155     
p
("texte") ;
00156     echo
" Détailler ce que fait le navigateur au vu de la balise suivante. On distinguera les grammaires strictes et transitionnelles. " ;
00157     
finp() ;
00158     
00159     
pre
("cadre") ;
00160     
?>
00161     

00162      &lt;p id="dates" name="dates" style="font-size : 5 ; color : blue" class="mamf1 mamf2"...
00163     
00164     <?php
00165     finpre
() ;
00166     
00167     
finli() ;
00168     
00169     
debutli() ;
00170     echo
" Si on n'a pas le droit de mettre des accents dans les liens, comment fait-on, par exemple pour " ;
00171     echo
" l'adresse <b>http://www.google.fr/search?q=légumes</b>&nbsp;? " ;
00172     
finli() ;
00173     
00174     
finol() ;
00175     
00176     
#########################################################
00177     
00178     
$jtd
++ ; tdDscs($jtd,$nomTd[$jtd]) ; # TD2
00179     
00180     #########################################################
00181     
00182     
ol() ;
00183     
00184     
debutli() ;
00185     
p
("texte") ;
00186     echo
" On me demande d'écrire l'élément <b>x<sub>1</sub></b> qui contient les éléments <b>x<sub>2</sub></b>, <b>x<sub>3</sub></b>... " ;
00187     echo
" avec comme noms de style respectifs <b>s<sub>1</sub></b>, <b>s<sub>2</sub></b>, <b>s<sub>3</sub></b>... Quel fragment XHTML valide dois-je écrire&nbsp;? " ;
00188     echo
" Y a-t-il une indentation particulière à respecter au niveau du code-source&nbsp;? Pourquoi&nbsp;? " ;
00189     echo
" Application : <b>x<sub>1</sub></b> est <b>ul</b> et les autres <b>x<sub>i</sub></b> sont des <b>li</b>. " ;
00190     echo
" Au passage, comment écrit-on des indices et des puissances (et des puissances de puissances) comme dans : " ;
00191     
finp() ;
00192     
00193     
p
("center") ;
00194     echo
"<span class='gros_car_20pt'>" ;
00195     echo
"<b>x<sub>i</sub><sup>(n<sup>2</sup>)</sup></b> se prononce <em>x indice i puissance n deux</em> " ;
00196     echo
" (comme <b>x<sup>n<sup>2</sup></sup><sub>i</sub></b>&nbsp;?)" ;
00197     echo
"</span>" ;
00198     
finp() ;
00199     
00200     echo
" <a name='fin'>&nbsp;</a> " ;
00201     
00202     
finli() ;
00203     
00204     
debutli() ;
00205     
p
("texte") ;
00206     echo
" Je veux réaliser un joli quadrillage avec une bordure épaisse bleu foncée tout autour du tableau et " ;
00207     echo
" des lignes fines en bleu clair (en pointillé&nbsp;?) à l'intérieur du tableau, " ;
00208     echo
" comme dans l'exemple suivant où tout le texte est centré et où le texte ne 'colle' pas aux bords : " ;
00209     
finp() ;
00210     
00211     echo
"<div class='centre respire taille_5'>\n" ;
00212     echo
"<table class='espace' summary='exemple 1'>\n" ;
00213     
00214     
tr() ;
00215     
td() ;
00216     echo
"<table class='gbbec' cellpadding='10' summary='exemple 2'>\n" ;
00217     echo
"<tr>\n" ;
00218     echo
" <td class='bbcf'>Angers </td>\n" ;
00219     echo
" <td class='bbcf'>Nantes </td>\n" ;
00220     echo
" <td class='bbcf'>Tours</td>\n" ;
00221     echo
" <td class='bbcf'>Lyon</td>\n" ;
00222     echo
"</tr>\n" ;
00223     echo
"<tr>\n" ;
00224     echo
" <td class='bbcf'>Oui</td>\n" ;
00225     echo
" <td class='bbcf'>Non</td>\n" ;
00226     echo
" <td class='bbcf'>Oui</td>\n" ;
00227     echo
" <td class='bbcf'>Oui</td>\n" ;
00228     echo
"</tr>\n" ;
00229     echo
"<tr>\n" ;
00230     echo
" <td class='bbcf'>Standard</td>\n" ;
00231     echo
" <td class='bbcf'>Standard</td>\n" ;
00232     echo
" <td class='bbcf'>Spécial</td>\n" ;
00233     echo
" <td class='bbcf'>Spécial</td>\n" ;
00234     echo
"</tr>\n" ;
00235     echo
"<tr>\n" ;
00236     echo
" <td class='bbcf'>Janvier</td>\n" ;
00237     echo
" <td class='bbcf'>Février</td>\n" ;
00238     echo
" <td class='bbcf'>Mars</td>\n" ;
00239     echo
" <td class='bbcf'>Avril</td>\n" ;
00240     echo
"</tr>\n" ;
00241     echo
"</table>\n" ;
00242     
fintd() ;
00243     
00244     
td
() ; nbsp() ; fintd() ;
00245     
td
() ; nbsp() ; fintd() ;
00246     
td
() ; nbsp() ; fintd() ;
00247     
00248     
td() ;
00249     echo
"<table class='respire gbbec' cellpadding='10' summary='exemple 3'>\n" ;
00250     echo
"<tr>\n" ;
00251     echo
" <td class='bbcfp'>Angers </td>\n" ;
00252     echo
" <td class='bbcfp'>Nantes </td>\n" ;
00253     echo
" <td class='bbcfp'>Tours</td>\n" ;
00254     echo
" <td class='bbcfp'>Lyon</td>\n" ;
00255     echo
"</tr>\n" ;
00256     echo
"<tr>\n" ;
00257     echo
" <td class='bbcfp'>Oui</td>\n" ;
00258     echo
" <td class='bbcfp'>Non</td>\n" ;
00259     echo
" <td class='bbcfp'>Oui</td>\n" ;
00260     echo
" <td class='bbcfp'>Oui</td>\n" ;
00261     echo
"</tr>\n" ;
00262     echo
"<tr>\n" ;
00263     echo
" <td class='bbcfp'>Standard</td>\n" ;
00264     echo
" <td class='bbcfp'>Standard</td>\n" ;
00265     echo
" <td class='bbcfp'>Spécial</td>\n" ;
00266     echo
" <td class='bbcfp'>Spécial</td>\n" ;
00267     echo
"</tr>\n" ;
00268     echo
"<tr>\n" ;
00269     echo
" <td class='bbcfp'>Janvier</td>\n" ;
00270     echo
" <td class='bbcfp'>Février</td>\n" ;
00271     echo
" <td class='bbcfp'>Mars</td>\n" ;
00272     echo
" <td class='bbcfp'>Avril</td>\n" ;
00273     echo
"</tr>\n" ;
00274     echo
"</table>\n" ;
00275     
fintd() ;
00276     
fintr() ;
00277     
00278     echo
"</table>\n" ;
00279     echo
"</div>\n" ;
00280     
00281     
p
("texte") ;
00282     echo
" Combien de styles différents me faut-il&nbsp;? Et où les mettre&nbsp;? " ;
00283     
finp() ;
00284     
finli() ;
00285     
00286     
debutli() ;
00287     
p
("texte") ;
00288     echo
" Lorsque je lis le texte d'un formulaire, je trouve ceci écrit : " ;
00289     echo
" <b>&lt;form&gt;&lt;input type='text' value='5' /&gt;&lt;/form&gt;</b>." ;
00290     echo
" Y a-t-il une valeur par défaut pour le texte à saisir&nbsp;? " ;
00291     echo
" Est-ce correct : au sens de <em>xhtml transitionnel</em> (tout le reste étant valide)&nbsp;? et intellectuellement&nbsp;?" ;
00292     echo
" Que manque-t-il (si on omet la mise en forme) pour avoir un \"vrai\" formulaire&nbsp;? " ;
00293     
finp() ;
00294     
finli() ;
00295     
00296     
debutli() ;
00297     
p
("texte") ;
00298     echo
" Je voudrais écrire un formulaire en <b>mode GET</b> qui demande un prénom et qui rajoute automatiquement comme " ;
00299     echo
" paramètre à l'URL de l'action le mot <b>section</b> et la valeur '<b>grande</b>'. Comment faire&nbsp;? " ;
00300     
finp() ;
00301     
finli() ;
00302     
00303     
debutli() ;
00304     
p
("texte") ;
00305     echo
" Un formulaire (en <b>mode GET</b>) contient une entrée texte nommée <b>JOUR</b>, une liste de sélection nommée <b>DR</b> " ;
00306     echo
" contenant : " ;
00307     echo
" <b>&lt;option value='1'&gt;Mancini&lt;/option&gt;&lt;option value='2'&gt;Poudlard&lt;/option&gt;...</b>." ;
00308     echo
" Le formulaire a aussi des boutons radios tous nommés <b>HR</b> donc voici le début du code-source : " ;
00309     echo
" <b>&lt;input type='radio' name='HR' value='A' /&gt;9 h " ;
00310     echo
" &lt;input type='radio' name='HR' value='B' /&gt;14 h...</b>" ;
00311     echo
" Sachant que l'URL de l'action (fictive) du formulaire est <b>http://pdrv.fr/parm</b>, si l'utilisateur entre " ;
00312     echo
" <b>lun</b> pour le jour, qu'il valide l'option <b>Poudlard</b> et qu'il rend actif le bouton radio correspondant à <b>9 h</b>," ;
00313     echo
" quelle serait l'URL renvoyée par le navigateur&nbsp;? " ;
00314     echo
" Et si l'utilisateur écrit <b>x=2</b> comme jour&nbsp;? " ;
00315     echo
" Et si le bouton d'envoi (<b>submit</b>) est nommé go et qu'il affiche 'envoi'&nbsp;? " ;
00316     
finp() ;
00317     
00318     
p
("texte") ;
00319     echo
"<em>Pour les experts :</em> dans quel ordre les noms de champs d'entrée sont-ils transmis&nbsp;? " ;
00320     echo
"Le champ de nom <b>pomme</b> (tout en minuscules) est-il différent du champ de nom <b>POMME</b> (tout en majuscules)&nbsp;?" ;
00321     echo
" Peut-on avoir un attribut <b>value</b> dans un élément <b>input</b> sans avoir d'attribut <b>name</b>&nbsp;? " ;
00322     
finp() ;
00323     
finli() ;
00324     
00325     
debutli() ;
00326     
p
("texte") ;
00327     echo
" Lorsqu'un formulaire transmet un <b>input type='text'</b> dont la valeur est <b>5</b>, peut-on savoir s'il s'agit d'un " ;
00328     echo
" nombre ou d'une chaine de caractères&nbsp;? Comment forcer <b>Javascript</b> à l'utiliser comme nombre&nbsp;?" ;
00329     
finp() ;
00330     
finli() ;
00331     
00332     
debutli() ;
00333     
p
("texte") ;
00334     echo
" Je veux écrire un formulaire qui affiche comme liste de sélection (et dans cet ordre) les mots " ;
00335     echo
" <b>'pipounet'</b> et <b>'pipounette'</b> mais " ;
00336     echo
" que le formulaire transmette respectivement les valeurs <b>G</b> et <b>F</b> pour le champ <b>SEXE</b>. Comment faire&nbsp;? " ;
00337     echo
" Honneur aux dames, comment mettre <b>F</b> comme choix par défaut&nbsp;? et en rose&nbsp;? " ;
00338     echo
" Pourquoi ne faut-il pas nommer le champ <b>SEXE</b>&nbsp;? Peut-on mettre les deux options validées par défaut&nbsp;? " ;
00339     echo
" Quelle est la valeur renvoyée dans ce cas&nbsp;? " ;
00340     
finp() ;
00341     
finli() ;
00342     
00343     
debutli() ;
00344     
p
("texte") ;
00345     echo
" J'ai deux boutons radio dans un formulaire qui affichent <b>Non</b> et <b>Oui</b>. Comment faire pour que le formulaire envoie comme valeurs " ;
00346     echo
" associées <b>1</b> et <b>2</b> pour le champ '<b>pipouyou</b>'&nbsp;? " ;
00347     echo
" Honneur aux pipouyous, comment mettre <b>Oui</b> choix par défaut&nbsp;? et en bleu clair&nbsp;? " ;
00348     
finp() ;
00349     
finli() ;
00350     
00351     
debutli() ;
00352     
p
("texte") ;
00353     echo
" Lorsque je teste mon programme <b>Javascript</b> qui utilise les valeurs issues d'un formulaire, " ;
00354     echo
" il fonctionne bien avec <b>13</b> et <b>19</b> mais pas avec <b>3</b> et <b>21</b>. Pourquoi&nbsp;? On pourra imaginer que le " ;
00355     echo
" programme se base sur l'ordre des valeurs." ;
00356     
finp() ;
00357     
finli() ;
00358     
00359     
debutli() ;
00360     
p
("texte") ;
00361     echo
" Avant de transmettre la valeur du champ <b>REPONSE</b> du formulaire, je voudrais tester avec Javascript si c'est bien un " ;
00362     echo
" nombre entier positif. Quels évènements (<b>clavier, souris</b>...) puis-je utiliser&nbsp;? Et sur quels éléments du formulaire&nbsp;? " ;
00363     echo
" Lesquels sont les plus simples&nbsp;? " ;
00364     echo
" Pourquoi est-ce 'mauvais' de mettre la validation sur le bouton d'envoi comme dans <b>input type='submit' value='Ok' onclick='valider()'</b>&nbsp;? " ;
00365     echo
" Et sur une image de soumission comme dans <b>img src='...' alt='...' onclick='valider()'</b>&nbsp;? " ;
00366     
finp() ;
00367     
finli() ;
00368     
00369     
debutli() ;
00370     
p
("texte") ;
00371     echo
" Que faudrait-il faire en Javascript pour tester qu'une ligne d'entrée contient une suite de nombres entiers séparés " ;
00372     echo
" par un ou plusieurs espaces&nbsp;? Et si la réponse à une question était <b>le ballon rouge</b>&nbsp;? " ;
00373     echo
" Que peut-on en déduire sur la validation de questionnaires par page Web et sur l'évaluation des 'jeunes apprenants'&nbsp;? " ;
00374     
finp() ;
00375     
finli() ;
00376     
00377     
finol() ;
00378     
00379     
#########################################################
00380     
00381     
$jtd
++ ; tdDscs($jtd,$nomTd[$jtd]) ; # TD3
00382     
00383     #########################################################
00384     
00385     
ol() ;
00386     
00387     
debutli() ;
00388     
p
("texte") ;
00389     echo
" Que calcule et qu'affiche le texte Javascript suivant (les numéros de ligne ne font pas partie du texte Javascript)&nbsp;?" ;
00390     
finp() ;
00391     
pre
("cadre") ;
00392     
?>
00393     

00394      001 | function f(x) { return x+1 } ;
00395      002 | function g(x) { return 2*x } ;
00396      003 | a = 2 ;
00397      004 | b = 8 ;
00398      005 | c = f(a-2) ;
00399      006 | if (c&gt;0) {
00400      007 | window.document.write(" on Trouve "+g(c))
00401      008 | } else {
00402      009 | window.document.write(" pas Vu, pas Pris. ")
00403      010 | } ; # fin de si
00404     
00405     <?php
00406     finpre
() ;
00407     
finli() ;
00408     
00409     
debutli() ;
00410     
00411     
p
("texte") ;
00412     echo
" Si j'oublie de mettre les guillemets en XHTML comme par exemple dans " ;
00413     echo
" <b>Google, c'est &lt;a href=http://www.google.fr&gt;ici&lt;/a&gt;</b>, " ;
00414     echo
" est-ce grave&nbsp;? Que fait le navigateur&nbsp;? Et si j'oublie un seul des deux guillemets, " ;
00415     echo
" comme dans <b>Google, c'est &lt;a href=\"http://www.google.fr&gt;ici&lt;/a&gt;</b>&nbsp;?" ;
00416     echo
" ou dans <b>Google, c'est &lt;a href=http://www.google.fr\"&gt;ici&lt;/a&gt;</b>&nbsp;?" ;
00417     
finp() ;
00418     
00419     
p
("texte") ;
00420     echo
" Si j'oublie un guillemet en Javascript comme par exemple dans " ;
00421     echo
"<b>window.document.write(\" on trouve +g(c)) </b>" ;
00422     echo
" ou encore dans <b>window.document.write( on trouve \"+g(c)) </b>, " ;
00423     echo
" est-ce grave&nbsp;? Que fait le navigateur&nbsp;? Que faut-il en conclure&nbsp;?" ;
00424     
finp() ;
00425     
00426     
finli() ;
00427     
00428     
debutli() ;
00429     
p
("texte") ;
00430     echo
" Dans ma page Web, je n'ai, après l'élément "
.b("head").", que " ;
00431     
finp() ;
00432     
00433     
pre
("cadre") ;
00434     
?>
00435     
&lt;body&gt;
00436      &lt;h1 onclick="..."&gt;Bonjour&lt;/h1&gt;
00437      &lt;/body&gt;
00438      &lt;/html&gt;
00439     <?php
00440     finpre
() ;
00441     
00442     
p
("texte") ;
00443     echo
" Que faut-il mettre dans le "
.b("onclick")." pour obtenir " ;
00444     
finp() ;
00445     
00446     
pre
("cadre") ;
00447     
?>
00448     
&lt;body&gt;
00449      &lt;h1 onclick="ajout() ; "&gt;Bonjour&lt;/h1&gt;
00450      <span class="gbleu">&lt;h1 class="cadre"&gt;Bonsoir&lt;/h1&gt;</span>
00451      &lt;/body&gt;
00452      &lt;/html&gt;
00453     <?php
00454     finpre
() ;
00455     
finli() ;
00456     
00457     
debutli() ;
00458     
p
("texte") ;
00459     echo
" Donner le texte des instructions Javascript qui permettent d'afficher le texte " ;
00460     
finp() ;
00461     
00462     
p
("texte") ;
00463     echo
"<b>" ;
00464     echo
"<br/> 8 est le double de 4 et donc 4 est la moitié de 8. " ;
00465     echo
"<br/> 100 est le double de 50 et donc 50 est la moitié de 100. " ;
00466     echo
"<br/> 22 est le double de 11 et donc 11 est la moitié de 22. " ;
00467     echo
"<br/> ... " ;
00468     echo
"</b>" ;
00469     
finp() ;
00470     
00471     
p
("texte") ;
00472     echo
" Devant l'ampleur de la répétition de la tache, écrire une fonction <b>d_et_m(x)</b> (pourquoi d_et_m&nbsp;?) qui affiche le bon texte pour x " ;
00473     echo
" (x est 8 pour la première ligne, 100 pour la deuxième, 22 pour la troisième...) " ;
00474     
finp() ;
00475     
00476     
p
("texte") ;
00477     echo
" Afin d'&ecirc;tre encore plus concis(e), on regroupe toutes les valeurs à utiliser dans la variable <b>vau</b> définie par : " ;
00478     echo
" <b>var var = new Array(8,100,22,52,38...) ;</b>. Modifier votre code Javascript en conséquence." ;
00479     
finp() ;
00480     
00481     
p
("texte") ;
00482     echo
" Finalement, on décide d'utiliser le style <b>grouge</b> pour le nombre de départ, ";
00483     echo
" le style <b>gbleu</b> pour son double " ;
00484     echo
" et le style <b>gvert</b> pour sa moitié. " ;
00485     echo
" Modifier la fonction <b>dm(x)</b> en conséquence." ;
00486     
finp() ;
00487     
00488     
p
("texte") ;
00489     echo
" Où doit-on mettre dans la page Web l'appel à ces instructions javacript&nbsp;? A-t-on besoin d'une fonction&nbsp;? " ;
00490     
finp() ;
00491     
00492     
finli() ;
00493     
00494     
debutli() ;
00495     
p
("texte") ;
00496     echo
" Utiliser la liste de nombres <b>1 5 8 2 8 3 6 8 2 1 7</b> comme tableau de travail. Ecrire une fonction <b>Javascript</b> " ;
00497     echo
" nommée <b>valMax()</b> qui trouve la valeur maximale dans le tableau (c'est 8). Compléter la fonction pour qu'elle " ;
00498     echo
" trouve aussi le nombre de fois où ce maximum apparait. Affiner en trouvant la première " ;
00499     echo
" occurence, la dernière, et le nombre de fois où le maximum apparait, qu'on fournira en absolu et en relatif " ;
00500     echo
" c'est à dire en pourcentage du nombre d'éléments du tableau. Vérifier ensuite avec la liste de valeurs 1 2 et " ;
00501     echo
" la liste 1 2 3 4 5." ;
00502     
finp() ;
00503     
p
("texte") ;
00504     echo
" <em>Pour les experts</em> : écrire une fonction qui trie le tableau, faire le calcul du max et du " ;
00505     echo
" nombres d'occurences avec une seule boucle." ;
00506     
finp() ;
00507     
finli() ;
00508     
00509     
debutli() ;
00510     
p
("texte") ;
00511     echo
" Reprendre l'exercice précédent en supposant que le tableau fourni à la fonction <b>valMax()</b> " ;
00512     echo
" est déjà trié par ordre croissant. Est-ce que cela change quelque chose à la vitesse d'exécution du programme&nbsp;? " ;
00513     
finp() ;
00514     
p
("texte") ;
00515     echo
" <em>Pour les experts</em> : écrire une fonction qui affiche le tableau avec <b>table, tr, td</b> et à l'aide " ;
00516     echo
" d'une couleur différente pour le max." ;
00517     
finp() ;
00518     
finli() ;
00519     
00520     
debutli() ;
00521     
p
("texte") ;
00522     echo
" Reprendre l'exercice liste des courses en Javascript avec oeuf, viande et légumes en simplifiant : le tableau n'aura que " ;
00523     echo
" deux colonnes, l'une avec le mot et un lien vers Google, l'autre avec une image en taille fixe et un lien vers l'image en grand." ;
00524     echo
" On mettra le tout dans une fonction nommée echo <b>ldc</b> (pourquoi ldc&nbsp;?) " ;
00525     echo
" et on supposera que la fonction ldc est appelée à l'intérieur de l'élément <b>body</b>. Cette fonction produira le " ;
00526     echo
" tableau XHTML avec des images pour le fond (la nappe) et les éléments (les serviettes). On utilisera la " ;
00527     echo
" variable définie par <b>var ingr = new Array('oeuf', 'viande','légumes') ;</b>. " ;
00528     
finp() ;
00529     
p
("texte") ;
00530     echo
" <em>Pour les experts</em> : mettre des paramètres pour les images, les styles du tableau et des cellules." ;
00531     
finp() ;
00532     
finli() ;
00533     
00534     
debutli() ;
00535     
p
("texte") ;
00536     echo
" Ecrire en Javascript une fonction h1(x) puis la fonction h(i,x) qui refait la m&ecirc;me chose (c'est à " ;
00537     echo
" dire afficher <b>&lt;h1&gt; x &lt;/h1&gt;</b>) " ;
00538     echo
" pour <b>i=1</b>. Quel est l'intér&ecirc;t d'une telle fonction&nbsp;? " ;
00539     
finp() ;
00540     
finli() ;
00541     
00542     
finol() ;
00543     
00544     
#########################################################
00545     
00546     
$jtd
++ ; tdDscs($jtd,$nomTd[$jtd]) ; # TD4
00547     
00548     #########################################################
00549     
00550     
blockquote() ;
00551     
p() ;
00552     echo
"Le texte de ce TD est plus court que les autres car il y a une partie <em>examen en controle continu</em>" ;
00553     echo
" qui \"occupe\" le TD et qui n'est pas reproduite ici." ;
00554     
finp() ;
00555     
finblockquote() ;
00556     
00557     
ol() ;
00558     
00559     
/*
00560     debutli() ;
00561     p("texte") ;
00562     echo " En Javascript, peut-on transmettre dans un formulaire : la valeur d'un champ-texte&nbsp;? tout l'objet champ-texte&nbsp;? " ;
00563     echo " Tout le formulaire&nbsp;? " ;
00564     finp() ;
00565     p("texte") ;
00566     echo " On dispose de deux champs-texte nommés a et b. Ecrire le corps d'une fonction Javascript qui permute les contenu de a et b et qui les " ;
00567     echo " remet dans a et b. On supposera qu'il y a identité entre <b>name</b> et <b>id</b>." ;
00568     finp() ;
00569     finli() ;
00570     */
00571     
00572     
debutli() ;
00573     
p
("texte") ;
00574     echo
" Ecrire en Php une fonction h1(x), puis une fonction h2(x) puis la fonction h(i,x) qui refait la m&ecirc;me chose (c'est à dire " ;
00575     echo
" afficher <b>&lt;h<sub>i</sub>&gt; x &lt;/h<sub>i</sub>&gt;</b>). " ;
00576     echo
" Quel est l'intér&ecirc;t d'une telle fonction&nbsp;? " ;
00577     
finp() ;
00578     
00579     
p
("texte") ;
00580     echo
"Sur le m&ecirc;me principe, écrire une fonction b() et une fonction href(). " ;
00581     
finp() ;
00582     
00583     
p
("texte") ;
00584     echo
"Comment prendre en compte les valeurs par défaut obligatoires de XHTML&nbsp;? et les styles CSS&nbsp;? " ;
00585     
finp() ;
00586     
00587     
finli() ;
00588     
00589     
debutli() ;
00590     
p
("texte") ;
00591     echo
"On veut faire du texte \"Angers Nantes Rennes\" un tableau à trois éléments en PHP. Est-ce facile&nbsp;? " ;
00592     
finp() ;
00593     
finli() ;
00594     
00595     
debutli() ;
00596     
p
("texte") ;
00597     echo
" Reprendre l'exercice liste des courses en Php avec oeuf, viande et légumes en simplifiant : le tableau n'aura que " ;
00598     echo
" deux colonnes, l'une avec le mot et un lien vers Google, l'autre avec une image en taille fixe et un lien vers l'image en grand." ;
00599     echo
" On mettra le tout dans une fonction nommée echo <b>ldc</b> (pourquoi ldc&nbsp;?) " ;
00600     echo
" et on supposera que la fonction ldc est appelée à l'intérieur de l'élément <b>body</b>. Cette fonction produira le " ;
00601     echo
" tableau XHTML avec des images pour le fond (la nappe) et les éléments (les serviettes). " ;
00602     echo
" On pourra utiliser au choix la " ;
00603     echo
" variable définie par <b>var ingr = new Array('oeuf', 'viande','légumes') ;</b> " ;
00604     echo
" ou on construira un tableau à partir d'une phrase contenant la liste des ingrédients." ;
00605     
finp() ;
00606     
00607     
p
("texte") ;
00608     echo
" On s'arrangera pour n'avoir aucune balise, que des fonctions PHP \"conceptuelles\"..." ;
00609     
finp() ;
00610     
00611     
p
("texte") ;
00612     echo
" <em>Pour les experts</em> : mettre des paramètres pour les images, les styles du tableau et des cellules." ;
00613     echo
" Comment se gère l'encodage URL des adresses&nbsp;? " ;
00614     
finp() ;
00615     
finli() ;
00616     
00617     
finol() ;
00618     
00619     
#########################################################
00620     
00621     
$jtd
++ ; tdDscs($jtd,$nomTd[$jtd]) ; # TD5
00622     
00623     #########################################################
00624     
00625     
ol() ;
00626     
00627     
debutli() ;
00628     
p
("texte") ;
00629     echo
"On dispose d'une table de données au sens MYSQL qui contient deux champs, l'un nommé "
.em("evenement")." qui " ;
00630     echo
" correspond à un évènement et l'autre nommé "
.em("date")." qui correspond à une date. " ;
00631     echo
" Voici un exemple possible de remplissage de la table " ;
00632     
finp() ;
00633     
00634     
pre() ;
00635     
?>
00636     
+---------------------------------------------------+------+
00637      | evenement | date |
00638      +---------------------------------------------------+------+
00639      | Le couronnement de Charlemagne | 800 |
00640      | La découverte de l'Amérique par Christophe Colomb | 1492 |
00641      | La bataille de Marignan | 1515 |
00642      | La chute du mur de Berlin | 1989 |
00643      | La mort de Jeanne d'Arc | 1431 |
00644      | La naissance de Louis XVI | 1754 |
00645      | ... | ... |
00646      +---------------------------------------------------+------+
00647     
00648     
00649     <?php
00650     finpre
() ;
00651     
p
("texte") ;
00652     echo
" Répondez aux questions suivantes à l'aide d'instructions MySqL : " ;
00653     
finp() ;
00654     
00655     
ul() ;
00656     
li
("Combien y a-t-il d'évènements dans la table&nbsp;? ") ;
00657     
li
("Combien y a-t-il d'évènements dans la table ayant eu lieu avant 1789&nbsp;? ") ;
00658     
li
("Quels évènements dans la table ont eu lieu avant 1789&nbsp;? ") ;
00659     
li
("Quelles sont les deux premières dates dans la table&nbsp;? ") ;
00660     
li
("Quelles sont les deux premières dates dans la table par ordre historique&nbsp;? ") ;
00661     
finul() ;
00662     
finli() ;
00663     
00664     
debutli() ;
00665     
p
("texte") ;
00666     echo
"On dispose d'une table "
.em("sen_elev")." et d'une table ".em("sen_exer") ;
00667     echo
" qui correspondent respectivement à des élèves et à des séries d'exercices. " ;
00668     
finp() ;
00669     
00670     
p
("texte") ;
00671     echo
" La table "
.em("sen_elev")." contient un prénom puis un numéro d'exercice, puis une note sur 20. En voici un extrait " ;
00672     
finp() ;
00673     
00674     
pre() ;
00675     
?>
00676     

00677      +----------+------+------+
00678      | pren | nume | note |
00679      +----------+------+------+
00680      | Louise | 1 | 18 |
00681      | Pierre | 1 | 12 |
00682      | Isabelle | 1 | 12 |
00683      | Damien | 1 | 14 |
00684      | Louise | 2 | 16 |
00685      | Louise | 3 | 16 |
00686      | ... | ... | |
00687      +----------+------+------+
00688     
00689     
00690     <?php
00691     finpre
() ;
00692     
00693     
p
("texte") ;
00694     echo
" La table "
.em("sen_exer")." contient un identifiant d'exercice (numéro), puis la matière et la difficulté de l'exercice " ;
00695     echo
" qui est un entier entre 1 (facile) et 3 (difficile) ; en voici un extrait : " ;
00696     
finp() ;
00697     
00698     
pre() ;
00699     
?>
00700     

00701      +-------+----------+-------+
00702      | idexo | mat | diffi |
00703      +-------+----------+-------+
00704      | 1 | Calcul | 1 |
00705      | 2 | Calcul | 3 |
00706      | 3 | Histoire | 1 |
00707      | ... | ... | ... |
00708      +-------+----------+-------+
00709     
00710     
00711     <?php
00712     finpre
() ;
00713     
00714     
p
("texte") ;
00715     echo
" Essayer de répondre en MySql aux questions suivantes : " ;
00716     
finp() ;
00717     
00718     
ul() ;
00719     
li
("Combien d'exercices Louise a-t-elle fait&nbsp;? ") ;
00720     
li
("Combien d'élèves ont fait l'exercice 1&nbsp;? ") ;
00721     
li
("Quelle est la moyenne de Louise sur l'ensemble des exercices&nbsp;? ") ;
00722     
li
("Et sur l'ensemble des exercices de calcul seulement&nbsp;? ") ;
00723     
li
("Comment peut-on afficher les noms et les notes pour l'exercice 1 par ordre de mérite&nbsp;? ") ;
00724     
li
("Idem pour la moyenne des notes de calcul (toujours par ordre de mérite)&nbsp;? ") ;
00725     
li
("Qui a fait des exercices difficiles&nbsp;? ") ;
00726     
li
("Comment peut-on assurer un suivi pédagogique pour les faibles en maths&nbsp;? ") ;
00727     
finul() ;
00728     
finli() ;
00729     
00730     
debutli() ;
00731     
p
("texte") ;
00732     echo
"Donner le code PHP qui répond aux deux premières questions pour la table d'histoire ";
00733     echo
"puis donner le code PHP qui répond aux deux premières questions pour les tables "
.em("sen_elv") ;
00734     echo
" et "
.em("sen_exer")." ; écrire ensuite une fonction \"conceptuelle\" en PHP que l'on nommera " ;
00735     echo
em
("combien")." et donner le code PHP qui réalise les m&ecirc;mes 4 requ&ecirc;tes à l'aide de cette fonction. " ;
00736     
finp() ;
00737     
p
("texte") ;
00738     echo
" Ecrire ensuite les instructions PHP qui affichent les noms et les notes pour l'exercice de numéro 1 par ordre de mérite. " ;
00739     
finp() ;
00740     
finli() ;
00741     
00742     
finol() ;
00743     
00744     
#########################################################
00745     
00746     
$jtd
++ ; tdDscs($jtd,$nomTd[$jtd]) ; # TD6
00747     
00748     #########################################################
00749     
00750     
ol() ;
00751     
00752     
debutli() ;
00753     
p
("texte") ;
00754     echo
"On suppose qu'on dispose de la table de données suivante nommée "
.em("sen_exer")." : " ;
00755     
finp() ;
00756     
00757     
pre
("cadre") ;
00758     
?>
00759     

00760      +-------+----------+-------+
00761      | idexo | mat | diffi |
00762      +-------+----------+-------+
00763      | 1 | Calcul | 1 |
00764      | 2 | Calcul | 3 |
00765      | 3 | Histoire | 1 |
00766      | 4 | Calcul | 1 |
00767      | 5 | Calcul | 2 |
00768      | 6 | Histoire | 1 |
00769      | 7 | Histoire | 3 |
00770      +-------+----------+-------+
00771     
00772     
00773     <?php
00774     finpre
() ;
00775     
00776     
p
("texte") ;
00777     echo
"Que fait, calcule et affiche le programme PHP suivant après "
.em("debutSection()") ;
00778     echo
" et avant "
.em("finSection()")."&nbsp;? " ;
00779     
finp() ;
00780     
00781     
# imprimer pour tout le monde le fichier ex1td6.ps
00782     
00783     
pre
("cadre") ;
00784     echo
"\n" ;
00785     
show_source
("sen_exer_txt.php") ;
00786     echo
"\n" ;
00787     
finpre() ;
00788     
00789     
p
("texte") ;
00790     echo
"On admettra que la fonction "
.b("combien()")." est définie par les instructions suivantes : " ;
00791     
finp() ;
00792     
00793     
pre
("cadre") ;
00794     echo
"\n" ;
00795     
show_source
("combiens_inc.php") ;
00796     echo
"\n" ;
00797     
finpre() ;
00798     
00799     
00800     
00801     
finli() ;
00802     
00803     
debutli() ;
00804     
p
("texte") ;
00805     echo
"On voudrait produire via du PHP \"conceptuel\" une table des matières et des titres de section comme " ;
00806     echo
" ceux des pages d'exercices, à savoir&nbsp;: " ;
00807     
finp() ;
00808     
00809     
pre
("cadre") ;
00810     
?>
00811     

00812     
00813      &lt;h1&gt;&lt;font color="blue"&gt;Table des matières&lt;/font&gt;&lt;/h1&gt;
00814      &lt;ul&gt;
00815      &lt;li&gt;série 1 : &lt;a href="#s1"&gt;le langage XHTML&lt;/a&gt;&lt;/li&gt;
00816      &lt;li&gt;série 2 : &lt;a href="#s2"&gt;les styles CSS&lt;/a&gt;&lt;/li&gt;
00817      &lt;/ul&gt;
00818     
00819      &lt;h1&gt;&lt;font color="green"&gt;&lt;a name="s1"&gt;Série 1 : le langage XHTML&lt;/a&gt;&lt;/font&gt;&lt;/h1&gt;
00820      ...
00821     
00822      &lt;h1&gt;&lt;font color="green"&gt;&lt;a name="s2"&gt;Série 2 : les styles CSS&lt;/a&gt;&lt;/font&gt;&lt;/h1&gt;
00823      ..
00824     
00825     <?php
00826     finpre
() ;
00827     
00828     
p
("texte") ;
00829     echo
"Sachant qu'on veut fournir un document XHTML qui utilise une grammaire stricte, écrivez une " ;
00830     echo
" structure PHP contenant le titre des deux séries puis donnez les instructions PHP qui fournissent " ;
00831     echo
" le texte demandé. On inventera des fonctions dont on détaillera la syntaxe d'appel et les paramètres, mais dont on ne donnera pas " ;
00832     echo
" le code." ;
00833     
finp() ;
00834     
00835     
finli() ;
00836     
00837     
debutli() ;
00838     
p
("texte") ;
00839     echo
" Dans la table "
.em("sen_exer")." on a un champ ".em("mat")." correspondant à la matière " ;
00840     echo
" et un champ "
.em("diffi")." correspondant à la difficulté, comme dans le TD précédent." ;
00841     echo
" Ecrire en PHP un menu qui affiche le nombre d'exercices disponibles par matière et par difficulté" ;
00842     echo
" à l'aide d'"
.b("une seule requ&ecirc;te MySql")."." ;
00843     
#echo " Le lien derrière un couple (matière,difficulté) devra faire appel à un sous-programme qui fait " ;
00844     #echo " un tirage aléatoire d'un exercice parmi ceux concernés." ;
00845     
finp() ;
00846     
00847     
p
("texte") ;
00848     echo
"Voici un exemple d'un tel menu : " ;
00849     
finp() ;
00850     
00851     
pre
("cadre") ;
00852     
?>
00853     

00854     
00855      Choisissez la matière et le niveau de difficulté de l'exercice :
00856     
00857     
00858      Matière 1 : Calcul
00859      Difficulté 1 (5 exercices)
00860      Difficulté 2 (5 exercices)
00861      Difficulté 3 (3 exercices)
00862     
00863      Matière 2 : Histoire
00864      Difficulté 1 (7 exercices)
00865      Difficulté 3 (6 exercices)
00866     
00867      Matière 3 : Géographie
00868      ...
00869     
00870     
00871     <?php
00872     finpre
() ;
00873     
00874     
p
("texte") ;
00875     echo
"Quelle est, à part le nombre de requ&ecirc;tes, la différence avec l'exercice 1 de ce TD&nbsp;? " ;
00876     
finp() ;
00877     
00878     
finli() ;
00879     
00880     
debutli() ;
00881     
p
("texte") ;
00882     echo
"Que fait, calcule et affiche le programme PHP suivant après "
.em("debutSection()") ;
00883     echo
" et avant "
.em("finSection()")."&nbsp;? " ;
00884     
finp() ;
00885     
00886     
pre
("cadre") ;
00887     echo
"\n" ;
00888     
show_source
("sen_stat.php") ;
00889     echo
"\n" ;
00890     
finpre() ;
00891     
00892     
p
("texte") ;
00893     echo
" sachant que le contenu du fichier inclus est : " ;
00894     
finp() ;
00895     
00896     
pre
("cadre") ;
00897     echo
"\n" ;
00898     
show_source
("sen_stat_txt.php") ;
00899     echo
"\n" ;
00900     
finpre() ;
00901     
00902     
00903     
finli() ;
00904     
00905     
finol() ;
00906     
00907     
pvide() ;
00908     
00909     
p() ;
00910     echo
ancre
("#tdm","Retour à la table des matières") ;
00911     
finp() ;
00912     
00913     
p() ;
00914     echo
href
("montresource.php?nomfic=sen_tds.php","Code-source de la page") ;
00915     
finp() ;
00916     
00917     
#########################################################
00918     
00919     
finSection() ;
00920     
finPage() ;
00921     
?>

Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.

 

 

retour gH    Retour à la page principale de   (gH)