Valid XHTML     Valid CSS2    

Langages de scripts, automatisation de commandes et

production de documents structurés :

4. Le web classique : Php et Javascript

                     gilles.hunault "at" univ-angers.fr

 

Table des matières cliquable

  1. PHP : commandes en session interactive

  2. PHP exercices classiques

  3. PHP : créer une miniature JPG en ligne de commande

  4. PHP : archivage incrémental de fichiers XML

  5. PHP vérification de données structurées en XML

  6. Le PHP conceptuel (gH) est-il un framework de développement ?

  7. Javascript : commandes en session interactive

  8. Javascript exercices classiques

  9. Javascript : zoom avec JQUERY

 

Il est possible d'afficher toutes les solutions via ?solutions=1.

 

1. PHP : commandes en session interactive

Essayer en mode interactif avec php -a de donner la ou les instructions qui répondent aux mêmes questions que pour Rexx en mode interactif, exercice 4 de la série 2.

Solution :  

 

2. PHP exercices classiques

Réaliser tous les exercices Php de

Solution :  

 

3. PHP : créer une miniature JPG en ligne de commande

Le fichier grande.jpg est une photo que l'on voudrait afficher avec d'autres photos sur une page Web. Le problème est que c'est un gros fichier et l'attribut width= pour l'élément img ne 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. Implémenter cela avec la possibilité de choisir le répertoire et la taille de l'image produite. Voici ce qu'on veut obtenir «en image» (il faut cliquer sur l'image pour voir l'image en grand) :

               non su

Remarque : on pourra utiliser REXX pour interfacer PHP. Le code HTML utilisé au final doit ressembler à


     <p class='texte'>
        <a href='grande.jpg'><img src='grande_mini.jpg' alt='grande' /></a>
     </p>
     

Solution :  

 

4. PHP : archivage incrémental de fichiers XML

Implémenter une version PHP de la sauvegarde incrémentale de fichiers XML comme pour l'exercice 7 de la série 2 .

Solution :  

 

5. PHP vérification de données structurées en XML

On dispose d'un fichier XML de données comme demo.xml qui contient des données structurés de trois types : galerie (nom des colonnes), goupe et données :


     <?xml version="1.0" ?>
     <!-- données de l'exemple de l'article Journal of Microbiological Methods -->
     <instance nom="jmm" nbgroupes="3" nbattributs="4" nbentités="5" >
       <données>
          <groupes>
            <groupe id="g1" nom="pva" />
            <groupe id="g2" nom="pvb" />
            <groupe id="g3" nom="pvc" />
          </groupes>
          <attributs>
             <attribut id="a1" nom="Gene1" />
             <attribut id="a2" nom="Gene2" />
             <attribut id="a3" nom="Gene3" />
             <attribut id="a4" nom="Gene4" />
          </attributs>
          <entités>
             <entité id="g1e1" ref="g1" nom="s1">
                 <valuationsPositives refs="a1 a2 a3 " />
                 <valuationsNégatives refs="a4" />
             </entité>
             <entité id="g1e2" ref="g1" nom="s2">
                 <valuationsPositives refs="a1 a2 a3" />
                 <valuationsNégatives refs="a4" />
             </entité>
             <entité id="g2e1" ref="g2" nom="s3">
                 <valuationsPositives refs="a3 a4" />
                 <valuationsNégatives refs="a1 a2" />
             </entité>
             <entité id="g2e2" ref="g2" nom="s4">
                 <valuationsPositives refs="a2 a3 a4" />
                 <valuationsNégatives refs="a1" />
             </entité>
             <entité id="g3e1" ref="g3" nom="s5">
                 <valuationsPositives refs="a1 a4" />
                 <valuationsNégatives refs="a2 a3" />
             </entité>
          </entités>
       </données>
     </instance>
     

Sachant que la grammaire associée est galNgrDac.rnc convertir cette grammaire au format XSD puis écrire un programme PHP en ligne de commandes qui prend un fichier passé en paramère, teste la structure du fichier XML puis sa validité par rapport à la grammaire et qui, en cas de validité, produit les trois fichiers de données correspondants de type .gal, .ngr et .dac.

Voici le contenu de ces trois fichiers pour l'exemple fourni 


     (Fichier demo.gal)
     1 Gene1
     2 Gene2
     3 Gene3
     4 Gene4
     

     (Fichier demo.ngr)
     1 pva
     2 pvb
     3 pvc
     

     (Fichier demo.dac)
     s1 1 1 1 1 0
     s2 1 1 1 1 0
     s3 2 0 0 1 1
     s4 2 0 1 1 1
     s5 3 1 0 0 1
     

Solution :  

 

6. Le PHP conceptuel (gH) est-il un framework de développement ?

Qu'est-ce que le PHP conceptuel selon (gH) ? Est-ce que stdphp.zip est un framework de développement ?

Solution :  

 

7. Javascript : commandes en session interactive

Essayer en mode interactif avec rhino de donner la ou les instructions qui répondent aux mêmes questions que pour Rexx en mode interactif, exercice 4 de la série 2.

Solution :  

 

8. Javascript exercices classiques

Réaliser tous les exercices Javascript de

Solution :  

 

9. Javascript : zoom avec JQUERY

Reprendre l'exercice 3 : au lieu d'ouvrir l'image comme nouvelle page Web, il faut l'afficher dans une fenêtre "surgissante". On pourra utiliser Jquery. Cliquer à nouveau sur l'image devra fermer la nouvelle fenêtre. Voici ce qu'on veut obtenir «en image» (il faut cliquer sur l'image pour voir l'image "surgir" en grand et recliquer pour la fermer) :

mini

non su

Solution :  

 

 

Code-source php de cette page ; code javascript utilisé. Retour à la page principale du cours.

 

 

retour gH    Retour à la page principale de   (gH)