Commit Graph
235 Commits
Author SHA1 Message Date
IliesAllaliandClaude Opus 5.5 42e4ed63bb Lien d'un onglet de famille : ?famille=<charnière> ouvre l'arbre sur cette famille, et le lien de « La famille participe » suit l'onglet ouvert (#167)
- Galaxy : l'onglet du lien s'ouvre dès que l'arbre et ses onglets sont connus, et de nouveau si la personne de départ arrive après (visiteur), tant qu'on n'a pas changé d'onglet soi-même ; onglets coupés dans ce navigateur, l'arbre entier s'ouvre sur la charnière
- App : l'adresse de la page porte l'onglet ouvert, le lien à envoyer aussi, avec le nom de la famille dans le titre
- Même mot de passe, même accès : le lien choisit l'onglet d'arrivée, il ne restreint rien (Patch, 26/10)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 16:21:36 +01:00
IliesAllaliandClaude Opus 5.5 20aded7ee0 Frontend : zod 4.6.7 (faille haute < 4.6.6), via eslint-plugin-react-hooks, fichier de verrouillage seul (#166)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 14:15:47 +01:00
IliesAllaliandClaude Opus 5.5 3aad835908 Tailwind 4 : app et landing, rien ne bouge à l'écran (#165)
* Tailwind 4 (app) : plugin Vite, remise à zéro de la v3 gardée (main sur les boutons, placeholder, bordure grise), thème et utilitaires inutilisés retirés

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Tailwind 4 (landing) : plugin Vite comme l'app, remise à zéro de la v3 gardée, thème inutilisé retiré ; marge gauche du graphe du hero retirée, écrasée par lg:mx-0 en v3 et devenue visible en v4

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 14:06:33 +01:00
IliesAllaliandClaude Opus 5.5 f1b4ad8db2 Compte à mot de passe : relier le fournisseur OIDC soi-même (#161)
* OIDC : un compte à mot de passe relie lui-même son identité du fournisseur (ticket à usage unique), pour passer une instance en PASSWORD_LOGIN=false sans l'enfermer dehors

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Compte : « Se connecter aussi avec … » relie le fournisseur à un compte à mot de passe

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* README : relier un compte à mot de passe avant PASSWORD_LOGIN=false

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:34:28 +01:00
IliesAllali a6b37bca22 Merge pull request #159 from IliesAllali/fix/noms-monde
Noms en chinois, arabe, hébreu : une seule initiale, lieu et surnom isolés du sens de la ligne
2026-10-26 11:33:43 +01:00
IliesAllali bb6ec09fd1 Premiers visages : import de initialsOf, la fonction locale s'appelait elle-même ; test du panneau sans aperçu 2026-10-26 11:28:47 +01:00
IliesAllali 0f06f5a9f0 Merge pull request #157 from IliesAllali/fix/badge-conflit
Propositions : étiquette posée sur le bord de la carte, « À vérifier » à la place de l'action, bulle du compteur ronde
2026-10-26 11:24:17 +01:00
IliesAllali 01ed08d26f Noms en chinois, arabe, hébreu : une seule initiale, lieu et surnom isolés du sens de la ligne 2026-10-26 11:20:32 +01:00
IliesAllali 5b21021aca Propositions : une suppression en conflit garde son mot (« Suppression, à vérifier ») ; « suggestion » en anglais 2026-10-26 11:18:27 +01:00
IliesAllali b6eaa6da78 Dates : marques diacritiques retirées par \p{M}, lisible 2026-10-26 11:18:00 +01:00
IliesAllali 8875f2baf0 Dates : ordre et séparateur de la région du navigateur (fr-CA, en-US…), mois en lettres accepté (#152) 2026-10-26 11:08:22 +01:00
IliesAllali fdc4254cdd Propositions : étiquette posée sur le bord de la carte, « À vérifier » remplace l'action en cas de conflit ; bulle du compteur ronde 2026-10-26 11:08:21 +01:00
IliesAllali 3c4eef1c92 Dates : en anglais, l'ordre jour/mois suit la région du navigateur (#152) 2026-10-26 11:08:21 +01:00
IliesAllaliandClaude Opus 5.5 b753e91fb4 Notification après un ajout ou un envoi : sa vraie largeur sur téléphone (plus quatre lignes dans une pilule), sans animation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 10:52:41 +01:00
IliesAllaliandClaude Opus 5.5 1f7ed7d96f Fiche : les « + » des proches en pastilles, comme « + Surnom » en modification
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 00:12:26 +01:00
IliesAllali 4829fd77f4 Merge remote-tracking branch 'origin/main' into feat/propositions-fantomes
# Conflicts:
#	CHANGELOG.md
#	frontend/src/App.jsx
2026-10-25 22:38:47 +01:00
IliesAllaliandClaude Opus 5.5 f034adf761 Famille : la fenêtre d'envoi ne s'ouvre plus après chaque ajout, la personne est sur l'arbre en brouillon
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:32:35 +01:00
IliesAllaliandClaude Opus 5.5 54535cb596 Molette : plus d'erreur console à chaque cran (preventDefault dans un écouteur passif, déjà fait par l'écouteur natif)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:38:38 +01:00
IliesAllaliandClaude Opus 5.5 1d04f9ac3d Famille : après l'envoi, l'arbre est relu (plus de photo affichée comme acceptée) et le message dit que c'est en pointillés
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:37:00 +01:00
IliesAllaliandClaude Opus 5.5 2f60df2ed9 Relecture depuis l'arbre : une proposition déjà relue le dit, et l'arbre se remet à jour
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:35:34 +01:00
IliesAllaliandClaude Opus 5.5 73be6a7cfd Compteurs d'édition (sans contenu de l'arbre) : personne ajoutée et par où, proposition envoyée ou relue, modifications enregistrées, doublon ouvert
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:21:41 +01:00
IliesAllaliandClaude Opus 5.5 5ebfa8337d Ajouter un proche depuis la fiche : créer depuis la recherche d'un lien, frère ou sœur, « + » en lecture, panneau prérempli, alerte de doublon
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:20:27 +01:00
IliesAllaliandClaude Opus 5.5 6e42a1f12d Erreurs : la photo posée sur l'arbre dit pourquoi elle échoue ; « Mettre à jour l'arbre » garde dans le brouillon ce qui n'a pas été enregistré
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:16:02 +01:00
IliesAllaliandClaude Opus 5.5 0c74adb012 Fantômes : propositions en attente, brouillon et envois de la famille dessinés sur l'arbre ; acceptation ou refus depuis le fantôme
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:14:58 +01:00
IliesAllaliandClaude Opus 5.5 d89da4c7f8 Chercher quelqu'un : la famille ajoute en proposition ; marque « à vérifier » sur le coin
Un membre crée ou complète une personne trouvée : ça part dans ses modifications,
le propriétaire valide. Lieux, « à vérifier » et source suivent la personne proposée.
Le « ? » passe à cheval sur le coin du portrait, il ne cache plus le visage.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:03:58 +01:00
IliesAllali b9faa2a4b4 Merge branch 'feat/cogestion-145' into feat/bouton-icone
# Conflicts:
#	CHANGELOG.md
2026-10-25 18:31:39 +01:00
IliesAllali 83e8282d94 Merge remote-tracking branch 'origin/main' into feat/cogestion-145
# Conflicts:
#	CHANGELOG.md
#	backend/src/app.ts
#	frontend/src/i18n/en/index.js
2026-10-25 18:30:28 +01:00
IliesAllaliandClaude Opus 5.5 b61ce5c8ad Icône de l'arbre (un emoji, dans les menus, le compte et la page d'invitation) et bouton « Modifier » pour qui gère l'arbre
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 18:22:48 +01:00
IliesAllali f192665f17 Merge pull request #146 from IliesAllali/feat/recherche-sources
Chercher quelqu'un ailleurs : panneau à droite de l'arbre
2026-10-25 18:19:56 +01:00
IliesAllaliandClaude Opus 5.5 7c9ea3c95e Chercher quelqu'un : créer la personne trouvée, rattachée à un proche
« Ajouter à l'arbre » s'ouvre sur Nouvelle personne : lien (parent, enfant, conjoint,
frère ou sœur) et proche dans l'arbre, par le même chemin qu'« Ajouter quelqu'un ».
Dates, lieux, sexe, source en note, à vérifier. « Déjà dans l'arbre » complète une fiche.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 18:15:03 +01:00
IliesAllaliandClaude Opus 5.5 f9fefd83e1 Chercher quelqu'un : recherche repliée après résultats, cartes plus complètes
La recherche tient en une ligne au-dessus des résultats. Chaque carte donne les
années de vie, l'âge au décès, des phrases accordées au sexe et la raison de sa note.
WikiTree limité au même nom de famille ; flèche des liens collée au texte.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:51:43 +01:00
IliesAllaliandClaude Opus 5.5 d0ab96d634 Pastilles : emoji entier en initiale (arbre, compte, personne) ; fiche : message clair quand les droits ont été retirés
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:35:31 +01:00
IliesAllaliandClaude Opus 5.5 bff3f54b00 Chercher quelqu'un ailleurs : panneau à droite de l'arbre
Entrée « Quelqu'un ailleurs » dans le menu +. On tape un nom, une année et un lieu.
Liens préremplis vers Gallica, FranceArchives, Mémoire des hommes, Léonore, Geneanet,
Open Archives, WikiTree, FreeBMD et FamilySearch, ouverts par le navigateur.
Le serveur interroge les décès INSEE depuis 1970 (matchID) et WikiTree quand
SEARCH_SOURCES les nomme ; MATCHID_TOKEN au-delà d'une centaine de recherches.
Un résultat ajouté ne remplit que les champs vides, passe la personne à vérifier
et garde la source dans sa note.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:33:41 +01:00
IliesAllaliandClaude Opus 5.5 aa50123e9f Paramètres : cinq onglets qui tiennent à 360 px
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:20:19 +01:00
IliesAllaliandClaude Opus 5.5 07d69896ae Co-gestion (#145), écrans : onglet Gestion, page du lien d'invitation, Quitter pour le co-gestionnaire, avertissement à la suppression du compte, Immich caché
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 16:57:57 +01:00
IliesAllaliandClaude Opus 5.5 befe8fe19a « À vérifier » : drawPortrait, et un test qui échoue si la marque repasse sous la découpe du cadre
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 16:57:10 +01:00
IliesAllaliandClaude Opus 5.5 230ec2ae05 Fiche : « Modifier » d'un clic pour l'administrateur ; « à vérifier » entier sur un cadre rond ; arbre jusqu'en bas de l'écran sur iPad
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 16:36:41 +01:00
IliesAllali c35d13885a Merge pull request #136 from IliesAllali/dependabot/npm_and_yarn/frontend/frontend-minor-patch-8146d706b9
build(deps): bump the frontend-minor-patch group in /frontend with 8 updates
2026-10-23 16:29:08 +02:00
IliesAllaliandClaude Opus 5.5 aa22ff1422 Souvenirs en orbite recadrés, plus étirés dans leur carré
Retour de Patch du 23/10 sur l'arbre d'Anaïs : les vignettes de souvenirs autour des portraits
étaient « souvent tassées horizontalement ou verticalement ». drawMediaContent étirait la photo
dans le carré quel que soit son format ; elle passe par drawImageCover, le recadrage centré
des portraits.

Vérifié ailleurs, rien à corriger : fiche, liste et gestion des souvenirs, onglet Vie, moments,
propositions et Immich sont déjà en object-fit cover, la visionneuse en contain, les photos
posées sur l'arbre gardent leur rapport.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 16:05:04 +02:00
IliesAllali 8fe2f53b34 Merge remote-tracking branch 'origin/main' into feat/a-verifier 2026-10-23 15:27:25 +02:00
IliesAllali 93a5e41794 Merge remote-tracking branch 'origin/main' into fix/annotations-ancrees
# Conflicts:
#	frontend/src/App.jsx
#	frontend/src/components/Galaxy.jsx
2026-10-23 15:24:46 +02:00
IliesAllali fb176c0cc6 Merge remote-tracking branch 'origin/main' into feat/a-verifier 2026-10-23 15:18:38 +02:00
IliesAllali d579c4a34b Merge remote-tracking branch 'origin/main' into fix/annotations-ancrees 2026-10-23 15:18:35 +02:00
IliesAllali 4ff34705c1 Merge remote-tracking branch 'origin/main' into feat/onglets-ligne-directe 2026-10-23 15:18:31 +02:00
IliesAllaliandClaude Opus 5.5 2e5db68969 Annotations rattachées à une personne, texte posé modifiable
Retour d'Anaïs du 23/10 : un texte posé dans l'onglet d'une famille réapparaissait au même
endroit dans l'onglet d'une autre. L'annotation ne gardait que x et y, or chaque onglet recalcule
le placement.

- Chaque annotation garde dans son style la personne la plus proche quand on la pose et le
  décalage à son portrait (style.anchor, pas de migration). Elle s'affiche à côté de ce portrait
  dans le placement affiché, et pas du tout si la personne n'y est pas. Déplacer recalcule l'ancre.
- Les anciennes annotations sont rattachées au premier affichage, dans le placement de l'onglet
  de départ, puis enregistrées une fois (style seul) quand on administre l'arbre.
- Un texte déjà sélectionné se rouvre au clic pour être modifié (double clic sur ordinateur,
  deux touchers sur téléphone), et n'est plus dessiné sous sa saisie.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 15:10:46 +02:00
IliesAllaliandClaude Opus 5.5 e9d57e5954 Personnes « à vérifier » : la famille signale ce dont elle n'est pas sûre
Retour d'Anaïs du 23/10 : plutôt que de dessiner sur l'arbre, marquer une
personne « à vérifier ». Champ toVerify (migration additive, faux par défaut),
posé dans la fiche en modification (ligne « Vérification ») par un admin ou
par la famille via une proposition, montré par une pastille dans la fiche et
un petit rond terracotta avec un « ? » sur le portrait (absent au dézoom).
Taper « à vérifier » dans la recherche liste les personnes marquées.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 15:02:29 +02:00
IliesAllaliandClaude Opus 5.5 64821c9c99 deps: dompurify 3.4.17 sous posthog-js (GHSA-cg2g-xh64-v4q7, critique)
L'audit de la CI bloque toutes les PR depuis la publication de l'avis du 23/10.
Seuls les fichiers de verrou changent.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 14:55:38 +02:00
IliesAllaliandClaude Opus 5.5 03f172b59b Onglets de familles : la ligne directe vers « C'est moi » dans chaque onglet
Dans l'onglet d'une autre famille, la personne commune (celle que le visiteur
désigne par « C'est moi », sinon la personne de départ de l'arbre) reste visible,
reliée par sa ligne directe : le plus court chemin de parenté jusqu'à la famille,
avec les deux parents à chaque pas, sans fratries autour. Ces portraits sont
estompés et un peu réduits.

Un visiteur sans compte peut maintenant dire qui il est dans l'arbre (menu du
visiteur), choix gardé dans son navigateur pour cet arbre.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 14:49:46 +02:00
dependabot[bot] 831aa4c0ac build(deps): bump the frontend-minor-patch group
Bumps the frontend-minor-patch group in /frontend with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [@lucide/icons](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide) | `1.56.0` | `1.59.0` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.56.0` | `1.59.0` |
| [posthog-js](https://github.com/PostHog/posthog-js) | `1.438.9` | `1.438.12` |
| [react](https://github.com/react/react/tree/HEAD/packages/react) | `19.3.0` | `19.3.1` |
| [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) | `19.3.0` | `19.3.1` |
| [eslint](https://github.com/eslint/eslint) | `10.12.0` | `10.13.0` |
| [postcss](https://github.com/postcss/postcss) | `8.5.30` | `8.5.31` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.4` | `5.0.5` |


