Files
Site_web/formations/memory-pictogrammes/docs/README.md
gauthier.chombart 20baa91611 Commit initial
Chargement des données en local
2026-06-01 11:17:21 +02:00

12 KiB
Raw Blame History

🎮 Memory Pictogrammes GHS - NextGN Formation

Jeu interactif d'apprentissage des 9 pictogrammes de danger (norme GHS/CLP)


📋 Table des Matières

  1. Vue d'ensemble
  2. Installation & Lancement
  3. Guide Utilisateur
  4. Fonctionnalités
  5. Architecture Technique
  6. Configuration Avancée
  7. Troubleshooting
  8. Licence

Vue d'ensemble

Objectif

Jeu Memory interactif permettant aux stagiaires Certibiocide de mémoriser et identifier les 9 pictogrammes de danger selon la norme GHS (Globally Harmonized System).

Caractéristiques Principales

  • 3 niveaux de difficulté (Facile, Normal, Difficile)
  • Système de scoring avancé avec bonus temps et efficacité
  • Classement persistant (LocalStorage)
  • Analytics intégré pour suivre les performances
  • Design gamifié avec animations 3D et micro-interactions
  • 100% Responsive (mobile, tablet, desktop)
  • Charte NextGN Formation cohérente

Pictogrammes Couverts

  1. 🔵 Gaz comprimé - "Je suis sous pression"
  2. ⚠️ Exclamation - "Je nuis gravement à la santé"
  3. 💥 Explosion - "J'explose"
  4. ☠️ Crâne - "Je tue"
  5. 🔥 Flamme - "Je flambe"
  6. 🔥🔵 Comburant - "Je fais flamber"
  7. 🌍 Environnement - "Je pollue"
  8. 🧪 Corrosion - "Je ronge"
  9. ⚠️🌍 Santé/Environnement - "J'altère la santé ou la couche d'ozone"

Installation & Lancement

Prérequis

  • Navigateur moderne (Chrome, Firefox, Safari, Edge)
  • Pas de dépendances externes
  • JavaScript activé

Déploiement Rapide

Structure Recommandée (Option 1)

# Créer l'arborescence
mkdir -p formations/memory-pictogrammes/assets/{css,js,pictogrammes}
mkdir -p formations/memory-pictogrammes/docs

