Cette plateforme web permet de gérer, explorer et enrichir des ontologies OWL de manière collaborative. Initialement développée autour d'une ontologie des véhicules autonomes, elle peut accueillir tout type d'ontologie RDF.
- Visualisation graphique des classes et individus RDF
- Ajout et édition d’individus
- Système de commentaires et de discussion sur chaque ressource
- Gestion des organisations, groupes de travail et droits d’accès
- Authentification sécurisée (JWT)
- Backend en NestJS / Frontend en React / Base RDF via Fuseki (SPARQL)
- Node.js ≥ 22.x
- Yarn
- Docker + Docker Compose
- Clonez le projet :
git clone https://github.com/votre-repo/plateforme-ontologie.git
cd plateforme-ontologie- Installez les dépendances :
yarn install # à la racine
cd frontend && yarn install
cd ../backend && yarn installL'application utilise des variables d'environnement pour se configurer.
-
Copiez le fichier d'exemple :
cp .env.example .env
-
Modifiez le fichier
.envà la racine du projet selon vos besoins. Les valeurs par défaut sont généralement suffisantes pour un lancement local avec Docker.FUSEKI_URL: L'URL complète du dataset Fuseki. Par défauthttp://fuseki:3030/autonomypour que le backend (dans Docker) puisse communiquer avec le servicefuseki. Si vous lancez le backend localement (hors Docker), utilisezhttp://localhost:3030/autonomy.FUSEKI_USER/FUSEKI_PASSWORD: Identifiants pour que le backend puisse écrire dans Fuseki. Doivent correspondre à ceux defuseki_data/shiro.ini.JWT_SECRET: Clé secrète pour signer les tokens d'authentification.VITE_API_BASE_URL: URL du backend, utilisée par le frontend.
fuseki_data
🪟 Utilisateurs Windows : Docker Desktop doit fonctionner avec le noyau Linux (WSL 2).
Assurez-vous d’avoir activé WSL 2 puis basculé Docker en mode Linux avant de lancer les conteneurs.wsl --install # Installe WSL si besoin (redémarrage possible) wsl --set-default-version 2 # Force l’utilisation de WSL 2 & "C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchLinuxEngineAprès ces commandes, Docker redémarre en mode Linux et peut exécuter
docker composecorrectement.
Depuis la racine du projet :
docker compose up -d fusekiOU pour lancer les 3 serveurs ensemble dans le même Docker :
docker compose upAccédez ensuite à l’interface : http://localhost:3030
- Utilisateur :
admin - Mot de passe :
Pass123
⚠️ Ces identifiants peuvent être modifiés dans la config, puis reconstruits.
- Cliquez sur “Add new dataset”
- Nom :
autonomy(obligatoire) - Importez le fichier
./ontology/core.ttl
yarn dev# Terminal 1
cd frontend && yarn dev # http://localhost:5173
# Terminal 2
cd backend && yarn start:dev # http://localhost:4000Créez un compte avec l’e-mail exact :
superadmin@admin.com
Cela vous donnera automatiquement les droits super admin (gestion des organisations, utilisateurs, etc.).
✏️ Ce mail peut être modifié dans
backend/src/auth/auth.service.ts
auth/→ Authentification (JWT, login, vérification)ontology/→ Interactions SPARQL, gestion RDFapp.module.ts→ Déclaration des modules
Chaque dossier contient :
controller.ts→ Gère les routesservice.ts→ Logique métiermodule.ts→ Dépendances
pages/→ Pages principales (HomePage,GroupsPage, etc.)components/→ Composants réutilisables (formulaires, accordéons…)auth/→ Login, contexte utilisateur, gestion du tokenlib/→ Fonctions utilitairesstyle/→ Fichiers CSS ou Tailwind
Fichier principal : App.tsx (routing, layout global)
- Format : OWL, RDF/XML, TTL
- L’IRI principal doit être unique dans chaque fichier
- Import possible via l’interface super admin
Pour toute question ou contribution, contactez l'équipe développement ou créez une issue sur le dépôt GitLab.