Projet HTML

http(s)://www.phmartin.info/cours/pHtml/       (4 ECTS ; 15h de CMs ;  15h de TDs * 3 groupes)

      Objectif : savoir utiliser HTML et CSS (+ peut-être : introduction à Javascript) en suivant des bonnes pratiques !

Enseignant principal (CMs + groupes 2 et 3) : Philippe Martin  (Prenom.Nom @ univ-reunion.fr)
    Pour les TDs du groupe 1 : Nathan Aky (Prenom.Nom @ ...)

Pour des questions administratives (affichage de notes, ...), adressez-vous à "scolarit @ univ-reunion.fr" EN ME METTANT EN COPIE !

Pour les justificatifs d'absences, utilisez ce site et envoyez-les moi par e-mail.
Vérifiez le règlement général des études pour les motifs et délais autorisés.
Une demande de suivi de cours en distanciel (via Zoom ou les enregistrements audio effectués via Zoom) doit s'accompagner d'un justificatif d'absence autorisé. Si vous m'envoyez un e-mail, outre votre nom, INDIQUEZ que vous êtes en L1 Info !

Plus généralement, relisez les rôles/devoirs de l'enseignant et de l'étudiant.   

Évaluations - page Moodle

1 note de CC (Moodle et TD1+TD2 ; coeff. 1,5) et
1 note de projet (moyenne des 6 notes de TDs de projet ; coeff. 2,5).

TOUTE évaluation de ce cours (dont la création de code pour les TDs) est
i) "sans communication", et
ii) à titre individuel (pour les TDs, les binômes sont néanmoins autorisés).
Les évaluations via Moodle ou Wooclap sont
"sans document" (donc aussi sans réseau social) et "sans calculatrice".

