Manuel · 11
Changelog
1.3.0 (2026-10-16)
- Plus léger : types de champ et vues intégrés. IllusionDB ne charge plus de modules WASM – les types de champ, les vues et le téléchargement de documents font partie du programme. L’archive de version ne contient plus que le programme (auparavant environ 60 Mo de modules s’y ajoutaient), et le démarrage ne prend plus que quelques secondes au lieu d’environ 15. Les fonctions et les données enregistrées sont inchangées. Supprimés : les variables d’environnement
MODULES_DIR,VIEW_MODULES_DIRetENDPOINT_MODULES_DIR, le point de terminaisonGET /api/v1/moduleset le point de terminaison d’exempletable-summary. Le téléchargement de documents garde son adresse (/api/v1/endpoint-modules/documents/…). - Corrigé : la vue est conservée après une modification du schéma. Ajouter ou supprimer une colonne depuis une vue (p. ex. « Open tasks ») reste désormais dans cette vue au lieu de revenir à la vue par défaut de la table.
- Corrigé : sélection de liaison derrière la fenêtre. Dans la fenêtre d’une liaison n:m (p. ex. team dans projects), la liste d’ajout apparaissait derrière la fenêtre et n’était pas cliquable.
- Corrigé : bouton de suppression des images coupé. Le « × » pour retirer une image se trouve désormais dans le coin de la miniature et n’est plus coupé par le bord de la cellule.
- Champs JSON avec éditeur de code : les valeurs JSON se modifient désormais dans un éditeur multiligne avec coloration syntaxique – vérification à la saisie, formatage et enregistrement uniquement si le JSON est valide (grille, formulaire et « Nouvelle ligne »). Voir JSON.
- Corrigé : enregistrements enfants dans le formulaire. Au lieu du JSON brut, le formulaire affiche désormais un badge avec le nombre ; il ouvre le tableau des enregistrements enfants, un clic sur une ligne ouvre l’enregistrement.
- Corrigé : listes déroulantes coupées en bas. Les listes déroulantes (clés étrangères, libellés, liaisons) s’ouvrent vers le haut lorsqu’il n’y a pas assez de place en dessous – p. ex. dans la ligne « Nouvelle ligne » en bas – et adaptent leur hauteur à l’espace disponible.
- Corrigé : le nom du groupe sortait de l’écran. Dans les tableaux groupés, le nom du groupe reste désormais au bord gauche lors du défilement vers la droite.
- Corrigé : « Nouvelle ligne » sortait de l’écran. « + Nouvelle ligne » ainsi que les mentions « Fin de la liste » et « Chargement » sous le tableau restent eux aussi au bord gauche lors du défilement vers la droite.
- Corrigé : contenu visible à travers la première colonne fixée. En survolant une ligne tout en défilant vers la droite, les cellules situées dessous apparaissaient à travers la première colonne fixée (aussi dans « Nouvelle ligne »). La mise en évidence repose désormais sur un fond opaque.
- Maintenance et renforcement : la compilation utilise désormais Go 1.26.9 (correctifs actuels de la bibliothèque standard, notamment du serveur HTTP) ; dépendances mises à jour. Derrière un proxy inverse (
TRUST_PROXY_HEADERS=true), la limitation des connexions utilise la dernière entrée deX-Forwarded-For– celle que le proxy ajoute lui-même. Les fichiers absents sous/_app/renvoient 404. - Les champs issus d’autres tables suivent les droits de lecture : les champs lookup, rollup, liaisons et enregistrements enfants (et les formules qui les utilisent) sont masqués si l’appelant ne peut pas lire la table cible – y compris pour les visiteurs anonymes de tables publiques. Les clés étrangères vers de telles tables affichent l’ID brut. Voir Autorisations des tables.
- Sécuriser la configuration : nouvelle variable d’environnement facultative
SETUP_TOKEN– si elle est définie, la création du premier compte administrateur exige ce jeton. Voir Configuration. - Réponses de l’API hors du cache du navigateur : les réponses de l’API portent
Cache-Control: no-store; pièces jointes et miniatures exclues.
1.2.1 (2026-10-15)
- Interface allemande : « Datenquelle » : La barre latérale, les paramètres, la gestion des fichiers, le journal du schéma et la documentation de l’API utilisent désormais partout le terme allemand « Datenquelle » au lieu de « Data Source » – comme le manuel.
- Documentation de l’API : Les exemples de connexion et de compte utilisent l’adresse neutre
user@example.comau lieu d’un exemple allemand.
1.2.0 (2026-10-13)
- Première version stable : la phase bêta est terminée – à partir de cette version, IllusionDB ne porte plus le suffixe « -beta ». Sur le plan fonctionnel, 1.2.0 correspond à 1.1.9-beta plus la correction ci-dessous.
- Corrigé : champ texte dans une nouvelle ligne pas encore enregistrée : Dans la ligne sous « + Nouvelle ligne », les colonnes de texte n’acceptaient aucune saisie – tout ce qui était tapé était aussitôt effacé (date et nombre fonctionnaient). Cause : l’événement de saisie natif du champ texte atteignait la ligne en plus de l’événement propre au type de champ et vidait la valeur du brouillon. Seul l’événement propre au type de champ compte désormais.
1.1.9-beta (2026-10-10)
- Configuration avec deux cases à cocher : Le dialogue de configuration demande désormais s’il faut installer le manuel (par défaut : oui) et les données de démonstration (par défaut : non). La démo est une agence fictive « Brightline Studio » sous forme de source de données SQLite « Demo » avec tous les types de champs, toutes les vues, la médiathèque, un modèle de document, des scripts et des groupes – facile à supprimer ensuite. Si une option échoue, le compte reste (« Continuer sans »). Pour la première configuration via
ADMIN_EMAIL/ADMIN_PASSWORD, il existeINSTALL_MANUAL(par défauttrue) etINSTALL_DEMO(par défautfalse) ; les nouvelles instances ne créent plus le manuel au démarrage sans demander, les instances existantes restent inchangées. Voir Configuration initiale. - Seed de test
idbseed: Nouvel outil en ligne de commande (backend/cmd/idbseed) qui remplit une instance en cours d’exécution uniquement via l’API REST avec les données de démonstration, des comptes de test, un jeton d’API, un webhook et une table publique – idempotent, avec des vérifications à la fin. - Nouvelle apparence : IllusionDB utilise désormais le système de design commun des applications IllusionForge (IllusionUI) et ressemble à IllusionCMS – les mêmes couleurs en clair et en sombre (contraste vérifié selon WCAG AA), la barre latérale suit l’apparence choisie, les champs de code restent toujours sombres. Un choix clair/sombre enregistré est conservé.
- Dialogues et contrôles comme dans IllusionCMS : fenêtres, boutons, champs de saisie, menus et tableaux ont la même forme que dans le CMS. Les confirmations (par ex. avant une suppression) et les demandes de nom apparaissent dans un vrai dialogue au lieu d’une fenêtre du navigateur, les notifications en bas à droite ; dans un dialogue ouvert, la touche Tab reste dans le dialogue, Échap le ferme. Le sélecteur d’apparence se trouve sur la même ligne que la langue, en bas de la barre latérale.
- Langues de l’interface via IllusionUI : les traductions, les messages d’erreur du serveur ainsi que les formats de date et de nombre passent par le système de langues commun des applications IllusionForge ; les termes communs (Enregistrer, Annuler …) en proviennent. Le menu des langues avec drapeaux propose une entrée Langue du projet qui supprime à nouveau le choix personnel. Les modules de vue changent de langue immédiatement. Les choix de langue enregistrés sont conservés.
- Corrigé : Une colonne de numéro automatique apparaissait une seconde fois comme simple colonne numérique après chaque nouvelle modification de schéma de la même source de données.
- Corrigé : Les versions compilées sous Windows bloquaient leur propre script de démarrage (Content Security Policy) à cause des fins de ligne, l’interface restait vide.
- Corrigé : Les cellules de pièces jointes demandaient brièvement des miniatures à une adresse incomplète pendant leur construction (erreurs 400/404 dans la console du navigateur).
1.1.8-beta (2026-10-09)
- Instances distantes : Une IllusionDB locale peut se connecter à une autre instance (p. ex. votre serveur en ligne) et travailler directement dessus – le basculement se fait en haut de la barre latérale, un bandeau jaune LIVE indique que chaque modification arrive immédiatement sur le serveur. Le jeton d’API de la connexion est stocké chiffré.
- Mode headless : L’interface d’administration d’une instance peut être désactivée (y compris à distance via une connexion distante), ne laissant que l’API REST – sans interface web ni connexion. S’y ajoutent les variables d’environnement
HEADLESSetMASTER_TOKENainsi queillusiondb -enable-admincomme recours d’urgence. - Vue Gantt : Nouvelle vue (en tant que module de vue) pour les frises de projets et de jalons – déplacer et redimensionner barres et jalons à la souris, tracer une période pour créer, sous-éléments (colonne parent), flèches de dépendance avec alerte en cas de non-respect, couleurs issues d’un champ couleur/étiquette, colonnes supplémentaires et durée à gauche, zoom de la semaine à l’année, impression/PDF et export PNG, lecture seule activable par vue.
- Paramètres de vue : Les modules de vue peuvent désormais proposer des interrupteurs oui/non, des listes de choix et une sélection de plusieurs colonnes ; la boîte de paramètres défile lorsqu’il y a beaucoup de champs.
- Sécurité : Nouvel onglet de paramètres « Sécurité » (administrateurs uniquement) avec des valeurs par défaut sûres : en-têtes de sécurité (Content Security Policy, protection contre l’intégration/clickjacking, HSTS, politique de référent), protection CSRF, limite de taille des requêtes, limite de connexion ne comptant que les échecs, durée de session, longueur minimale des mots de passe, expiration des jetons d’API, version et détails d’erreurs internes plus publics, règles réseau pour webhooks et connexions distantes. Les non-administrateurs ne voient plus les informations de connexion ni les webhooks ; délais serveur contre les connexions lentes.
- API REST : paramètre
fields:GET /tables/{id}/records?fields=slug,modifie(et/records/{pk}) ne renvoie que les colonnes indiquées ; avec des colonnes ordinaires, seules celles-ci sont lues et les champs calculés sont ignorés.
1.1.7-beta (2026-09-15)
- Éditeur Markdown avec aperçu en direct : un champ de saisie unique remplace l’ancienne zone de texte avec aperçu à bascule – seul le paragraphe où se trouve le curseur affiche le texte Markdown brut modifiable, tous les autres montrent immédiatement le résultat rendu (style Obsidian/Typora). Un paragraphe s’active par clic, un clic à l’extérieur le désactive ; un paragraphe resté vide est automatiquement supprimé en le quittant.
- Dossiers virtuels dans la gestion des fichiers : les fichiers peuvent désormais être classés par glisser-déposer dans une arborescence de dossiers, à l’image de l’arborescence des pages du Wiki – purement organisationnel, sans rien changer au stockage réel. Un dossier ne peut être supprimé que s’il est vide.
- Réutilisation des pièces jointes entre tables/colonnes : en modifiant un champ de pièce jointe, + ouvre une fenêtre avec téléversement et une sélection de fichiers déjà téléversés, filtrée sur les tables pour lesquelles l’utilisateur a au moins un droit de lecture – le même fichier n’a ainsi plus besoin d’être téléversé plusieurs fois. La gestion des fichiers n’affiche en conséquence un fichier partagé qu’une seule fois, avec une liste dépliable de tous ses emplacements, et dispose elle-même d’une fonction de téléversement pour mettre à disposition un fichier avant qu’il ne soit attaché quelque part.
- Les pièces jointes ne disparaissent plus automatiquement : retirer un fichier d’une cellule (ou supprimer une colonne/source de données avec pièces jointes) ne supprime plus le fichier lui-même – il reste conservé, non associé, dans la gestion des fichiers et peut être rattaché à tout moment. Un fichier n’est définitivement retiré que via la gestion des fichiers elle-même.
- Vue Wiki : pièces jointes sous forme de galerie en pied de page : un champ de pièce jointe peut optionnellement être affiché sous forme de galerie fixe en bas de la page Wiki, uniquement si configuré et si la page a effectivement des fichiers ; la lightbox dispose désormais aussi d’un bouton de téléchargement.
- Terminal SQL avec snippets : enregistrer les requêtes SQL fréquemment utilisées comme snippets, les garder ouvertes simultanément dans plusieurs onglets (comme dans VS Code), ouvrir, écraser ou supprimer les snippets depuis la barre latérale. La liste des snippets est repliable.
- Cinq langues : l’interface est désormais entièrement disponible en allemand, anglais, espagnol, français et italien, avec une langue par défaut au niveau du projet dans les paramètres du projet.
- Docker dans le paquet Linux : la pile Docker Compose est désormais intégrée directement dans l’archive de release Linux — plus besoin de téléchargement séparé.
- La pile Docker fonctionne désormais sans aucun fichier
.env:docker compose up -d --buildsuffit – la clé de chiffrement est générée au premier démarrage et enregistrée directement dans le volume de données persistant (survit à une reconstruction ultérieure), et le premier compte administrateur peut être créé via l’assistant de configuration dans le navigateur. Si vous préférez malgré tout fixer vous-même la clé/les identifiants admin, vous pouvez toujours copier.env.examplevers.envet le remplir.
1.1.6-beta (2026-09-06)
- Nouveau type de champ « Enregistrements enfants » : afficher les enregistrements liés d’une autre table directement dans la ligne parente, avec agrégation de sommes et export CSV.
- Modifier a posteriori les connexions lookup/rollup/enregistrements enfants : la colonne cible d’une connexion existante peut désormais être modifiée sans recréer la colonne.
- Paquet de release Docker :
Dockerfile+docker-compose.ymlprêts à l’emploi comme artefact de release propre pour l’auto-hébergement.
1.1.5-beta (2026-08-31)
- Manuel intégré : ce manuel s’exécute directement dans l’application, consultable par recherche, sans accès Internet.
- Quatre nouvelles vues : Wiki (arborescence de pages avec glisser-déposer), Calendrier, Vue Documents et Kanban (avec colonnes librement configurables et ordre des cartes manuel) — en plus de la vue tableau classique.
- Générateur de documents : générer des modèles directement depuis l’application en PDF, PNG ou JPG.
- Assistant d’import SQL : importer des fichiers
.sqlexistants via un dialogue guidé. - Tables publiquement lisibles : rendre certaines tables accessibles publiquement via un interrupteur, avec accès par jeton via un paramètre d’URL en option.
- Propres points d’accès REST via script : points d’accès personnalisés et hooks d’automatisation sous forme de JavaScript écrit soi-même, modifiable et testable directement dans l’application.
- Les vues sont désormais des modules : Grid, Kanban, CMS et les autres vues fonctionnent comme des modules de vue interchangeables — la base des quatre nouvelles vues ci-dessus.
- Barre latérale repliable/dépliable dans la navigation principale.
- Filtres avec autocomplétion pour les colonnes de clé étrangère et de liens.
1.0.0 (2026-08-20)
- Nouvelle architecture de plugins pour les types de champs : chaque type de champ fonctionne comme un module WASM autonome — la base de tous les types de champs et vues ajoutés depuis.
- Moteur de scripts : scripts JavaScript personnalisés pour points d’accès personnalisés et hooks d’enregistrement (created/updated/deleted), gérés directement dans l’application.
- Relations 1:n entièrement sans SQL via l’assistant de colonnes.
- Exporter/importer le schéma de source de données en JSON.
- Télécharger directement les sources de données SQLite.
- Visualiseur de schéma SQL intégré dans la barre d’outils du tableau.
- Éditeur de formule avec référence : popover avec tous les opérateurs et fonctions disponibles.