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 
;
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 
;
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     ?>

La coloration syntaxique est réalisée par un enrobage de la function php nommée highlight_file

mais si vous préférez, vous pouvez utiliser celle de SyntaxHighlighter ou même celle de geshi.

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)