From a44d240b9dfb10e80ca1ce0b3561290c31b677b8 Mon Sep 17 00:00:00 2001 From: antonin gallon Date: Tue, 6 Jan 2026 18:09:00 +0100 Subject: [PATCH 1/8] =?UTF-8?q?blueprint=20investigation-summary=20>=20Ajo?= =?UTF-8?q?ut=20d'un=20champs=20type=20entries=20pour=20les=20m=C3=A9thodo?= =?UTF-8?q?logies?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/investigation-summary.yml | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) diff --git a/site/blueprints/pages/investigation-summary.yml b/site/blueprints/pages/investigation-summary.yml index e69de29..96d3767 100644 --- a/site/blueprints/pages/investigation-summary.yml +++ b/site/blueprints/pages/investigation-summary.yml @@ -0,0 +1,109 @@ +title: Investigation +create: + fields: + - subtitle + +tabs: + contentTab: + label: Contenu + icon: page + columns: + - width: 2/6 + fields: + created: + label: Première publication + type: date + display: DD / MM / YYYY + default: today + width: 1/4 + - width: 4/6 + fields: + subtitle: + label: Sous-titre + type: text + chapo: + label: Chapo + type: writer + nodes: false + buttons: false + cover: + label: Visuel de couverture + type: files + multiple: false + min: 1 + layout: cards + size: full + image: + ratio: 12/7 + cover: true + body: + label: Corps + type: layout + layouts: + - "1/1" + - "1/2, 1/2" + - "1/3, 1/3, 1/3" + fieldsets: + - heading + - text + - image + metadataTab: + label: Métadonnées + icon: table + fields: + incidentDate: + label: Date de l'incident + type: date + display: DD / MM / YYYY + width: 1/3 + incidentLocation: + label: Lieu de l'incident + type: text + width: 1/3 + incidentConsequences: + label: Conséquence(s) + type: text + width: 1/3 + keywords: + label: Mots-clés + type: tags + width: 1/2 + partners: + label: Partenaires + type: structure + width: 1/2 + fields: + name: + label: Nom + type: text + link: + label: Lien + type: link + options: + - url + methodology: + label: Méthodologie + type: entries + field: + type: text + line: + type: line + indexTeam: + label: Équipe Index + type: structure + columns: + responsability: + width: 1/2 + names: + width: 1/2 + fields: + responsability: + label: Responsabilité + type: text + width: 1/2 + names: + label: Nom + type: entries + width: 1/2 + field: + type: text From bd177c835a956b61d5213943c1552cd28f6e2836 Mon Sep 17 00:00:00 2001 From: antonin gallon Date: Wed, 7 Jan 2026 13:47:12 +0100 Subject: [PATCH 2/8] =?UTF-8?q?d=C3=A9but=20d'int=C3=A9gration=20page=20en?= =?UTF-8?q?quete=20:=20arret=20=C3=A0=20partners?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/investigation-summary.yml | 12 ++-- site/templates/investigation-summary.php | 61 +++++++++++-------- 2 files changed, 43 insertions(+), 30 deletions(-) diff --git a/site/blueprints/pages/investigation-summary.yml b/site/blueprints/pages/investigation-summary.yml index 96d3767..744266e 100644 --- a/site/blueprints/pages/investigation-summary.yml +++ b/site/blueprints/pages/investigation-summary.yml @@ -10,8 +10,8 @@ tabs: columns: - width: 2/6 fields: - created: - label: Première publication + publicationDate: + label: Date de publication type: date display: DD / MM / YYYY default: today @@ -69,7 +69,7 @@ tabs: type: tags width: 1/2 partners: - label: Partenaires + label: Partenaire(s) type: structure width: 1/2 fields: @@ -81,15 +81,15 @@ tabs: type: link options: - url - methodology: + methodologys: label: Méthodologie type: entries field: type: text line: type: line - indexTeam: - label: Équipe Index + team: + label: Équipe type: structure columns: responsability: diff --git a/site/templates/investigation-summary.php b/site/templates/investigation-summary.php index 8260f25..e496bcb 100644 --- a/site/templates/investigation-summary.php +++ b/site/templates/investigation-summary.php @@ -3,13 +3,13 @@

