website/TODO.md

2.5 KiB

TODO - Correctifs "créateurs" + bugs multiples

Étape 1

  • 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

  • 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

  • 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

  • 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

  • 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