Spaces:
Sleeping
title: Virtual Laboratoire Chimique
emoji: ⚗️
colorFrom: blue
colorTo: purple
sdk: docker
port: 7860
⚗️ Laboratoire Virtuel de Chimie
Un laboratoire de chimie interactif et pédagogique pour les étudiants en sciences. Pratiquez des réactions chimiques virtuelles, apprenez les interactions entre substances et explorez la chimie en toute sécurité.
🌟 Caractéristiques
- Simulation Interactive : Mélangez des substances et observez les réactions chimiques
- Déscriptions Détaillées : Observations réalistes des réactions basées sur l'IA
- Contrôle de la Température : Explorez comment la température affecte les réactions
- Recommandations de Sécurité : Rappels automatiques des précautions de sécurité
- Suggestions d'Expériences : Découvrez de nouvelles combinaisons à essayer
- Inventaire de Substances : Catalogue complet avec propriétés physico-chimiques
🚀 Démarrage Rapide
Installation Locale
Clonez le dépôt (si nécessaire)
git clone https://huggingface.co/spaces/rinogeek/VirtualLabo cd VirtualLaboInstallez les dépendances
# Avec bun (recommandé - plus rapide) bun install # Ou avec npm npm installLancez le serveur de développement
bun run dev # ou npm run devOuvrez votre navigateur
http://localhost:8080
Construction pour Production
bun run build
# ou
npm run build
🐳 Déploiement avec Docker
Localement
# Construire l'image
docker build -t virtual-labo .
# Lancer le conteneur
docker run -p 7860:7860 virtual-labo
L'application sera accessible à http://localhost:7860
Sur Hugging Face Spaces
- Allez sur Hugging Face Spaces
- Créez un nouvel espace ou utilisez cet espace
- Sélectionnez Docker comme SDK
- Reliez ce dépôt ou uploadez les fichiers
- Déploiement automatique lors du push
L'espace écoute automatiquement sur le port 7860.
📋 Exigences
- Node.js ≥ 18
- Bun (optionnel, mais recommandé)
- Docker (pour le déploiement containerisé)
🎓 Utilisation
Interface Principale
- Sélectionnez des substances dans l'inventaire
- Ajustez la température (0-100°C)
- Cliquez sur "Mélanger" pour voir la réaction
- Lisez les observations détaillées générées par IA
- Explorez les suggestions pour d'autres expériences
Fonctionnalités Avancées
- Enregistrement en temps réel : Voyez la réaction se dérouler
- Annotations : Annotez vos observations
- Gestion de l'espace de travail : Sauvegardez vos expériences
- Calqueur de tissu : Visualisation des réactions sur toile
🔧 Configuration
Variables d'Environnement
# Port (défaut: 7860 sur HuggingFace)
PORT=7860
# Host (défaut: 0.0.0.0)
HOST=0.0.0.0
# Environnement
NODE_ENV=production
Configuration Vite
Voir vite.config.ts pour les options avancées.
📦 Stack Technologique
Frontend
- React 18+
- TypeScript
- Tailwind CSS
- shadcn/ui Components
- Vite (build tool)
Backend
- Node.js
- Express (middleware)
- Vite Dev Server
Outils
- ESLint pour la qualité du code
- PostCSS pour les styles
- Fabric.js pour la visualisation
🎨 Composants Principaux
ChemicalCalculator: Logique des réactions chimiquesFabricLabCanvas: Visualisation des réactionsInventory: Gestion des substancesResultsPanel: Affichage des résultatsTimelapseRecorder: Enregistrement des réactionsWorkspaceManager: Gestion du projet
📁 Structure du Projet
.
├── public/ # Assets statiques
├── server/ # Middleware serveur
├── src/
│ ├── components/ # Composants React
│ ├── data/ # Données (substances, modèles)
│ ├── hooks/ # React hooks personnalisés
│ ├── lib/ # Utilitaires
│ ├── pages/ # Pages principales
│ ├── services/ # Services API
│ ├── App.tsx # Application principale
│ └── main.tsx # Point d'entrée
├── Dockerfile # Configuration Docker
├── server.js # Serveur HTTP production
├── index.html # HTML d'entrée
├── vite.config.ts # Configuration Vite
├── tsconfig.json # Configuration TypeScript
└── package.json # Dépendances et scripts
🤝 Contribution
Les contributions sont bienvenues ! Consultez les issues ou créez une pull request.
📝 Licence
Ce projet est disponible sous licence MIT.
🌐 Liens Utiles
- Espace HuggingFace : https://huggingface.co/spaces/rinogeek/VirtualLabo
- Dépôt Source : [GitHub/GitLab]
- Documentation Vite : https://vitejs.dev
- shadcn/ui : https://ui.shadcn.com
⚠️ Avertissement Pédagogique
Ce laboratoire est une simulation éducative. Les réactions affichées sont basées sur des données scientifiques, mais :
- Il ne remplace pas une véritable expérience de laboratoire
- Les observations peuvent être simplifiées
- Consultez un chimiste/enseignant pour les applications réelles
- Respectez les protocoles de sécurité réels lors d'expériences réelles
📞 Support
Pour les problèmes ou questions :
- Ouvrez une issue sur le dépôt
- Contactez le développeur via HuggingFace
- Consultez la documentation officielle
Créé avec ❤️ pour les étudiants en chimie