report + harmonize panel-left
All checks were successful
Deploy / Deploy to Production (push) Successful in 11s

This commit is contained in:
Julie Blanc 2026-01-23 17:38:08 +01:00
parent bee25e5922
commit bd97c1c33e
19 changed files with 1107 additions and 770 deletions

View file

@ -61,4 +61,15 @@ body, #site-header, #site-footer{
grid-gap: var(--padding-inner);
grid-template-columns: 2fr 3fr;
position: relative;
}
}
@mixin hide-scroll(){
scrollbar-width: none;
-ms-overflow-style: none;
&::-webkit-scrollbar {
display: none;
}
}

View file

@ -17,9 +17,11 @@
--fs-button-bold: 22px;
--max-w-content: 700px;
--max-w-content: 640px;
--max-w-cards: 1000px;
--max-w-container: 1280px;
--z-header: 2000;
--panel-w: 310px;
@media #{$small} {
--fs-medium: 20px;
@ -105,7 +107,7 @@
--grey-800: #cfcfcf;
--color-bg: #efefef;
--color-txt: #000000;
--color-txt: #161616;
--color-txt-light: var(--grey-400);
--color-accent: #ff00ff;

View file

@ -65,26 +65,7 @@
}
}
// Variante : dropdown à droite du bouton
&--position-right .dropdown__content {
top: auto;
bottom: 0;
left: calc(100% + var(--padding-inner));
margin-top: 0;
margin-left: 4px;
&::before{
content: "";
transform: rotate(0deg);
font-size: 14px;
position: absolute;
top: auto;
bottom: 4px;
left: -12px;
}
}
&.is-open {
&.is-open {
.dropdown__content {
opacity: 1;
visibility: visible;
@ -92,11 +73,82 @@
}
}
&--position-right.is-open {
.dropdown__content {
transform: translateX(0);
}
// PANEL
@media #{$small}{
&--position-panel .dropdown__content {
top: auto;
bottom: calc(var(--h-block) + var(--padding-inner));
left: auto;
right: 0;
margin-top: 0;
margin-left: 4px;
&::before{
font-family: Arial;
content: "";
transform: rotate(-90deg);
font-size: 14px;
position: absolute;
top: auto;
bottom: -13px;
left: 50%;
}
}
&--position-panel.is-open {
.dropdown__content {
transform: translateX(0);
}
}
}
@media #{$small-up}{
&--position-panel .dropdown__content {
top: auto;
bottom: 0;
left: calc(100% + var(--padding-inner));
margin-top: 0;
margin-left: 4px;
&::before{
font-family: Arial;
content: "";
transform: rotate(0deg);
font-size: 14px;
position: absolute;
top: auto;
bottom: 4px;
left: -11px;
}
}
&--position-panel.is-open {
.dropdown__content {
transform: translateX(0);
}
}
}
@media #{$x-small}{
.dropdown__content{
width: calc(100vw - var(--padding-body)*2);
.modal--share{
width: 100%;
}
}
}
}

View file

