- Node.js Environnement d'exécution JavaScript (version > 20)
- pnpm : Gestionnaire de paquets
- Git : Gestionnaire de versions
- Docker : Conteneurisation & Déploiement (nécessaire pour lancer PocketBase en local)
- Docker Desktop : Version Desktop
- Docker Compose : Outil de gestion de conteneurs
- Go : Nécessaire pour le serveur IA
Clone du projet :
git clone https://github.com/KoroSensei10/svelte-revolution.git
pnpm installLe fichier .env contient les URLs de production (valeurs par défaut). Pour le développement local, créez un fichier .env.local à la racine du projet pour surcharger ces valeurs :
PUBLIC_DB_URL=http://localhost:8090
DB_URL=http://localhost:8090Note :
.env.localest ignoré par git. Il est chargé en priorité sur.envgrâce à la configuration danssvelte.config.js.
Pour développer sans toucher à la base de production, lancez PocketBase en local avec Docker :
# Option 1 : Docker Compose
docker compose up pocketbase
# Option 2 : Build et run manuellement
docker build -t pocketbase ./db
docker run -p 8090:8090 pocketbaseL'interface admin est accessible sur http://localhost:8090/_/.
- Accédez à l'interface admin (
http://localhost:8090/_/) - Créez un compte administrateur
- Allez dans Settings → Import collections
- Collez le contenu de
db/schema.json - Confirmez l'import — toutes les collections seront créées
Voir AI_README#setup
Lancer le serveur de développement :
pnpm devVoir le AI_README#launch
Lancer le serveur de production :
pnpm run build &&
pnpm run previewsrc/: code sourcelib/: fonctions utilitairescomponents/: composantsroutes/: Toutes les routes de l'applicationadmin/: pages d'administration
db/: Dockerfile et schéma PocketBaseia_server/: serveur IA en Gopublic/: fichiers statiquesbuild/: fichiers générésnode_modules/: dépendances
- Svelte : Framework JavaScript
- Vite : Bundler et Runner pour le développement
- Tailwind CSS : Framework CSS
- SvelteKit : Meta-Framework pour Svelte
- PocketBase : Base de données et API auto-hébergée
- Go : Serveur IA (modération, word2vec, dictionnaire)
- Docker : Conteneurisation & Déploiement
- TypeScript : Langage de programmation apportant des types à JavaScript
- ESLint : Linter de code