Skip to content

Projecta 0.4.0 pour Windows

Choose a tag to compare

@Adama-R Adama-R released this 20 Oct 13:52
· 9 commits to main since this release
2eaf1b2

Projecta 0.4.0

Ajouté

  • Assistant (bouton en haut à droite) : il répond sur l’écran ouvert
    et propose des colonnes, le traitement des cases vides, la vue 2D ou
    3D, un brouillon de compte rendu ; rien ne change sans « Appliquer ».
    Réglages et journal (30 jours) par espace de travail ; jamais les images
    ni l’identité des patients. Il s’active avec une clé de l’API Anthropic.
  • Accueil : une carte « Des images médicales ».
  • make local : Redis seul dans Docker, l’API et le tableau de bord sur
    la machine.
  • Documentation en trois sites : le guide de l’utilisateur (public, aussi
    dans l’application de bureau), l’administration et le développement
    (internes) ; pages sur la configuration, la sécurité, l’assistant,
    l’imagerie, l’hébergement (Vercel, Cloudflare), les comptes du projet,
    MCP et n8n.
  • CLAUDE.md et AGENTS.md : le projet expliqué aux assistants de code.
  • Documentation : des captures d’écran avec des repères numérotés, et ce
    que montre chaque numéro, sur les pages des trois guides.
  • Application de bureau : Aide › Envoyer un avis… (suggestion,
    problème ou question), avec les informations techniques si vous le
    voulez ; gardé sur l’ordinateur si le serveur ne répond pas.
  • Se connecter avec Google ou GitHub (boutons ronds sous le
    formulaire, s’ils sont configurés) : le compte est créé, ou relié à
    celui de la même adresse vérifiée. Profil › Comptes reliés pour
    relier ou délier ; un compte créé ainsi peut définir un mot de passe.
    Dans l’application de bureau, la page de Google ou GitHub s’ouvre dans
    le navigateur, puis revient à l’application.
  • Imagerie, onglet Balises : toutes les balises DICOM de la série,
    avec une recherche, des filtres (patient, examen, image, retirées ou
    remplacées), ce que l’anonymisation a fait de chacune et un export CSV.
  • Imagerie, Dose de cet examen (onglet Informations) : CTDIvol et PDL
    du scanner, traceur et activité de la TEP, dose efficace estimée, et le
    cumul des examens du patient sur 12 mois.
  • Une TEP-TDM de synthèse s’ajoute aux examens d’essai.
  • Imagerie, Exporter ou partager : la vue affichée (PNG), le ciné en
    vidéo, les images de la série (JPEG), la série DICOM anonymisée, le
    volume NIfTI ; mesures, code de l’examen et barre d’échelle incrustés
    au choix.
  • Imagerie, Segmenter : un clic dans une lésion propose son contour en
    3D (croissance de région), ou au-dessus d’un seuil ; pinceau et gomme
    pour corriger ; volume de chaque lésion, rendu 3D en couleur ;
    « Valider » garde les lésions et leurs caractéristiques, à ajouter à
    une cohorte ou à exporter en masque NIfTI.
  • Documentation : un assistant sur chacun des trois sites (bouton en
    bas à droite) : il trouve dans le site le passage qui répond, avec ses
    liens ; si l’administrateur l’active, il rédige la réponse à partir de
    ces passages. Les secrets collés sont masqués avant l’envoi.
  • Application de bureau : mises à jour. Au démarrage, une
    notification propose la nouvelle version ; Aide › Rechercher des mises
    à jour…
    montre ses nouveautés, la télécharge, vérifie son empreinte,
    puis « Redémarrer et installer ». Jamais forcée.
  • Imagerie sur tablette : une grande vue, les séries à droite, des
    boutons pour le doigt ; glisser fait défiler les coupes, deux doigts
    zooment, un appui long règle la fenêtre ; « Ciné » fait défiler les
    coupes. La session se ferme après 15 minutes sans activité.
  • Imagerie, liens de partage : un examen anonymisé s’ouvre en lecture
    seule, sans compte, pendant 24 heures, 7 ou 30 jours, avec un code
    d’accès à envoyer à part ; liste des liens actifs, nombre
    d’ouvertures, révocation.
  • English : menu du compte › Langue (Français ou English). Le
    tableau de bord, l’application de bureau (menus et fenêtres) et les
    réponses de l’assistant passent en anglais ; le choix est gardé dans le
    compte. Les données, elles, ne sont jamais traduites, et ce journal
    reste en français.
  • Le guide de l’utilisateur en anglais (menu de langue en haut de
    chaque page, qui ouvre la même page dans l’autre langue), avec ses
    captures et son assistant.
  • Visualisations, Exporter : HTML, PNG, SVG, PDF, JPEG ou WebP. Les
    images sont dessinées par le navigateur : elles marchent avec ou sans
    Docker, et dans l’application de bureau.
  • Les fichiers chargés sont vérifiés avant d’être gardés : contenu
    conforme à l’extension, pas de macros Excel, pas de fichier fait pour
    saturer le serveur ; refusés avec la raison. À l’export (CSV, Excel),
    une cellule qui commencerait une formule (=, +, -, @) reste du
    texte.
  • Serveur distant : un lien GitHub (dépôt privé : avec un jeton),
    Google Drive, Google Sheets ou Dropbox collé tel quel est
    téléchargé.
  • Assistant : Ollama au choix de Claude, gratuit (Ollama Cloud, avec
    des limites d’usage) ou sur votre machine ; les réglages de l’assistant
    disent quel modèle répond.
  • Documentation : flèches « page précédente / suivante » en bas de chaque
    page, police de la documentation de FastAPI (Roboto) ; sur le site de
    développement, la référence du code, écrite à partir des docstrings
    (que son assistant lit aussi).
  • /docs et /redoc de l’API portent le logo de Projecta ; chaque groupe
    de routes y est décrit (backend/metadata.py).

