Tous les projets

Web / Organisation

NEXARIS

Terminé

Un espace pour relier les tâches, les idées et les décisions.

Application web de gestion de projets et d’organisation, pensée comme un Second Brain.

01 / Le contexte

Pourquoi ce projet ?

Rassembler le suivi quotidien, la planification et la documentation pour garder le contexte d’un projet à portée de main.

02 / Les usages

Fonctionnalités examinées

Sources locales examinées. Tableau, fiche de tâche et calendrier observés en mode local, en lecture seule, avec les exemples inclus dans le code. Le site public demande une connexion ; les écritures et la synchronisation cloud n’ont pas été testées.

Suivre le travail

Tableau Kanban, priorités, étiquettes, multi-assignation et sous-tâches. Le tableau et la consultation des tâches ont été observés en mode local.

Planifier

Calendrier accessible depuis la navigation. Le code comprend aussi des jalons et une vue roadmap ; leur édition n’a pas été testée.

Déplacer et retrouver

Le code implémente le déplacement des cartes avec dnd-kit et une navigation par fragment d’URL vers les vues et les tâches. Aucun déplacement n’a été effectué pendant cette inspection.

Conserver le contexte

Modules de documentation, inspirations et réunions présents dans les sources. Les réunions comportent des décisions et une action de création de tâche ; ces écritures n’ont pas été exécutées.

03 / L’interface

Le projet à l’écran

Captures authentiques du 28 octobre 2026. Les exemples du mode local ne constituent pas des résultats de production.

NEXARIS — 1 / 3

Tableau Kanban NEXARIS en mode local, avec quatre colonnes et les tâches d’exemple du projet

Tableau Kanban — mode local, exemples inclus dans les sources. L’interface porte encore le nom Nova.

Les parcours cloud authentifiés ne sont pas illustrés.

04 / La technique

Comment le projet s’organise

Deux modes de persistance Lecture des sources
Deux modes de persistanceL’interface alimente le store. Le store persiste localement ; lorsque Supabase est configuré, le hook synchronise aussi le tableau distant. Le schéma SQL décrit PostgreSQL ; son état réel en production n’a pas été contrôlé.Interface ReactStore ZustandlocalStorageSupabase optionnel
  1. Interface React

    Vues, composants de tâches et routeur par fragment d’URL.

  2. État Zustand

    Données du tableau et actions métier ; persistance locale via le middleware persist.

  3. Stockage local

    localStorage dans le navigateur. Mode disponible sans configuration Supabase.

  4. Mode cloud optionnel

    useCloudSync relie l’état à Supabase : table boards, données JSONB, contrôle updated_at et événements temps réel.

L’interface alimente le store. Le store persiste localement ; lorsque Supabase est configuré, le hook synchronise aussi le tableau distant. Le schéma SQL décrit PostgreSQL ; son état réel en production n’a pas été contrôlé.

Dans les coulisses du développement

Une tâche, plusieurs points d’entrée

Le routeur lit la vue et l’identifiant de tâche dans l’URL. Il vérifie que la tâche existe dans le tableau chargé avant d’ouvrir sa fiche. La navigation arrière peut refermer cette fiche.

Réconcilier des modifications

mergeBoards compare une base commune, l’état local et l’état distant, collection par collection. Les changements compatibles sont fusionnés ; une collision sur la même entité déclenche la gestion de conflit.

Déposer sans modifier pendant le glissement

Board.tsx applique le déplacement à la fin du geste. Le commentaire source explique ce choix par une boucle de mesures et de rendus rencontrée pendant le glissement. Ce mécanisme a été lu, pas soumis à un test de charge.

05 / Mon rôle

Développement personnel

Développement des interfaces, des fonctionnalités et de la logique de gestion de projets.

J’ai développé la majorité du code, avec une assistance IA occasionnelle.

Périmètre de ma contribution

  • Développement majoritaire du code de l’application.
  • Conception et implémentation des fonctionnalités et des interfaces.
  • Intégration de la logique applicative et des composants.

06 / Recul technique

Défis, limites et perspectives

Les commentaires de Board.tsx documentent un problème de boucle de rendu pendant le glissement. La solution présente dans le code diffère les mutations jusqu’au dépôt et privilégie la détection sous le pointeur pour les colonnes vides. Le mécanisme de fusion traite aussi les états divergents. Aucun résultat de performance ou de test multiutilisateur n’est revendiqué ici.

Prochaine étape de validation

Compléter la démonstration par un compte dédié et vérifier les parcours d’édition, la persistance après rechargement et les conflits entre utilisateurs dans un environnement de test autorisé.

07 / Aller plus loin

Documentation & références

Télécharger le dossier PDF
  • CV et précisions de Romain Beka : objectif, statut et contribution.
  • Sources NEXARIS : package.json, App.tsx, Board.tsx, router.ts, useBoardStore.ts, useCloudSync.ts, merge.ts et schéma SQL.
  • Inspection du 28 octobre 2026 : site public limité à la connexion ; captures du mode local isolé.