PodoRepair® — Historique des versions

Application de suivi podologique · Pro · Companion · Admin

V 1.5.0 TEST
Module "Prévenir mon praticien" — Signalement interactif
08 mai 2026
NEWCompanion : module "Prévenir mon praticien" remplace le bloc statique "Signaler un changement important"
NEWCarte praticien référent : nom, spécialité, cabinet, téléphone, email (objet mock prêt pour API)
NEWBoutons de symptômes sélectionnables avec état visuel actif : Rougeur, Douleur, Plaie, Saignement, Zone chaude, Gonflement
NEWChamp texte "Message au praticien" pour description libre du changement observé
NEWBouton "Envoyer au praticien" : construit un objet alertData complet (scores du dernier jour, message, photos jointes, horodatage)
NEWBouton "Appeler le cabinet" : lien tel: dynamique depuis practitioner.phone
NEWBouton "Ajouter une photo" : déclenche le module photo existant (inp-cam)
NEWConfirmation verte après envoi + avertissement urgence (plaie ouverte, fièvre, gonflement rapide)
NEWFonction buildPractitionerEmailAlert() : prépare le contenu email praticien complet (objet + corps) prêt pour API future
UIMention médicale permanente en bas du module (remplace l'alerte orange anxiogène)
UIStyle module : bleu PodoRepair® doux, rassurant — suppression de l'accent orange alarme
FIX INCIDENTSyntaxError JS critique : apostrophes françaises (d'envoyer, l'espace praticien) dans strings single-quoted cassaient app.js → page de connexion inaccessible → corrigé via script Python serveur
V 1.4.0 TEST
Graphique évolution amélioré + Année dans les dates journal
08 mai 2026
IMPGraphique évolution : légende colorée sous le graphique (Confort, Sécheresse, Tiraillements, Fissures)
IMPGraphique évolution : puces de tendance (↑ amélioration / ↓ dégradation / → stable) calculées sur la moitié récente vs ancienne
IMPGraphique évolution : ligne fissures (jaune pointillé) affichée si données disponibles
IMPGraphique évolution : labels X espacés (max 7 dates affichées) — plus de surcharge avec de nombreuses entrées
IMPJournal "Mon suivi" : année affichée en petit sous le mois dans la colonne date (ex: 15 / mai / 2026)
IMPTableau aperçu bilan : colonne Fissures ajoutée, couleurs alternées, padding amélioré, colonnes numériques centrées
V 1.3.0 TEST
Companion UX — Soin, Fissures, Signalement + Refonte terminologie
08 mai 2026
NEWCompanion : boutons "Application du soin" (Oui / Non + fréquence 1× / 2× / 3×+) dans la saisie quotidienne
NEWCompanion : slider "Fissures / crevasses" (0–10) ajouté à la saisie du jour
NEWCompanion : section "Signaler un changement important" avec 6 boutons symptômes + message légal
IMPTerminologie : "Journal" → "Suivi", "Rapport" → "Bilan" dans la navigation
IMPTerminologie : "Confort général" → "Confort du pied", "Douleur / tiraillement" → "Tiraillements / douleur", "Douleur" → "Tirail." dans badges et barres
IMPTerminologie : "Journal de suivi" → "Mon suivi", "Rapport médecin / podologue" → "Bilan médecin / podologue"
IMPSection partage : "Partager avec mon podologue" → "Suivi professionnel", bouton "Partager" → "Activer", placeholder code amélioré
IMPPartage : "Révoquer" → "Retirer l'accès" (bouton et message de confirmation)
APIentries.php : 3 nouveaux champs — fissures (TINYINT), soin_applique (TINYINT 0/1), soin_frequence (TINYINT)
DBALTER TABLE entrees : colonnes fissures, soin_applique, soin_frequence ajoutées (toutes nullable)
FIX INCIDENTScript bash patch échoué (heredoc conflictuel avec contenu HTML) → résolu en uploadant un script Python via pscp et exécution directe sur serveur
V 1.2.0 TEST
Réinitialisation mot de passe + Service Worker réseau-first
07 mai 2026
NEWCompanion : lien "Mot de passe oublié ?" sur la page de connexion — envoi d'un lien sécurisé par email valable 1 heure
NEWCompanion : formulaire de réinitialisation avec nouveau mot de passe + confirmation (accessible via lien email)
APIPOST /auth/reset-request — génère un token sécurisé (64 hex) et envoie l'email de réinitialisation
APIPOST /auth/reset-confirm — valide le token (expiry 1h) et met à jour le mot de passe bcrypt
FIXService Worker reconfiguré en réseau-first pour index.html et tous les fichiers JS — plus de problème de cache
FIXCorrection erreur critique : fonction showApp() déclarée async (contenait des await sans async)
UICompanion : suppression du flash blanc entre l'écran de lancement et la page de connexion
V 1.1.0 TEST
Panneau Admin + Inscription Pro + Invitations patients
07 mai 2026
NEWPanneau d'administration (admin.html) : connexion sécurisée email + mot de passe avec bouton œil
NEWAdmin : validation des professionnels en attente — activer (email avec CODE PRO) ou rejeter
NEWAdmin : liste des pros actifs avec statistiques (patients, entrées, dernière activité, code pro)
NEWAdmin : gestion multi-admins — créer, changer mot de passe, désactiver (dernier admin protégé)
NEWInscription pro (onglet S'inscrire) : formulaire complet avec civilité, adresse suisse (NPA + Localité), spécialité
NEWPro : invitation patient par lien unique — lien envoyé par email ou copié, partage automatique à l'inscription
IMPFormulaire inscription pro : tous les champs obligatoires + validation côté client + messages d'erreur précis
IMPFormulaire inscription pro : confirmation mot de passe avec bouton œil sur les deux champs
APIPOST /pro/register — inscription pro (actif=0, en attente validation admin)
APIPOST /admin/login — authentification admin email+mot de passe (table admins bcrypt)
APIGET/POST/PUT/DELETE /admin/admins — gestion des comptes administrateurs
APIGET/PUT/DELETE /admin/pros — validation et gestion des professionnels
APIGET/POST /pro/invite — liens d'invitation patient (token 64 hex, 7 jours)
APIGET/POST /patient/invite — validation token + partage automatique après inscription
SECTable admins avec bcrypt cost=12, sessions via sessionStorage
UIAdmin : modals avec confirmation mot de passe + boutons œil + statistiques temps réel
V 1.0.0 TEST
Messagerie bidirectionnelle + PDF + Version
07 mai 2026
FIXCorrection erreur 401 lors de la génération PDF (token transmis via query param pour ouverture dans nouvel onglet)
NEWMessagerie bidirectionnelle : le patient peut répondre aux messages du professionnel directement depuis l'app Companion
NEWFil de conversation complet côté pro : affichage chronologique des messages envoyés + réponses patient avec horodatages
UIBadge "nouvelle réponse" en rouge dans la zone messagerie quand le patient a répondu sans que le pro ait vu
UIIndicateur lu/non lu (✓ vert / ⏳ orange) sur chaque message envoyé
APINouveau endpoint GET /pro/messages?patient_id=X — historique messagerie pro↔patient
APIPOST /patient/messages — réponse patient à un message pro (champ reponse, reponse_at)
IMPFooter version fixe en bas de l'interface pro (version, nom utilisateur connecté, lien changelog)
V 0.9.0 TEST
Messagerie pro→patient + Sticky bar + Watermark + Annotations log
06 mai 2026
NEWMessagerie pro→patient : envoi de messages depuis la fiche patient, reçus dans l'onglet "Messages" de l'app Companion avec nom, spécialité et horodatage
NEWApp Companion : nouvel onglet "Messages" (✉️) avec badge de non-lus, liste des messages reçus des professionnels
NEWBarre d'identification patient sticky (toujours visible en haut lors du suivi d'un patient)
NEWWatermark patient (prénom, nom, date de naissance) sur les photos médicales en visionneuse et en comparaison
NEWJournal des annotations médicales : liste de toutes les photos annotées avec miniature dans l'onglet Journal
UIBadge 📝 sur les miniatures photos ayant une annotation médicale
IMPHorodatage automatique des annotations photo (note_pro_at) affiché dans la visionneuse
APITable messages_pro créée en base de données
APINouveau endpoint POST /pro/message et GET /patient/messages
IMPSpécialité du professionnel (specialite) retournée au login et affichée dans les messages reçus
V 0.8.0 TEST
Tooltips, zoom/pan photos, notes pro journal, feedback annotations
05 mai 2026
NEWPan/zoom complet sur les photos médicales : molette souris, drag, pinch tactile, double-clic pour reset
NEWNotes du professionnel dans le journal patient (pro_id sur entrees) — distinguées des entrées patient
NEWTooltips explicatifs sur les statuts patients (RDV, inactif, nouveau, ok) et indicateurs (pastille rouge, tendance)
IMPFeedback visible lors de la sauvegarde d'une annotation photo (message coloré + état bouton)
FIXCorrections stats patient : les notes pro (pro_id IS NOT NULL) exclues des moyennes confort/sécheresse/douleur
FIXZoom comparaison photos : utilisation de data-caption au lieu d'URL blob en attribut onclick
V 0.7.0 TEST
Correction méthodes HTTP + Annotations médicales sur photos
04 mai 2026
FIXCorrection critique : vérification méthode HTTP dans patient.php bloquait tous les PUT/POST avant d'atteindre les handlers — erreur "Méthode non autorisée" 405
NEWAnnotations médicales sur photos : le professionnel peut ajouter une note textuelle sur chaque photo, visible dans la visionneuse
APIPUT /pro/patient?id=X&photo=Y — sauvegarde annotation photo (note_pro)
IMPVisionneuse photo : panneau annotation médicale intégré avec zone texte et bouton sauvegarder
V 0.6.0 TEST
Comparaison photos + Visionneuse + Rapport PDF
02 mai 2026
NEWComparaison avant/après : sélection de deux photos et affichage côte à côte avec zoom
NEWVisionneuse photo plein écran avec navigation, métadonnées (zone anatomique, observation, semaine)
NEWGénération rapport PDF médecin : profil patient, statistiques, observance, journal entrées, signature/tampon
IMPTéléchargement sécurisé des photos chiffrées côté pro (déchiffrement AES-256 serveur, vérification SHA-256)
APIGET /pro/patient?id=X&photo=Y — téléchargement photo individuelle avec contrôle d'intégrité
APIGET /pro/pdf?patient_id=X — rapport HTML imprimable
V 0.5.0 TEST
Espace professionnel de santé (Pro Dashboard)
29 avril 2026
NEWInterface pro (pro.podorepair.app) : tableau de bord avec liste patients, statuts, observance, tendances
NEWFiche patient complète : statistiques, courbe d'évolution SVG par semaine, journal, photos
NEWSystème de partage patient : le patient génère un code de partage, le pro saisit le code pour accéder
NEWDeux niveaux d'accès : "lecture" (journal uniquement) et "complet" (journal + photos)
APIPOST /pro/login — authentification professionnel avec code_pro
APIGET /pro/patients — liste des patients partageant leurs données
APIGET /pro/patient?id=X — dossier complet patient (profil, entrées, photos, stats, évolution)
SECAuthentification JWT avec vérification session base de données (révocation possible)
V 0.4.0 TEST
App Companion PWA — Photos médicales chiffrées
24 avril 2026
NEWPrise de photos médicales depuis l'app : upload chiffré AES-256-GCM côté client avant envoi serveur
NEWGalerie photos par zone anatomique avec miniatures, observation, semaine
SECChiffrement côté client (Web Crypto API) — le serveur ne stocke jamais les données en clair
SECVérification d'intégrité SHA-256 au déchiffrement
APIPOST /patient/photos — upload photo chiffrée
APIGET /patient/photos — liste photos (métadonnées) + téléchargement individuel
IMPIcônes PWA renommées pwa-icons/ (résolution conflit alias Apache/Nginx)
V 0.3.0 TEST
App Companion PWA — Journal de suivi + Rappels
19 avril 2026
NEWJournal quotidien : saisie confort, sécheresse, douleur (sliders 0–10) + note libre
NEWSystème de rappels configurables : heure de rappel quotidien, notifications push Web
NEWSuivi programme : semaine actuelle calculée automatiquement depuis la date de début
NEWService Worker v1 : cache offline, push notifications, background sync
APIPOST /patient/entries — enregistrement entrée journal
APIGET/POST/PUT /patient/rappels — gestion rappels
IMPInstallable en PWA sur iOS et Android (manifest.json, icônes 192/512)
V 0.2.0 TEST
App Companion — Authentification + Profil patient
14 avril 2026
NEWInscription et connexion patient (email + mot de passe bcrypt)
NEWProfil patient : saisie profil podologique, produit utilisé, semaine programme, date début
NEWGestion partages pro : activation d'un partage via code pro
SECJWT signé HS256, sessions révocables en base de données, rate limiting global
SECAudit log : toutes les actions sensibles enregistrées (connexion, accès photos, partages)
APIPOST /auth/register, /auth/login, /auth/logout
APIGET/PUT /patient/profile — profil patient
APIPOST /patient/share — activation code de partage
V 0.1.0 TEST
Infrastructure backend initiale
10 avril 2026
NEWDéploiement VPS OVH + Plesk, domaines podorepair.app (companion / pro / api)
NEWRouteur API PHP unique (router.php) avec dispatch par préfixe d'URL
NEWBase de données MySQL : patients, professionnels, entrees, photos, partages, sessions, rappels, audit_logs
SECCORS sécurisé (origines autorisées uniquement), headers sécurité (X-Content-Type, CSP), HTTPS obligatoire
SECClé de chiffrement photos et secret JWT en variable d'environnement (hors code source)
IMPArchitecture Apache → Nginx reverse proxy (Plesk standard) avec .htaccess rewrite
PodoRepair® Pro · Alpenia Group sàrl · Bavois, Suisse
Ce document est confidentiel — usage interne