Spécifications - CGI-Grenoble/1T-Bonnes-Pratiques-Green-IT-v1 GitHub Wiki
Besoin fonctionnel
Priorité 1
Authentification et création d'un compte joueur (saisie pseudo, ...)
Page accueil du joueur (modifier pseudo, voir liste des organisations auxquelles j'appartiens, voir liste de pratiques, liens vers les ressources utiles)
Créer une organisation (et j'en deviens owner)
Demander à rejoindre une organisation
Inviter des joueurs non inscrits via saisie email (envoi d'invitation) et ajout automatique à mon organisation
Créer une partie
Jouer une partie (tour par tour)
Implémenter logique de jeu : dépose d'une carte de bonne pratique
Implémenter logique de jeu : dépose d'une carte de mauvaise pratique et formation
Implémenter logique de jeu : différenciation des 3 types de mauvaises pratiques et formation
Implémenter logique de jeu : dépose d'une carte de sensibilisation
Après chaque bonne ou mauvaise pratique - sélectionner que faire de la pratique (non applicable, déjà appliquée, à appliquer en priorité)
Liens vers la description de la pratique dans les référentiels (115 BP ou GR491)
Explication des règles - version simple
Implémentation logique de jeu : dépose d'une carte experts
Priorité 2
CRUD de gestion des cartes de jeu
Plateau de jeu attractif et animations de jeu
Explication des règles - version animée ou vidéo
Inviter une liste de personnes via csv avec emails
Déléguer les droits sur une organisation
Chat pour discussion entre les joueurs
Besoins non fonctionnels
Multilingue : avec implémentation de 2 langues pour démarrer (français et anglais)
Accessible via un navigateur web et sur mobile => privilégier une PWA (Progressive Web App) - Jeu connecté uniquement - pas de besoin déconnecté
Accessibilité : tester l'accessibilité du site développé et le rendre accessible pour les daltoniens à minima
Green IT : tester l'utilisation de ressources du site avec GreenIT analyser et Lighthouse et adopter les bonnes pratiques de base (notamment au niveau de la compression des images)
Performance: toute action réalisée sur le site doit avoir une latence de moins d'1 seconde
Charge: le jeu doit supporter 20 parties de 4 joueurs en parallèle
Le jeu doit pouvoir être joué dans toutes les parties du monde, vérifier la performance si exécution en Chine ou aux Etats-Unis en plus de l'Europe
Maintenabilité: le code produit doit être testé dans Sonar
Sécurité: l'accès au jeu doit se faire via un SSO (s'appuyer par exemple sur Keycloak qui permet de s'authentifier sur plusieurs fournisseurs SSO)
Sécurité: un audit de code (effectué par CGI) sera réalisé sur le code produit
Technologies de développement: Back-end : Java+Spring ou Node, Front-end: Single Page Application Javascript ou Typescript (Angular, VueJS React ou Svelte)