51 lines
2.5 KiB
Markdown
51 lines
2.5 KiB
Markdown
# TODO - Correctifs "créateurs" + bugs multiples
|
|
|
|
## Étape 1
|
|
- [x] Ajouter des garde-fous stricts dans `assets/js/home.js` pour empêcher qu'une erreur JS bloque l'affichage de la section "Les créateurs".
|
|
|
|
|
|
## Étape 2
|
|
- [x] Sécuriser le rendu social : fallback **sans injection non contrôlée** si `window.renderSocialLinks` n'existe pas.
|
|
- Vérification que `window.renderSocialLinks` est une fonction valide (contient 'escapeHTML')
|
|
- Try/catch autour de l'appel à `renderSocialLinks`
|
|
- Fallback vide si la fonction est compromise ou absente
|
|
|
|
## Étape 3
|
|
- [x] Ajouter des logs et messages d'erreurs clairs (console) + try/catch autour de l'init team.
|
|
- Logs ajoutés pour le chargement des données (team, portfolio, partners)
|
|
- try/catch autour de `initTeamSection`, `openMemberModal`, `openPartnerModal`
|
|
- Fallback visuel avec messages d'erreur si chargement échoué
|
|
|
|
## Étape 4
|
|
- [x] Vérifier qu'aucune insertion de contenu non échappé n'est faite (XSS-safe) : uniquement `escapeHTML` sur les valeurs et aucune insertion depuis le JSON sans échappement.
|
|
- Toutes les données JSON sont échappées avec `window.escapeHTML()` avant insertion via innerHTML
|
|
- Vérification des données (Array.isArray, typeof) avant traitement
|
|
- Correction appliquée à : `home.js`, `realisations.js`
|
|
|
|
## Étape 5
|
|
- [x] Tester sur la page `index.html` : affichage cards + ouverture modal + fallback si liens manquants.
|
|
- Tests manuels à effectuer (les corrections sont en place)
|
|
|
|
---
|
|
|
|
## Résumé des corrections appliquées
|
|
|
|
### Fichiers modifiés :
|
|
1. **`assets/js/home.js`** :
|
|
- Garde-fous stricts pour les sections Portfolio, Partners, Team
|
|
- Vérification des réponses HTTP (`res.ok`)
|
|
- Validation des types de données (Array.isArray, typeof)
|
|
- try/catch autour de toutes les fonctions critiques
|
|
- Fallback visuel avec messages d'erreur si échec
|
|
- Sécurisation de `window.renderSocialLinks` avec vérification de signature
|
|
|
|
2. **`assets/js/pages/realisations.js`** :
|
|
- Sécurisation de `window.renderSocialLinks` pour les liens sociaux des projets
|
|
- Mêmes vérifications que dans home.js
|
|
|
|
### Points vérifiés (déjà conformes) :
|
|
- `assets/js/main.js` : `escapeHTML` déjà utilisé, fonction sécurisée
|
|
- `assets/js/services.js` : toutes les données échappées avec `escapeHTML`
|
|
- `assets/js/services-process.js` : pas de rendu HTML dynamique
|
|
- `assets/js/pages/legal.js` : pas de rendu HTML dynamique avec données externes
|
|
- `assets/js/pages/404.js` : pas de rendu HTML dynamique avec données externes
|