# Copier les fichiers
cp memory-pictogrammes.html formations/memory-pictogrammes/
cp -r assets/css/* formations/memory-pictogrammes/assets/css/
cp -r assets/js/* formations/memory-pictogrammes/assets/js/
cp -r assets/pictogrammes/* formations/memory-pictogrammes/assets/pictogrammes/
cp README.md INTEGRATION_GUIDE.md MANIFEST.md CONFIG.js formations/memory-pictogrammes/docs/

# Ajouter le lien dans index.html de NextGN
<a href="formations/memory-pictogrammes/memory-pictogrammes.html">🎮 Memory Pictogrammes</a>

# Accéder via
http://votre-domaine.com/formations/memory-pictogrammes/memory-pictogrammes.html

Structure Résultante

Racine du site (/)
├── index.html
├── formations/
│   └── memory-pictogrammes/
│       ├── memory-pictogrammes.html
│       ├── assets/
│       │   ├── css/
│       │   ├── js/
│       │   └── pictogrammes/
│       └── docs/
│           ├── README.md
│           ├── INTEGRATION_GUIDE.md
│           ├── MANIFEST.md
│           └── CONFIG.js
└── ... (autres pages)

Guide Utilisateur

Commencer une Partie

  1. Sélectionner le niveau : Facile (4 paires), Normal (9 paires) ou Difficile (2 min)
  2. Cliquer sur une carte pour la retourner
  3. Trouver les paires en associant pictogramme ↔ signification
  4. Augmenter le score : Plus rapide = plus de bonus temps

Système de Scoring

Score Final = Score de Base + Bonus Temps + Bonus Efficacité

Score de Base :
- Facile : 1,000 points
- Normal : 2,000 points
- Difficile : 4,000 points

Bonus Temps : Points restants / Temps limite × 500
Bonus Efficacité : Pénalité pour erreurs × 500

Achievements Débloquables

  • 🏅 Jeu Parfait : Aucune erreur
  • Vitesse Éclair : < 50% du temps limite
  • 🔥 Mode Difficile : Défi chronométré réussi
  • 🎯 Score Parfait : Score quasi-maximal
  • 🏃 Très Rapide : < 1 minute (9 paires)

Classement

Le classement affiche :

  • Top 10 global avec tous les niveaux
  • Filtrage par difficulté (Facile, Normal, Difficile)
  • Médailles (🥇🥈🥉) pour top 3
  • Statistiques personnelles : meilleur score, temps record, taux de réussite

Fonctionnalités

Jeu Principal

Modes de Difficulté

Mode Paires Temps Limite Multiplicateur Score
Facile 4 3 min 1x
Normal 9 5 min 2x
Difficile 9 2 min 4x

Interactions

  • Flip 3D : Animation rotation fluide au retournement
  • Match Animation : Effet pop + glow au matching
  • Error Shake : Secousse si paire incorrecte
  • Progress Bar : Barre pulse au progress

HUD (Heads-Up Display)

  • Timer : Temps écoulé en temps réel
  • 🎯 Score : Points actuels avec animation
  • 📊 Mouvements : Nombre de tentatives
  • 📈 Progression : Paires trouvées/Total

Classement & Stats

Leaderboard

  • Top 10 global
  • Filtrage par difficulté
  • Tri par score (puis par temps en cas d'égalité)
  • Affichage du temps et mouvements

Statistiques Personnelles

  • 🎮 Jeux joués
  • Meilleur score
  • Temps record
  • 🏅 Taux de réussite (jeux parfaits)

Analytics

Suivi des événements :

  • game_started : Démarrage du jeu
  • card_flipped : Retournement de carte
  • pair_matched : Paire trouvée
  • pair_mismatched : Erreur
  • game_completed : Fin de partie

Données collectées :

  • ID session unique
  • ID joueur (anonyme ou nommé)
  • Temps de jeu
  • Score final
  • Achievements débloqués

Architecture Technique

Structure des Fichiers

memory-pictogrammes/
├── memory-pictogrammes.html          # Page principale
├── assets/
│   ├── css/
│   │   ├── memory-game.css           # Styles grille + cartes
│   │   ├── hud.css                   # HUD + Modal victoire
│   │   ├── animations.css            # Animations avancées
│   │   └── leaderboard.css           # Classement
│   ├── js/
│   │   ├── memory-game.js            # Moteur du jeu
│   │   ├── game-state.js             # Gestion état + scoring
│   │   ├── analytics.js              # Tracking événements
│   │   ├── leaderboard.js            # Classement + stats
│   │   └── utils.js                  # Configuration + helpers
│   └── pictogrammes/
│       ├── 1-gaz-comprime.png
│       ├── 2-exclamation.png
│       ├── 3-explosion.png
│       ├── 4-crane.png
│       ├── 5-flamme.png
│       ├── 6-comburant.png
│       ├── 7-environnement.png
│       ├── 8-corrosion.png
│       └── 9-sante-environnement.png
└── README.md

Stack Technologique

  • HTML5 : Structure sémantique
  • CSS3 : Grid layout, animations, responsive design
  • JavaScript (Vanilla) : Aucune dépendance externe
  • LocalStorage : Persistance des scores

Classes Principales

MemoryGameEngine

Moteur principal du jeu

game = new MemoryGameEngine('normal');
game.flipCard(index);
game.checkMatch();
game.endGame(won);

ScoringEngine

Calcul avancé du scoring

const score = scoringEngine.calculateFinalScore(moves, time, pairs, difficulty);
const achievements = scoringEngine.detectAchievements(...);

LeaderboardManager

Gestion du classement

LeaderboardManager.addScore(gameData);
LeaderboardManager.getLeaderboard(difficulty, limit);
LeaderboardManager.getPlayerStats(userId);

AnalyticsManager

Tracking des événements

analytics.track('event_name', { data });
analytics.downloadData();

Configuration Avancée

Activer Analytics Server

Si vous avez un backend pour collecter les analytics :

<script>
    window.ANALYTICS_ENDPOINT = 'https://votre-api.com/analytics';
</script>

Personnaliser les Pictogrammes

Modifier assets/js/utils.js :

const PICTOGRAMMES = [
    {
        id: 1,
        nom: "Nouveau nom",
        filename: "chemin/vers/image.png",
        texte: "Nouvelle signification",
        danger: "Type de danger"
    },
    // ...
];

Ajouter des Niveaux de Difficulté

const DIFFICULTY_MODES = {
    custom: {
        name: "Mon Niveau",
        paires: 6,
        timeLimit: 240,
        scoreMultiplier: 1.5,
        description: "Description"
    }
};

Intégration avec un CMS

Pour ajouter le jeu à un CMS (WordPress, Drupal, etc.) :

<!-- Dans votre page d'apprentissage -->
<iframe src="/memory-pictogrammes/memory-pictogrammes.html" 
        width="100%" 
        height="1200px" 
        frameborder="0">
</iframe>

Troubleshooting

Le jeu ne se charge pas

Cause : Chemin des ressources incorrect

Solution :

# Vérifier que les fichiers CSS et JS sont aux bons chemins
# Ouvrir la console du navigateur (F12)
# Vérifier les erreurs 404 pour les ressources manquantes

Les pictogrammes ne s'affichent pas

Cause : Images non trouvées

Solution :

  1. Vérifier que assets/pictogrammes/*.png existent
  2. Vérifier les permissions de fichier
  3. Vérifier le chemin relatif dans utils.js

Les scores ne se sauvegardent pas

Cause : LocalStorage désactivé ou plein

Solution :

// Vérifier en console :
localStorage.setItem('test', 'test');
localStorage.getItem('test'); // Doit afficher 'test'

// Vider le localStorage si plein :
localStorage.clear();

Animations saccadées

Cause : Navigateur lent ou préférences de réduction de mouvement

Solution :

  • Désactiver les animations avancées pour mobiles lents
  • Vérifier les paramètres d'accessibilité du navigateur

Problèmes de responsive

Cause : Viewport mal configuré

Solution : Vérifier que le HTML contient :

<meta name="viewport" content="width=device-width, initial-scale=1.0">

Debug Mode

Activer le mode debug avec Ctrl+Shift+D :

// En console :
DEBUG.log('Message de debug');
DEBUG.table(donnees);

// Voir tous les scores :
debugScores();

// Nettoyer les scores :
clearAllScores();

// Exporter les stats :
LeaderboardManager.exportCSV();

Performance

Optimisations Appliquées

  • CSS Grid pour layout performant
  • Transform & Opacity pour animations (GPU)
  • Event delegation pour cartes
  • LocalStorage au lieu d'API
  • Lazy loading des pictogrammes

Benchmarks

  • FPS : 60 FPS constant (animations fluides)
  • Charge de page : < 500ms
  • Taille totale : ~450KB (HTML + CSS + JS + images)
  • Memory : ~5MB par session

Accessibilité

Conformité

  • WCAG 2.1 AA
  • Navigation au clavier (Tab)
  • Respects prefers-reduced-motion
  • Contraste de couleurs adéquat
  • Alt text sur images

Raccourcis Clavier

  • Tab : Navigation entre cartes
  • Entrée : Retourner une carte
  • Ctrl+Shift+D : Mode debug

Licence & Attribution

Jeu Memory Pictogrammes GHS

  • Auteur : NextGN Formation
  • Licence : MIT
  • Année : 2024

Attribution Pictogrammes

Les 9 pictogrammes GHS/CLP sont issues de la norme internationale (Public Domain)


Support & Maintenance

Rapporter un Bug

  1. Ouvrir la console (F12)
  2. Reproduire le bug
  3. Noter le message d'erreur
  4. Contacter support@nextgnformation.com

Mises à Jour

  • 🔄 Vérifier les mises à jour régulièrement
  • 📝 Changelog disponible dans /CHANGELOG.md
  • 🔐 Mises à jour de sécurité prioritaires

FAQ

Q : Puis-je utiliser ce jeu offline ? A : Oui ! Le jeu fonctionne entièrement offline. Les scores sont sauvegardés localement.

Q : Combien de joueurs peuvent jouer simultanément ? A : Pas de limite théorique. Chaque joueur a son propre espace de stockage.

Q : Puis-je modifier les pictogrammes ? A : Oui, modifiez assets/pictogrammes/ et mettez à jour utils.js.

Q : Comment réinitialiser les scores ? A : Mode debug : tapez clearAllScores() en console.

Q : Puis-je exporter les scores ? A : Oui : LeaderboardManager.exportCSV() en console.


Enjoy Learning! 🎮🏆

Pour plus d'informations, visitez : https://www.nextgnformation.com