Enquête

-

L’exécution de Nidal et Khaled ‘Amirah à Naplouse

+

title() ?>

- +
Ici la légende de l’image. À partir d’images exclusives, l’analyse conjointe de B’Tselem et Index démontre que les deux hommes ont été abattus par des soldats israéliens alors qu’ils ne présentaient aucun danger.
@@ -41,50 +41,63 @@
-
Date de l’incident
-
+
blueprint()->field('incidentDate')['label']?>
+
-
Lieu de l’incident
-
Naplouse, Cisjordanie occupée, Palestine
+
blueprint()->field('incidentLocation')['label'] ?>
+
Incidentlocation() ?>
-
Conséquences
-
Mort
+
blueprint()->field('incidentConsequences')['label'] ?>
+
Incidentconsequences() ?>
-
Mots-clés
+
blueprint()->field('keywords')['label'] ?>
-
Méthodologie
+
blueprint()->field('methodologys')['label'] ?>
    -
  • Reconstitution 3D
  • -
  • Frame-match
  • -
  • Analyse audiovisuelle
  • + Methodologys()->toEntries() as $methodology): ?> +
  • +
-
Équipe
-
Nadav Joffe, Basile Trouillet, Francesco Sebregondi, Basile Trouillet, Francesco Sebregondi
+
blueprint()->field('team')['label'] ?>
+
+ Team()->toStructure() as $row) { + foreach ($row->names() as $names) { + foreach ($names as $name) { + $namesList[] = $name; + } + } + } + echo implode(', ', $namesList); + ?> +
-
Partenaire(s)
-
B’Tselem
+
blueprint()->field('partners')['label'] ?>
+
+ B’Tselem +
-
Date de publication
-
+
blueprint()->field('publicationDate')['label'] ?>
+
From ff9fda74c9e2ad73f8df94095604ddcf038774a4 Mon Sep 17 00:00:00 2001 From: antonin gallon Date: Wed, 7 Jan 2026 15:15:08 +0100 Subject: [PATCH 3/8] investigation-summary : corrections et dynamisation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Correction des erreurs de casse des méthodes PHP (incidentLocation, incidentConsequences, keywords, methodologys, team, publicationDate) - Ajout de la date de publication dynamique dans le header - Remplacement de l'image en dur par le champ cover avec légende dynamique - Remplacement du paragraphe court par le champ chapo - Dynamisation de l'affichage des partenaires avec liens - Remplacement de la section synthèse en dur par le champ body (layouts) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- site/templates/investigation-summary.php | 92 ++++++++++++------------ 1 file changed, 44 insertions(+), 48 deletions(-) diff --git a/site/templates/investigation-summary.php b/site/templates/investigation-summary.php index e496bcb..1d086ae 100644 --- a/site/templates/investigation-summary.php +++ b/site/templates/investigation-summary.php @@ -4,14 +4,18 @@

Enquête

title() ?>

-

+

- + cover()->toFile()): ?> + <?= $cover->alt() ?> +
-
Ici la légende de l’image. À partir d’images exclusives, l’analyse conjointe de B’Tselem et Index démontre que les deux hommes ont été abattus par des soldats israéliens alors qu’ils ne présentaient aucun danger.
+ cover()->toFile()): ?> +
caption() ?>
+
-

À partir d’images exclusives, l’analyse conjointe de B’Tselem et Index démontre que les deux hommes ont été abattus par des soldats israéliens alors qu’ils ne présentaient aucun danger.

+ chapo()->isNotEmpty()): ?> +
chapo() ?>
+ + -
@@ -46,19 +52,19 @@
blueprint()->field('incidentLocation')['label'] ?>
-
Incidentlocation() ?>
+
incidentLocation() ?>
blueprint()->field('incidentConsequences')['label'] ?>
-
Incidentconsequences() ?>
+
incidentConsequences() ?>
blueprint()->field('keywords')['label'] ?>
    - Keywords()->split() as $keyword): ?> + keywords()->split() as $keyword): ?>
  • - +
