# Coaster World v1.93.1 — Correctif cache Notifications

## Correction principale

- Corrige l'erreur 500 `__PHP_Incomplete_Class` pouvant apparaître sur toutes les pages authentifiées après une mise à jour.
- Le compteur de notifications du header ne stocke plus un modèle Eloquent `UserNotification` sérialisé dans le cache.
- Le header utilise désormais `App\Support\SafeCache::rememberArray()` comme les autres caches sécurisés introduits en v1.92.1.
- Le cache ne contient plus que deux valeurs simples : `unread_count` et `latest_id`.
- La requête d'agrégation utilise le Query Builder de base (`toBase()`) avant conversion explicite en entiers.

## Robustesse

- Nouvelle clé de cache `cw:header-notifications:v1931:<user>` pour ne jamais relire les anciennes valeurs sérialisées.
- L'invalidation du centre Notifications efface l'ancienne clé v1.92 et la nouvelle clé v1.93.1.
- Si le backend de cache SQL est momentanément indisponible, `SafeCache` exécute directement la requête au lieu de provoquer une erreur 500.

## Audit préventif

- Audit des `Cache::remember()` du projet : les autres caches applicatifs directs retournent des tableaux scalaires ou des chaînes ; les caches catalogue utilisent déjà `SafeCache`.
- Aucun changement de schéma SQL.
- Aucune donnée utilisateur ou notification n'est supprimée.
