Cas pratiques Progressive Web Apps

30 cas pratiques Progressive Web Apps disponibles. Niveaux : fondamental (10), avancé (10), expert (10).

Fait partie de : Cas pratiques de développement front-end

FondamentalProgressive Web Apps

Activation basique d'un Service Worker pour mise en cache statique

Contexte : Vous travaillez sur une application web vitrine qui doit fonctionner hors ligne pour ses pages principales. Le Problème : Actuellement, aucune ressource n'est disponible sans connexion Internet. Contraintes : Utiliser un Service Worker natif sans framework. Mettre en cache uniquement les fichiers statiques (HTML, CSS, JS). Livrable attendu : Implémenter l'enregistrement d'un Service Worker et configurer un cache statique permettant à l'application de charger hors ligne les ressources essentielles.

pwaserviceworkercache+1
FondamentalProgressive Web Apps

Ajout d'un écran offline personnalisé

Contexte : Lorsqu'un utilisateur perd sa connexion, la page affiche une erreur générique du navigateur. Le Problème : Aucune expérience offline personnalisée n'est proposée. Contraintes : Utiliser le Service Worker pour intercepter les requêtes échouées. Livrable attendu : Implémenter une page offline.html affichée automatiquement lorsque la requête réseau échoue.

pwaofflineserviceworker+1
FondamentalProgressive Web Apps

Ajout des icônes nécessaires pour installation mobile

Contexte : L'application doit être installable sur smartphone. Le Problème : Les icônes requises ne sont pas configurées correctement dans le manifest. Contraintes : Fournir au moins deux tailles d'icônes adaptées (192x192 et 512x512). Livrable attendu : Ajouter les icônes nécessaires dans le manifest et vérifier leur accessibilité.

pwamanifesticons+1
FondamentalProgressive Web Apps

Correction d'un cache non mis à jour après déploiement

Contexte : Après une mise à jour du site, les utilisateurs voient encore l'ancienne version. Le Problème : Le cache du Service Worker n'est jamais invalidé. Contraintes : Mettre en place une gestion de version du cache. Livrable attendu : Implémenter une stratégie de versionnement du cache et supprimer les anciens caches lors de l'activation du Service Worker.

pwacacheversioning+1
FondamentalProgressive Web Apps

Correction d'un Service Worker non enregistré

Contexte : Un Service Worker est présent dans le projet mais ne semble jamais s'activer. Le Problème : L'application ne fonctionne pas hors ligne malgré la présence du fichier sw.js. Code actuel : if ('serviceWorker' in navigator) { navigator.serviceWorker.register('/sw.js'); } Contraintes : Vérifier le contexte sécurisé et le chemin du fichier. Livrable attendu : Corriger l'enregistrement afin que le Service Worker soit correctement activé.

pwaserviceworkerregistration+1
FondamentalProgressive Web Apps

Création d'un fichier manifest valide pour installation

Contexte : Une application web souhaite être installable sur mobile et desktop. Le Problème : Aucun fichier manifest n'est présent, empêchant l'installation. Contraintes : Créer un fichier manifest.json respectant les standards PWA (name, short_name, icons, start_url, display). Livrable attendu : Mettre en place un fichier manifest valide et le relier correctement au fichier HTML principal.

pwamanifestinstallation+1
FondamentalProgressive Web Apps

Implémentation d'une stratégie cache-first simple

Contexte : Une application affiche des images produits rarement mises à jour. Le Problème : Chaque chargement déclenche une requête réseau inutile. Contraintes : Implémenter une stratégie cache-first dans le Service Worker. Livrable attendu : Mettre en place une logique permettant de servir les images depuis le cache avant d'interroger le réseau.

pwacacheserviceworker+1
FondamentalProgressive Web Apps

Implémentation d'une stratégie network-first simple

Contexte : Une application affiche des données dynamiques fréquemment mises à jour. Le Problème : Les données en cache deviennent rapidement obsolètes. Contraintes : Implémenter une stratégie network-first dans le Service Worker. Livrable attendu : Mettre en place une logique privilégiant le réseau et utilisant le cache uniquement en cas d'échec.

