La Galerie est une application web conçue pour projeter des œuvres d'art du Metropolitan Museum of Art, sélectionnées aléatoirement. Elle a été pensée pour être utilisée dans le cadre de spectacles, notamment d'improvisation théâtrale, en offrant un support visuel inspirant et élégant.
- Accès à l'art : Affiche des œuvres de la collection du Metropolitan Museum of Art.
- Modes de sélection : Permet de choisir entre les "chefs-d'œuvre" (masterpieces) ou d'autres collections thématiques.
- Affichage immersif : Conçue pour la projection, avec un mode plein écran et une interface qui peut être masquée pour ne laisser place qu'à l'œuvre.
- Navigation intuitive : Contrôles simples au clavier pour faire défiler les œuvres, afficher les informations ou passer en plein écran.
- Informations contextuelles : Affiche les métadonnées de l'œuvre (titre, artiste, date) de manière discrète.
- Performances optimisées : Chargement progressif des images pour une expérience fluide.
Entrée: Démarrer la galerie / Afficher l'œuvre suivante.Espace: Masquer / Afficher les informations de l'œuvre et l'interface.F: Activer / Désactiver le mode plein écran.E: Afficher l'écran de fin.Échap: Fermer l'écran de fin.
- Framework : React (avec Vite)
- Langage : TypeScript
- Styling : Tailwind CSS
- Data Fetching : TanStack Query (React Query)
- Routing : React Router
- Animations : Framer Motion
- Tests : Vitest, React Testing Library
- Node.js (version 18 ou supérieure)
- npm / pnpm / yarn
- Clonez le dépôt :
git clone https://github.com/votre-utilisateur/la-galerie.git
- Naviguez dans le répertoire du projet :
cd la-galerie - Installez les dépendances :
npm install
Pour démarrer le serveur de développement :
npm run devL'application sera accessible à l'adresse http://localhost:5173.
npm run dev: Lance le serveur de développement.npm run build: Compile l'application pour la production.npm run lint: Analyse le code avec ESLint.npm run preview: Lance un serveur local pour prévisualiser la version de production.npm run test: Lance les tests unitaires et d'intégration.npm run test:ui: Lance les tests avec une interface graphique.npm run test:coverage: Calcule la couverture de code des tests.
Ce projet est distribué sous la licence MIT. Voir le fichier LICENSE pour plus de détails.