@@ -66,9 +72,9 @@
blueprint()->field('methodologys')['label'] ?>
    - Methodologys()->toEntries() as $methodology): ?> + methodologys()->toEntries() as $methodology): ?>
  • - +
@@ -77,12 +83,10 @@
Team()->toStructure() as $row) { - foreach ($row->names() as $names) { - foreach ($names as $name) { - $namesList[] = $name; - } + + foreach ($page->team()->toStructure() as $row) { + foreach ($row->names()->toEntries() as $name) { + $namesList[] = $name; } } echo implode(', ', $namesList); @@ -92,34 +96,31 @@
blueprint()->field('partners')['label'] ?>
- B’Tselem + partners()->toStructure() as $partner) { + if ($partner->link()->isNotEmpty()) { + $partnersList[] = '' . $partner->name() . ''; + } else { + $partnersList[] = $partner->name(); + } + } + echo implode(', ', $partnersList); + ?>
blueprint()->field('publicationDate')['label'] ?>
-
+
-
-

Synthèse

- -

Le 10 juin 2025, lors d’un raid de grande envergure dans la vieille ville de Naplouse, les forces armées israéliennes ont tué deux Palestiniens : les frères Nidal et Khaled ‘Amirah. -

-

- Suite à l’incident, l’armée israélienne a affirmé dans un communiqué que les hommes étaient des « terroristes » qui avaient essayé de s’emparer de l’arme d’un soldat et en avaient blessé quatre autres. Les soldats auraient alors riposté en tirant sur les deux hommes, les tuant tous les deux. -

-

- Cependant, l’analyse vidéo et les témoignages recueillis contredisent cette version des faits. Une enquête menée conjointement par B’Tselem et Index révèle que les frères ‘Amirah n’ont à aucun moment posé de danger pour les soldats impliqués. Pourtant, Khaled a été exécuté à bout portant alors qu’il était maintenu au sol par plusieurs soldats armés, tandis que son frère Nidal a été abattu par un tir dans le dos. Les soldats ont également empêché les secouristes présents de leur prêter assistance. -

-

Un sous-titre ici pour tester

-

- Les corps de Nidal et de Khaled ‘Amirah sont toujours détenus par les forces armées israéliennes. -

-

- À Naplouse comme à Jénine – où des soldats ont été filmés le mois dernier en train d’exécuter deux Palestiniens qui s’étaient rendus – ces images révèlent une politique de “tir à vue”, qui permet à l’armée israélienne de faire un usage sans aucun frein de la force létale contre les Palestiniens. Depuis octobre 2023, Israël a tué plus de 1 000 Palestiniens en Cisjordanie occupée. -

-
+ body()->isNotEmpty()): ?> +
+

Synthèse

+ body()->toLayouts() ?> +
+
@@ -143,7 +144,7 @@

Judiciaire

12 Dec 2025

-

La justice israélienne déclare ouvrir une enquête sur “les circonstances de la mort de Nidal et Khaled Amirah”. +

La justice israélienne déclare ouvrir une enquête sur "les circonstances de la mort de Nidal et Khaled Amirah".

@@ -152,7 +153,7 @@

Judiciaire

12 Dec 2025

-

La justice israélienne déclare ouvrir une enquête sur “les circonstances de la mort de Nidal et Khaled Amirah” +

La justice israélienne déclare ouvrir une enquête sur "les circonstances de la mort de Nidal et Khaled Amirah"

@@ -162,7 +163,7 @@

Judiciaire

12 Dec 2025

-

Index présente une série d’enquêtes récentes au Festival du Réel 2025. Voir plus +

Index présente une série d'enquêtes récentes au Festival du Réel 2025. Voir plus

@@ -177,7 +178,7 @@
-

L’homicide de Nahel Merzouk

+