pwanetworkfirstcache+1
FondamentalProgressive Web Apps

Mise en place d'un indicateur de connexion en temps réel

Contexte : L'application doit informer l'utilisateur de l'état de sa connexion. Le Problème : Aucun indicateur ne signale le passage en mode hors ligne. Contraintes : Utiliser navigator.onLine et les événements online/offline. Livrable attendu : Implémenter un système affichant dynamiquement un message lorsque l'utilisateur perd ou retrouve la connexion.

pwaofflinenetwork+1
FondamentalProgressive Web Apps

Vérification de conformité aux critères PWA de base

Contexte : Une application prétend être une PWA mais ne respecte pas tous les critères fondamentaux. Le Problème : Elle échoue aux audits Lighthouse PWA. Contraintes : Vérifier HTTPS, manifest valide et Service Worker actif. Livrable attendu : Identifier et corriger les éléments manquants afin de satisfaire les critères PWA essentiels.

pwalighthouseserviceworker+1
AvancéProgressive Web Apps

Audit et optimisation Lighthouse PWA avancée

Contexte : Une application passe partiellement les audits Lighthouse mais échoue sur performance et bonnes pratiques. Le Problème : Certaines optimisations PWA ne sont pas correctement configurées. Contraintes : Identifier et corriger les points bloquants liés au Service Worker, manifest et performance. Livrable attendu : Proposer une série d'améliorations concrètes permettant d'obtenir un score PWA optimal dans Lighthouse.

pwalighthouseperformance+2
AvancéProgressive Web Apps

Création d'une file d'attente offline avec synchronisation ultérieure

Contexte : Une application doit permettre à l'utilisateur d'envoyer des données même hors ligne. Le Problème : Les requêtes échouent immédiatement lorsque la connexion est perdue. Contraintes : Utiliser Background Sync si disponible. Livrable attendu : Implémenter une file d'attente locale des requêtes et les synchroniser automatiquement lorsque la connexion revient.

pwabackgroundsyncoffline+2
AvancéProgressive Web Apps

Gestion avancée du cycle de vie d'un Service Worker

Contexte : Après déploiement d'une nouvelle version, certains utilisateurs continuent d'utiliser l'ancienne version mise en cache. Le Problème : Le Service Worker reste en attente (waiting) sans prendre immédiatement le contrôle. Contraintes : Utiliser skipWaiting et clients.claim correctement. Livrable attendu : Implémenter une gestion complète du cycle de vie permettant l'activation immédiate d'un nouveau Service Worker tout en informant l'utilisateur si nécessaire.

pwaserviceworkerlifecycle+2
AvancéProgressive Web Apps

Gestion conditionnelle des requêtes cross-origin

Contexte : L'application consomme des ressources externes (CDN, API tierce). Le Problème : Certaines requêtes cross-origin échouent lorsqu'elles sont interceptées par le Service Worker. Contraintes : Gérer proprement les requêtes cross-origin dans l'événement fetch. Livrable attendu : Implémenter une logique permettant de traiter ou ignorer correctement les requêtes externes.

pwaserviceworkercors+2
AvancéProgressive Web Apps

Implémentation d'un cache dynamique avec gestion des requêtes API

Contexte : Une application charge des données API personnalisées selon l'utilisateur. Le Problème : Toutes les requêtes sont mises en cache de manière indiscriminée, créant des incohérences. Contraintes : Mettre en place une logique conditionnelle dans le Service Worker pour cibler uniquement certaines routes API. Livrable attendu : Concevoir une stratégie de cache dynamique filtrant les requêtes pertinentes et excluant les données sensibles.

pwaserviceworkerapi+2
AvancéProgressive Web Apps

Implémentation d'un fallback offline intelligent par type de ressource

Contexte : L'application doit fournir différents fallbacks selon le type de requête (HTML, image, API). Le Problème : Un seul fallback global est actuellement utilisé. Contraintes : Différencier les requêtes dans l'événement fetch. Livrable attendu : Mettre en place un système capable de retourner une page offline pour HTML, une image placeholder pour images et une réponse JSON par défaut pour API.

pwaofflinefallback+2
AvancéProgressive Web Apps

Implémentation d'une stratégie stale-while-revalidate pour contenu dynamique

Contexte : Vous développez une application e-commerce dont les fiches produits changent régulièrement mais doivent rester rapides à charger. Le Problème : La stratégie cache-first affiche parfois des données obsolètes, tandis que network-first ralentit l'expérience. Contraintes : Implémenter une stratégie stale-while-revalidate dans le Service Worker sans framework externe. Livrable attendu : Mettre en place une logique servant immédiatement la version en cache tout en déclenchant en arrière-plan une mise à jour réseau et une actualisation du cache.

pwaserviceworkercache+2
AvancéProgressive Web Apps

Implémentation des notifications push basiques

Contexte : Une application souhaite notifier l'utilisateur de nouvelles mises à jour même hors connexion. Le Problème : Aucun système de notifications push n'est en place. Contraintes : Utiliser l'API Push et Service Worker natif. Livrable attendu : Mettre en place l'abonnement push côté client et la réception d'une notification via le Service Worker.

pwapushserviceworker+2
AvancéProgressive Web Apps

Mise en place d'un système de versioning automatique du cache

Contexte : Les mises à jour fréquentes du site nécessitent une gestion fiable des versions mises en cache. Le Problème : Les anciens caches persistent et causent des incohérences. Contraintes : Implémenter un système de versioning centralisé et nettoyage automatique. Livrable attendu : Concevoir une stratégie de nommage et suppression automatique des anciens caches lors de l'activation.

pwacacheversioning+2
AvancéProgressive Web Apps

Optimisation du precaching stratégique des ressources critiques

Contexte : Une application doit charger rapidement sa page d'accueil même avec une connexion lente. Le Problème : Trop de ressources sont précachées, augmentant le temps d'installation initial. Contraintes : Identifier et précacher uniquement les ressources critiques. Livrable attendu : Mettre en place une stratégie de precaching optimisée équilibrant performance initiale et expérience offline.

pwaprecachingperformance+2
ExpertProgressive Web Apps

Architecture complète offline-first avec synchronisation différée robuste

Contexte : Vous développez une application métier utilisée sur le terrain avec connexion instable. Le Problème : Les utilisateurs doivent pouvoir créer et modifier des données hors ligne, puis synchroniser proprement dès que la connexion revient, sans perte ni duplication. Contraintes : Utiliser Service Worker natif, IndexedDB et Background Sync. Aucun framework externe. Livrable attendu : Concevoir une architecture offline-first incluant stockage local structuré, file d'attente des actions, stratégie de synchronisation sécurisée et gestion des conflits lors du retour en ligne.

pwaofflineindexeddb+2
ExpertProgressive Web Apps

Audit complet et refonte architecture PWA enterprise-ready

Contexte : Une application ambitieuse vise un déploiement à grande échelle avec exigences de fiabilité et performance élevées. Le Problème : L'architecture actuelle du Service Worker et du cache est improvisée et peu scalable. Contraintes : Repenser entièrement la structure PWA sans dépendre d'un framework externe. Livrable attendu : Proposer une architecture enterprise-ready incluant gestion du cycle de vie, cache multi-stratégies, synchronisation offline, sécurité et optimisation Lighthouse maximale.

pwaarchitectureenterprise+2
ExpertProgressive Web Apps

Conception d'un moteur de synchronisation différée transactionnel

Contexte : L'application doit envoyer des transactions critiques lorsque la connexion revient. Le Problème : Les envois partiels peuvent corrompre les données serveur. Contraintes : Implémenter un système transactionnel côté client avec validation avant suppression locale. Livrable attendu : Concevoir un moteur de synchronisation garantissant que chaque transaction soit validée par le serveur avant suppression de la file locale.

pwabackgroundsynctransactions+2
ExpertProgressive Web Apps

