Déploiement
Déploiement • Chapitre 14 : Projet pratique final

Tester l'application en production

Septième étape du projet pratique : validez l'expérience utilisateur réelle avant l'ouverture officielle. Exécutez un audit Lighthouse complet, simulez des scénarios multi-navigateurs et testez la résistance sous une charge de requêtes simultanées.

📱
Test Multi-Terminaux

Vérification sur Safari iOS, Chrome Android et écrans rétina desktop.

⚡
Score Lighthouse 90+

Optimisation du LCP, de la compression d'images WebP et de l'accessibilité.

🥊
Test de Charge Léger

Vérification avec autocannon que l'API supporte au moins 50 requêtes/seconde sans crash.

🐞
Audit Console F12 Zéro Erreur

Vérification qu'aucun warning, ressource manquante ou fuite de mémoire ne subsiste.

load-and-perf-testing.sh
# 1. Test de charge synthétique de l'API avec autocannon (10 connexions simultanées pendant 10s)
$ npx autocannon -c 10 -d 10 https://api.learnweb.com/api/v1/products
Running 10s test @ https://api.learnweb.com/api/v1/products
10 connections

Stat        2.5%    50%     97.5%   99%     Avg     Stdev
Latency     14 ms   22 ms   48 ms   62 ms   24 ms   10 ms

Req/Sec     380     420     460     470     418     28
Bytes/Sec   840 kB  920 kB  1.0 MB  1.1 MB  918 kB  62 kB

4k requests in 10.05s, 9.2 MB read
0 errors, 0 timeouts ! # ✅ L'API résiste avec brio à 400 requêtes/seconde !

# 2. Audit Lighthouse en ligne de commande (Génération du rapport HTML) :
$ npx lighthouse https://www.learnweb.com --view --output=html

Guide Approfondi & Architecture Système

1. La Batterie de Tests QA de Mise en Production

Avant de communiquer le lien à vos premiers utilisateurs :
  1. Test du Mode Hors-Ligne / Réseau Lent : Ouvrez DevTools > Réseau > bridez en Fast 3G pour constater la fluidité des indicateurs de chargement.
  2. Test de Rafraîchissement (F5) : Naviguez jusqu'au dernier sous-écran (ex: /articles/react/hooks) et faites un rechargement forcé.
  3. Test de Remplissage de Formulaire : Soumettez des données invalides (email erroné, mot de passe trop court) pour vérifier que les messages d'erreur s'affichent avec clarté sans crasher l'API.

2. Comprendre les Core Web Vitals en Production Réelle

Trois métriques clés décident du référencement Google :
  • LCP (Largest Contentful Paint) < 2.5s : Temps d'affichage du plus grand bloc visible (votre titre ou bannière héroïque).
  • INP (Interaction to Next Paint) < 200ms : Temps de réponse ressenti lorsqu'un utilisateur clique sur un bouton ou ouvre un menu.
  • CLS (Cumulative Layout Shift) < 0.1 : Stabilité visuelle (aucun élément qui saute brutalement pendant le chargement des images).

Tableau Récapitulatif : Résultats de l'Audit Qualité Final

Catégorie LighthouseScore AtteintStatutRecommandation Appliquée
Performance94 / 100🟢 ExcellentImages converties en WebP et bundles minifiés
Accessibilité (A11y)98 / 100🟢 ExcellentAttributs alt sur les images et contrastes de couleurs WCAG AA
Bonnes Pratiques Web100 / 100🟢 ParfaitHTTPS actif, en-têtes de sécurité et zéro log verbeux
SEO (Référencement)100 / 100🟢 ParfaitBalises meta description, title uniques et balises canoniques