Web, HTTP, PHP côté serveur

Licence Informatique 2ème année

Youssef Chahir - Alexandre Niveau - Jean-Marc Lecarpentier

 

Web, HTTP, PHP côté serveur

Notes de cours

Travail personnel

Objectifs

Prendre en main le serveur web fourni par l'université, et expérimenter avec l'exécution de PHP côté serveur.

Passage au web :

  • Utilisation du bureau distant, du jeton de connexion, VMWare
    https://docenstock.unicaen.fr/bureau-distant/co/GuideUtilisateurWeb.html
    https://moncomptenumerique.unicaen.fr/double-authentification/
  • Il est très important que le html généré par le php soit valide.

Exercice 1 — Premiers pas avec PHP côté serveur #

Cet exercice vise à vous familiariser avec les pages dynamiques et le fonctionnement de PHP. Pour rappel, une page PHP est un script qui doit être exécuté pour afficher son résultat. C'est le serveur qui exécute le script lorsque un client y accède via HTTP. Si vous essayez d'ouvrir une page PHP en local avec votre navigateur, cela ne fonctionnera pas (le navigateur vous proposera probablement de la télécharger).

Connexion SFTP à votre serveur : FAQ étudiant sur l'accès à votre espace web personnel

Exécution d'un script par le serveur

  1. Créez un script PHP nommé page_perso.php contenant le code suivant :
    <?php
    echo <<<HTML
    <!DOCTYPE html>
    <html lang="fr">
    <head>
        <meta charset="UTF-8">
        <title>Page HTML générée par PHP</title>
    </head>
    <body>
        <h1>Page personelle</h1>
        <p>Bienvenue sur la page personnelle de <strong>X</strong>.</p>
    </body>
    </html>
    HTML;
    ?>
    
  2. Copiez le script à la racine de votre répertoire www-dev, puis accédez à l'URL https://dev-LOGIN.users.info.unicaen.fr/page_perso.php. Qu'est-ce qui s'affiche ?
  3. Consultez le code source de la page (dans Firefox, faites un clic droit puis sélectionnez « Afficher la source »). Que voyez-vous ?
  4. Créez une variable $nom contenant votre nom ré pour remplacer "X" dans la ligne correspondante du code.
  5. On veut maintenant accéder à la page page_perso.php?nom=VotreNom, le nom passé en paramètre sera affiché dans le contenu de la page. Si aucun nom n'est passé en paramètre, la page affichera "DUPONT" par défaut.
  6. On veut maintenant accéder à la page https://dev-LOGIN.users.info.unicaen.fr/page_perso.php?nom=VotreNom. Le nom passé en paramètre dans l'url sera affiché dans le contenu de la page. Si aucun nom n'est passé en paramètre, la page affichera "DUPONT" par défaut.
    Remarque : Vous pouvez utiliser la fonction htmlspecialchars pour convertir certains caractères spéciaux en entités HTML. Cette conversion est utile pour éviter toute interprétation incorrecte du code HTML par le navigateur.

Exercice 2 — Table de multiplication #

Construction de la table

  1. Compléter le script multiplication.php suivant qui affiche une table de multiplication comme illustré dans la figure ci-dessous :

    <?php
    
    function afficherTable(int $borne): void {
        // A compléter ...
        
    }
    
    ?>
    
    <!DOCTYPE html>
    <html lang="fr">
    <head>
        <meta charset="UTF-8">
        <title>Multiplication</title>
        <style>
            table { border: 1px solid black; margin: 3em auto; }
            td { border: 1px solid black; width: 3em; }
            td { background: blanchedalmond; }
            tr:nth-child(odd) > td:nth-child(odd),
            tr:nth-child(even) > td:nth-child(even) { background: gold; }
            .erreur { font-weight: bold; color: red; }
        </style>
    </head>
    <body>
        <h1>Table de multiplication</h1>
        <!--
            A compléter ...
        -->
        <?php
            // A compléter ...
            // ...
    
        ?>
    </body>
    </html>
    

    Le rendu de la figure est obtenu avec un tableau HTML (élément table), mais il n'est pas nécessaire de construire un tableau PHP (array) pour le faire !

    La table de multiplication de 1 à 15
  2. Modifier le code pour que l'affichage de la table soit géré par une fonction function afficherTable(int $borne): void prenant en argument la borne supérieure de la table (15 dans le modèle). Par exemple, si on lui passe 20, elle affichera la table de 1 à 20.
  3. Modifier à nouveau le code pour que la borne supérieure de la table soit contrôlée par un paramètre borne dans l'URL. Ainsi, la page multiplication.php?borne=20 affichera la table de 1 à 20.
    Remarques :
  • Notez que la borne transmise via l'url est toujours une chaîne de caractères.
  • Faire en sorte que la page choisisse une borne par défaut si l'URL ne comporte pas de paramètre borne.
  • Vérifier que la borne fournie dans l'URL est comprise entre 1 et 100