Modifié

  • Redis : l’API se connecte avec son propre utilisateur, limité aux clés
    de Projecta ; l’utilisateur default est désactivé ; un utilisateur
    admin pour la maintenance.
  • Documentation construite avec Zensical (à la place de MkDocs).
  • Logfire : métriques du processeur et de la mémoire.
  • En-tête commun à tous les fichiers Python.
  • Nouveau logo : trois plans de coupe empilés et les points d’une
    projection ; icônes de l’onglet, de l’application de bureau et de la
    documentation ; sous-titre « Données et imagerie ».
  • E-mails : envoi possible sans compte Gmail (Brevo, gratuit) ; adresse
    de réponse SMTP_REPLY_TO (avec un expéditeur « noreply »).
  • Pages de connexion, d’inscription et de mot de passe oublié : chaque
    bloc a sa place (plus rien ne se chevauche) ; une seule erreur, lisible,
    au-dessus du bouton, au lieu de deux petites lignes rouges.
  • Exporter vers une base de données : les trois choix « Si la table existe
    déjà » tiennent sur une ligne, avec une phrase qui dit ce que fait le
    choix ; la liste « Colonnes créées » est plus haute.
  • /api/v1 répond (nom, version, liens vers la documentation et la santé
    de l’API) au lieu d’une erreur 404.
  • Le menu latéral est réduit à ses icônes ; le pointeur sur son bouton
    l’ouvre par-dessus la page, un clic le garde ouvert (comme dans
    l’application Claude).
  • Visualisations : la ligne d’origine d’un point s’affiche quand on le
    clique, plus au survol (les étiquettes s’empilaient).
  • Aperçu : l’en-tête tient sur deux lignes (chemin et puces, puis chiffres
    et boutons) ; le tableau montre plus de lignes. Marges de la page
    réduites (10 px en haut, 20 px sur les côtés).
  • Sécurité : dépendances mises à jour (FastAPI 0.143 et Starlette 1.8,
    python-multipart, cryptography, urllib3, anyio, aiomysql, Vite…) ; les
    jetons de connexion sont signés avec PyJWT à la place de python-jose,
    qui n’a plus de correctif. L’image Docker de l’API est à reconstruire.

Corrigé

  • La connexion échouait (en local et dans Docker) : l’utilisateur Redis
    donné dans .env n’existait pas, et l’image Docker de l’API ne
    contenait pas les nouvelles dépendances.
  • Les tests passent sans fichier .env (comme dans GitHub Actions).
  • Pile Docker : le tableau de bord ne se chargeait plus (seul le bouton
    de la documentation marchait), faute du journal des versions ; il
    s’ouvre désormais même sans ce fichier.
  • Le mot « null » ne s’affiche plus dans un message d’erreur sans
    conseil, dans la liste des bases SQLite ni dans la fenêtre des cases
    vides.
  • Le guide de l’utilisateur se publie de nouveau sur Vercel (son Python
    refusait pip install), en français et en anglais.
  • L’API se déploie sur FastAPI Cloud : il lui manquait fastapi[standard]
    (la commande fastapi run).

Installer

  • Projecta-Setup-0.4.0.exe : installateur pour Windows 10 et 11
    (64 bits), sans droits d’administrateur ; raccourcis sur le bureau et
    dans le menu Démarrer.
  • Projecta-0.4.0-portable.exe : se lance sans installation.

Les fichiers ne sont pas signés : au premier lancement, Windows affiche
« Windows a protégé votre ordinateur » : choisir Informations
complémentaires
, puis Exécuter quand même.

L’application lit ses données sur une API Projecta.