Aller au contenu

Cours 8

Vite

Jusqu'à aujourd'hui nous avons utilisé, d'une manière un peu détournée, Vite pour compiler notre CSS. Étant donné qu'on amorce la portion JavaScript du cours, nous pourrons maintenant utiliser la manière plus conventionnelle.

La vrai installation 😅

L'installation normale fonctionne avec une logique de Javascript par défaut qu'on a évité volontairement jusqu'à présent pour se concentrer sur le CSS.

Quand on va sur vite.dev , il est dailleurs indiqué d'installer vite avec la commande suivante :

Installe vite dans un dossier « timmomo »
npm create vite@latest timmomo
Installe vite dans le dossier en cours
npm create vite@latest .

Une série de questions vous sera posé. Choisir les options suivantes :

  • Select a framework : Vanilla 👈
  • Select a variant : JavaScript 👈
  • Install with npm and start now ? Yes

Le serveur Vite parti, vous devriez voir ceci dans le navigateur :

Vite Default Page

Structure d'un projet Vite

📁 timmomo
├── 📁 node_modules
├── 📁 public
│    ├── 🎆 favicon.svg
│    └── 🎆 icons.svg
├── 📁 src    
│    ├── 📁 assets
│    │    ├── 🎆 hero.png
│    │    ├── 🎆 javascript.svg
│    │    └── 🎆 vite.svg
│    ├── 📄 counter.js
│    ├── 📄 main.js
│    └── 📄 style.css
├── 📄 index.html
├── 📄 package.json
└── 📄 package-lock.json

DEMO | Le nouveau paradigme 🧠

  1. Regardons ensemble ce qui se passe dans le code initial et retirons ce qui ne nous intéresse pas
  2. Installons Taiwind et DaisyUi dans ce nouveau contexte.
    • Nouveauté 1 : vite.config.js et non vite.config.mjs
    • Nouveauté 2 : fichier css est chargé en javascript 🤯

Exercice - Vite
Vite Vanille

Optimiser les médias 🎬

En Web, si on ne prépare pas les médias, ceux-ci rendent la page lente et font fuir les visiteurs.

Les formats d'image

Chaque format a son usage. La règle d'or : le plus léger qui fait le travail.

Format Idéal pour Notes
JPEG Photos Compression avec pertes, pas de transparence
PNG Images nettes, transparence Plus lourd
WebP Remplace JPEG et PNG ~30 % plus léger, transparence, largement supporté
AVIF Photos, encore plus léger Le plus performant, support quasi universel en 2026
SVG Logos, icônes, formes Vectoriel : net à toute taille

CanIUse.com

Compresser, dimensionner et convertir les images

  1. Compresser afin d'obtenir une version le plus allégée possible, sans grande perte de qualité
  2. Redimensionner pour le contexte d'affichage. Ne servez jamais une image de 4000 px pour l'afficher à 400 px. Ça ralenti le chargement du site et prends du data inutilement sur les téléphones
  3. Convertir lorsqu'on veut optimiser la page Web

Chargement « paresseux » d'une image

L'attribut loading="lazy" diffère le chargement des images hors écran jusqu'à ce qu'on approche par le défilement. Gratuit et efficace.

<img src="./assets/images/chat.webp" alt="Chat" loading="lazy">

La vidéo

MP4 et WebM sont les deux standards Web.

À des fins de compatibilité, on peut donner plusieurs choix au navigateur et celui-ci choisi en premier ce qu'il sait lire. Par exemple :

<video controls poster="./assets/images/apercu.webp" width="640">
  <source src="./assets/videos/demo.webm" type="video/webm">
  <source src="./assets/videos/demo.mp4" type="video/mp4">
  Votre navigateur ne supporte pas la vidéo.
</video>

L'autoplay exige le silence

Pour garantir le démarrage automatique d'un fond vidéo sur tous les appareils (ordinateur et mobile), il faut combiner les attributs muted et playsinline pour répondre aux restrictions des navigateurs et d'Apple.

<video autoplay loop muted playsinline>
  <source src="demo.webm" type="video/webm">
</video>

Compresser et convertir une vidéo

Une vidéo sortie d'un téléphone ou d'un logiciel de montage pèse souvent plusieurs centaines de Mo. Pour le Web, une vidéo de fond de 10 à 20 secondes devrait peser moins de 5 Mo.

  1. Compresser et redimensionner
  2. Choisir le bon format
    • MP4 (codec H.264) : lu partout, y compris sur les vieux appareils.
    • WebM (codec VP9) : plus léger, lu par tous les navigateurs modernes.
    • Pour les curieux : le codec AV1, encore plus efficace, peut remplacer VP9 dans un WebM
  3. Retirer le son d'une vidéo de fond (muted) : c'est du poids inutile

Vidéos d'une minute et +

Mieux vaut intégrer la vidéo depuis YouTube ou Vimeo avec un <iframe>. Ces plateformes adaptent la qualité à la connexion de chaque visiteur et n'utilise pas la bande passante de votre serveur.

L'audio

Mêmes principes : MP3 (universel) et OGG/Opus ou WebM (plus légers). On peut aussi offrir plusieurs sources.

<audio controls>
  <source src="./assets/audio/theme.webm" type="audio/webm">
  <source src="./assets/audio/theme.mp3" type="audio/mpeg">
</audio>

Classement et nommage

Bonne pratique Exemple
Un dossier par type images/, videos/, audio/
Minuscules, tirets hero-accueil.webp (pas Hero Accueil.PNG)
Pas d'accents ni d'espaces plan-cegep.svg (pas plán cégep.svg)
Noms descriptifs equipe-2026.webp (pas IMG_2381.jpg)

Exercice - Vite et médias
Momo