Séance 10 : Finalisation de Projet et Bonnes Pratiques Web

1. Introduction : Votre Projet Web Prend Vie !

Félicitations ! Vous êtes arrivés à la dernière séance de ce module passionnant sur HTML et CSS. Au cours des neuf dernières sessions, vous avez acquis une multitude de compétences, des fondations sémantiques aux animations complexes. Aujourd'hui, nous allons tout assembler ! Cette séance est dédiée à la consolidation de vos connaissances, à l'apprentissage d'outils essentiels pour tout développeur, et à la réalisation d'un projet de synthèse qui montrera l'étendue de votre savoir-faire. Préparez-vous à donner vie à vos créations !

2. Consolidation des Fondations : Responsive et Formulaires

2.1 Responsive Design Avancé : Des Unités au Service de l'Adaptabilité

Nous avons déjà exploré les Media Queries et les unités relatives comme rem et em. Pour une adaptabilité encore plus fine, découvrez les unités du viewport :

2.3 Les Outils et Bonnes Pratiques du Développeur

3.1 Maîtriser les Outils de Développement du Navigateur

Les outils de développement (DevTools) intégrés à votre navigateur (Chrome DevTools, Firefox Developer Tools) sont vos meilleurs amis !

Pratique : Ouvrez les DevTools (généralement F12 ou Ctrl+Maj+I) sur n'importe quelle page web, y compris la vôtre, et explorez les différents onglets !

3.2 Les Bases de l'Accessibilité Web (A11Y)

L'accessibilité web (souvent appelée "A11Y" car il y a 11 lettres entre le 'A' et le 'Y') consiste à concevoir et développer des sites web que tout le monde peut utiliser, y compris les personnes en situation de handicap (visuel, auditif, moteur, cognitif).

L'accessibilité n'est pas une option, c'est une responsabilité. Elle améliore l'expérience pour tous les utilisateurs.

3.3 Bonnes Pratiques de Code et Organisation de Projet

TP Intermédiaire : Refactorisation et Bonnes Pratiques

Dans la vie d'un développeur, on passe plus de temps à lire et améliorer du code existant qu'à en écrire de zéro. Cet exercice a pour but de vous former à cette compétence cruciale.

Dans le dossier tp-refactoring/start/, vous trouverez un CV simple mais dont le code est "legacy" (ancien) et mal structuré.

Objectif :

Refactoriser les fichiers index.html et style.css pour les rendre sémantiques, maintenables et cohérents avec notre Design System, sans en changer l'apparence visuelle.

Consignes de Refactorisation :

  1. HTML Sémantique : Remplacez les <div> génériques par les balises sémantiques appropriées (<header>, <main>, <section>, <footer>, <h1>, <h2>, etc.). Adaptez le CSS en conséquence.
  2. Unités Relatives (rem) : Dans le fichier style.css, convertissez toutes les unités px en unités rem pour la typographie, les espacements (padding, margin) et les tailles.
  3. Utilisation du Design System : Remplacez toutes les valeurs de couleurs (#333, #fff, etc.) et d'espacement par les variables CSS (tokens) définies dans notre styles.css global (ex: var(--color-primary), var(--space-4)).
  4. Nettoyage : Assurez-vous que le code est bien indenté et lisible.

3. Projet Final de Synthèse : Portfolio de Photographe

C'est le moment de mettre en pratique tout ce que vous avez appris ! Vous allez créer une page unique et complète qui servira de portfolio pour un photographe fictif. Ce projet exige la combinaison de la sémantique HTML, de la mise en page avancée, du design responsive et des techniques de stylisation pour produire un résultat professionnel.

Objectif :

Construire une page de portfolio responsive, esthétique et interactive, démontrant la maîtrise de l'ensemble des concepts du cours.

Consignes Générales :

  1. Créez un dossier projet-final-portfolio avec index.html, styles.css, et un dossier images/.
  2. Utilisez des Variables CSS (dans :root) pour définir votre palette de couleurs (ex: --primary-color, --background-color, --text-color) et les espacements principaux.
  3. Le design doit être Mobile-First. Commencez par les styles pour petits écrans, puis utilisez des Media Queries (breakpoints à 768px et 1024px par exemple) pour adapter le layout aux tablettes et ordinateurs.
  4. Intégrez les Container Queries : Appliquez les Container Queries à la section "À Propos" pour qu'elle change de layout (ex: de deux colonnes à une seule) en fonction de la largeur de son conteneur parent, et non de la largeur du viewport.
  5. Le code doit être propre, bien indenté et commenté aux endroits stratégiques.

Structure et Contenu de la Page :

1. En-tête (Header)

2. Section "Héros"

3. Galerie Photos Principale

4. Section "À Propos"

5. Formulaire de Contact

6. Pied de Page (Footer)

4. Conclusion : Votre Aventure dans le Monde du Web Continue !

Félicitations, vous avez franchi une étape majeure ! En 10 séances, vous êtes passés de débutants à des développeurs capables de construire des pages web complètes, responsives et interactives. Vous maîtrisez désormais les langages fondamentaux du web : HTML et CSS.

Ce n'est cependant que le début de votre aventure ! Pour aller plus loin, voici quelques pistes à explorer :

N'arrêtez jamais d'apprendre et de créer ! Le web est un domaine en constante évolution, et votre curiosité est votre meilleur atout. Bonne continuation, futurs développeurs web !