Updates `@lucide/icons` from 1.56.0 to 1.59.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.59.0/packages/lucide)

Updates `lucide-react` from 1.56.0 to 1.59.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.59.0/packages/lucide-react)

Updates `posthog-js` from 1.438.9 to 1.438.12
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/compare/posthog-js@1.438.9...posthog-js@1.438.12)

Updates `react` from 19.3.0 to 19.3.1
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.3.1/packages/react)

Updates `react-dom` from 19.3.0 to 19.3.1
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.3.1/packages/react-dom)

Updates `eslint` from 10.12.0 to 10.13.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.12.0...v10.13.0)

Updates `postcss` from 8.5.30 to 8.5.31
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.30...8.5.31)

Updates `vitest` from 5.0.4 to 5.0.5
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.0.5/packages/vitest)

---
updated-dependencies:
- dependency-name: "@lucide/icons"
  dependency-version: 1.59.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-minor-patch
- dependency-name: lucide-react
  dependency-version: 1.59.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-minor-patch
- dependency-name: posthog-js
  dependency-version: 1.438.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-minor-patch
- dependency-name: react
  dependency-version: 19.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-minor-patch
- dependency-name: react-dom
  dependency-version: 19.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-minor-patch
- dependency-name: eslint
  dependency-version: 10.13.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-minor-patch
- dependency-name: postcss
  dependency-version: 8.5.31
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-minor-patch
- dependency-name: vitest
  dependency-version: 5.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-22 01:15:01 +00:00
IliesAllaliandClaude Opus 5.5 754fd62689 Arbre : plus de « + photo » sur un portrait vide en modification
Au survol, un portrait sans photo montrait « + photo » et un clic ouvrait le sélecteur de fichiers au lieu de la fiche. Le clic ouvre maintenant la fiche ; la photo s'ajoute par le badge appareil photo de la fiche. Retire le dessin, la zone de clic, l'entrée de fichier cachée et les demandes de recadrage et de source qui n'existaient que pour lui.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 21:23:31 +02:00