Gestion avancée des mises à jour avec contrôle utilisateur et rollback

Contexte : Une nouvelle version de l'application est déployée fréquemment. Le Problème : L'activation immédiate du nouveau Service Worker peut interrompre des sessions en cours. Contraintes : Gérer skipWaiting de manière conditionnelle et notifier l'utilisateur avant activation. Livrable attendu : Implémenter un système de gestion des mises à jour permettant de proposer une mise à jour contrôlée, avec possibilité de rollback sécurisé si nécessaire.

pwaserviceworkerlifecycle+2
ExpertProgressive Web Apps

Gestion avancée des ressources cross-origin et sécurité PWA

Contexte : L'application consomme des ressources provenant de plusieurs domaines externes. Le Problème : Certaines requêtes échouent ou compromettent la sécurité lorsqu'elles sont interceptées. Contraintes : Gérer correctement CORS, stratégies fetch et sécurisation HTTPS. Livrable attendu : Implémenter une gestion fine des requêtes cross-origin garantissant compatibilité, performance et sécurité.

pwacorssecurity+2
ExpertProgressive Web Apps

Implémentation d'un fallback intelligent multi-routes avec routing offline

Contexte : L'application est une SPA avec plusieurs routes dynamiques. Le Problème : En mode hors ligne, seules certaines routes fonctionnent correctement. Contraintes : Intercepter les requêtes de navigation et implémenter un routing offline. Livrable attendu : Concevoir un système permettant de servir dynamiquement des vues offline adaptées selon la route demandée.

pwaofflinerouting+2
ExpertProgressive Web Apps

Implémentation d'un système de gestion de conflits offline multi-utilisateurs

Contexte : Plusieurs utilisateurs peuvent modifier les mêmes données hors ligne. Le Problème : Lors de la synchronisation, des conflits de version apparaissent. Contraintes : Implémenter une stratégie de résolution de conflits côté client. Livrable attendu : Concevoir un mécanisme permettant de détecter les conflits, proposer une résolution (last-write-wins ou merge logique) et garantir l'intégrité des données.

pwaofflineconflicts+2
ExpertProgressive Web Apps

Implémentation d'une stratégie hybride multi-niveaux de cache intelligente

Contexte : Une application SaaS contient à la fois du contenu statique, des images produits et des données API dynamiques. Le Problème : Une stratégie unique de cache provoque soit des données obsolètes, soit des performances insuffisantes. Contraintes : Combiner cache-first, network-first et stale-while-revalidate selon le type de ressource. Livrable attendu : Concevoir un Service Worker capable d'identifier dynamiquement le type de requête et d'appliquer la stratégie de cache appropriée avec versioning propre.

pwaserviceworkercache+2
ExpertProgressive Web Apps

Optimisation extrême des performances PWA pour faible bande passante

Contexte : L'application cible des régions à faible connectivité. Le Problème : Les temps de chargement initiaux restent élevés malgré le cache. Contraintes : Optimiser precaching, lazy loading et compression. Livrable attendu : Mettre en place une stratégie combinée de réduction de bundle, precaching ciblé et gestion fine des ressources pour maximiser la performance en réseau limité.

pwaperformanceprecaching+2
ExpertProgressive Web Apps

Système de notifications push avec gestion avancée des permissions

Contexte : Une application souhaite envoyer des notifications contextuelles basées sur le comportement utilisateur. Le Problème : Les permissions sont mal gérées et les notifications ne sont pas ciblées correctement. Contraintes : Utiliser Push API et Service Worker natifs avec gestion fine des abonnements. Livrable attendu : Mettre en place un système complet incluant demande de permission, abonnement, réception et gestion intelligente des notifications.

pwapushnotifications+2

Questions originales conçues par CodeDuel. CodeDuel n'est affilié à aucun éditeur ni organisme de certification cité ; les noms de certifications et les marques appartiennent à leurs titulaires et servent uniquement à indiquer le domaine couvert. Signaler un contenu

    Cas pratiques Progressive Web Apps : 30 mises en situation | CodeDuel