---
sidebar_position: 3
title: "CP 3"
description: "Synthèse de la CP 3 \"Réaliser des interfaces utilisateur statiques web ou web mobile\" du titre professionnel Développeur Web et Web Mobile (DWWM TP-01280m04)."
tags:
- DWWM
- Intégration
- Responsive
- HTML
- CSS
- Accessibilité
- Éco-conception
- SEO/Référencement naturel
- Déploiement
- Reverse Proxy
- Front-end
- Serveur web
---
import Admonition from "@theme/Admonition";
# Réaliser des interfaces utilisateur statiques web ou web mobile
## 📚 Références
- REAC _(mise à jour du 03/07/2024)_, pages 19 et 20
- RE _(mise à jour du 03/07/2024)_, page 10
## 📋 En résumé
Pfiou, les maquettes sont terminées et tu as survécu à mes pavés d'explications ! 💪
Eh bien... c'est reparti pour un tour, car maintenant tu vas devoir réaliser les interfaces statiques web ou web mobile à partir de ces maquettes.
Une interface statique, c'est une interface qui ne bouge pas, qui n'a pas
d'interactions avec l'utilisateur autre que les différents liens qui peuvent
être présents.
Pour réaliser ces interfaces, tu vas devoir respecter les maquettes que tu as réalisées précédemment, tout en prenant en compte les besoins en éco-conception et en accessibilité. _(je radote, mais c'est important !)_
On va rentrer directement dans le vif du sujet, avec pour commencer... les technologies à utiliser !
Puisqu'on ne parle pas de dynamique mais de statique, tu vas devoir te tourner vers des technologies front-end, comme le HTML et le CSS. Le JavaScript sera également de la partie, mais qu'à partir de la CP 4 😉
Dans un premier temps, tu vas devoir parler du squelette de ton site, c'est-à-dire de la structure HTML. On retrouvera par ailleurs des notions essentielles comme :
- Les balises sémantiques (pour une meilleure accessibilité et un meilleur référencement)
- Les médias (images, vidéos, sons, etc.)
- Les liens (pour naviguer d'une page à une autre)
Ensuite, tu vas devoir t'occuper de la mise en forme de ton site, c'est-à-dire du CSS.
N'oublie pas : le site **doit correspondre** aux maquettes que tu as réalisées, et donc respecter la charte graphique.
Petit rappel sur le CSS
Le CSS est un langage de style utilisé pour décrire la présentation d'un document écrit en HTML.
Il permet de définir la couleur, la police, la taille et l'espacement des éléments, mais aussi de les positionner sur la page.
Même si le navigateur stylise déjà certains éléments HTML, il ne faut pas se baser sur les styles par défaut, car ils peuvent varier d'un navigateur à un autre et surtout se casser d'une version à une autre.
Pour éviter les mauvaises surprises, il est recommandé de réinitialiser les styles par défaut en début de feuille de style, en utilisant par exemple un fichier de réinitialisation comme [Normalize.css](https://necolas.github.io/normalize.css/) ou [Reset CSS de Eric Meyer](https://meyerweb.com/eric/tools/css/reset/).
Ensuite, tu vas devoir t'assurer que ton site est bien accessible à tous, rendre tes pages web responsives _(c'est-à-dire qu'elles s'adaptent à tous les types d'écrans)_ et enfin, publier ton site de manière sécurisée.
La partie éco-conception sera également à prendre en compte, en veillant à ne pas surcharger ton site en médias inutiles ou trop lourds.
## 👓 L'accessibilité
Dans la compétence précédente, je t'ai parlé de l'accessibilité et de l'importance de rendre un site accessible à tous. On a notamment vu qu'il est important de maîtriser le contraste, la taille de police, le choix de la police et les intitulés des liens et boutons.
Mais au delà de ces aspects, on va également pouvoir donner plus de précisions au navigateur sur le contenu de notre site, en utilisant des balises sémantiques ainsi que des attributs spécifiques : `alt` pour les images, `title` pour les liens, mais surtout `aria-*`.
Petit rappel sur les attributs `aria-*`
Les attributs `aria-*` sont des attributs spécifiques qui permettent de donner des informations supplémentaires sur les éléments de la page.
Ils sont particulièrement utiles pour les technologies d'assistance, comme les lecteurs d'écran, qui peuvent ainsi mieux comprendre le contenu de la page.
Par exemple, si tu as un bouton qui ouvre un menu, tu pourrais ajouter l'attribut `aria-expanded="false"` pour indiquer que le menu est fermé, puis le passer à `true` lorsque le menu est ouvert.
Tu peux retrouver la liste complète des attributs `aria-*` sur le [MDN](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA).
## 🌐 Le référencement naturel
J'entends déjà l'un de mes chers collègues juré s'impatienter : "Et le référencement, on en parle ?"
La réponse : bien sûr que ~non~ oui !
Le référencement naturel, ou SEO _(pour Search Engine Optimization)_, est un ensemble de techniques visant à améliorer la visibilité d'un site web dans les moteurs de recherche.
On parlera dans un premier temps de l'optimisation du contenu, avec des balises `
`, ``, `