La page Moodle de ce module ne sera utilisée que pour les évaluations
(→ dès le début du cours, cliquez sur ce lien ; la page Moodle s'ouvrira dans un(e) autre fenêtre/onglet).

Vous devez venir à ce cours de "Projet HTML" avec un ordinateur portable (pas juste un smartphone).
TOUTES les évaluations de ce cours sont "sans support de cours autorisé"
.

L'examen de rattrapage sera par QCM (1h30 + 1/3 temps) : questions semblables à celles posées via Moodle
durant le cours, mais via des grilles papier. Ce sera le mercredi 12 juin 2024 à partir de 14:00,
en Amphi B uniquement (→ non pas aussi en S2-0-S6, contrairement à ce qui est encore pour l'instant
affiché dans l'emploi du temps en ligne).

CMs et TDs

Des modifications/ajouts peuvent être effectués à n'importe quel moment dans tout document de ce cours. Pour être sûr d'afficher la dernière version, faites un <shift>Reload sur la page de votre navigateur affichant/accédant votre document.

Comme pour toute page Web ou fichier PDF, vous pouvez associer vos annotations à des parties de cette page Web.

Comme les années précédentes, ce cours suit en partie le modèle pédagogique de la classe inversée
→ pour chaque CM, vous devez étudier les documents pointés par ce cours pour ce CM,
    AVANT que ce CM ne soit présenté
(→ posez vos questions durant le CM).

Tous les TDs sont évalués → préparez-les ! 
Rappel : pour cette préparation, vous avez 7 à 10 jours entre un CM et le TD qui lui correspond, et donc un CM intermédiaire durant lequel vous devez poser vos questions : pas de question pertinente sans préparation.
Pas de temps pour vous de prendre en compte les réponses à temps si posées lors du TD.
De plus, votre responsable de TD sera déjà bien occupé par les évaluations des rendus.

Des solutions de TDs sont données uniquement lorsque le TD ne consiste pas seulement à vous inspirer d'exemples sur le Web (typiquement, dans des pages pointées par ce cours).  Dans ce dernier cas, le plus commun, la source d'inspiration est déjà une solution (qu'il vous faut adapter en fonction de votre projet et des bonnes pratiques données).

Les revues (→ corrections orales) des pré-TDs – et, au final, votre responsable de TD – signalent également ce qui est problématique.

Introduction à HTML et aux bonnes pratiques de codage


CM 1 :


TD 1

Introduction à CSS


CM 2 :  introduction à CSS

     Re-téléchargez régulièrement BPs_check.js, notamment 1 jour et 2 jours avant chaque TD


TD 2

Modélisation et requêtes


CM 3 :



TD 3  (1er TD du projet) :  évaluation de la "modélisation" et des "structures de fichier HTML"
    de chaque étudiant/binôme, et évaluation de ses "expansions/requêtes par CSS"

Mode réactif/adaptatif, position, float, display, flex, grid

CM 4 :


TD 4 :  évaluation de (l'inclusion/illustration dans le projet) de ces types d'éléments
      et fin d'évaluation des travaux du TD 3 ; plus généralement, pour chaque TD de projet, il y aura des
        pénalités supplémentaires si TOUT ce qui devait être fait pour les "TDs de projet" précédents n'est pas effectué
        (remarques :  après ce TD 4, il y a moins de travaux à effectuer pour chaque TD ;  si votre appartenance à un binôme
          change, vous pouvez reprendre les parties que vous avez effectuées dans un précédent binôme/monôme) ;

      mettez-vous en binôme : les monômes ne sont pas autorisés pour ce TD 4 ;
      n'oubliez pas d'organiser votre document (→ au moins ses sections) de manière sémantique
        (→ de manière similaire à la hiérarchie que vous avez construite dans la phase de modélisation)
        et d'inclure un plan pour vos sections (et donc toutes vos sous-sections) ; similairement, pour rappel, toute illustration
        d'un nouveau type d'élément doit être précédé d'une indication (e.g., "Voici un exemple d'utilisation de flex en tant que
        valeur :", et doit visiblement fonctionner (e.g., inutile d'illustrer "grid" si l'on ne voit pas que plusieurs éléments sont
        organisés dans une grille).

À partir de ce TD 4 (inclus), vos tables doivent être converties en grilles. Au moins l'une d'entre elles (→ indiquez
explicitement laquelle) doit suivre l'une des deux options d'adaptation d'affichage illustrées ci-dessous pour le cas où
la fenêtre devient petite ou très petite (considérez ces 2 cas, pas juste un seul ; de plus, la grille doit avoir au moins
2 lignes – en plus de la ligne d'entête – et au moins 4 colonnes). Votre solution ne doit pas seulement fonctionner que
pour l'exemple ci-dessous (2 lignes, 4 colonnes, petits éléments dans les cellules de la grille) : l'adaptation de
l'affichage des lignes et colonnes doit dépendre de règles CSS prenant en compte la largeur de la fenêtre et la largeur
que prennent les éléments (→ ajouter du texte à un élément ne doit pas nécessiter de changer vos règles CSS pour
maintenir une présentation adéquate). Enfin, des bonus seront donnés si vous réussissez à effectuer cet exercice sans
utiliser de requêtes média (→ pas de "@media" ; mode adaptatif) : + 1 point pour l'option 1, + 3 points pour l'option 2
(il y a déjà 1 point de bonus si vous utilisez l'option 2 même avec des requêtes média).
 Grande fenêtre
 A B C D
A1 B1 C1 D1
A2 B2 C2 D2
             
Petite fenêtre
option 1       
A B
A1 B1
A2 B2
C D
C1 D1
C2 D2
       
Petite fenêtre
option 2       
A B
    C     D
 A1 B1
    C1     D1
 A2 B2
    C2     D2
             
Très petite fenêtre
option 1                
A
A1
A2
B
B1
B2
C
C1
C2
D
D1
D2
       
Très petite fenêtre
option 2                
  A
      B
           C
               D
A1
    B1
        C1
            D1
 A2
    B2
        C2
            D2
 A3
    B3
        C3
            D3
 A4
    B4
        C4
            D4
               

Rollover, variable, pseudo-classe, pseudo-élément, CSS specificity


CM 5  (1h30) :


TD 5  (1h30) :  évaluation de l'usage des 6 types d'éléments cités ci-dessus

Transition, transformation, animation et autres effets CSS


CM 6  (1h30 ;  2/04/2024) :


TD 6  (1h30 ;  mercredi 10/04/2024) : évaluation de l'usage des cinq types d'effet cités dans
    le second point ci-dessus

Formulaires + Javascript (pour vérifications, déplacements, ...), objet "location"


CM 7   (8/04/2024) :


TD 7  (2h ; 19/04/2024) :  évaluation de l'usage

APIs JS pour le DOM, le Web Storage, les cookies et les données du navigateur


CM 8   (15/04/2024) :


TD 8  (2h ; 26/04/2024) :  évaluation de l'usage des quatre types de fonctionnalités cités dans le
    2nd point ci-dessus (pour la session 2024, l'illustration de la 4ème fonctionnalité a été transformé en bonus) ;
    pas de pré-TD pour ce TD final puisqu'il n'y a pas de CM intermédiaire entre le CM 8 et ce TD