L'homicide de Nahel Merzouk

  • Occupation
  • @@ -224,14 +225,9 @@ - - - - - - \ No newline at end of file + From b0a5bfc4c84b090ffbcfb68e78214c1a1ab292f4 Mon Sep 17 00:00:00 2001 From: antonin gallon Date: Wed, 7 Jan 2026 15:53:27 +0100 Subject: [PATCH 4/8] investigation-summary : labels en dur et correction orthographe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remplacement des appels dynamiques blueprint()->field()['label'] par les valeurs en dur - Correction orthographe: methodologys → methodologies dans le blueprint et le template - Amélioration des performances en évitant les appels dynamiques 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- .../blueprints/pages/investigation-summary.yml | 2 +- site/templates/investigation-summary.php | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/site/blueprints/pages/investigation-summary.yml b/site/blueprints/pages/investigation-summary.yml index 744266e..d3daa5a 100644 --- a/site/blueprints/pages/investigation-summary.yml +++ b/site/blueprints/pages/investigation-summary.yml @@ -81,7 +81,7 @@ tabs: type: link options: - url - methodologys: + methodologies: label: Méthodologie type: entries field: diff --git a/site/templates/investigation-summary.php b/site/templates/investigation-summary.php index 1d086ae..72cdec1 100644 --- a/site/templates/investigation-summary.php +++ b/site/templates/investigation-summary.php @@ -47,19 +47,19 @@
    -
    blueprint()->field('incidentDate')['label']?>
    +
    Date de l'incident
    -
    blueprint()->field('incidentLocation')['label'] ?>
    +
    Lieu de l'incident
    incidentLocation() ?>
    -
    blueprint()->field('incidentConsequences')['label'] ?>
    +
    Conséquence(s)
    incidentConsequences() ?>
    -
    blueprint()->field('keywords')['label'] ?>
    +
    Mots-clés
      keywords()->split() as $keyword): ?> @@ -69,17 +69,17 @@
    -
    blueprint()->field('methodologys')['label'] ?>
    +
    Méthodologie
      - methodologys()->toEntries() as $methodology): ?> + methodologies()->toEntries() as $methodology): ?>
    -
    blueprint()->field('team')['label'] ?>
    +
    Équipe
    -
    blueprint()->field('partners')['label'] ?>
    +
    Partenaire(s)
    -
    blueprint()->field('publicationDate')['label'] ?>
    +
    Date de publication
    From 4a18a61148d375b59617182930c010814ebfc9ab Mon Sep 17 00:00:00 2001 From: antonin gallon Date: Wed, 7 Jan 2026 17:35:37 +0100 Subject: [PATCH 5/8] =?UTF-8?q?investigation-summary=20:=20ajout=20gestion?= =?UTF-8?q?=20l=C3=A9gendes=20d'images?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Création du blueprint files/cover.yml avec champs alt et caption - Configuration uploads.template: cover pour association automatique - Amélioration affichage légende avec condition isNotEmpty() - Les métadonnées des images sont désormais éditables via le panel 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- site/blueprints/files/cover.yml | 12 ++++++++++++ site/blueprints/pages/investigation-summary.yml | 2 ++ site/templates/investigation-summary.php | 12 +++++++----- 3 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 site/blueprints/files/cover.yml diff --git a/site/blueprints/files/cover.yml b/site/blueprints/files/cover.yml new file mode 100644 index 0000000..ca64d64 --- /dev/null +++ b/site/blueprints/files/cover.yml @@ -0,0 +1,12 @@ +title: Image de couverture + +fields: + alt: + label: Texte alternatif + type: text + help: Description de l'image pour l'accessibilité + caption: + label: Légende + type: textarea + size: small + help: Légende affichée sous l'image diff --git a/site/blueprints/pages/investigation-summary.yml b/site/blueprints/pages/investigation-summary.yml index d3daa5a..c062b0b 100644 --- a/site/blueprints/pages/investigation-summary.yml +++ b/site/blueprints/pages/investigation-summary.yml @@ -33,6 +33,8 @@ tabs: min: 1 layout: cards size: full + uploads: + template: cover image: ratio: 12/7 cover: true diff --git a/site/templates/investigation-summary.php b/site/templates/investigation-summary.php index 72cdec1..9b8b879 100644 --- a/site/templates/investigation-summary.php +++ b/site/templates/investigation-summary.php @@ -14,17 +14,19 @@ cover()->toFile()): ?> -
    caption() ?>
    + caption()->isNotEmpty()): ?> +
    caption() ?>
    +