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

@ -62,3 +62,14 @@ body, #site-header, #site-footer{
grid-template-columns: 2fr 3fr; grid-template-columns: 2fr 3fr;
position: relative; 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; --fs-button-bold: 22px;
--max-w-content: 700px; --max-w-content: 640px;
--max-w-cards: 1000px; --max-w-cards: 1000px;
--max-w-container: 1280px; --max-w-container: 1280px;
--z-header: 2000;
--panel-w: 310px;
@media #{$small} { @media #{$small} {
--fs-medium: 20px; --fs-medium: 20px;
@ -105,7 +107,7 @@
--grey-800: #cfcfcf; --grey-800: #cfcfcf;
--color-bg: #efefef; --color-bg: #efefef;
--color-txt: #000000; --color-txt: #161616;
--color-txt-light: var(--grey-400); --color-txt-light: var(--grey-400);
--color-accent: #ff00ff; --color-accent: #ff00ff;

View file

@ -65,26 +65,7 @@
} }
} }
// Variante : dropdown à droite du bouton &.is-open {
&--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 {
.dropdown__content { .dropdown__content {
opacity: 1; opacity: 1;
visibility: visible; visibility: visible;
@ -92,11 +73,82 @@
} }
} }
&--position-right.is-open { // PANEL
.dropdown__content { @media #{$small}{
transform: translateX(0); &--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); font-size: var(--fs-small);
padding-top: 2px; padding-top: 2px;
white-space: nowrap; white-space: nowrap;
min-width: 0px!important; text-align: center;
max-width: 30ch!important;
width: 7.25ch; width: 8ch!important;
&::after{ &::after{
content: "\00a0"; content: "\00a0";

View file

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

View file

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

View file

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

View file

@ -1,8 +1,8 @@
[data-template="investigations"] main { [data-template="investigations"] main {
max-width: var(--max-w-cards);
margin-inline: auto;
#container-cards { #container-cards {
@media #{$x-small-up} { @media #{$x-small-up} {
max-width: var(--max-w-cards);
margin: 0 auto;
display: grid; display: grid;
grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
grid-auto-rows: minmax(100px, auto); grid-auto-rows: minmax(100px, auto);
@ -27,10 +27,8 @@
.page__sort { .page__sort {
max-width: var(--max-w-cards);
display: flex; display: flex;
justify-content: right; justify-content: right;
grid-gap: var(--padding-inner); grid-gap: var(--padding-inner);
margin: 0 auto;
margin-bottom: calc(var(--spacing) * 1); 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 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)" /> <rect x="1.80078" width="31.1111" height="2.22222" transform="rotate(45 1.80078 0)" />
</svg> </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() { export function headerScrollVisibility() {
const header = document.getElementById("site-header"); 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 { headerToggle, headerScrollVisibility } from './header.js';
import { copyLink } from './share.js'; import { copyLink } from './share.js';
import { panelToggle } from './panel.js';
import { bannerStickyMobile } from './banner-sticky-mobile.js'; import { bannerStickyMobile } from './banner-sticky-mobile.js';
import { bannerStickyDesktop } from './banner-sticky-desktop.js'; import { bannerStickyDesktop } from './banner-sticky-desktop.js';
import { themeToggle } from './themeToggle.js'; import { themeToggle } from './themeToggle.js';
@ -13,7 +14,7 @@ const responsiveSmall = 768;
window.onload = async function () { window.onload = async function () {
console.log("SCRIPT LOADED"); console.log("SCRIPT LOADED");
headerToggle(); headerToggle();
headerScrollVisibility(); panelToggle();
copyLink(); copyLink();
themeToggle(); themeToggle();
bannerStickyMobile(responsiveSmall); 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"> <nav id="nav--page">
<ul> <ul>
<li><a href="#section__short">Vidéo</a></li> <li><a href="#section__short">Vidéo</a></li>
@ -21,12 +21,18 @@ $report = $page->children()->filterBy('intendedTemplate', 'report')->first();
<?php if ($report): ?> <?php if ($report): ?>
<button class="btn--bold"><a href="<?= $report->url() ?>">Lire le rapport</a></button> <button class="btn--bold"><a href="<?= $report->url() ?>">Lire le rapport</a></button>
<?php endif ?> <?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> </div>

View file

@ -2,18 +2,19 @@
<aside id="rapport__aside"> <button id="toggle-panel" class="btn--bold-inline no-link">
<input type="radio" id="tab-print" name="tabs-aside" value="toc" checked /> <?= svg('assets/icons/toc.svg') ?>
<input type="radio" id="tab-toc" name="tabs-aside" value="toc" checked /> </button>
<div class="tabs"> <aside class="panel-left" id="report__aside">
<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> <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>
<div class="panel__content">
<div class="content-aside">
<nav id="toc"> <nav id="toc">
<ul> <ul>
<li class="toc-level-1 selected"><a href="#auteurs">Les auteurs de ce rapport</a></li> <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> <li class="toc-level-1"><a href="#contact">Contact</a></li>
</ul> </ul>
</nav> </nav>
<div id="print-features">
<p>Paramétrage impression</p>
</div>
</div> </div>
<div class="btn--group"> <div class="btn--group">
<button id="download-pdf" class="btn--bold"> <button id="download-pdf" class="btn--bold">
<a href="#"> <a href="#">
<span class="icon"><?= svg('assets/icons/pdf.svg') ?></span> <span class="icon"><?= svg('assets/icons/pdf.svg') ?></span>
<span class="text">Télégarcher le&nbsp;PDF</span> <span class="text">Télécharger le&nbsp;PDF</span>
</a> </a>
</button> </button>
<div class="dropdown dropdown--position-panel">
<div class="dropdown dropdown--position-right"> <button class="dropdown__trigger btn--bold-inline no-link">
<button class="dropdown__trigger btn--bold-inline no-link"> <span class="icon"><?= svg('assets/icons/share.svg') ?></span>
<span class="icon"><?= svg('assets/icons/share.svg') ?></span> <span class="text">Partager</span>
<span class="text">Partager</span> </button>
</button> <div class="dropdown__content">
<div class="dropdown__content"> <?php snippet('modal-share') ?>
<?php snippet('modal-share') ?>
</div>
</div> </div>
</div>
</div> </div>
<input type="checkbox" id="share-banner__aside"> <input type="checkbox" id="share-banner__aside">
<?php snippet('modal-share') ?> <?php snippet('modal-share') ?>
</aside> </aside>
<article id="report">
<header class="report__header">
<article id="rapport"> <div class="report__title-group">
<header class="rapport__header">
<div class="rapport__title-group">
<p class="tag-inline">Rapport</p> <p class="tag-inline">Rapport</p>
<h1 class="title">Rapport de contre-expertise</h1> <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> </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="report__dl">
<dl class="rapport__dl">
<div class="dl__group"> <div class="dl__group">
<dt>Auteurs du rapport</dt> <dt>Auteurs du rapport</dt>
<dd>INDEX Investigation</dd> <dd>INDEX Investigation</dd>
@ -87,27 +78,24 @@
<dt>Date du rapport</dt> <dt>Date du rapport</dt>
<dd><time datetime="2025-06-10">10 juin 2025</time></dd> <dd><time datetime="2025-06-10">10 juin 2025</time></dd>
</div> </div>
</dl> </dl>
<div class="btn--group"> <div class="btn--group">
<button class="btn--bold"> <button class="btn--bold">
<a href="#"> <a href="#">
<span class="icon"><?= svg('assets/icons/pdf.svg') ?></span> <span class="icon"><?= svg('assets/icons/pdf.svg') ?></span>
<span class="text">Télégarcher le&nbsp;PDF</span> <span class="text">Télécharger le&nbsp;PDF</span>
</a> </a>
</button> </button>
<button class="btn--bold-inline"> <button class="btn--bold-inline">
<a href="/enquetes/l-execution-de-nidal-et-khaled-amirah-a-naplouse"> <a href="/enquetes/l-execution-de-nidal-et-khaled-amirah-a-naplouse">
<span class="icon"><?= svg('assets/icons/play.svg') ?></span> <span class="icon"><?= svg('assets/icons/play.svg') ?></span>
<span class="text">Voir la&nbsp;synthèse</span> <span class="text">Voir la&nbsp;synthèse</span>
</a> </a>
</button> </button>
<div class="dropdown">
<div class="dropdown">
<button class="dropdown__trigger btn--bold-inline no-link"> <button class="dropdown__trigger btn--bold-inline no-link">
<span class="icon"><?= svg('assets/icons/share.svg') ?></span> <span class="icon"><?= svg('assets/icons/share.svg') ?></span>
<span class="text">Partager</span> <span class="text">Partager</span>
@ -116,180 +104,168 @@
<?php snippet('modal-share') ?> <?php snippet('modal-share') ?>
</div> </div>
</div> </div>
</div> </div>
</header> </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>
<div class="report__txt">
<div class="rapport__content"> <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="auteurs"> <div class="section-content" id="rappel-faits">
<h3 class="section-title">Les auteurs de ce rapport</h3> <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>
<p> <div class="section-content">
INDEX est une ONG dinvestigation et dexpertise indépendante, <h3 class="section-title">Rappel des faits</h3>
à but non lucratif, déclarée en tant quassociation Loi 1901 <p>
(RNA W751258265), depuis 2020. Le 19 août 2017, vers 17h, M. Luis Manuel BICO, 48 ans, a été tué
</p> lors d'une intervention policière à Châlette-sur-Loing.
<p> </p>
Spécialisée dans linvestigation en sources ouvertes, lanalyse de <p>
données média et la reconstitution numérique en 3D, lONG INDEX est Atteint de schizophrénie dysthymique et suivi pour des troubles
issue du laboratoire de recherche international Forensic Architecture, bipolaires depuis l'âge de 20 ans, M. BICO a menacé une personne
basé à luniversité Goldsmiths de Londres. Elle est membre du réseau avec un couteau le 19 août 2017, déclenchant une alerte auprès
international Investigative Commons. des forces de l'ordre. Localisé au 3 rue Maurice Ravel à Châlette-sur-Loing,
</p> M. BICO, dans un état d'agitation extrême et tenant des
<p> propos incohérents, s'était enfermé dans son véhicule, exhibant un
Les collaborateurs de lONG INDEX ayant contribué à la production couteau. Deux équipages de police, soit sept agents, sont intervenus.
du présent rapport sont : </p> Face à son refus de se rendre, les policiers ont tenté de le maîtriser
<ul> en usant de gaz lacrymogène et en tentant de briser le pare-brise
<li>Analyse et modélisation numérique : Nadav Joffe, Guillaume Seyller</li> de son véhicule avec leurs bâtons. M. BICO, au volant, a reculé à
<li>Conception graphique : Léonie Montjarret</li> plusieurs reprises, percutant un véhicule de police. Lorsqu'un agent a
<li>Direction : Francesco Sebregondi</li> déplacé un second véhicule de police qui obstruait la voie située sur
</ul> 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 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>
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>
<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> </article>
<?php snippet('footer') ?> <?php snippet('footer') ?>