@ -98,9 +98,9 @@
font-size: var(--fs-small);
padding-top: 2px;
white-space: nowrap;
min-width: 0px!important;
max-width: 30ch!important;
width: 7.25ch;
text-align: center;
width: 8ch!important;
&::after{
content: "\00a0";

View file

@ -1,6 +1,6 @@
#site-header {
z-index: 9000;
z-index: var(--z-header);
--gap: 3ch;
position: fixed;
@ -12,6 +12,8 @@
background-color: var(--color-bg);
padding: 0 var(--padding-body);
box-shadow: -1px 4px 10px 0px var(--color-bg);
.site-header__inner{
width: 100%;
height: 100%;
@ -106,9 +108,9 @@
#site-header.is-visible{
.site-header__inner{
border-color: var(--grey-800);
}
// .site-header__inner{
// border-color: var(--grey-800);
// }
}

View file

@ -9,9 +9,11 @@
--fs-big: 30px;
--fs-xbig: 38px;
--fs-button-bold: 22px;
--max-w-content: 700px;
--max-w-content: 640px;
--max-w-cards: 1000px;
--max-w-container: 1280px;
--z-header: 2000;
--panel-w: 310px;
--leading-tight: 1.05;
--leading-normal: 1.3;
--fw-normal: 400;
@ -73,7 +75,7 @@
--grey-600: #9a9a9a;
--grey-800: #cfcfcf;
--color-bg: #efefef;
--color-txt: #000000;
--color-txt: #161616;
--color-txt-light: var(--grey-400);
--color-accent: #ff00ff;
--color-accent-50: #ffe9ff;
@ -136,7 +138,7 @@ body, #site-header, #site-footer {
}
#site-header {
z-index: 9000;
z-index: var(--z-header);
--gap: 3ch;
position: fixed;
top: 0;
@ -145,6 +147,7 @@ body, #site-header, #site-footer {
height: var(--header-h);
background-color: var(--color-bg);
padding: 0 var(--padding-body);
box-shadow: -1px 4px 10px 0px var(--color-bg);
}
#site-header .site-header__inner {
width: 100%;
@ -223,10 +226,6 @@ body, #site-header, #site-footer {
fill: var(--grey-200) !important;
}
#site-header.is-visible .site-header__inner {
border-color: var(--grey-800);
}
@media screen and (max-width: 1080px) {
#nav-highlight {
display: none;
@ -906,9 +905,8 @@ button.sort[data-sort-type=up] .arrow {
font-size: var(--fs-small);
padding-top: 2px;
white-space: nowrap;
min-width: 0px !important;
max-width: 30ch !important;
width: 7.25ch;
text-align: center;
width: 8ch !important;
}
.modal--share .copy-link .copy-link__btn::after {
content: " ";
@ -996,29 +994,63 @@ button.sort[data-sort-type=up] .arrow {
left: auto;
right: 16px;
}
.dropdown--position-right .dropdown__content {
top: auto;
bottom: 0;
left: calc(100% + var(--padding-inner));
margin-top: 0;
margin-left: 4px;
}
.dropdown--position-right .dropdown__content::before {
content: "◀";
transform: rotate(0deg);
font-size: 14px;
position: absolute;
top: auto;
bottom: 4px;
left: -12px;
}
.dropdown.is-open .dropdown__content {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.dropdown--position-right.is-open .dropdown__content {
transform: translateX(0);
@media screen and (max-width: 768px) {
.dropdown--position-panel .dropdown__content {
top: auto;
bottom: calc(var(--h-block) + var(--padding-inner));
left: auto;
right: 0;
margin-top: 0;
margin-left: 4px;
}
.dropdown--position-panel .dropdown__content::before {
font-family: Arial;
content: "◀";
transform: rotate(-90deg);
font-size: 14px;
position: absolute;
top: auto;
bottom: -13px;
left: 50%;
}
.dropdown--position-panel.is-open .dropdown__content {
transform: translateX(0);
}
}
@media screen and (min-width: 768px) {
.dropdown--position-panel .dropdown__content {
top: auto;
bottom: 0;
left: calc(100% + var(--padding-inner));
margin-top: 0;
margin-left: 4px;
}
.dropdown--position-panel .dropdown__content::before {
font-family: Arial;
content: "◀";
transform: rotate(0deg);
font-size: 14px;
position: absolute;
top: auto;
bottom: 4px;
left: -11px;
}
.dropdown--position-panel.is-open .dropdown__content {
transform: translateX(0);
}
}
@media screen and (max-width: 560px) {
.dropdown .dropdown__content {
width: calc(100vw - var(--padding-body) * 2);
}
.dropdown .dropdown__content .modal--share {
width: 100%;
}
}
.page__header {
@ -1383,7 +1415,7 @@ button.sort[data-sort-type=up] .arrow {
}
#site-header {
z-index: 9000;
z-index: var(--z-header);
--gap: 3ch;
position: fixed;
top: 0;
@ -1392,6 +1424,7 @@ button.sort[data-sort-type=up] .arrow {
height: var(--header-h);
background-color: var(--color-bg);
padding: 0 var(--padding-body);
box-shadow: -1px 4px 10px 0px var(--color-bg);
}
#site-header .site-header__inner {
width: 100%;
@ -1470,10 +1503,6 @@ button.sort[data-sort-type=up] .arrow {
fill: var(--grey-200) !important;
}
#site-header.is-visible .site-header__inner {
border-color: var(--grey-800);
}
@media screen and (max-width: 1080px) {
#nav-highlight {
display: none;
@ -1663,10 +1692,12 @@ body main {
width: 11px;
}
[data-template=investigations] main {
max-width: var(--max-w-cards);
margin-inline: auto;
}
@media screen and (min-width: 560px) {
[data-template=investigations] main #container-cards {
max-width: var(--max-w-cards);
margin: 0 auto;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
grid-auto-rows: minmax(100px, auto);
@ -1692,11 +1723,9 @@ body main {
}
.page__sort {
max-width: var(--max-w-cards);
display: flex;
justify-content: right;
grid-gap: var(--padding-inner);
margin: 0 auto;
margin-bottom: calc(var(--spacing) * 1);
}
@ -1705,8 +1734,27 @@ body main {
max-width: var(--max-w-cards);
margin-inline: auto;
}
[data-template=investigation-summary] main #banner--page {
display: none;
[data-template=investigation-summary] main .panel-left {
width: calc((100vw - var(--max-w-cards) - var(--padding-body) * 2) * 0.5);
}
@media screen and (max-width: 1380px) {
[data-template=investigation-summary] main {
margin-left: auto;
margin-right: var(--padding-body);
}
[data-template=investigation-summary] main .panel-left {
width: calc(100vw - var(--max-w-cards) - var(--padding-body) * 2);
}
}
@media screen and (max-width: 1220px) {
[data-template=investigation-summary] main {
margin-left: auto;
margin-right: 0px;
width: calc(100% - var(--panel-w) * 0.5 - var(--padding-body));
}
[data-template=investigation-summary] main .panel-left {
width: calc(var(--panel-w) * 0.5);
}
}
[data-template=investigation-summary] main header {
margin-top: calc(var(--spacing) * 1);
@ -1739,18 +1787,6 @@ body main {
padding-right: 2ch;
text-wrap: balance;
}
[data-template=investigation-summary] main #nav--page ul {
list-style: none;
}
[data-template=investigation-summary] main #nav--page ul li {
text-align: center;
color: var(--color-txt-light);
}
[data-template=investigation-summary] main #nav--page ul li a {
display: block;
padding: 0.3em 0;
text-decoration: none;
}
[data-template=investigation-summary] main #section__dl {
margin-top: calc(var(--spacing) * 1.5);
border-bottom: var(--border-light);
@ -1788,8 +1824,51 @@ body main {
text-decoration: 1px underline var(--color-txt-light);
text-underline-offset: 3px;
}
[data-template=investigation-summary] main .panel-left {
height: calc(100vh - var(--header-h));
position: fixed;
left: var(--padding-body);
padding-bottom: calc(var(--padding-body) * 1);
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: center;
z-index: calc(var(--z-header) - 1);
}
[data-template=investigation-summary] main .panel-left #nav--page {
padding-bottom: var(--spacing);
width: calc(var(--panel-w) * 0.5);
}
[data-template=investigation-summary] main .panel-left #nav--page ul {
list-style: none;
}
[data-template=investigation-summary] main .panel-left #nav--page ul li {
text-align: center;
color: var(--color-txt-light);
margin-bottom: 4px;
font-weight: bold;
font-size: var(--fs-small);
}
[data-template=investigation-summary] main .panel-left #nav--page ul li a {
display: block;
padding: 5px 1ch;
text-decoration: none;
}
[data-template=investigation-summary] main .panel-left .btn--group {
width: calc(var(--panel-w) * 0.5);
display: flex;
flex-direction: column;
gap: calc(var(--spacing) * 0.25);
}
[data-template=investigation-summary] main .panel-left .btn--group button, [data-template=investigation-summary] main .panel-left .btn--group .dropdown {
flex-grow: 1;
width: 100%;
}
@media screen and (max-width: 768px) {
[data-template=investigation-summary] main {
width: 100%;
}
[data-template=investigation-summary] main header {
margin-bottom: calc(var(--spacing) * 1);
}
@ -1800,37 +1879,38 @@ body main {
[data-template=investigation-summary] main #hero figcaption {
margin: 0 var(--padding-body);
}
[data-template=investigation-summary] main #banner--page {
[data-template=investigation-summary] main .panel-left {
padding: calc(var(--spacing) * 0.5) 0;
background-color: yellow;
position: fixed;
bottom: 0;
left: 0;
width: 100vw;
height: calc(var(--h-block) * 3);
padding: calc(var(--spacing) * 0.75) var(--padding-body);
padding-top: var(--spacing);
background-color: var(--color-bg);
background: linear-gradient(0deg, var(--color-bg) 0%, var(--color-bg) 64%, transparent 100%);
z-index: 800;
}
[data-template=investigation-summary] main #banner--page #nav--page {
[data-template=investigation-summary] main .panel-left #nav--page {
display: none;
}
[data-template=investigation-summary] main #banner--page .btn--group {
[data-template=investigation-summary] main .panel-left .btn--group {
width: 100%;
display: flex;
gap: calc(var(--spacing) * 0.25);
flex-direction: row;
gap: var(--padding-inner);
position: relative;
}
[data-template=investigation-summary] main #banner--page .btn--group > button,
[data-template=investigation-summary] main #banner--page .btn--group > label {
width: 50%;
cursor: pointer;
[data-template=investigation-summary] main .panel-left .btn--group button {
width: 100%;
}
[data-template=investigation-summary] main #banner--page {
[data-template=investigation-summary] main .panel-left {
opacity: 0;
pointer-events: none;
transition: opacity 0.2s ease-in;
}
[data-template=investigation-summary] main #banner--page.is-visible {
[data-template=investigation-summary] main .panel-left.is-visible {
opacity: 1;
pointer-events: auto;
}
@ -1843,23 +1923,58 @@ body main {
padding: calc(var(--spacing) * 0.25) 0;
}
}
:root {
--rapport-w: 290px;
}
#rapport {
margin-bottom: 20vh;
padding-left: calc(var(--rapport-w) + var(--padding-body) * 1);
padding-bottom: 10vh;
margin: 0 auto;
max-width: calc(var(--max-w-content) + var(--rapport-w) + var(--padding-body));
margin-top: calc(var(--spacing) * -1);
}
#rapport .rapport__header {
margin-top: calc(var(--spacing) * 2);
max-width: var(--max-w-content);
[data-template=report] .report__header {
margin-inline: auto;
margin-top: calc(var(--spacing) * 1);
max-width: var(--max-w-cards);
margin-bottom: calc(var(--spacing) * 2.5);
}
[data-template=report] .report__content {
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: var(--padding-body);
}
[data-template=report] .report__content .report__txt {
max-width: var(--max-w-content);
}
[data-template=report] .report__content .report__medias {
background-color: yellow;
}
[data-template=report] #toggle-panel {
position: fixed;
top: var(--header-h);
left: var(--padding-body);
z-index: calc(var(--z-header) + 100);
}
[data-template=report] #report__aside {
position: fixed;
top: var(--header-h);
left: var(--padding-body);
width: var(--panel-w);
height: calc(100vh - var(--header-h));
z-index: calc(var(--z-header) + 200);
background-color: var(--color-bg);
box-shadow: 4px 0px 4px 1px var(--color-bg);
}
[data-template=report] #report__aside .panel__content {
height: calc(100% - var(--h-block) * 4);
}
[data-template=report] #report__aside {
left: calc(var(--panel-w) * -1);
transition: left ease-in-out 0.5s;
}
[data-template=report] #report {
padding-left: calc(var(--padding-body) * 2);
transition: padding-left ease-in-out 0.5s;
}
[data-template=report] .panel-open #report__aside {
left: var(--padding-body);
}
[data-template=report] .panel-open #report {
padding-left: calc(var(--panel-w) + var(--padding-body) * 1);
}
.report__header {
display: grid;
-moz-column-gap: var(--padding-inner);
column-gap: var(--padding-inner);
@ -1868,11 +1983,11 @@ body main {
grid-template-rows: auto auto 1fr;
position: relative;
}
#rapport .rapport__header .rapport__title-group {
.report__header .report__title-group {
grid-row: 1;
grid-column: span 2;
}
#rapport .rapport__header .rapport__title-group .title {
.report__header .report__title-group .title {
text-transform: uppercase;
font-weight: normal;
font-size: var(--fs-big);
@ -1881,29 +1996,29 @@ body main {
margin-top: calc(var(--spacing) * 1);
text-wrap: balance;
}
#rapport .rapport__header .rapport__title-group .subtitle {
.report__header .report__title-group .subtitle {
font-size: var(--fs-big);
line-height: var(--leading-tight);
font-weight: normal;
text-wrap: balance;
}
#rapport .rapport__header figure {
.report__header figure {
aspect-ratio: 16/9;
display: flex;
overflow: hidden;
}
#rapport .rapport__header figure img {
.report__header figure img {
width: 100%;
height: 100%;
-o-object-fit: cover;
object-fit: cover;
transition: cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.5s;
}
#rapport .rapport__header figure {
.report__header figure {
grid-row: 2;
grid-column: 2;
}
#rapport .rapport__header .rapport__dl {
.report__header .report__dl {
grid-row: 2;
grid-column: 1;
align-self: end;
@ -1911,7 +2026,7 @@ body main {
border-bottom: var(--border-light);
align-items: flex-start;
}
#rapport .rapport__header .rapport__dl .dl__group {
.report__header .report__dl .dl__group {
display: grid;
grid-gap: var(--padding-inner);
grid-template-columns: 2fr 3fr;
@ -1919,11 +2034,11 @@ body main {
border-top: var(--border-light);
padding: calc(var(--spacing) * 0.5) 0;
}
#rapport .rapport__header .rapport__dl dt {
.report__header .report__dl dt {
color: var(--color-txt-light);
padding-right: 1ch;
}
#rapport .rapport__header .btn--group {
.report__header .btn--group {
position: relative;
grid-row: 3;
grid-column: 1/3;
@ -1934,146 +2049,140 @@ body main {
gap: calc(var(--spacing) * 0.25);
}
#rapport .rapport__content {
max-width: var(--max-w-content);
}
#rapport .rapport__content .section-content {
.report__content .section-content {
margin-bottom: calc(var(--spacing) * 3);
}
#rapport .rapport__content .section-title {
.report__content .section-title {
font-size: var(--fs-medium);
margin-bottom: var(--spacing);
font-weight: normal;
text-transform: uppercase;
}
#rapport .rapport__content p {
.report__content p {
margin: calc(var(--spacing) * 0.5) 0;
}
#rapport .rapport__content ul {
.report__content ul {
padding-left: 3ch;
}
#rapport .rapport__content:target {
.report__content:target {
padding-top: calc(var(--header-h) * 2 + var(--spacing)) !important;
}
#rapport__aside {
width: var(--rapport-w);
position: fixed;
top: calc(var(--header-h) + var(--padding-body));
left: var(--padding-body);
--border-aside: var(--border-light);
height: calc(100vh - var(--header-h) - var(--padding-body) * 4);
#toggle-panel {
width: calc(var(--h-block) * 1);
padding: 0;
}
#rapport__aside .tabs {
#toggle-panel svg {
width: 15px;
height: 15px;
fill: var(--color-txt);
top: 0px;
}
#report__aside {
--border-aside: var(--border-light);
}
#report__aside .panel__header {
display: flex;
border: var(--border-aside);
height: calc(var(--h-block) * 1.25);
}
#rapport__aside .tabs .tab {
display: flex;
align-items: center;
font-size: var(--fs-small);
font-weight: bold;
padding-left: 2ch;
padding-top: 3px;
justify-content: flex-start;
gap: 0.5ch;
cursor: pointer;
}
#rapport__aside .tabs .tab[for=tab-print] {
#report__aside .panel__header .icon {
width: calc(var(--h-block) * 1.5);
border-right: var(--border-aside);
padding-left: 0;
display: flex;
align-items: center;
justify-content: center;
}
#rapport__aside .tabs .tab[for=tab-print] .icon svg {
width: 18px;
#report__aside .panel__header svg {
width: 16px;
fill: var(--color-txt);
}
#rapport__aside .content-aside {
#report__aside .panel__header .text {
padding-top: 5px;
}
#report__aside .panel__header .close {
position: absolute;
right: 0;
}
#report__aside .panel__header .close svg {
width: 10px;
fill: var(--grey-600);
}
#report__aside .panel__header:hover .close svg {
fill: var(--color-txt);
}
#report__aside .panel__content {
padding: var(--padding-body);
height: calc(100% - var(--h-block) * 1.25);
overflow: scroll;
scrollbar-width: none;
-ms-overflow-style: none;
border: var(--border-aside);
border-top: none;
}
#rapport__aside #toc ul {
#report__aside .panel__content::-webkit-scrollbar {
display: none;
}
#report__aside #toc ul {
list-style: none;
}
#rapport__aside #toc li {
#report__aside #toc li {
font-size: var(--fs-small);
color: var(--color-txt-light);
}
#rapport__aside #toc li a {
#report__aside #toc li a {
display: block;
padding: 5px 1ch;
padding-top: 7px;
}
#rapport__aside #toc li.selected {
#report__aside #toc li.selected {
background-color: var(--grey-800);
color: var(--color-txt);
}
#rapport__aside #toc li:hover {
#report__aside #toc li:hover {
background-color: var(--grey-800);
}
#rapport__aside #toc .toc-level-1 {
#report__aside #toc .toc-level-1 {
margin-bottom: calc(var(--spacing) * 0.5);
font-weight: bold;
}
#rapport__aside #toc .toc-level-2 {
#report__aside #toc .toc-level-2 {
margin-bottom: calc(var(--spacing) * 0.25);
padding-left: 4ch;
}
#rapport__aside #toc a {
#report__aside #toc a {
text-decoration: none;
}
#rapport__aside .btn--group {
#report__aside .btn--group {
margin-top: calc(var(--spacing) * 0.5);
display: flex;
gap: var(--padding-inner);
}
#rapport__aside .btn--group [for=share-banner__aside] {
cursor: pointer;
}
#rapport__aside .btn--group #download-pdf a {
padding-left: 1ch;
padding-right: 1ch;
#report__aside .btn--group button {
flex-grow: 1;
}
#tab-print, #tab-toc {
display: none;
}
#tab-print:checked ~ .content-aside #toc {
display: none;
}
#tab-print:checked ~ .content-aside #print-features {
display: block;
}
#tab-toc:checked ~ .content-aside #toc {
display: block;
}
#tab-toc:checked ~ .content-aside #print-features {
display: none;
}
#rapport {
#report {
--fig-outside: calc(var(--spacing)*2);
}
#rapport .container-figure {
width: calc(100% + var(--fig-outside) * 2);
position: relative;
left: calc(var(--fig-outside) * -1);
#report .container-figure {
width: 100%;
display: none;
}
#rapport .fig-simple {
#report .fig-simple {
height: calc(100vh - var(--header-h) - var(--spacing) * 2);
}
#rapport .fig-simple figure {
#report .fig-simple figure {
height: 100%;
width: 100%;
overflow: hidden;
}
#rapport .fig-simple figure img {
#report .fig-simple figure img {
width: 100%;
height: 100%;
-o-object-fit: contain;

File diff suppressed because one or more lines are too long

View file

@ -35,4 +35,4 @@
@import "template/home";
@import "template/investigations";
@import "template/investigation-summary";
@import "template/rapport";
@import "template/report";

View file

@ -4,61 +4,73 @@
max-width: var(--max-w-cards);
margin-inline: auto;
#banner--page{
display: none;
.panel-left{
width: calc((100vw - var(--max-w-cards) - var(--padding-body)*2)*0.5);
}
@media screen and (max-width: 1380px){
margin-left: auto;
margin-right: var(--padding-body);
.panel-left{
width: calc(100vw - var(--max-w-cards) - var(--padding-body)*2);
}
}
@media screen and (max-width: 1220px){
margin-left: auto;
margin-right: 0px;
width: calc(100% - var(--panel-w)*0.5 - var(--padding-body));
.panel-left{
width: calc(var(--panel-w)*0.5);
}
}
// padding-left: calc(var(--panel-w)*0.5);
// max-width: calc(var(--max-w-cards) + calc(var(--panel-w)*0.5));
header {
margin-top: calc(var(--spacing) * 1);
margin-bottom: calc(var(--spacing) * 2);
margin-top: calc(var(--spacing) * 1);
margin-bottom: calc(var(--spacing) * 2);
.page-title {
max-width: var(--max-w-content);
max-width: var(--max-w-content);
text-transform: uppercase;
font-weight: normal;
font-size: var(--fs-big);
line-height: var(--leading-tight);
margin-top: calc(var(--spacing) * 1);
margin-bottom: calc(var(--spacing) * 0.5);
text-wrap: balance;
margin-bottom: calc(var(--spacing) * 0.5);
text-wrap: balance;
}
.description{
max-width: 62ch;
.description {
max-width: 62ch;
}
}
.section__article {
margin-top: calc(var(--spacing) * 3);
margin-top: calc(var(--spacing) * 3);
margin-bottom: calc(var(--spacing) * 3);
a:hover {
color: var(--grey-200);
}
.section__title {
font-weight: normal;
text-transform: uppercase;
margin-bottom: calc(var(--spacing) * 1);
padding-right: 2ch;
text-wrap: balance;
text-wrap: balance;
}
}
#nav--page {
ul {
list-style: none;
li {
text-align: center;
color: var(--color-txt-light);
a {
display: block;
padding: 0.3em 0;
text-decoration: none;
}
}
}
}
#section__dl {
margin-top: calc(var(--spacing) * 1.5);
@ -77,6 +89,7 @@
ul:not(.keywords) {
list-style: none;
li {
padding-bottom: 0.2em;
}
@ -86,7 +99,8 @@
#section__synthese {
max-width: var(--max-w-content);
p + p {
p+p {
margin-top: 0.5em;
}
@ -100,6 +114,63 @@
}
}
.panel-left{
//background-color: yellow;
height: calc(100vh - var(--header-h));
position: fixed;
left: var(--padding-body);
padding-bottom: calc(var(--padding-body)*1);
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: center;
z-index: calc(var(--z-header) - 1);
#nav--page {
padding-bottom: var(--spacing);
width: calc(var(--panel-w)*0.5);
ul {
list-style: none;
li {
text-align: center;
color: var(--color-txt-light);
margin-bottom: 4px;
font-weight: bold;
font-size: var(--fs-small);
a {
display: block;
padding: 5px 1ch;
text-decoration: none;
}
}
}
}
.btn--group{
width: calc(var(--panel-w)*0.5);
display: flex;
flex-direction: column;
gap:calc(var(--spacing)*0.25);
button, .dropdown{
flex-grow: 1;
width: 100%;
}
}
}
}
// SMALL ----------------------------------------------------------
@ -107,10 +178,11 @@
@media #{$small} {
[data-template="investigation-summary"] main {
width: 100%;
header {
margin-bottom: calc(var(--spacing) * 1);
}
header {
margin-bottom: calc(var(--spacing) * 1);
}
.section__article {
margin-top: calc(var(--spacing) * 2);
@ -124,49 +196,51 @@
}
}
#banner--page {
.panel-left {
padding: calc(var(--spacing) * 0.5) 0;
background-color: yellow;
position: fixed;
bottom: 0;
left: 0;
width: 100vw;
height: calc(var(--h-block) * 3);
padding: calc(var(--spacing) * 0.75) var(--padding-body);
padding-top: var(--spacing);
background-color: var(--color-bg);
background: linear-gradient(
0deg,
var(--color-bg) 0%,
var(--color-bg) 64%,
transparent 100%
);
z-index: 800;
background: linear-gradient(0deg,
var(--color-bg) 0%,
var(--color-bg) 64%,
transparent 100%);
//background-color: red;
#nav--page {
display: none;
}
.btn--group {
display: flex;
gap: calc(var(--spacing) * 0.25);
position: relative;
> button,
> label {
width: 50%;
cursor: pointer;
}
.btn--group {
width: 100%;
display: flex;
flex-direction: row;
gap: var(--padding-inner);
position: relative;
button{
width: 100%;
}
}
}
// action
#banner--page {
.panel-left {
opacity: 0;
pointer-events: none;
transition: opacity 0.2s ease-in;
}
#banner--page.is-visible {
.panel-left.is-visible {
opacity: 1;
pointer-events: auto;
}
@ -181,4 +255,4 @@
padding: calc(var(--spacing) * 0.25) 0;
}
}
}
}

View file

@ -1,8 +1,8 @@
[data-template="investigations"] main {
max-width: var(--max-w-cards);
margin-inline: auto;
#container-cards {
@media #{$x-small-up} {
max-width: var(--max-w-cards);
margin: 0 auto;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
grid-auto-rows: minmax(100px, auto);
@ -27,10 +27,8 @@
.page__sort {
max-width: var(--max-w-cards);
display: flex;
justify-content: right;
grid-gap: var(--padding-inner);
margin: 0 auto;
margin-bottom: calc(var(--spacing) * 1);
}

View file

@ -1,303 +0,0 @@
:root{
--rapport-w: 290px;
}
#rapport{
margin-bottom: 20vh;
padding-left: calc(var(--rapport-w) + var(--padding-body)*1);
padding-bottom: 10vh;
margin: 0 auto;
max-width: calc(var(--max-w-content) + var(--rapport-w) + var(--padding-body));
margin-top: calc(var(--spacing)*-1);
}
#rapport .rapport__header{
margin-top: calc(var(--spacing)*2);
max-width: var(--max-w-content);
margin-bottom: calc(var(--spacing)*2.5);
display: grid;
column-gap: var(--padding-inner);
row-gap: calc(var(--spacing)*1);
grid-template-columns: 65% 35%;
grid-template-rows: auto auto 1fr;
position: relative;
.rapport__title-group{
grid-row: 1;
grid-column: span 2;
// padding-bottom: calc(var(--spacing)*1);
.title{
text-transform: uppercase;
font-weight: normal;
font-size: var(--fs-big);
line-height: var(--leading-tight);
font-weight: normal;
margin-top: calc(var(--spacing)*1);
text-wrap: balance;
}
.subtitle{
font-size: var(--fs-big);
line-height: var(--leading-tight);
// margin-top: calc(var(--spacing)*0.25);
font-weight: normal;
text-wrap: balance;
}
}
@include figure-16-9();
figure{
grid-row: 2;
grid-column: 2;
}
.rapport__dl{
grid-row: 2;
grid-column: 1;
align-self: end;
font-size: var(--fs-small);
border-bottom: var(--border-light);
align-items: flex-start;
.dl__group{
@include grid-content();
border-top: var(--border-light);
padding: calc(var(--spacing)*0.5) 0;
}
dt{
color: var(--color-txt-light);
padding-right: 1ch;
}
}
.btn--group{
position: relative;
grid-row: 3;
grid-column: 1/3;
display: flex;
justify-content: start;
flex-wrap: wrap;
align-items: start;
gap: calc(var(--spacing)*0.25);
}
}
#rapport{
.rapport__content{
max-width: var(--max-w-content);
.section-content{
margin-bottom: calc(var(--spacing)*3);
}
.section-title{
font-size: var(--fs-medium);
margin-bottom: var(--spacing);
font-weight: normal;
text-transform: uppercase;
}
p {
margin: calc(var(--spacing)*0.5) 0;
}
ul{
padding-left: 3ch;
}
}
.rapport__content:target{
padding-top: calc(var(--header-h)*2 + var(--spacing))!important;
}
}
#rapport__aside{
width: var(--rapport-w);
position: fixed;
top: calc(var(--header-h) + var(--padding-body));
left: var(--padding-body);
--border-aside: var(--border-light);
// border-radius: var(--radius-small);
height: calc(100vh - var(--header-h) - var(--padding-body)*4);
.tabs{
display: flex;
border: var(--border-aside);
height: calc(var(--h-block)*1.25);
.tab{
display: flex;
align-items: center;
font-size: var(--fs-small);
font-weight: bold;
padding-left: 2ch;
padding-top: 3px;
}
.tab[for="tab-print"]{
width: calc(var(--h-block)*1.5);
border-right: var(--border-aside);
padding-left: 0;
justify-content: center;
.icon{
svg{
width: 18px;
fill: var(--color-txt);
}
}
}
}
.content-aside{
padding: var(--padding-body);
height: calc(100% - var(--h-block)*1.25);
overflow: scroll;
border: var(--border-aside);
border-top: none;
}
#toc{
ul{ list-style: none;}
li{
font-size: var(--fs-small);
color: var(--color-txt-light);
a{
display: block;
padding: 5px 1ch;
padding-top: 7px;
}
}
li.selected{
background-color: var(--grey-800);
color: var(--color-txt);
}
li:hover{
background-color: var(--grey-800);
}
.toc-level-1{
margin-bottom: calc(var(--spacing)*0.5);
font-weight: bold;
}
.toc-level-2{
margin-bottom: calc(var(--spacing)*0.25);
padding-left: 4ch;
}
a{
text-decoration: none;
}
}
.btn--group{
margin-top: calc(var(--spacing)*0.5);
display: flex;
gap: var(--padding-inner);
[for="share-banner__aside"]{
cursor: pointer;
}
#download-pdf{
a{
padding-left: 1ch;
padding-right: 1ch;
}
}
}
// .modal--share{
// position: absolute;
// bottom: calc(var(--h-block) * -1.5);
// right: calc(-100% + var(--padding-inner));
// &::before{
// content: "";
// font-size: 10px;
// position: absolute;
// bottom: calc(var(--h-block) * 0.25);
// left: -9px;
// }
// }
}
#tab-print, #tab-toc{ display: none; }
#tab-print:checked ~ .content-aside #toc{ display: none; }
#tab-print:checked ~ .content-aside #print-features{ display: block; }
#tab-toc:checked ~ .content-aside #toc{ display: block; }
#tab-toc:checked ~ .content-aside #print-features{ display: none; }
#rapport{
--fig-outside: calc(var(--spacing)*2);
.container-figure{
width: calc(100% + var(--fig-outside)*2);
position: relative;
left: calc(var(--fig-outside)*-1);
}
.fig-simple{
height: calc(100vh - var(--header-h) - var(--spacing)*2);
figure{
height: 100%;
width: 100%;
overflow: hidden;
img{
width: 100%;
height: 100%;
object-fit: contain;
}
}
}
}

View file

@ -0,0 +1,380 @@
// LAOUT -----------------------------------
[data-template="report"] {
.report__header {
margin-inline: auto;
margin-top: calc(var(--spacing)*1);
max-width: var(--max-w-cards);
margin-bottom: calc(var(--spacing)*2.5);
}
.report__content {
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: var(--padding-body);
.report__txt {
max-width: var(--max-w-content);
}
.report__medias {
background-color: yellow;
}
}
#toggle-panel {
position: fixed;
top: var(--header-h);
left: var(--padding-body);
z-index: calc(var(--z-header) + 100);
}
#report__aside {
position: fixed;
top: var(--header-h);
left: var(--padding-body);
width: var(--panel-w);
height: calc(100vh - var(--header-h));
z-index: calc(var(--z-header) + 200);
background-color: var(--color-bg);
box-shadow: 4px 0px 4px 1px var(--color-bg);
.panel__content {
height: calc(100% - var(--h-block)*4);
}
}
#report__aside {
left: calc(var(--panel-w)*-1);
transition: left ease-in-out .5s;
}
#report {
padding-left: calc(var(--padding-body)*2);
transition: padding-left ease-in-out .5s;
}
.panel-open{
#report__aside{
left: var(--padding-body);
}
#report {
padding-left: calc(var(--panel-w) + var(--padding-body)*1);
}
}
}
// HEADER-------------------------------------------------------------------------
.report__header {
display: grid;
column-gap: var(--padding-inner);
row-gap: calc(var(--spacing)*1);
grid-template-columns: 65% 35%;
grid-template-rows: auto auto 1fr;
position: relative;
.report__title-group {
grid-row: 1;
grid-column: span 2;
.title {
text-transform: uppercase;
font-weight: normal;
font-size: var(--fs-big);
line-height: var(--leading-tight);
font-weight: normal;
margin-top: calc(var(--spacing)*1);
text-wrap: balance;
}
.subtitle {
font-size: var(--fs-big);
line-height: var(--leading-tight);
font-weight: normal;
text-wrap: balance;
}
}
@include figure-16-9();
figure {
grid-row: 2;
grid-column: 2;
}
.report__dl {
grid-row: 2;
grid-column: 1;
align-self: end;
font-size: var(--fs-small);
border-bottom: var(--border-light);
align-items: flex-start;
.dl__group {
@include grid-content();
border-top: var(--border-light);
padding: calc(var(--spacing)*0.5) 0;
}
dt {
color: var(--color-txt-light);
padding-right: 1ch;
}
}
.btn--group {
position: relative;
grid-row: 3;
grid-column: 1/3;
display: flex;
justify-content: start;
flex-wrap: wrap;
align-items: start;
gap: calc(var(--spacing)*0.25);
}
}
// CONTENT-------------------------------------------------------------------------------
.report__content {
.section-content {
margin-bottom: calc(var(--spacing)*3);
}
.section-title {
font-size: var(--fs-medium);
margin-bottom: var(--spacing);
font-weight: normal;
text-transform: uppercase;
}
p {
margin: calc(var(--spacing)*0.5) 0;
}
ul {
padding-left: 3ch;
}
}
.report__content:target {
padding-top: calc(var(--header-h)*2 + var(--spacing)) !important;
}
/// PANEL-LEFT --------------------------------------------
#toggle-panel {
width: calc(var(--h-block) * 1);
padding: 0;
svg {
width: 15px;
height: 15px;
fill: var(--color-txt);
top: 0px;
}
}
#report__aside {
--border-aside: var(--border-light);
// border-radius: var(--radius-small);
.panel__header {
display: flex;
border: var(--border-aside);
height: calc(var(--h-block)*1.25);
display: flex;
align-items: center;
justify-content: flex-start;
gap: 0.5ch;
.icon {
width: calc(var(--h-block)*1.5);
display: flex;
align-items: center;
justify-content: center;
}
svg {
width: 16px;
fill: var(--color-txt);
}
.text {
padding-top: 5px;
}
.close {
position: absolute;
right: 0;
svg {
width: 10px;
fill: var(--grey-600);
}
}
cursor: pointer;
&:hover {
.close svg {
fill: var(--color-txt);
}
}
}
.panel__content {
padding: var(--padding-body);
overflow: scroll;
@include hide-scroll();
border: var(--border-aside);
border-top: none;
}
#toc {
ul {
list-style: none;
}
li {
font-size: var(--fs-small);
color: var(--color-txt-light);
a {
display: block;
padding: 5px 1ch;
padding-top: 7px;
}
}
li.selected {
background-color: var(--grey-800);
color: var(--color-txt);
}
li:hover {
background-color: var(--grey-800);
}
.toc-level-1 {
margin-bottom: calc(var(--spacing)*0.5);
font-weight: bold;
}
.toc-level-2 {
margin-bottom: calc(var(--spacing)*0.25);
padding-left: 4ch;
}
a {
text-decoration: none;
}
}
.btn--group {
margin-top: calc(var(--spacing)*0.5);
display: flex;
gap: var(--padding-inner);
button {
flex-grow: 1;
}
}
}
#report {
--fig-outside: calc(var(--spacing)*2);
.container-figure {
width: 100%;
display: none;
}
.fig-simple {
height: calc(100vh - var(--header-h) - var(--spacing)*2);
figure {
height: 100%;
width: 100%;
overflow: hidden;
img {
width: 100%;
height: 100%;
object-fit: contain;
}
}
}
}

View file

@ -1,4 +1,4 @@
<svg style="fill: var(--color-txt)" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect y="22.3249" width="31.1111" height="2.22222" transform="rotate(-45 0 22.3249)" />
<rect x="1.80078" width="31.1111" height="2.22222" transform="rotate(45 1.80078 0)" />
</svg>

Before

Width:  |  Height:  |  Size: 309 B

After

Width:  |  Height:  |  Size: 278 B

Before After
Before After

8
assets/icons/toc.svg Normal file
View file

@ -0,0 +1,8 @@
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
<path d="M200,21.163v4.211c0,5.131-4.166,9.297-9.297,9.297H71.411c-5.131,0-9.297-4.166-9.297-9.297v-4.211c0-5.131,4.166-9.297,9.297-9.297h119.292C195.834,11.866,200,16.032,200,21.163Z"/>
<path d="M38.741,21.163v4.211c0,5.131-4.166,9.297-9.297,9.297H8.956c-5.131,0-9.297-4.166-9.297-9.297v-4.211c0-5.131,4.166-9.297,9.297-9.297h20.488C34.575,11.866,38.741,16.032,38.741,21.163Z"/>
<path d="M200,97.827v4.211c0,5.132-4.166,9.297-9.297,9.297H71.411c-5.131,0-9.297-4.165-9.297-9.297v-4.211c0-5.131,4.166-9.297,9.297-9.297h119.292C195.834,88.53,200,92.696,200,97.827Z"/>
<path d="M38.741,97.827v4.211c0,5.132-4.166,9.297-9.297,9.297H8.956c-5.131,0-9.297-4.165-9.297-9.297v-4.211c0-5.131,4.166-9.297,9.297-9.297h20.488C34.575,88.53,38.741,92.696,38.741,97.827Z"/>
<path d="M200,174.491v4.212c0,5.131-4.166,9.297-9.297,9.297H71.411c-5.131,0-9.297-4.166-9.297-9.297v-4.212c0-5.131,4.166-9.296,9.297-9.296h119.292C195.834,165.195,200,169.36,200,174.491Z"/>
<path d="M38.741,174.491v4.212c0,5.131-4.166,9.297-9.297,9.297H8.956c-5.131,0-9.297-4.166-9.297-9.297v-4.212c0-5.131,4.166-9.296,9.297-9.296h20.488C34.575,165.195,38.741,169.36,38.741,174.491Z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -8,6 +8,8 @@ export function headerToggle() {
});
}
// DELETE?
export function headerScrollVisibility() {
const header = document.getElementById("site-header");

19
assets/js/panel.js Normal file
View file

@ -0,0 +1,19 @@
export function panelToggle() {
const toggleBtn = document.querySelector('#toggle-panel');
if (toggleBtn) {
const main = document.querySelector('main');
const closeBtn = document.querySelector('.panel-left .panel__header');
toggleBtn.addEventListener('click', () => {
main.classList.add('panel-open');
});
if (closeBtn) {
closeBtn.addEventListener('click', () => {
main.classList.remove('panel-open');
main.classList.add('panel-close');
});
}
}
}

View file

@ -1,5 +1,6 @@
import { headerToggle, headerScrollVisibility } from './header.js';
import { copyLink } from './share.js';
import { panelToggle } from './panel.js';
import { bannerStickyMobile } from './banner-sticky-mobile.js';
import { bannerStickyDesktop } from './banner-sticky-desktop.js';
import { themeToggle } from './themeToggle.js';
@ -13,7 +14,7 @@ const responsiveSmall = 768;
window.onload = async function () {
console.log("SCRIPT LOADED");
headerToggle();
headerScrollVisibility();
panelToggle();
copyLink();
themeToggle();
bannerStickyMobile(responsiveSmall);

View file

@ -7,7 +7,7 @@ $report = $page->children()->filterBy('intendedTemplate', 'report')->first();
<div id="banner--page">
<div class="panel-left" id="banner--page">
<nav id="nav--page">
<ul>
<li><a href="#section__short">Vidéo</a></li>
@ -21,12 +21,18 @@ $report = $page->children()->filterBy('intendedTemplate', 'report')->first();
<?php if ($report): ?>
<button class="btn--bold"><a href="<?= $report->url() ?>">Lire le rapport</a></button>
<?php endif ?>
<label for="share-banner__desktop" class="btn--bold-inline no-link">Partager</label>
</div>
<input type="checkbox" id="share-banner__desktop">
<?php snippet('modal-share') ?>
<div class="dropdown dropdown--position-panel">
<button class="dropdown__trigger btn--bold-inline no-link">
<span class="icon"><?= svg('assets/icons/share.svg') ?></span>
<span class="text">Partager</span>
</button>
<div class="dropdown__content">
<?php snippet('modal-share') ?>
</div>
</div>
</div>
</div>

View file

@ -2,18 +2,19 @@
<aside id="rapport__aside">
<input type="radio" id="tab-print" name="tabs-aside" value="toc" checked />
<input type="radio" id="tab-toc" name="tabs-aside" value="toc" checked />
<button id="toggle-panel" class="btn--bold-inline no-link">
<?= svg('assets/icons/toc.svg') ?>
</button>
<div class="tabs">
<label class="tab" for="tab-print"><span class="icon"><?= svg('assets/icons/printer.svg') ?></span></label>
<label class="tab" for="tab-toc">Table des matières</label>
<aside class="panel-left" id="report__aside">
<div class="panel__header">
<span class="icon"><?= svg('assets/icons/toc.svg') ?></span>
<span class="text">Table des matières</span>
<span class="icon close"><?= svg('assets/icons/close.svg') ?></span>
</div>
<div class="content-aside">
<div class="panel__content">
<nav id="toc">
<ul>
<li class="toc-level-1 selected"><a href="#auteurs">Les auteurs de ce rapport</a></li>
@ -33,52 +34,42 @@
<li class="toc-level-1"><a href="#contact">Contact</a></li>
</ul>
</nav>
<div id="print-features">
<p>Paramétrage impression</p>
</div>
</div>
<div class="btn--group">
<button id="download-pdf" class="btn--bold">
<a href="#">
<span class="icon"><?= svg('assets/icons/pdf.svg') ?></span>
<span class="text">Télégarcher le&nbsp;PDF</span>
<span class="icon"><?= svg('assets/icons/pdf.svg') ?></span>
<span class="text">Télécharger le&nbsp;PDF</span>
</a>
</button>
<div class="dropdown dropdown--position-right">
<button class="dropdown__trigger btn--bold-inline no-link">
<span class="icon"><?= svg('assets/icons/share.svg') ?></span>
<span class="text">Partager</span>
</button>
<div class="dropdown__content">
<?php snippet('modal-share') ?>
</div>
<div class="dropdown dropdown--position-panel">
<button class="dropdown__trigger btn--bold-inline no-link">
<span class="icon"><?= svg('assets/icons/share.svg') ?></span>
<span class="text">Partager</span>
</button>
<div class="dropdown__content">
<?php snippet('modal-share') ?>
</div>
</div>
</div>
<input type="checkbox" id="share-banner__aside">
<?php snippet('modal-share') ?>
</aside>
<article id="rapport">
<header class="rapport__header">
<div class="rapport__title-group">
<article id="report">
<header class="report__header">
<div class="report__title-group">
<p class="tag-inline">Rapport</p>
<h1 class="title">Rapport de contre-expertise</h1>
<h2 class="subtitle">sur les circonstances de la mort dAdam B. et de Raihane S. le 19 août 2022 à Vénissieux</h2>
<h2 class="subtitle">sur les circonstances de la mort d'Adam B. et de Raihane S. le 19 août 2022 à Vénissieux</h2>
</div>
<figure class="report__figure"><img src="/assets/images/image-rapport.png"></figure>
<figure class="rapport__figure"><img src="/assets/images/image-rapport.png"></figure>
<dl class="rapport__dl">
<dl class="report__dl">
<div class="dl__group">
<dt>Auteurs du rapport</dt>
<dd>INDEX Investigation</dd>
@ -87,27 +78,24 @@
<dt>Date du rapport</dt>
<dd><time datetime="2025-06-10">10 juin 2025</time></dd>
</div>
</dl>
<div class="btn--group">
<button class="btn--bold">
<a href="#">
<span class="icon"><?= svg('assets/icons/pdf.svg') ?></span>
<span class="text">Télégarcher le&nbsp;PDF</span>
<span class="icon"><?= svg('assets/icons/pdf.svg') ?></span>
<span class="text">Télécharger le&nbsp;PDF</span>
</a>
</button>
<button class="btn--bold-inline">
<a href="/enquetes/l-execution-de-nidal-et-khaled-amirah-a-naplouse">
<span class="icon"><?= svg('assets/icons/play.svg') ?></span>
<span class="text">Voir la&nbsp;synthèse</span>
<span class="icon"><?= svg('assets/icons/play.svg') ?></span>
<span class="text">Voir la&nbsp;synthèse</span>
</a>
</button>
<div class="dropdown">
<div class="dropdown">
<button class="dropdown__trigger btn--bold-inline no-link">
<span class="icon"><?= svg('assets/icons/share.svg') ?></span>
<span class="text">Partager</span>
@ -116,180 +104,168 @@
<?php snippet('modal-share') ?>
</div>
</div>
</div>
</header>
<div class="report__content">
<div class="report__medias">
<div class="container-figure fig-simple">
<figure><img src="/assets/images/adam-raihane/fig-1-a.png"></figure>
</div>
</div>
</header>
<div class="report__txt">
<div class="section-content" id="auteurs">
<h3 class="section-title">Les auteurs de ce rapport</h3>
<p>
INDEX est une ONG d'investigation et d'expertise indépendante,
à but non lucratif, déclarée en tant qu'association Loi 1901
(RNA W751258265), depuis 2020.
</p>
<p>
Spécialisée dans l'investigation en sources ouvertes, l'analyse de
données média et la reconstitution numérique en 3D, l'ONG INDEX est
issue du laboratoire de recherche international Forensic Architecture,
basé à l'université Goldsmiths de Londres. Elle est membre du réseau
international Investigative Commons.
</p>
<p>
Les collaborateurs de l'ONG INDEX ayant contribué à la production
du présent rapport sont :
</p>
<ul>
<li>Analyse et modélisation numérique : Nadav Joffe, Guillaume Seyller</li>
<li>Conception graphique : Léonie Montjarret</li>
<li>Direction : Francesco Sebregondi</li>
</ul>
</div>
<div class="section-content" id="rappel-faits">
<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>
Atteint de schizophrénie dysthymique et suivi pour des troubles
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" id="modelisation">
<h3 class="section-title">Modélisation numérique en 3D des lieux de l'incident</h3>
<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="container-figure fig-simple">
<figure><img src="/assets/images/adam-raihane/fig-1-a.png"></figure>
</div>
</div>
<div class="rapport__content">
<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>
Atteint de schizophrénie dysthymique et suivi pour des troubles
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" id="auteurs">
<h3 class="section-title">Les auteurs de ce rapport</h3>
<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>
Atteint de schizophrénie dysthymique et suivi pour des troubles
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>
<p>
INDEX est une ONG dinvestigation et dexpertise indépendante,
à but non lucratif, déclarée en tant quassociation Loi 1901
(RNA W751258265), depuis 2020.
</p>
<p>
Spécialisée dans linvestigation en sources ouvertes, lanalyse de
données média et la reconstitution numérique en 3D, lONG INDEX est
issue du laboratoire de recherche international Forensic Architecture,
basé à luniversité Goldsmiths de Londres. Elle est membre du réseau
international Investigative Commons.
</p>
<p>
Les collaborateurs de lONG INDEX ayant contribué à la production
du présent rapport sont : </p>
<ul>
<li>Analyse et modélisation numérique : Nadav Joffe, Guillaume Seyller</li>
<li>Conception graphique : Léonie Montjarret</li>
<li>Direction : Francesco Sebregondi</li>
</ul>
<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>
Atteint de schizophrénie dysthymique et suivi pour des troubles
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>
</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>
Atteint de schizophrénie dysthymique et suivi pour des troubles
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 lordre. Localisé au 3 rue Maurice Ravel à Châlettesur-
Loing, M. BICO, dans un état dagitation 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" id="rappel-faits">
<h3 class="section-title">MODÉLISATION NUMÉRIQUE EN 3D DES LIEUX DE LINCIDENT</h3>
<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
lentourent.</p>
<div class="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-b.png"></figure> -->
</div>
</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>
Atteint de schizophrénie dysthymique et suivi pour des troubles
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 lordre. Localisé au 3 rue Maurice Ravel à Châlettesur-
Loing, M. BICO, dans un état dagitation 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>
Atteint de schizophrénie dysthymique et suivi pour des troubles
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 lordre. Localisé au 3 rue Maurice Ravel à Châlettesur-
Loing, M. BICO, dans un état dagitation 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>
Atteint de schizophrénie dysthymique et suivi pour des troubles
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 lordre. Localisé au 3 rue Maurice Ravel à Châlettesur-
Loing, M. BICO, dans un état dagitation 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>
</article>
<?php snippet('footer') ?>
<?php snippet('footer') ?>