This commit is contained in:
parent
dbf9097701
commit
9ead1c51f4
7 changed files with 384 additions and 125 deletions
|
|
@ -2,7 +2,7 @@ body{
|
||||||
min-height: 100dvh;
|
min-height: 100dvh;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
overflow-x: hidden;
|
// overflow-x: hidden;
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
|
||||||
|
|
@ -2056,7 +2056,6 @@ body {
|
||||||
min-height: 100dvh;
|
min-height: 100dvh;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
overflow-x: hidden;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
@ -2464,9 +2463,9 @@ main .page__header .description-medium {
|
||||||
@media screen and (min-width: 768px) {
|
@media screen and (min-width: 768px) {
|
||||||
[data-template=report] .report__header {
|
[data-template=report] .report__header {
|
||||||
margin-inline: auto;
|
margin-inline: auto;
|
||||||
margin-top: calc(var(--spacing) * 1);
|
|
||||||
max-width: var(--max-w-cards);
|
max-width: var(--max-w-cards);
|
||||||
margin-bottom: calc(var(--spacing) * 2.5);
|
margin-top: calc(var(--spacing) * 3);
|
||||||
|
margin-bottom: calc(var(--spacing) * 4);
|
||||||
}
|
}
|
||||||
[data-template=report] .report__content {
|
[data-template=report] .report__content {
|
||||||
display: grid;
|
display: grid;
|
||||||
|
|
@ -2474,10 +2473,19 @@ main .page__header .description-medium {
|
||||||
grid-gap: var(--padding-body);
|
grid-gap: var(--padding-body);
|
||||||
}
|
}
|
||||||
[data-template=report] .report__content .report__txt {
|
[data-template=report] .report__content .report__txt {
|
||||||
|
grid-row: 1;
|
||||||
|
grid-column: 1;
|
||||||
max-width: var(--max-w-content);
|
max-width: var(--max-w-content);
|
||||||
}
|
}
|
||||||
[data-template=report] .report__content .report__medias {
|
[data-template=report] .report__content #report__medias {
|
||||||
background-color: yellow;
|
position: sticky;
|
||||||
|
top: calc(var(--header-h) + var(--padding-body));
|
||||||
|
align-self: start;
|
||||||
|
background-color: red;
|
||||||
|
grid-row: 1;
|
||||||
|
grid-column: 2;
|
||||||
|
border: var(--border-light);
|
||||||
|
min-height: 100px;
|
||||||
}
|
}
|
||||||
[data-template=report] #toggle-panel {
|
[data-template=report] #toggle-panel {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
|
|
@ -2566,7 +2574,6 @@ main .page__header .description-medium {
|
||||||
grid-row: 2;
|
grid-row: 2;
|
||||||
grid-column: 1;
|
grid-column: 1;
|
||||||
align-self: end;
|
align-self: end;
|
||||||
font-size: var(--fs-small);
|
|
||||||
border-bottom: var(--border-light);
|
border-bottom: var(--border-light);
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
|
|
@ -2595,6 +2602,7 @@ main .page__header .description-medium {
|
||||||
|
|
||||||
.report__content .section-content {
|
.report__content .section-content {
|
||||||
margin-bottom: calc(var(--spacing) * 3);
|
margin-bottom: calc(var(--spacing) * 3);
|
||||||
|
border-bottom: 1px solid red;
|
||||||
}
|
}
|
||||||
.report__content .section-content:target {
|
.report__content .section-content:target {
|
||||||
padding-top: calc(var(--header-h) + var(--spacing) * 2);
|
padding-top: calc(var(--header-h) + var(--spacing) * 2);
|
||||||
|
|
@ -2627,7 +2635,7 @@ main .page__header .description-medium {
|
||||||
}
|
}
|
||||||
|
|
||||||
#report__aside {
|
#report__aside {
|
||||||
--border-aside: var(--border-light);
|
--border-aside: 1px solid var(--color-txt);
|
||||||
}
|
}
|
||||||
#report__aside .panel__header {
|
#report__aside .panel__header {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -2656,10 +2664,10 @@ main .page__header .description-medium {
|
||||||
}
|
}
|
||||||
#report__aside .panel__header .close svg {
|
#report__aside .panel__header .close svg {
|
||||||
width: 10px;
|
width: 10px;
|
||||||
fill: var(--grey-600);
|
fill: var(--color-txt);
|
||||||
}
|
}
|
||||||
#report__aside .panel__header:hover .close svg {
|
#report__aside .panel__header:hover .close svg {
|
||||||
fill: var(--color-txt);
|
fill: var(--grey-200);
|
||||||
}
|
}
|
||||||
#report__aside .panel__content {
|
#report__aside .panel__content {
|
||||||
padding: var(--padding-body);
|
padding: var(--padding-body);
|
||||||
|
|
@ -2714,10 +2722,6 @@ main .page__header .description-medium {
|
||||||
#report {
|
#report {
|
||||||
--fig-outside: calc(var(--spacing)*2);
|
--fig-outside: calc(var(--spacing)*2);
|
||||||
}
|
}
|
||||||
#report .container-figure {
|
|
||||||
width: 100%;
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
#report .fig-simple {
|
#report .fig-simple {
|
||||||
height: calc(100vh - var(--header-h) - var(--spacing) * 2);
|
height: calc(100vh - var(--header-h) - var(--spacing) * 2);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -56,10 +56,9 @@
|
||||||
|
|
||||||
.report__header {
|
.report__header {
|
||||||
margin-inline: auto;
|
margin-inline: auto;
|
||||||
margin-top: calc(var(--spacing)*1);
|
|
||||||
max-width: var(--max-w-cards);
|
max-width: var(--max-w-cards);
|
||||||
margin-bottom: calc(var(--spacing)*2.5);
|
margin-top: calc(var(--spacing) * 3);
|
||||||
|
margin-bottom: calc(var(--spacing) * 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
.report__content {
|
.report__content {
|
||||||
|
|
@ -69,11 +68,21 @@
|
||||||
|
|
||||||
|
|
||||||
.report__txt {
|
.report__txt {
|
||||||
|
grid-row: 1;
|
||||||
|
grid-column: 1;
|
||||||
max-width: var(--max-w-content);
|
max-width: var(--max-w-content);
|
||||||
}
|
}
|
||||||
|
|
||||||
.report__medias {
|
#report__medias {
|
||||||
background-color: yellow;
|
position: sticky;
|
||||||
|
top: calc(var(--header-h) + var(--padding-body));
|
||||||
|
align-self: start;
|
||||||
|
|
||||||
|
background-color: red;
|
||||||
|
grid-row: 1;
|
||||||
|
grid-column: 2;
|
||||||
|
border: var(--border-light);
|
||||||
|
min-height: 100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -91,7 +100,7 @@
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: var(--header-h);
|
top: var(--header-h);
|
||||||
left: var(--padding-body);
|
left: var(--padding-body);
|
||||||
width: var(--panel-w);
|
width: var(--panel-w);
|
||||||
height: calc(100vh - var(--header-h));
|
height: calc(100vh - var(--header-h));
|
||||||
z-index: calc(var(--z-header) + 200);
|
z-index: calc(var(--z-header) + 200);
|
||||||
background-color: var(--color-bg);
|
background-color: var(--color-bg);
|
||||||
|
|
@ -187,7 +196,7 @@
|
||||||
grid-row: 2;
|
grid-row: 2;
|
||||||
grid-column: 1;
|
grid-column: 1;
|
||||||
align-self: end;
|
align-self: end;
|
||||||
font-size: var(--fs-small);
|
// font-size: var(--fs-small);
|
||||||
border-bottom: var(--border-light);
|
border-bottom: var(--border-light);
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
|
|
||||||
|
|
@ -232,6 +241,7 @@
|
||||||
|
|
||||||
.section-content {
|
.section-content {
|
||||||
margin-bottom: calc(var(--spacing)*3);
|
margin-bottom: calc(var(--spacing)*3);
|
||||||
|
border-bottom: 1px solid red;
|
||||||
&:target{
|
&:target{
|
||||||
padding-top: calc(var(--header-h) + var(--spacing)*2);
|
padding-top: calc(var(--header-h) + var(--spacing)*2);
|
||||||
@media #{$small}{ padding-top: calc(var(--header-h) + var(--spacing)*0.5); }
|
@media #{$small}{ padding-top: calc(var(--header-h) + var(--spacing)*0.5); }
|
||||||
|
|
@ -271,7 +281,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
#report__aside {
|
#report__aside {
|
||||||
--border-aside: var(--border-light);
|
--border-aside: 1px solid var(--color-txt);
|
||||||
|
|
||||||
.panel__header {
|
.panel__header {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -303,7 +313,7 @@
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
width: 10px;
|
width: 10px;
|
||||||
fill: var(--grey-600);
|
fill: var(--color-txt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -313,7 +323,7 @@
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
.close svg {
|
.close svg {
|
||||||
fill: var(--color-txt);
|
fill: var(--grey-200);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -396,10 +406,10 @@
|
||||||
#report {
|
#report {
|
||||||
--fig-outside: calc(var(--spacing)*2);
|
--fig-outside: calc(var(--spacing)*2);
|
||||||
|
|
||||||
.container-figure {
|
// .container-figure {
|
||||||
width: 100%;
|
// width: 100%;
|
||||||
display: none;
|
// display: none;
|
||||||
}
|
// }
|
||||||
|
|
||||||
.fig-simple {
|
.fig-simple {
|
||||||
height: calc(100vh - var(--header-h) - var(--spacing)*2);
|
height: calc(100vh - var(--header-h) - var(--spacing)*2);
|
||||||
|
|
|
||||||
178
assets/js/report.js
Normal file
178
assets/js/report.js
Normal file
|
|
@ -0,0 +1,178 @@
|
||||||
|
export function report(responsiveSmall) {
|
||||||
|
if (document.body.dataset.template === 'report') {
|
||||||
|
console.log('report');
|
||||||
|
|
||||||
|
// Ne fonctionne que pour les écrans plus grands que responsiveSmall
|
||||||
|
if (window.matchMedia(responsiveSmall).matches) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
initMediaDisplay();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function initMediaDisplay() {
|
||||||
|
const reportMedias = document.querySelector('#report__medias');
|
||||||
|
if (!reportMedias) return;
|
||||||
|
|
||||||
|
// Calculer la hauteur depuis les variables CSS: calc(var(--header-h) + var(--padding-body))
|
||||||
|
const rootStyles = getComputedStyle(document.documentElement);
|
||||||
|
const headerH = rootStyles.getPropertyValue('--header-h').trim();
|
||||||
|
const paddingBody = rootStyles.getPropertyValue('--padding-body').trim();
|
||||||
|
|
||||||
|
// Convertir en pixels si nécessaire
|
||||||
|
const headerHPx = parseFloat(headerH);
|
||||||
|
const paddingBodyPx = parseFloat(paddingBody);
|
||||||
|
const totalOffset = headerHPx + paddingBodyPx;
|
||||||
|
|
||||||
|
const sections = document.querySelectorAll('.section-content');
|
||||||
|
const mediaElements = [];
|
||||||
|
let mediaCounter = 0;
|
||||||
|
|
||||||
|
// 1. Pour chaque section, traiter les .media
|
||||||
|
sections.forEach((section) => {
|
||||||
|
const medias = section.querySelectorAll('.media');
|
||||||
|
|
||||||
|
medias.forEach((media) => {
|
||||||
|
// Générer un ID unique si nécessaire
|
||||||
|
if (!media.id) {
|
||||||
|
media.id = `media-${mediaCounter++}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Créer une ancre
|
||||||
|
const anchor = document.createElement('div');
|
||||||
|
anchor.className = 'media-anchor';
|
||||||
|
anchor.dataset.mediaId = media.id;
|
||||||
|
|
||||||
|
// Style visuel pour debug (carré rouge de 10px)
|
||||||
|
anchor.style.width = '10px';
|
||||||
|
anchor.style.height = '10px';
|
||||||
|
anchor.style.backgroundColor = 'red';
|
||||||
|
anchor.style.position = 'relative';
|
||||||
|
|
||||||
|
// Vérifier si le media est précédé d'un titre
|
||||||
|
let previousElement = media.previousElementSibling;
|
||||||
|
let insertBeforeElement = media;
|
||||||
|
|
||||||
|
// Si l'élément précédent est un titre (h1-h6), insérer l'ancre avant le titre
|
||||||
|
if (previousElement && /^H[1-6]$/.test(previousElement.tagName)) {
|
||||||
|
insertBeforeElement = previousElement;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Insérer l'ancre
|
||||||
|
insertBeforeElement.parentNode.insertBefore(anchor, insertBeforeElement);
|
||||||
|
|
||||||
|
// Stocker la référence pour l'observer
|
||||||
|
mediaElements.push({
|
||||||
|
anchor: anchor,
|
||||||
|
media: media.cloneNode(true), // Cloner le media
|
||||||
|
originalMedia: media,
|
||||||
|
section: section
|
||||||
|
});
|
||||||
|
|
||||||
|
// Masquer le media original
|
||||||
|
media.style.display = 'none';
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 2. Fonction pour trouver et afficher le media le plus proche de la ligne de déclenchement
|
||||||
|
let currentMediaId = null;
|
||||||
|
|
||||||
|
function updateActiveMedia() {
|
||||||
|
// Trouver l'ancre qui est la plus proche de la ligne de déclenchement (totalOffset du haut)
|
||||||
|
let closestAnchor = null;
|
||||||
|
let closestDistance = Infinity;
|
||||||
|
|
||||||
|
mediaElements.forEach(({ anchor }) => {
|
||||||
|
const rect = anchor.getBoundingClientRect();
|
||||||
|
|
||||||
|
// Si l'ancre est au-dessus ou à la ligne de déclenchement
|
||||||
|
if (rect.top <= totalOffset) {
|
||||||
|
const distance = totalOffset - rect.top;
|
||||||
|
|
||||||
|
// Prendre celle qui vient juste de passer (la plus proche en dessous de la ligne)
|
||||||
|
if (distance < closestDistance) {
|
||||||
|
closestDistance = distance;
|
||||||
|
closestAnchor = anchor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Si on a trouvé une ancre
|
||||||
|
if (closestAnchor) {
|
||||||
|
const mediaId = closestAnchor.dataset.mediaId;
|
||||||
|
|
||||||
|
// Si c'est déjà le media affiché, ne rien faire
|
||||||
|
if (currentMediaId === mediaId) return;
|
||||||
|
|
||||||
|
// Trouver le media correspondant
|
||||||
|
const mediaData = mediaElements.find(m => m.anchor === closestAnchor);
|
||||||
|
|
||||||
|
if (mediaData) {
|
||||||
|
// Vider le conteneur
|
||||||
|
reportMedias.innerHTML = '';
|
||||||
|
|
||||||
|
// Ajouter le nouveau media
|
||||||
|
reportMedias.appendChild(mediaData.media.cloneNode(true));
|
||||||
|
currentMediaId = mediaId;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Aucune ancre n'a encore franchi la ligne, vider le conteneur
|
||||||
|
if (currentMediaId !== null) {
|
||||||
|
reportMedias.innerHTML = '';
|
||||||
|
currentMediaId = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3. Écouter le scroll
|
||||||
|
let scrollTimeout;
|
||||||
|
window.addEventListener('scroll', () => {
|
||||||
|
// Throttle pour optimiser les performances
|
||||||
|
if (scrollTimeout) return;
|
||||||
|
|
||||||
|
scrollTimeout = setTimeout(() => {
|
||||||
|
updateActiveMedia();
|
||||||
|
scrollTimeout = null;
|
||||||
|
}, 10);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Appeler une première fois au chargement
|
||||||
|
updateActiveMedia();
|
||||||
|
|
||||||
|
// 4. Gérer les sections sans media immédiat
|
||||||
|
// Observer aussi les sections elles-mêmes
|
||||||
|
const sectionObserver = new IntersectionObserver((entries) => {
|
||||||
|
entries.forEach(entry => {
|
||||||
|
if (entry.isIntersecting) {
|
||||||
|
const section = entry.target;
|
||||||
|
|
||||||
|
// Vérifier si cette section a un media juste après son premier titre
|
||||||
|
const firstTitle = section.querySelector('h1, h2, h3, h4, h5, h6');
|
||||||
|
if (firstTitle) {
|
||||||
|
let nextElement = firstTitle.nextElementSibling;
|
||||||
|
|
||||||
|
// Chercher le prochain élément qui n'est pas une ancre
|
||||||
|
while (nextElement && nextElement.classList.contains('media-anchor')) {
|
||||||
|
nextElement = nextElement.nextElementSibling;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Si le prochain élément n'est pas un .media, vider #report__medias
|
||||||
|
if (!nextElement || !nextElement.classList.contains('media')) {
|
||||||
|
reportMedias.innerHTML = '';
|
||||||
|
currentMediaId = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}, {
|
||||||
|
root: null,
|
||||||
|
rootMargin: `-${totalOffset}px 0px 0px 0px`,
|
||||||
|
threshold: 0
|
||||||
|
});
|
||||||
|
|
||||||
|
// Observer toutes les sections
|
||||||
|
sections.forEach(section => {
|
||||||
|
sectionObserver.observe(section);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
@ -8,6 +8,8 @@ import { initHeroSlider } from './hero-slider.js';
|
||||||
import { playVideo } from './hero-video.js';
|
import { playVideo } from './hero-video.js';
|
||||||
import { initDropdowns } from './dropdown.js';
|
import { initDropdowns } from './dropdown.js';
|
||||||
import { initHomeInvestigationsSlider } from './home-investigations-slider.js';
|
import { initHomeInvestigationsSlider } from './home-investigations-slider.js';
|
||||||
|
import { report } from './report.js';
|
||||||
|
|
||||||
|
|
||||||
const responsiveMedium = 1080;
|
const responsiveMedium = 1080;
|
||||||
const responsiveSmall = 768;
|
const responsiveSmall = 768;
|
||||||
|
|
@ -18,6 +20,9 @@ window.onload = async function () {
|
||||||
panelToggle(responsiveSmall);
|
panelToggle(responsiveSmall);
|
||||||
themeToggle();
|
themeToggle();
|
||||||
|
|
||||||
|
|
||||||
|
report(responsiveSmall);
|
||||||
|
|
||||||
tocMobile(responsiveSmall);
|
tocMobile(responsiveSmall);
|
||||||
copyLink();
|
copyLink();
|
||||||
btnGroupMobile(responsiveSmall)
|
btnGroupMobile(responsiveSmall)
|
||||||
|
|
|
||||||
|
|
@ -127,10 +127,9 @@
|
||||||
|
|
||||||
<div class="report__content">
|
<div class="report__content">
|
||||||
|
|
||||||
<div class="report__medias">
|
<div class="report__medias" id="report__medias">
|
||||||
<div class="container-figure fig-simple">
|
<!-- <span class="arrow">▶</span> -->
|
||||||
<figure><img src="/assets/images/adam-raihane/fig-1-a.png"></figure>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="report__txt">
|
<div class="report__txt">
|
||||||
|
|
@ -162,28 +161,30 @@
|
||||||
|
|
||||||
<div class="section-content" id="rappel-faits">
|
<div class="section-content" id="rappel-faits">
|
||||||
<h3 class="section-title">Rappel des faits</h3>
|
<h3 class="section-title">Rappel des faits</h3>
|
||||||
<p>
|
<p><em>Note : Le nom de famille des individus mentionnés dans ce rapport a
|
||||||
Le 19 août 2017, vers 17h, M. Luis Manuel BICO, 48 ans, a été tué
|
été remplacé par leur initiale, afin de préserver leur anonymat dans le
|
||||||
lors d'une intervention policière à Châlette-sur-Loing.
|
cadre de la publication en ligne du rapport.</em>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Atteint de schizophrénie dysthymique et suivi pour des troubles
|
Dans la nuit du 18 au 19 août 2022, une intervention policière sur le
|
||||||
bipolaires depuis l'âge de 20 ans, M. BICO a menacé une personne
|
parking de l'hypermarché Carrefour à Vénissieux a causé la mort de
|
||||||
avec un couteau le 19 août 2017, déclenchant une alerte auprès
|
deux individus. Adam B. (20 ans) et Raihane S. (25 ans) ont été tués
|
||||||
des forces de l'ordre. Localisé au 3 rue Maurice Ravel à Châlette-sur-Loing,
|
par des tirs de pistolet semi-automatique alors qu'ils se trouvaient
|
||||||
M. BICO, dans un état d'agitation extrême et tenant des
|
à bord d'une Renault Mégane RS, signalée volée. Le premier, qui a
|
||||||
propos incohérents, s'était enfermé dans son véhicule, exhibant un
|
reçu une balle dans le thorax, est mort sur les lieux ; le second,
|
||||||
couteau. Deux équipages de police, soit sept agents, sont intervenus.
|
touché à la tête, est mort le 19 août à 23 heures à l'hôpital Lyon Sud.
|
||||||
Face à son refus de se rendre, les policiers ont tenté de le maîtriser
|
</p>
|
||||||
en usant de gaz lacrymogène et en tentant de briser le pare-brise
|
<p>
|
||||||
de son véhicule avec leurs bâtons. M. BICO, au volant, a reculé à
|
L'enquête a déterminé que les deux individus ont été tués par des balles provenant de la même arme, appartenant au policier Geoffray D., chef de bord d'une patrouille de la Brigade Spécialisée de Terrain affectée à Vénissieux. Sur les quatre agents présents lors de l'intervention, deux ont ouvert le feu. Au total, onze balles ont atteint le véhicule où se trouvaient Adam B. et Raihane S..
|
||||||
plusieurs reprises, percutant un véhicule de police. Lorsqu'un agent a
|
</p>
|
||||||
déplacé un second véhicule de police qui obstruait la voie située sur
|
<p>
|
||||||
sa gauche, M. BICO a redémarré en tentant de fuir. À ce moment, trois
|
Les policiers ont justifié leur usage des armes en invoquant la
|
||||||
policiers ont ouvert le feu, tirant 18 fois sur le véhicule. M. BICO a été
|
légitime défense face à une situation dite de « refus d'obtempérer »
|
||||||
mortellement atteint par deux projectiles et son décès a été constaté
|
mettant leur vie en danger imminent. Selon leurs déclarations, le
|
||||||
sur place. L'incident a été observé par plusieurs témoins et filmé sous
|
policier Geoffray D. aurait été heurté par le véhicule en fuite. Il aurait
|
||||||
divers angles.
|
tiré alors qu'il se trouvait embarqué sur le capot. Lors de son
|
||||||
|
audition, il a affirmé qu'il n'avait « pas d'autre choix » que d'ouvrir le
|
||||||
|
feu sur le pare-brise du véhicule.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -196,89 +197,150 @@
|
||||||
à une modélisation numérique en 3D dudit parking et des bâtiments qui
|
à une modélisation numérique en 3D dudit parking et des bâtiments qui
|
||||||
l'entourent.
|
l'entourent.
|
||||||
</p>
|
</p>
|
||||||
<div class="container-figure fig-simple">
|
</div>
|
||||||
|
|
||||||
|
<div class="section-content" id="sources-employees">
|
||||||
|
<h3 class="section-title">Sources employées</h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
INDEX a obtenu accès au dossier judiciaire de l’affaire concernant la mort d’Adam B. et Raihane S., y compris aux auditions des policiers mis en cause, aux rapports d’autopsie, aux rapports d’expertise, aux photographies de constatation et aux enregistrements radio du soir de l’incident. L’ensemble de ces pièces ont été exploitées à des fins d’analyse et de reconstitution de l’incident.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Un modèle numérique en 3D du parking où les faits se sont produits a été réalisé en employant plusieurs sources de données publiques en ligne (Géoportail, Open Street Map, Google Earth).
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="section-content" id="objectifs-rapport">
|
||||||
|
<h3 class="section-title">Objectifs du rapport</h3>
|
||||||
|
<p>
|
||||||
|
En partant de l’examen de l’ensemble des pièces produites à ce jour
|
||||||
|
dans le cadre de la procédure judiciaire sur les circonstances de la
|
||||||
|
mort d’Adam B. et de Raihane S., les objectifs du présent rapport de
|
||||||
|
contre-expertise sont les suivants :
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
Produire, dans la mesure du possible, une reconstitution dynamique de l’incident dans un modèle numérique en 3D des lieux ;
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Employer ce modèle de reconstitution pour procéder à une vérification rigoureuse du scénario des faits livré par les policiers ayant participé à l’intervention, ainsi que des conclusions avancées par l’expert balistique désigné dans son rapport ;
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
À l’issue de cette analyse, faire toute observation utile à la manifestation de la vérité et à l’exercice de la justice.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="section-content">
|
||||||
|
<h3 class="section-title">MODÉLISATION NUMÉRIQUE EN 3D DES LIEUX DE L’INCIDENT</h3>
|
||||||
|
<div class="media container-figure fig-simple">
|
||||||
<figure><img src="/assets/images/adam-raihane/fig-1-a.png"></figure>
|
<figure><img src="/assets/images/adam-raihane/fig-1-a.png"></figure>
|
||||||
|
<p class="caption">Fig. 1 : Plan de situation des lieux de l’incident.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Les faits examinés dans ce rapport se sont déroulés sur le parking du
|
||||||
|
centre commercial Carrefour situé au 136 boulevard Irène Joliot-Curie
|
||||||
|
à Vénissieux (69), dans la proche banlieue de Lyon. Nous avons procédé
|
||||||
|
à une modélisation numérique en 3D dudit parking et des bâtiments qui
|
||||||
|
l’entourent.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="media container-figure fig-simple">
|
||||||
|
<figure><img src="/assets/images/adam-raihane/fig-2.png"></figure>
|
||||||
|
<p class="caption">Fig. 2 : Plan de localisation des éléments constatés sur les lieux de l’incident dans la nuit des faits.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Sur ce modèle 3D, nous avons reproduit les positions des différents
|
||||||
|
éléments constatés par les services de police sur les lieux de l’incident,
|
||||||
|
conformément aux photos de constatation et aux relevés techniques
|
||||||
|
effectués sur les lieux. Deux zones principales sont à distinguer :
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
• Au sud, la zone où le véhicule Renault Mégane RS ciblé par les tirs
|
||||||
|
policiers a fini sa course. Nous la désignons comme « zone 2 ».
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
• Au nord, la zone où le véhicule Renault Mégane RS était initialement
|
||||||
|
stationné au début de l’intervention de police. Nous la désignons
|
||||||
|
comme « zone 1 ».
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
<em>
|
||||||
|
Note : La position initiale précise du véhicule Renault Mégane sur
|
||||||
|
le parking n’a pas été établie par les constatations sur le lieux de
|
||||||
|
l’incident– le fourgon de police ayant été déplacé de sa position en
|
||||||
|
début d’intervention.
|
||||||
|
</em>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Ces deux zones sont distantes d’environ 50 mètres. Les tirs sur le
|
||||||
|
véhicule Renault Mégane ont donc eu lieu entre ces deux zones. Ceci
|
||||||
|
est attesté par la présence, entre la zone 1 et 2, des éléments suivants :
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
Huits étuis percutés au sol, correspondant à des balles de calibre
|
||||||
|
9mm. Cinq de ces étuis correspondent à l’arme du policier Geoffray D.,
|
||||||
|
les trois autres correspondent à celle du policier Pierre-Alexandre D.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Un Dispositif d'Interception des Véhicules Automobiles (DIVA, aussi
|
||||||
|
connu sous le nom de « stop-stick »), responsable du dégonflage du
|
||||||
|
pneu avant droit du véhicule Renault Mégane.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Des bris de verre, correspondant à l’éclatement d’une vitre du
|
||||||
|
véhicule, vraisemblablement causé par un tir de pistolet.
|
||||||
|
Les positions de l’ensemble des éléments mentionnés ont été reportées
|
||||||
|
sur le modèle 3D (Fig. 2) afin de constituer le cadre de l’analyse produite
|
||||||
|
dans le présent rapport.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="section-content">
|
||||||
|
<h3 class="section-title">SCHÉMATISATION DE LA DYNAMIQUE GÉNÉRALE DE L’INCIDENT</h3>
|
||||||
|
<div class="media container-figure fig-simple">
|
||||||
|
<figure><img src="/assets/images/adam-raihane/fig-3.png"></figure>
|
||||||
|
<p class="caption">Fig. 3 : Schéma de la dynamique générale de l’incident.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="section-content">
|
<div class="section-content">
|
||||||
<h3 class="section-title">Rappel des faits</h3>
|
<h3 class="section-title">Rappel des faits</h3>
|
||||||
<p>
|
<p>
|
||||||
Le 19 août 2017, vers 17h, M. Luis Manuel BICO, 48 ans, a été tué
|
D’après les déclarations du policier Geoffray D., à l’arrivée du fourgon de police à sa hauteur, le conducteur de la Mégane aurait effectué une brève marche arrière, avant d’enclencher la marche avant.
|
||||||
lors d'une intervention policière à Châlette-sur-Loing.
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Atteint de schizophrénie dysthymique et suivi pour des troubles
|
C’est à ce moment que le policier aurait été percuté par le véhicule et aurait ouvert le feu, provoquant la mort d’Adam B. et de Raihane S..
|
||||||
bipolaires depuis l'âge de 20 ans, M. BICO a menacé une personne
|
|
||||||
avec un couteau le 19 août 2017, déclenchant une alerte auprès
|
|
||||||
des forces de l'ordre. Localisé au 3 rue Maurice Ravel à Châlette-sur-Loing,
|
|
||||||
M. BICO, dans un état d'agitation extrême et tenant des
|
|
||||||
propos incohérents, s'était enfermé dans son véhicule, exhibant un
|
|
||||||
couteau. Deux équipages de police, soit sept agents, sont intervenus.
|
|
||||||
Face à son refus de se rendre, les policiers ont tenté de le maîtriser
|
|
||||||
en usant de gaz lacrymogène et en tentant de briser le pare-brise
|
|
||||||
de son véhicule avec leurs bâtons. M. BICO, au volant, a reculé à
|
|
||||||
plusieurs reprises, percutant un véhicule de police. Lorsqu'un agent a
|
|
||||||
déplacé un second véhicule de police qui obstruait la voie située sur
|
|
||||||
sa gauche, M. BICO a redémarré en tentant de fuir. À ce moment, trois
|
|
||||||
policiers ont ouvert le feu, tirant 18 fois sur le véhicule. M. BICO a été
|
|
||||||
mortellement atteint par deux projectiles et son décès a été constaté
|
|
||||||
sur place. L'incident a été observé par plusieurs témoins et filmé sous
|
|
||||||
divers angles.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="section-content">
|
|
||||||
<h3 class="section-title">Rappel des faits</h3>
|
|
||||||
<p>
|
|
||||||
Le 19 août 2017, vers 17h, M. Luis Manuel BICO, 48 ans, a été tué
|
|
||||||
lors d'une intervention policière à Châlette-sur-Loing.
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Atteint de schizophrénie dysthymique et suivi pour des troubles
|
De maniere concomitante, un deuxième policier, Pierre-Alexandre D., aurait effectué trois tirs sur le véhicule en fuite, depuis son côté arrière droit.
|
||||||
bipolaires depuis l'âge de 20 ans, M. BICO a menacé une personne
|
</p>
|
||||||
avec un couteau le 19 août 2017, déclenchant une alerte auprès
|
|
||||||
des forces de l'ordre. Localisé au 3 rue Maurice Ravel à Châlette-sur-Loing,
|
|
||||||
M. BICO, dans un état d'agitation extrême et tenant des
|
|
||||||
propos incohérents, s'était enfermé dans son véhicule, exhibant un
|
|
||||||
couteau. Deux équipages de police, soit sept agents, sont intervenus.
|
|
||||||
Face à son refus de se rendre, les policiers ont tenté de le maîtriser
|
|
||||||
en usant de gaz lacrymogène et en tentant de briser le pare-brise
|
|
||||||
de son véhicule avec leurs bâtons. M. BICO, au volant, a reculé à
|
|
||||||
plusieurs reprises, percutant un véhicule de police. Lorsqu'un agent a
|
|
||||||
déplacé un second véhicule de police qui obstruait la voie située sur
|
|
||||||
sa gauche, M. BICO a redémarré en tentant de fuir. À ce moment, trois
|
|
||||||
policiers ont ouvert le feu, tirant 18 fois sur le véhicule. M. BICO a été
|
|
||||||
mortellement atteint par deux projectiles et son décès a été constaté
|
|
||||||
sur place. L'incident a été observé par plusieurs témoins et filmé sous
|
|
||||||
divers angles.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="section-content">
|
|
||||||
<h3 class="section-title">Rappel des faits</h3>
|
|
||||||
<p>
|
<p>
|
||||||
Le 19 août 2017, vers 17h, M. Luis Manuel BICO, 48 ans, a été tué
|
Les constatations matérielles sur site, croisées avec les déclarations des policiers, permettent de circonscrire une zone approximative dans laquelle les tirs sur le véhicule ont été effecutés.
|
||||||
lors d'une intervention policière à Châlette-sur-Loing.
|
</p>
|
||||||
</p>
|
|
||||||
<p>
|
<p>
|
||||||
Atteint de schizophrénie dysthymique et suivi pour des troubles
|
Une fois l’action de tir terminée, le véhicule aurait continué à rouler à faible allure jusqu’à percuter un autre véhicule stationné sur le parking. Sa position finale est établie par des photos de constatations et un relevé technique des lieux.
|
||||||
bipolaires depuis l'âge de 20 ans, M. BICO a menacé une personne
|
</p>
|
||||||
avec un couteau le 19 août 2017, déclenchant une alerte auprès
|
<p>
|
||||||
des forces de l'ordre. Localisé au 3 rue Maurice Ravel à Châlette-sur-Loing,
|
Nous avons intégré cette dynamique au modèle de reconstitution 3D (Fig. 3).
|
||||||
M. BICO, dans un état d'agitation extrême et tenant des
|
|
||||||
propos incohérents, s'était enfermé dans son véhicule, exhibant un
|
|
||||||
couteau. Deux équipages de police, soit sept agents, sont intervenus.
|
|
||||||
Face à son refus de se rendre, les policiers ont tenté de le maîtriser
|
|
||||||
en usant de gaz lacrymogène et en tentant de briser le pare-brise
|
|
||||||
de son véhicule avec leurs bâtons. M. BICO, au volant, a reculé à
|
|
||||||
plusieurs reprises, percutant un véhicule de police. Lorsqu'un agent a
|
|
||||||
déplacé un second véhicule de police qui obstruait la voie située sur
|
|
||||||
sa gauche, M. BICO a redémarré en tentant de fuir. À ce moment, trois
|
|
||||||
policiers ont ouvert le feu, tirant 18 fois sur le véhicule. M. BICO a été
|
|
||||||
mortellement atteint par deux projectiles et son décès a été constaté
|
|
||||||
sur place. L'incident a été observé par plusieurs témoins et filmé sous
|
|
||||||
divers angles.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue