Valid XHTML     Valid CSS2    

Listing du fichier s1p4.php

 

00001     <?php
00002     #    (gH)   -_-  s1p4.php  ;  TimeStamp (unix) : 28 Janvier 2013 vers 12:14
00003     
00004     error_reporting
(E_ALL E_NOTICE E_STRICT) ;
00005     include("std.php"
) ;
00006     include("../xmlstd.php"
) ;
00007     include("scripts_inc.php"
) ;
00008     
00009     $numSerie 
;
00010     debutPageExoScr1
($numSerie) ;
00011     
00012     ## -------------------------------------------------------------------------------------------
00013     
00014     sdl
(3) ; echo cmt(' pour afficher toutes les solutions : wedrd01.php?solutions=1') ; sdl(3) ;
00015     
00016     ## -------------------------------------------------------------------------------------------
00017     
00018     jsf
("../js/jquery-1.8.3.min.js") ;
00019     debutSection
() ;
00020     
00021     $tableauDesRubriques 
= array() ;
00022     $idr 
;
00023     $idr
++; $tableauDesRubriques[$idr] = "PHP :  commandes en session interactive" ;
00024     $idr
++; $tableauDesRubriques[$idr] = "PHP  exercices classiques" ;
00025     $idr
++; $tableauDesRubriques[$idr] = "PHP : créer une miniature JPG en ligne de commande" ;
00026     $idr
++; $tableauDesRubriques[$idr] = "PHP : archivage incrémental de fichiers XML" ;
00027     $idr
++; $tableauDesRubriques[$idr] = "PHP vérification de données structurées en XML" ;
00028     $idr
++; $tableauDesRubriques[$idr] = "Le PHP conceptuel (gH) est-il un framework de développement&nbsp;?" ;
00029     $idr
++; $tableauDesRubriques[$idr] = "Javascript : commandes en session interactive" ;
00030     $idr
++; $tableauDesRubriques[$idr] = "Javascript exercices classiques" ;
00031     $idr
++; $tableauDesRubriques[$idr] = "Javascript : zoom avec JQUERY" ;
00032     $tdmCRLM 
= new tdm($tableauDesRubriques) ;
00033     $tdmCRLM
->titre() ;
00034     $tdmCRLM
->menu("oui","oui","nou") ;
00035     
00036     pvide
() ;
00037     
00038     p
() ;
00039      echo "Il est possible d'afficher toutes les solutions via "
.href("s1p$numSerie.php?solutions=1","?solutions=1","bouton_fin jaune_pastel nou").". " ;
00040     finp
() ;
00041     
00042     finSection
() ;
00043     
00044     debutSection
() ;
00045     $numExo 
;
00046     
00047     ## -------------------------------------------------------------------------------------------
00048     
00049     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # PHP :  commandes en session interactive
00050     
00051     ## -------------------------------------------------------------------------------------------
00052     
00053     blockquote
() ;
00054     
00055     p
("texte") ;
00056     echo "Essayer en mode interactif avec "
.b("php -a")." de donner la ou les instructions qui répondent aux " ;
00057     echo " m&ecirc;mes questions que pour Rexx en mode interactif, "
.href("s1p2.php#tdm4","exercice 4 de la série 2").". " ;
00058     finp
() ;
00059     
00060     solution
($numExo) ;
00061     
00062     p
("texte") ;
00063     echo "Voici les commandes&nbsp;:" 
;
00064     finp
() ;
00065     
00066     pre_fichier
("demo_php.txt","cadrebleu") ;
00067     
00068     finsolution
() ;
00069     
00070     finblockquote
() ;
00071     
00072     ## -------------------------------------------------------------------------------------------
00073     
00074     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # PHP  exercices classiques
00075     
00076     ## -------------------------------------------------------------------------------------------
00077     
00078     blockquote
() ;
00079     
00080     p
("texte") ;
00081     echo "Réaliser tous les exercices Php de " 
;
00082     finp
() ;
00083     
00084     ul
() ;
00085     
00086      debutli
() ; p() ;
00087         echo href
("../internet/sen.php","mon cours de L3 DSCS")." ;" ;
00088      finp
() ; finli() ;
00089     
00090      debutli
() ; p() ;
00091         echo href
("../internet/tds.php#cours3","mon cours de Développement Web")."." ;
00092      finp
() ; finli() ;
00093     
00094     finul
() ;
00095     
00096     solution
($numExo) ;
00097     
00098     p
("texte") ;
00099     echo "Ces exercices sont déjà tous corrigés&nbsp;" 
;
00100     finp
() ;
00101     ul
() ;
00102     
00103      debutli
() ; p() ;
00104         echo href
("../internet/sen.php","solutions pour le cours de L3 Sen")." ;" ;
00105      finp
() ; finli() ;
00106     
00107      debutli
() ; p() ;
00108         echo href
("../internet/solutions.php#cours3","solutions pour le cours de Développement Web")."." ;
00109      finp
() ; finli() ;
00110     
00111     finul
() ;
00112     
00113     finsolution
() ;
00114     
00115     finblockquote
() ;
00116     
00117     ## -------------------------------------------------------------------------------------------
00118     
00119     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # PHP : créer une miniature JPG en ligne de commande
00120     
00121     ## -------------------------------------------------------------------------------------------
00122     
00123     blockquote
() ;
00124     
00125     p
("texte") ;
00126     $img1 
"grande.jpg" ;
00127     $img2 
"miniature.jpg" ;
00128     echo "Le fichier "
.href($img1)." est une photo que l'on voudrait afficher avec d'autres photos sur une page Web. " ;
00129     echo " Le problème est que c'est un gros fichier et l'attribut "
.b("width=")." pour l'élément ".b("img")." ne " ;
00130     echo " résoud pas ce problème (pourquoi ?). On voudrait générer en ligne de commande un fichier-miniature pour un tel fichier image/photo avec php. "
;
00131     echo " Implémenter cela avec la possibilité de choisir le répertoire et la taille de l'image produite." 
;
00132     echo " Voici ce qu'on veut obtenir &laquo;en image&raquo; (il faut cliquer sur l'image pour voir l'image en grand)&nbsp;:" 
;
00133     finp
() ;
00134     
00135     p
("texte") ;
00136     nbsp
(15) ;
00137     echo href
($img1,img($img2)) ;
00138     finp
() ;
00139     
00140     p
("texte") ;
00141     echo "Remarque : on pourra utiliser REXX pour interfacer PHP. Le code HTML utilisé au final doit ressembler à" 
;
00142     finp
() ;
00143     
00144     pre_fichier
("demo_vignette_part.txt","cadrejaune") ;
00145     
00146     solution
($numExo) ;
00147     
00148     p
("texte") ;
00149     echo "Le fichier "
.href("vignette.rex")." teste les paramètres et exécute ".href("vignette.php").". " ;
00150     finp
() ;
00151     
00152     pre_fichier
("vignette.rex","cadrebleu") ;
00153     pre_fichier
("vignette.php","cadrejaune") ;
00154     pre_fichier
("vignette_demo.txt","cadre") ;
00155     
00156     finsolution
() ;
00157     
00158     finblockquote
() ;
00159     
00160     ## -------------------------------------------------------------------------------------------
00161     
00162     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # PHP archivage incrémental de fichiers XML
00163     
00164     ## -------------------------------------------------------------------------------------------
00165     
00166     blockquote
() ;
00167     
00168     p
("texte") ;
00169     echo "Implémenter une version PHP de la sauvegarde incrémentale de fichiers XML comme pour " 
;
00170     echo href
("s1p2.php#tdm7"," l'exercice 7 de la série 2")." . "  ;
00171     finp
() ;
00172     
00173     solution
($numExo) ;
00174     
00175     consulter
("archcd.php") ;
00176     
00177     finsolution
() ;
00178     
00179     finblockquote
() ;
00180     
00181     ## -------------------------------------------------------------------------------------------
00182     
00183     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # PHP vérification de données structurées en XML
00184     
00185     ## -------------------------------------------------------------------------------------------
00186     
00187     blockquote
() ;
00188     
00189     p
("texte") ;
00190     echo "On dispose d'un fichier XML de données comme " 
;
00191     echo href
("demo.xml")." qui contient des données structurés de trois types : galerie (nom des colonnes), goupe et données&nbsp;:" ;
00192     finp
() ;
00193     
00194     pre_fichier
("demo.xml","cadrebleu") ;
00195     
00196     p
("texte") ;
00197     echo " Sachant que la grammaire associée est "
.href("galNgrDac.rnc") ;
00198     echo " convertir cette grammaire au format XSD puis écrire un programme PHP en ligne de commandes qui prend un fichier " 
;
00199     echo " passé en paramère, teste la structure du fichier XML puis sa validité par rapport à la grammaire et qui, en cas de validité, " 
;
00200     echo " produit les trois fichiers de données correspondants de type .gal, .ngr et .dac. " 
;
00201     finp
() ;
00202     
00203     p
("texte") ;
00204     echo "Voici le contenu de ces trois fichiers pour l'exemple fourni&nbsp;" 
;
00205     finp
() ;
00206     
00207     pre_fichier
("demo.gal","cadre") ;
00208     pre_fichier
("demo.ngr","cadrejaune") ;
00209     pre_fichier
("demo.dac","cadrebleu") ;
00210     
00211     solution
($numExo) ;
00212     
00213     vnc
() ;
00214     
00215     finsolution
() ;
00216     
00217     finblockquote
() ;
00218     
00219     ## -------------------------------------------------------------------------------------------
00220     
00221     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Le PHP conceptuel (gH) est-il un framework de développement
00222     
00223     ## -------------------------------------------------------------------------------------------
00224     
00225     blockquote
() ;
00226     
00227     p
("texte") ;
00228     echo "Qu'est-ce que le PHP conceptuel selon (gH)&nbsp;?" 
;
00229     echo " Est-ce que "
.href("stdphp.zip")." est un framework de développement&nbsp;?" ;
00230     finp
() ;
00231     
00232     solution
($numExo) ;
00233     
00234     
00235     p
("texte") ;
00236     echo "Le "
.b("php conceptuel selon (gH)")." c'est du php sans aucune balise apparente, via un fichier de fonctions php " ;
00237     echo " regroupées dans un fichier nommé "
.b("std.php")." ; les fonctions sont présentées ".href("../internet/stdphp.php","ici")." et  " ;
00238     echo " font référence au fichier de styles nommé "
.href("std.css").". Cette page est écrite en php conceptuel, comme le prouve " ;
00239     echo " le lien "
.href("montresource.php?nomfic=s1p4.php","montresource").". " ;
00240     finp
() ;
00241     
00242     p
("texte") ;
00243     echo "Il ne s'agit en aucun cas d'un framework de développement, juste une petite bibliothèque de fonctions pour développer tout en " 
;
00244     echo " php sans repasser explicitement par html avec une volonté de fournir du XHTML Strict ou Trans." 
;
00245     echo " On pourrait nommer cela du "
.bleu("HTPP")." pour Html Tags Php Programming, mais cela ressemble trop à HTTP, tout comme " ;
00246     echo bleu
("FTP")." pour Functional Tag Progamming ferait concurrence à File Transfer Protocol. Dommage pour ces sigles, " ;
00247     echo " il ne reste plus qu'à se rabattre sur "
.href("http://www.google.fr/search?q=function%20tag%20mapping","FTM","gbleu nou")." comme dirait Google..." ;
00248     finp
() ;
00249     
00250     finsolution
() ;
00251     
00252     finblockquote
() ;
00253     
00254     ## -------------------------------------------------------------------------------------------
00255     
00256     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Javascript : commandes en session interactive
00257     
00258     ## -------------------------------------------------------------------------------------------
00259     
00260     blockquote
() ;
00261     
00262     p
("texte") ;
00263     echo "Essayer en mode interactif avec "
.b("rhino")." de donner la ou les instructions qui répondent aux " ;
00264     echo " m&ecirc;mes questions que pour Rexx en mode interactif, "
.href("s1p2.php#tdm4","exercice 4 de la série 2").". " ;
00265     finp
() ;
00266     
00267     solution
($numExo) ;
00268     
00269     p
("texte") ;
00270     echo "Voici la solution. On y voit clairement que Javascript utilise de nombreux objets." 
;
00271     finp
() ;
00272     
00273     pre_fichier
("demo_rhino.txt","cadrebleu") ;
00274     finsolution
() ;
00275     
00276     finblockquote
() ;
00277     
00278     ## -------------------------------------------------------------------------------------------
00279     
00280     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Javascript exercices classiques
00281     
00282     ## -------------------------------------------------------------------------------------------
00283     
00284     blockquote
() ;
00285     
00286     p
("texte") ;
00287     echo "Réaliser tous les exercices Javascript de " 
;
00288     finp
() ;
00289     
00290     ul
() ;
00291     
00292      debutli
() ; p() ;
00293         echo href
("../internet/l2.php","mon cours élémentaire de L2")." ;"  ;
00294      finp
() ; finli() ;
00295     
00296      debutli
() ; p() ;
00297         echo href
("../internet/l2a.php","mon cours avancé de L2")." ;"  ;
00298      finp
() ; finli() ;
00299     
00300      debutli
() ; p() ;
00301         echo href
("../internet/sen.php","mon cours de L3 DSCS")." ;" ;
00302      finp
() ; finli() ;
00303     
00304      debutli
() ; p() ;
00305         echo href
("../internet/tds.php#cours3","mon cours de Développement Web")."." ;
00306      finp
() ; finli() ;
00307     
00308     finul
() ;
00309     
00310     solution
($numExo) ;
00311     
00312     p
("texte") ;
00313     echo "Ces exercices sont déjà tous corrigés&nbsp;" 
;
00314     finp
() ;
00315     ul
() ;
00316     
00317      debutli
() ; p() ;
00318         echo href
("../internet/l2.php","solutions pour le cours de L2")." ;"  ;
00319      finp
() ; finli() ;
00320     
00321      debutli
() ; p() ;
00322         echo href
("../internet/sen.php","solutions pour le cours de L3 Sen")." ;" ;
00323      finp
() ; finli() ;
00324     
00325      debutli
() ; p() ;
00326         echo href
("../internet/solutions.php#cours3","solutions pour le cours de Développement Web")."." ;
00327      finp
() ; finli() ;
00328     
00329     finul
() ;
00330     
00331     finsolution
() ;
00332     
00333     finblockquote
() ;
00334     
00335     ## -------------------------------------------------------------------------------------------
00336     
00337     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Javascript : zoom avec Jquery
00338     
00339     ## -------------------------------------------------------------------------------------------
00340     
00341     blockquote
() ;
00342     
00343     p
("texte") ;
00344     echo "Reprendre l'exercice 3 : au lieu d'ouvrir l'image comme nouvelle page Web, il faut l'afficher dans une fen&ecirc;tre \"surgissante\". On pourra utiliser Jquery. " 
;
00345     echo " Cliquer à nouveau sur l'image devra fermer la nouvelle fen&ecirc;tre." 
;
00346     echo " Voici ce qu'on veut obtenir &laquo;en image&raquo; (il faut cliquer sur l'image pour voir l'image \"surgir\" en grand et recliquer pour la fermer)&nbsp;:" 
;
00347     finp
() ;
00348     
00349     jsf
("fancyzoom_simplified.js") ;
00350     js
("$(document).ready(function() {     $('a.zoom').fancyZoom({scaleImg: true, closeOnClick: true}); }); ") ;
00351     
00352     blockquote
() ;
00353     p
() ;
00354     echo href
("#vignette",img($img2,"mini"),"zoom") ;
00355     finp
() ;
00356     
00357     div
("","vignette") ;
00358     echo img
("moyenne.png") ;
00359     findiv
() ;
00360     finblockquote
() ;
00361     
00362     solution
($numExo) ;
00363     
00364     p
("texte") ;
00365     echo "La solution n'est pas de nous mais d'Hervé Renault, qui, lui-m&ecirc;me... ["
.href("http://herverenault.fr/miscellan%C3%A9es/fancyZoom","suite")."]. " ;
00366     finp
() ;
00367     
00368     p
("texte") ;
00369     echo "Il faut bien s&ucirc;r avoir une version de "
.href("http://jquery.com","jquery")." fonctionnelle..." ;
00370     finp
() ;
00371     
00372     p
("texte") ;
00373     echo "En deux mots, il faut que le code suivant soit exécuté" 
;
00374     finp
() ;
00375     
00376     pre_fichier
("demo_zoom.txt","cadrebleu") ;
00377     
00378     p
("texte") ;
00379     echo " pour une partie de code html comme :" 
;
00380     finp
() ;
00381     
00382     pre_fichier
("demo_zoom_part.txt","cadrebleu") ;
00383     
00384     p
("texte") ;
00385     echo "Tout le travail est donc fait par le plugin " 
;
00386     echo href
("http://www.dfc-e.com/metiers/multimedia/opensource/jquery-fancyzoom/","fancy_zoom")." de jQuery, " ;
00387     # href("http://archive.plugins.jquery.com/project/jquery_fancy_zoom","fancy_zoom")." de jQuery, " ;
00388     echo 
" avec la modification mineure suivante pour masquer la croix de fermeture&nbsp;:" ;
00389     finp
() ;
00390     
00391     pre_fichier
("fancyzoom_simplified.js","cadrejaune") ;
00392     
00393     finsolution
() ;
00394     
00395     finblockquote
() ;
00396     
00397     ## -------------------------------------------------------------------------------------------
00398     
00399     finPageExercices
($numSerie) ; # contient finSection() et finPage() ; la fonction est dans webrd_inc.php
00400     
00401     ?>

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)