From 788d714bb0bf425a2fe190622d0dbb805fa994ce Mon Sep 17 00:00:00 2001 From: klemens Date: Thu, 22 Oct 2026 00:45:48 +0200 Subject: [PATCH] feat: integrate all real Nginx Proxy Manager domains (v4.0.0) Co-authored-by: Cursor --- data/data.json | 394 +++++++++++++++++++++++++-------------- src/data/initial-data.ts | 394 +++++++++++++++++++++++++-------------- 2 files changed, 510 insertions(+), 278 deletions(-) diff --git a/data/data.json b/data/data.json index b1042a5..7dec9fa 100644 --- a/data/data.json +++ b/data/data.json @@ -1,5 +1,5 @@ { - "version": "3.0.0", + "version": "4.0.0", "dockTileIds": [ "nextcloud", "dockge", @@ -8,12 +8,12 @@ "open-webui", "vaultwarden" ], - "quickNote": "Bienvenue sur Home OS (*.lafabriquedesgenies.be). Cliquez sur « Éditer » pour ajuster n'importe quelle URL ou sous-domaine à la volée.", + "quickNote": "Bienvenue sur Home OS. Tous les sous-domaines Nginx Proxy Manager (*.lafabriquedesgenies.be, creaprof.be, lastminute-activities.com) sont synchronisés.", "categories": [ { "id": "infrastructure", "name": "Infrastructure & Serveur", - "subtitle": "Administration système, conteneurs Docker, sauvegardes & réseau", + "subtitle": "Administration système, Docker, Proxy SSL, Zigbee & Réseau", "icon": "Server", "tabs": [ { @@ -23,7 +23,7 @@ { "id": "dockge", "title": "Dockge", - "description": "Gestionnaire Docker Compose", + "description": "Gestionnaire de stacks Docker Compose", "url": "https://dockge.lafabriquedesgenies.be", "icon": "Terminal", "size": "2x1", @@ -43,21 +43,21 @@ "openBehavior": "external" }, { - "id": "duplicati", - "title": "Duplicati", - "description": "Sauvegardes du serveur", - "url": "https://backup.lafabriquedesgenies.be", - "icon": "Archive", + "id": "admin-db", + "title": "Admin / Base SQL", + "description": "Administration & Gestionnaire SQL (admin)", + "url": "https://admin.lafabriquedesgenies.be", + "icon": "Database", "size": "1x1", - "badge": "Backup", - "accentColor": "sky", + "badge": "Admin", + "accentColor": "amber", "openBehavior": "external" }, { "id": "speedtest", "title": "Speedtest", - "description": "Surveillance débit réseau", - "url": "https://speedtest.lafabriquedesgenies.be", + "description": "Surveillance débit réseau (speed)", + "url": "https://speed.lafabriquedesgenies.be", "icon": "Activity", "size": "1x1", "badge": "Réseau", @@ -65,35 +65,35 @@ "openBehavior": "external" }, { - "id": "adminer", - "title": "Adminer", - "description": "Gestionnaire bases SQL", - "url": "https://db.lafabriquedesgenies.be", - "icon": "Database", + "id": "zigbee2mqtt", + "title": "Zigbee2MQTT", + "description": "Pont Zigbee & appareils connectés", + "url": "https://zigbee.lafabriquedesgenies.be", + "icon": "Radar", "size": "1x1", - "badge": "SQL", + "badge": "Zigbee", "accentColor": "amber", "openBehavior": "external" }, { - "id": "adguard-home", - "title": "AdGuard Home", - "description": "Filtrage DNS & Antipub", - "url": "https://adguard.lafabriquedesgenies.be", - "icon": "ShieldCheck", + "id": "home-portal", + "title": "Home / Domotique", + "description": "Portail Home / Home Assistant (home)", + "url": "https://home.lafabriquedesgenies.be", + "icon": "Home", "size": "1x1", - "badge": "DNS", - "accentColor": "teal", + "badge": "Home", + "accentColor": "sky", "openBehavior": "external" }, { - "id": "watchtower", - "title": "Watchtower", - "description": "Mises à jour automatiques", - "url": "https://dockge.lafabriquedesgenies.be", - "icon": "RefreshCw", + "id": "start-portal", + "title": "Start Portal", + "description": "Page d'accueil Start (start)", + "url": "https://start.lafabriquedesgenies.be", + "icon": "LayoutGrid", "size": "1x1", - "badge": "Daemon Auto", + "badge": "Portail", "accentColor": "violet", "openBehavior": "external" } @@ -103,19 +103,19 @@ }, { "id": "private-security", - "name": "Privé & Sécurité", - "subtitle": "Cloud personnel, mots de passe, documents, notes & domotique", + "name": "Privé & Bureautique", + "subtitle": "Nextcloud (Word/Excel), Google Docs/Drive, Coffre-fort, PDF & Notes", "icon": "ShieldCheck", "tabs": [ { "id": "private-main", - "label": "Espace Privé", + "label": "Cloud & Sécurité", "tiles": [ { "id": "nextcloud", "title": "Nextcloud", - "description": "Fichiers & Drive Cloud", - "url": "https://nc.lafabriquedesgenies.be", + "description": "Fichiers, Drive Cloud & Bureautique Word/Excel (cloud)", + "url": "https://cloud.lafabriquedesgenies.be", "icon": "Cloud", "size": "2x1", "badge": "Cloud", @@ -125,7 +125,7 @@ { "id": "vaultwarden", "title": "Vaultwarden", - "description": "Gestionnaire de mots de passe", + "description": "Gestionnaire de mots de passe chiffré", "url": "https://vault.lafabriquedesgenies.be", "icon": "Key", "size": "1x1", @@ -133,28 +133,6 @@ "accentColor": "amber", "openBehavior": "external" }, - { - "id": "paperless-ngx", - "title": "Paperless-ngx", - "description": "GED & Archivage intelligent", - "url": "https://paperless.lafabriquedesgenies.be", - "icon": "FileText", - "size": "1x1", - "badge": "GED", - "accentColor": "emerald", - "openBehavior": "external" - }, - { - "id": "wikijs", - "title": "Wiki.js", - "description": "Base de connaissances & notes", - "url": "https://wiki.lafabriquedesgenies.be", - "icon": "BookOpen", - "size": "1x1", - "badge": "Wiki", - "accentColor": "indigo", - "openBehavior": "external" - }, { "id": "stirling-pdf", "title": "Stirling PDF", @@ -167,15 +145,59 @@ "openBehavior": "external" }, { - "id": "home-assistant", - "title": "Home Assistant", - "description": "Domotique de la maison", - "url": "https://hass.lafabriquedesgenies.be", - "icon": "Home", - "size": "2x1", - "badge": "Domotique", - "accentColor": "cyan", + "id": "wikijs", + "title": "Wiki.js", + "description": "Base de connaissances & documentation", + "url": "https://wiki.lafabriquedesgenies.be", + "icon": "BookOpen", + "size": "1x1", + "badge": "Wiki", + "accentColor": "indigo", "openBehavior": "external" + }, + { + "id": "paperless-ai", + "title": "Paperless AI", + "description": "GED & Archivage intelligent assisté par IA", + "url": "https://paperless-ai.lafabriquedesgenies.be", + "icon": "FileText", + "size": "1x1", + "badge": "GED IA", + "accentColor": "emerald", + "openBehavior": "external" + }, + { + "id": "matrix", + "title": "Matrix", + "description": "Messagerie instantanée fédérée & chiffrée", + "url": "https://matrix.lafabriquedesgenies.be", + "icon": "Mail", + "size": "1x1", + "badge": "Chat", + "accentColor": "teal", + "openBehavior": "external" + }, + { + "id": "google-docs", + "title": "Google Docs", + "description": "Travaux d'école et rédaction collaborative", + "url": "https://docs.google.com", + "icon": "FileSpreadsheet", + "size": "1x1", + "badge": "École", + "accentColor": "blue", + "openBehavior": "popup" + }, + { + "id": "google-drive", + "title": "Google Drive", + "description": "Stockage des cours et fichiers scolaires", + "url": "https://drive.google.com", + "icon": "HardDrive", + "size": "1x1", + "badge": "Drive", + "accentColor": "amber", + "openBehavior": "popup" } ] } @@ -184,7 +206,7 @@ { "id": "multimedia", "name": "Multimédia & Médias", - "subtitle": "Streaming vidéo, livres audio, musique & téléchargements", + "subtitle": "Jellyfin (media), Audiobookshelf (book), Sonarr, Radarr (radar) & Torrent (bit)", "icon": "Film", "tabs": [ { @@ -193,9 +215,9 @@ "tiles": [ { "id": "jellyfin", - "title": "Jellyfin", - "description": "Streaming Films & Séries", - "url": "https://jellyfin.lafabriquedesgenies.be", + "title": "Jellyfin (Media)", + "description": "Streaming Films, Séries & Médias", + "url": "https://media.lafabriquedesgenies.be", "icon": "Film", "size": "2x1", "badge": "Streaming", @@ -205,8 +227,8 @@ { "id": "audiobookshelf", "title": "Audiobookshelf", - "description": "Livres audio & Podcasts", - "url": "https://audiobookshelf.lafabriquedesgenies.be", + "description": "Livres audio & Podcasts (book)", + "url": "https://book.lafabriquedesgenies.be", "icon": "Headphones", "size": "1x1", "badge": "Audio", @@ -216,7 +238,7 @@ { "id": "sonarr", "title": "Sonarr", - "description": "Suivi & gestion des séries", + "description": "Suivi & gestion automatique des séries", "url": "https://sonarr.lafabriquedesgenies.be", "icon": "Tv", "size": "1x1", @@ -227,8 +249,8 @@ { "id": "radarr", "title": "Radarr", - "description": "Suivi & gestion des films", - "url": "https://radarr.lafabriquedesgenies.be", + "description": "Suivi & gestion automatique des films (radar)", + "url": "https://radar.lafabriquedesgenies.be", "icon": "Video", "size": "1x1", "badge": "Films", @@ -238,35 +260,13 @@ { "id": "qbittorrent", "title": "qBittorrent", - "description": "Téléchargements VPN (Gluetun)", - "url": "https://torrent.lafabriquedesgenies.be", + "description": "Téléchargements BitTorrent VPN (bit)", + "url": "https://bit.lafabriquedesgenies.be", "icon": "DownloadCloud", - "size": "1x1", - "badge": "VPN Gluetun", + "size": "2x1", + "badge": "Torrent VPN", "accentColor": "blue", "openBehavior": "external" - }, - { - "id": "deemix", - "title": "Deemix", - "description": "Téléchargement Musique", - "url": "https://deemix.lafabriquedesgenies.be", - "icon": "Music", - "size": "1x1", - "badge": "Musique", - "accentColor": "pink", - "openBehavior": "external" - }, - { - "id": "sabnzbd", - "title": "SABnzbd", - "description": "Client Usenet", - "url": "https://sabnzbd.lafabriquedesgenies.be", - "icon": "HardDriveDownload", - "size": "1x1", - "badge": "Usenet", - "accentColor": "emerald", - "openBehavior": "external" } ] } @@ -275,17 +275,17 @@ { "id": "projects-work", "name": "Projets & Travail", - "subtitle": "Forge Git, applications La Fabrique des Génies & outils métiers", + "subtitle": "Gitea, Écosystème pédagogique, CreaProf, Ubicraft & Last Minute Activities", "icon": "Briefcase", "tabs": [ { - "id": "work-main", - "label": "Applications & Projets", + "id": "work-apps", + "label": "Projets & Écoles", "tiles": [ { "id": "gitea", "title": "Gitea", - "description": "Dépôts de code Git", + "description": "Serveur Git & dépôts de code", "url": "https://git.lafabriquedesgenies.be", "icon": "GitBranch", "size": "2x1", @@ -294,9 +294,9 @@ "openBehavior": "external" }, { - "id": "wordpress-lafabrique", - "title": "WordPress La Fabrique", - "description": "Site officiel La Fabrique", + "id": "lafabrique-site", + "title": "La Fabrique des Génies", + "description": "Site principal lafabriquedesgenies.be", "url": "https://lafabriquedesgenies.be", "icon": "Globe", "size": "1x1", @@ -305,58 +305,141 @@ "openBehavior": "external" }, { - "id": "teacher-app", - "title": "Teacher App", - "description": "Plateforme pédagogique", - "url": "https://teacher.lafabriquedesgenies.be", + "id": "cours-platform", + "title": "Plateforme Cours", + "description": "Espace de cours et supports pédagogiques", + "url": "https://cours.lafabriquedesgenies.be", "icon": "GraduationCap", "size": "1x1", - "badge": "Pédagogie", + "badge": "Cours", "accentColor": "indigo", "openBehavior": "external" }, + { + "id": "teacher-app", + "title": "Teacher App", + "description": "Application enseignant", + "url": "https://teacher.lafabriquedesgenies.be", + "icon": "BookOpen", + "size": "1x1", + "badge": "Teacher", + "accentColor": "violet", + "openBehavior": "external" + }, + { + "id": "teacher-cockpit", + "title": "Teacher Cockpit", + "description": "Tableau de bord & archives Cockpit", + "url": "https://cockpit.lafabriquedesgenies.be", + "icon": "Cpu", + "size": "1x1", + "badge": "Cockpit", + "accentColor": "sky", + "openBehavior": "external" + }, { "id": "creaprof", "title": "CreaProf", - "description": "Outil création enseignant", - "url": "https://creaprof.lafabriquedesgenies.be", + "description": "Outil de création pédagogique (creaprof.be)", + "url": "https://creaprof.be", "icon": "PenTool", "size": "1x1", - "badge": "Création", - "accentColor": "violet", + "badge": "CreaProf", + "accentColor": "purple", "openBehavior": "external" }, { - "id": "ubicraft", - "title": "Ubicraft", - "description": "Application métier", + "id": "ubicraft-main", + "title": "Ubicraft (La Fabrique)", + "description": "Instance Ubicraft sur lafabriquedesgenies.be", "url": "https://ubicraft.lafabriquedesgenies.be", "icon": "LayoutGrid", "size": "1x1", - "badge": "Métier", + "badge": "Ubicraft", "accentColor": "cyan", "openBehavior": "external" }, { - "id": "lma-v2", - "title": "LMA V2", - "description": "Plateforme Last Minute Activities", - "url": "https://lma.lafabriquedesgenies.be", - "icon": "Briefcase", + "id": "ubicraft-creaprof", + "title": "Ubicraft (CreaProf)", + "description": "Instance Ubicraft sur ubicraft.creaprof.be", + "url": "https://ubicraft.creaprof.be", + "icon": "LayoutGrid", "size": "1x1", - "badge": "LMA", - "accentColor": "amber", + "badge": "CreaProf", + "accentColor": "teal", "openBehavior": "external" }, { "id": "coo-app", "title": "Coo App", - "description": "Application de gestion", + "description": "Application de gestion Coo", "url": "https://coo.lafabriquedesgenies.be", "icon": "Layers", "size": "1x1", - "badge": "Gestion", - "accentColor": "teal", + "badge": "Coo", + "accentColor": "emerald", + "openBehavior": "external" + }, + { + "id": "mottet-connect", + "title": "Mottet Connect", + "description": "Portail Mottet Connect", + "url": "https://mottet.lafabriquedesgenies.be", + "icon": "Network", + "size": "1x1", + "badge": "Mottet", + "accentColor": "amber", + "openBehavior": "external" + } + ] + }, + { + "id": "lma-sites", + "label": "Last Minute Activities", + "tiles": [ + { + "id": "lma-global", + "title": "Last Minute Activities (Global)", + "description": "Portail principal www.lastminute-activities.com", + "url": "https://lastminute-activities.com", + "icon": "Globe", + "size": "2x1", + "badge": "Principal", + "accentColor": "amber", + "openBehavior": "external" + }, + { + "id": "lma-fr", + "title": "LMA — Français", + "description": "Version francophone (fr.lastminute-activities.com)", + "url": "https://fr.lastminute-activities.com", + "icon": "Briefcase", + "size": "1x1", + "badge": "FR", + "accentColor": "blue", + "openBehavior": "external" + }, + { + "id": "lma-nl", + "title": "LMA — Nederlands", + "description": "Version néerlandophone (nl.lastminute-activities.com)", + "url": "https://nl.lastminute-activities.com", + "icon": "Briefcase", + "size": "1x1", + "badge": "NL", + "accentColor": "amber", + "openBehavior": "external" + }, + { + "id": "lma-en", + "title": "LMA — English", + "description": "Version anglophone (en.lastminute-activities.com)", + "url": "https://en.lastminute-activities.com", + "icon": "Briefcase", + "size": "1x1", + "badge": "EN", + "accentColor": "emerald", "openBehavior": "external" } ] @@ -366,17 +449,17 @@ { "id": "ai", "name": "Intelligence Artificielle", - "subtitle": "Modèles LLM auto-hébergés & Assistant Google Gemini intégré", + "subtitle": "Open WebUI, AIE, OpenClaw, Paperless AI & Google Gemini", "icon": "Sparkles", "tabs": [ { "id": "ai-main", - "label": "Assistants IA", + "label": "Plateformes IA & Agents", "tiles": [ { "id": "open-webui", - "title": "Open WebUI", - "description": "Interface modèles LLM", + "title": "Open WebUI (AI)", + "description": "Interface principale des modèles LLM", "url": "https://ai.lafabriquedesgenies.be", "icon": "Bot", "size": "2x1", @@ -384,13 +467,46 @@ "accentColor": "emerald", "openBehavior": "external" }, + { + "id": "aie-platform", + "title": "AIE", + "description": "Service IA dédié (aie.lafabriquedesgenies.be)", + "url": "https://aie.lafabriquedesgenies.be", + "icon": "Sparkles", + "size": "1x1", + "badge": "AIE", + "accentColor": "violet", + "openBehavior": "external" + }, + { + "id": "opencclaw", + "title": "OpenClaw", + "description": "Agent autonome OpenClaw", + "url": "https://opencclaw.lafabriquedesgenies.be", + "icon": "Cpu", + "size": "1x1", + "badge": "Agent", + "accentColor": "cyan", + "openBehavior": "external" + }, + { + "id": "paperless-ai-shortcut", + "title": "Paperless AI", + "description": "Analyse documentaire assistée par IA", + "url": "https://paperless-ai.lafabriquedesgenies.be", + "icon": "FileText", + "size": "1x1", + "badge": "Docs IA", + "accentColor": "teal", + "openBehavior": "external" + }, { "id": "google-gemini", "title": "Google Gemini", - "description": "Assistant IA intégré", + "description": "Assistant IA intégré dans l'Omnibox Home OS", "url": "#gemini", "icon": "Sparkles", - "size": "2x1", + "size": "1x1", "badge": "Omnibox IA", "accentColor": "blue", "openBehavior": "external" diff --git a/src/data/initial-data.ts b/src/data/initial-data.ts index 67c1070..b630b43 100644 --- a/src/data/initial-data.ts +++ b/src/data/initial-data.ts @@ -1,7 +1,7 @@ import { DashboardData } from "@/types/dashboard"; export const initialDashboardData: DashboardData = { - version: "3.0.0", + version: "4.0.0", dockTileIds: [ "nextcloud", "dockge", @@ -11,12 +11,12 @@ export const initialDashboardData: DashboardData = { "vaultwarden", ], quickNote: - "Bienvenue sur Home OS (*.lafabriquedesgenies.be). Cliquez sur « Éditer » pour ajuster n'importe quelle URL ou sous-domaine à la volée.", + "Bienvenue sur Home OS. Tous les sous-domaines Nginx Proxy Manager (*.lafabriquedesgenies.be, creaprof.be, lastminute-activities.com) sont synchronisés.", categories: [ { id: "infrastructure", name: "Infrastructure & Serveur", - subtitle: "Administration système, conteneurs Docker, sauvegardes & réseau", + subtitle: "Administration système, Docker, Proxy SSL, Zigbee & Réseau", icon: "Server", tabs: [ { @@ -26,7 +26,7 @@ export const initialDashboardData: DashboardData = { { id: "dockge", title: "Dockge", - description: "Gestionnaire Docker Compose", + description: "Gestionnaire de stacks Docker Compose", url: "https://dockge.lafabriquedesgenies.be", icon: "Terminal", size: "2x1", @@ -46,21 +46,21 @@ export const initialDashboardData: DashboardData = { openBehavior: "external", }, { - id: "duplicati", - title: "Duplicati", - description: "Sauvegardes du serveur", - url: "https://backup.lafabriquedesgenies.be", - icon: "Archive", + id: "admin-db", + title: "Admin / Base SQL", + description: "Administration & Gestionnaire SQL (admin)", + url: "https://admin.lafabriquedesgenies.be", + icon: "Database", size: "1x1", - badge: "Backup", - accentColor: "sky", + badge: "Admin", + accentColor: "amber", openBehavior: "external", }, { id: "speedtest", title: "Speedtest", - description: "Surveillance débit réseau", - url: "https://speedtest.lafabriquedesgenies.be", + description: "Surveillance débit réseau (speed)", + url: "https://speed.lafabriquedesgenies.be", icon: "Activity", size: "1x1", badge: "Réseau", @@ -68,35 +68,35 @@ export const initialDashboardData: DashboardData = { openBehavior: "external", }, { - id: "adminer", - title: "Adminer", - description: "Gestionnaire bases SQL", - url: "https://db.lafabriquedesgenies.be", - icon: "Database", + id: "zigbee2mqtt", + title: "Zigbee2MQTT", + description: "Pont Zigbee & appareils connectés", + url: "https://zigbee.lafabriquedesgenies.be", + icon: "Radar", size: "1x1", - badge: "SQL", + badge: "Zigbee", accentColor: "amber", openBehavior: "external", }, { - id: "adguard-home", - title: "AdGuard Home", - description: "Filtrage DNS & Antipub", - url: "https://adguard.lafabriquedesgenies.be", - icon: "ShieldCheck", + id: "home-portal", + title: "Home / Domotique", + description: "Portail Home / Home Assistant (home)", + url: "https://home.lafabriquedesgenies.be", + icon: "Home", size: "1x1", - badge: "DNS", - accentColor: "teal", + badge: "Home", + accentColor: "sky", openBehavior: "external", }, { - id: "watchtower", - title: "Watchtower", - description: "Mises à jour automatiques", - url: "https://dockge.lafabriquedesgenies.be", - icon: "RefreshCw", + id: "start-portal", + title: "Start Portal", + description: "Page d'accueil Start (start)", + url: "https://start.lafabriquedesgenies.be", + icon: "LayoutGrid", size: "1x1", - badge: "Daemon Auto", + badge: "Portail", accentColor: "violet", openBehavior: "external", }, @@ -106,19 +106,19 @@ export const initialDashboardData: DashboardData = { }, { id: "private-security", - name: "Privé & Sécurité", - subtitle: "Cloud personnel, mots de passe, documents, notes & domotique", + name: "Privé & Bureautique", + subtitle: "Nextcloud (Word/Excel), Google Docs/Drive, Coffre-fort, PDF & Notes", icon: "ShieldCheck", tabs: [ { id: "private-main", - label: "Espace Privé", + label: "Cloud & Sécurité", tiles: [ { id: "nextcloud", title: "Nextcloud", - description: "Fichiers & Drive Cloud", - url: "https://nc.lafabriquedesgenies.be", + description: "Fichiers, Drive Cloud & Bureautique Word/Excel (cloud)", + url: "https://cloud.lafabriquedesgenies.be", icon: "Cloud", size: "2x1", badge: "Cloud", @@ -128,7 +128,7 @@ export const initialDashboardData: DashboardData = { { id: "vaultwarden", title: "Vaultwarden", - description: "Gestionnaire de mots de passe", + description: "Gestionnaire de mots de passe chiffré", url: "https://vault.lafabriquedesgenies.be", icon: "Key", size: "1x1", @@ -136,28 +136,6 @@ export const initialDashboardData: DashboardData = { accentColor: "amber", openBehavior: "external", }, - { - id: "paperless-ngx", - title: "Paperless-ngx", - description: "GED & Archivage intelligent", - url: "https://paperless.lafabriquedesgenies.be", - icon: "FileText", - size: "1x1", - badge: "GED", - accentColor: "emerald", - openBehavior: "external", - }, - { - id: "wikijs", - title: "Wiki.js", - description: "Base de connaissances & notes", - url: "https://wiki.lafabriquedesgenies.be", - icon: "BookOpen", - size: "1x1", - badge: "Wiki", - accentColor: "indigo", - openBehavior: "external", - }, { id: "stirling-pdf", title: "Stirling PDF", @@ -170,16 +148,60 @@ export const initialDashboardData: DashboardData = { openBehavior: "external", }, { - id: "home-assistant", - title: "Home Assistant", - description: "Domotique de la maison", - url: "https://hass.lafabriquedesgenies.be", - icon: "Home", - size: "2x1", - badge: "Domotique", - accentColor: "cyan", + id: "wikijs", + title: "Wiki.js", + description: "Base de connaissances & documentation", + url: "https://wiki.lafabriquedesgenies.be", + icon: "BookOpen", + size: "1x1", + badge: "Wiki", + accentColor: "indigo", openBehavior: "external", }, + { + id: "paperless-ai", + title: "Paperless AI", + description: "GED & Archivage intelligent assisté par IA", + url: "https://paperless-ai.lafabriquedesgenies.be", + icon: "FileText", + size: "1x1", + badge: "GED IA", + accentColor: "emerald", + openBehavior: "external", + }, + { + id: "matrix", + title: "Matrix", + description: "Messagerie instantanée fédérée & chiffrée", + url: "https://matrix.lafabriquedesgenies.be", + icon: "Mail", + size: "1x1", + badge: "Chat", + accentColor: "teal", + openBehavior: "external", + }, + { + id: "google-docs", + title: "Google Docs", + description: "Travaux d'école et rédaction collaborative", + url: "https://docs.google.com", + icon: "FileSpreadsheet", + size: "1x1", + badge: "École", + accentColor: "blue", + openBehavior: "popup", + }, + { + id: "google-drive", + title: "Google Drive", + description: "Stockage des cours et fichiers scolaires", + url: "https://drive.google.com", + icon: "HardDrive", + size: "1x1", + badge: "Drive", + accentColor: "amber", + openBehavior: "popup", + }, ], }, ], @@ -187,7 +209,7 @@ export const initialDashboardData: DashboardData = { { id: "multimedia", name: "Multimédia & Médias", - subtitle: "Streaming vidéo, livres audio, musique & téléchargements", + subtitle: "Jellyfin (media), Audiobookshelf (book), Sonarr, Radarr (radar) & Torrent (bit)", icon: "Film", tabs: [ { @@ -196,9 +218,9 @@ export const initialDashboardData: DashboardData = { tiles: [ { id: "jellyfin", - title: "Jellyfin", - description: "Streaming Films & Séries", - url: "https://jellyfin.lafabriquedesgenies.be", + title: "Jellyfin (Media)", + description: "Streaming Films, Séries & Médias", + url: "https://media.lafabriquedesgenies.be", icon: "Film", size: "2x1", badge: "Streaming", @@ -208,8 +230,8 @@ export const initialDashboardData: DashboardData = { { id: "audiobookshelf", title: "Audiobookshelf", - description: "Livres audio & Podcasts", - url: "https://audiobookshelf.lafabriquedesgenies.be", + description: "Livres audio & Podcasts (book)", + url: "https://book.lafabriquedesgenies.be", icon: "Headphones", size: "1x1", badge: "Audio", @@ -219,7 +241,7 @@ export const initialDashboardData: DashboardData = { { id: "sonarr", title: "Sonarr", - description: "Suivi & gestion des séries", + description: "Suivi & gestion automatique des séries", url: "https://sonarr.lafabriquedesgenies.be", icon: "Tv", size: "1x1", @@ -230,8 +252,8 @@ export const initialDashboardData: DashboardData = { { id: "radarr", title: "Radarr", - description: "Suivi & gestion des films", - url: "https://radarr.lafabriquedesgenies.be", + description: "Suivi & gestion automatique des films (radar)", + url: "https://radar.lafabriquedesgenies.be", icon: "Video", size: "1x1", badge: "Films", @@ -241,36 +263,14 @@ export const initialDashboardData: DashboardData = { { id: "qbittorrent", title: "qBittorrent", - description: "Téléchargements VPN (Gluetun)", - url: "https://torrent.lafabriquedesgenies.be", + description: "Téléchargements BitTorrent VPN (bit)", + url: "https://bit.lafabriquedesgenies.be", icon: "DownloadCloud", - size: "1x1", - badge: "VPN Gluetun", + size: "2x1", + badge: "Torrent VPN", accentColor: "blue", openBehavior: "external", }, - { - id: "deemix", - title: "Deemix", - description: "Téléchargement Musique", - url: "https://deemix.lafabriquedesgenies.be", - icon: "Music", - size: "1x1", - badge: "Musique", - accentColor: "pink", - openBehavior: "external", - }, - { - id: "sabnzbd", - title: "SABnzbd", - description: "Client Usenet", - url: "https://sabnzbd.lafabriquedesgenies.be", - icon: "HardDriveDownload", - size: "1x1", - badge: "Usenet", - accentColor: "emerald", - openBehavior: "external", - }, ], }, ], @@ -278,17 +278,17 @@ export const initialDashboardData: DashboardData = { { id: "projects-work", name: "Projets & Travail", - subtitle: "Forge Git, applications La Fabrique des Génies & outils métiers", + subtitle: "Gitea, Écosystème pédagogique, CreaProf, Ubicraft & Last Minute Activities", icon: "Briefcase", tabs: [ { - id: "work-main", - label: "Applications & Projets", + id: "work-apps", + label: "Projets & Écoles", tiles: [ { id: "gitea", title: "Gitea", - description: "Dépôts de code Git", + description: "Serveur Git & dépôts de code", url: "https://git.lafabriquedesgenies.be", icon: "GitBranch", size: "2x1", @@ -297,9 +297,9 @@ export const initialDashboardData: DashboardData = { openBehavior: "external", }, { - id: "wordpress-lafabrique", - title: "WordPress La Fabrique", - description: "Site officiel La Fabrique", + id: "lafabrique-site", + title: "La Fabrique des Génies", + description: "Site principal lafabriquedesgenies.be", url: "https://lafabriquedesgenies.be", icon: "Globe", size: "1x1", @@ -308,58 +308,141 @@ export const initialDashboardData: DashboardData = { openBehavior: "external", }, { - id: "teacher-app", - title: "Teacher App", - description: "Plateforme pédagogique", - url: "https://teacher.lafabriquedesgenies.be", + id: "cours-platform", + title: "Plateforme Cours", + description: "Espace de cours et supports pédagogiques", + url: "https://cours.lafabriquedesgenies.be", icon: "GraduationCap", size: "1x1", - badge: "Pédagogie", + badge: "Cours", accentColor: "indigo", openBehavior: "external", }, + { + id: "teacher-app", + title: "Teacher App", + description: "Application enseignant", + url: "https://teacher.lafabriquedesgenies.be", + icon: "BookOpen", + size: "1x1", + badge: "Teacher", + accentColor: "violet", + openBehavior: "external", + }, + { + id: "teacher-cockpit", + title: "Teacher Cockpit", + description: "Tableau de bord & archives Cockpit", + url: "https://cockpit.lafabriquedesgenies.be", + icon: "Cpu", + size: "1x1", + badge: "Cockpit", + accentColor: "sky", + openBehavior: "external", + }, { id: "creaprof", title: "CreaProf", - description: "Outil création enseignant", - url: "https://creaprof.lafabriquedesgenies.be", + description: "Outil de création pédagogique (creaprof.be)", + url: "https://creaprof.be", icon: "PenTool", size: "1x1", - badge: "Création", - accentColor: "violet", + badge: "CreaProf", + accentColor: "purple", openBehavior: "external", }, { - id: "ubicraft", - title: "Ubicraft", - description: "Application métier", + id: "ubicraft-main", + title: "Ubicraft (La Fabrique)", + description: "Instance Ubicraft sur lafabriquedesgenies.be", url: "https://ubicraft.lafabriquedesgenies.be", icon: "LayoutGrid", size: "1x1", - badge: "Métier", + badge: "Ubicraft", accentColor: "cyan", openBehavior: "external", }, { - id: "lma-v2", - title: "LMA V2", - description: "Plateforme Last Minute Activities", - url: "https://lma.lafabriquedesgenies.be", - icon: "Briefcase", + id: "ubicraft-creaprof", + title: "Ubicraft (CreaProf)", + description: "Instance Ubicraft sur ubicraft.creaprof.be", + url: "https://ubicraft.creaprof.be", + icon: "LayoutGrid", size: "1x1", - badge: "LMA", - accentColor: "amber", + badge: "CreaProf", + accentColor: "teal", openBehavior: "external", }, { id: "coo-app", title: "Coo App", - description: "Application de gestion", + description: "Application de gestion Coo", url: "https://coo.lafabriquedesgenies.be", icon: "Layers", size: "1x1", - badge: "Gestion", - accentColor: "teal", + badge: "Coo", + accentColor: "emerald", + openBehavior: "external", + }, + { + id: "mottet-connect", + title: "Mottet Connect", + description: "Portail Mottet Connect", + url: "https://mottet.lafabriquedesgenies.be", + icon: "Network", + size: "1x1", + badge: "Mottet", + accentColor: "amber", + openBehavior: "external", + }, + ], + }, + { + id: "lma-sites", + label: "Last Minute Activities", + tiles: [ + { + id: "lma-global", + title: "Last Minute Activities (Global)", + description: "Portail principal www.lastminute-activities.com", + url: "https://lastminute-activities.com", + icon: "Globe", + size: "2x1", + badge: "Principal", + accentColor: "amber", + openBehavior: "external", + }, + { + id: "lma-fr", + title: "LMA — Français", + description: "Version francophone (fr.lastminute-activities.com)", + url: "https://fr.lastminute-activities.com", + icon: "Briefcase", + size: "1x1", + badge: "FR", + accentColor: "blue", + openBehavior: "external", + }, + { + id: "lma-nl", + title: "LMA — Nederlands", + description: "Version néerlandophone (nl.lastminute-activities.com)", + url: "https://nl.lastminute-activities.com", + icon: "Briefcase", + size: "1x1", + badge: "NL", + accentColor: "amber", + openBehavior: "external", + }, + { + id: "lma-en", + title: "LMA — English", + description: "Version anglophone (en.lastminute-activities.com)", + url: "https://en.lastminute-activities.com", + icon: "Briefcase", + size: "1x1", + badge: "EN", + accentColor: "emerald", openBehavior: "external", }, ], @@ -369,17 +452,17 @@ export const initialDashboardData: DashboardData = { { id: "ai", name: "Intelligence Artificielle", - subtitle: "Modèles LLM auto-hébergés & Assistant Google Gemini intégré", + subtitle: "Open WebUI, AIE, OpenClaw, Paperless AI & Google Gemini", icon: "Sparkles", tabs: [ { id: "ai-main", - label: "Assistants IA", + label: "Plateformes IA & Agents", tiles: [ { id: "open-webui", - title: "Open WebUI", - description: "Interface modèles LLM", + title: "Open WebUI (AI)", + description: "Interface principale des modèles LLM", url: "https://ai.lafabriquedesgenies.be", icon: "Bot", size: "2x1", @@ -387,13 +470,46 @@ export const initialDashboardData: DashboardData = { accentColor: "emerald", openBehavior: "external", }, + { + id: "aie-platform", + title: "AIE", + description: "Service IA dédié (aie.lafabriquedesgenies.be)", + url: "https://aie.lafabriquedesgenies.be", + icon: "Sparkles", + size: "1x1", + badge: "AIE", + accentColor: "violet", + openBehavior: "external", + }, + { + id: "opencclaw", + title: "OpenClaw", + description: "Agent autonome OpenClaw", + url: "https://opencclaw.lafabriquedesgenies.be", + icon: "Cpu", + size: "1x1", + badge: "Agent", + accentColor: "cyan", + openBehavior: "external", + }, + { + id: "paperless-ai-shortcut", + title: "Paperless AI", + description: "Analyse documentaire assistée par IA", + url: "https://paperless-ai.lafabriquedesgenies.be", + icon: "FileText", + size: "1x1", + badge: "Docs IA", + accentColor: "teal", + openBehavior: "external", + }, { id: "google-gemini", title: "Google Gemini", - description: "Assistant IA intégré", + description: "Assistant IA intégré dans l'Omnibox Home OS", url: "#gemini", icon: "Sparkles", - size: "2x1", + size: "1x1", badge: "Omnibox IA", accentColor: "blue", openBehavior: "external",