1
0
Fork 0
forked from Deuxfleurs/site

Compare commits

...

23 commits

Author SHA1 Message Date
Tixie 091f4ddc4a
Merge branch preprod into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-06-10 11:45:21 +02:00
Tixie 9ff1b20248 Merge pull request 'Ralentir les animations ASCII si on détecte que l'utilisateur'trice a demandé au système de minimiser la quantité d'animation ou de mouvement.' (#44) from feat/a11y into preprod
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: Deuxfleurs/site#44
2024-06-10 09:43:37 +00:00
Tixie 351931fdeb
Ralentir les animations ASCII si la media feature prefers-reduced-motion is activée
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-06-10 11:30:14 +02:00
Tixie 31aa58a863 Merge pull request 'Merge accessibility and design improvements' (#43)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: Deuxfleurs/site#43
2024-06-09 16:26:29 +00:00
Tixie 4978b26ef6 fix yaml de la task pour désindexer le site si c'est un déploiement en preprod
Some checks failed
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline failed
2024-06-09 16:21:27 +00:00
Tixie b75294cc96 highlight contact infos 2024-06-09 16:21:27 +00:00
Tixie 821f38c112 Améliorer l'affordance des liens vers les services 2024-06-09 16:21:27 +00:00
Tixie a007d29a9f CI: Ajout d'une task pour désindexer le site si c'est un déploiement en preprod
Pour éviter que les moteurs de recherche flag du duplicate content parce qu'on a plusieurs sites identiques en ligne
2024-06-09 16:21:27 +00:00
Tixie fd276e5dc2
Merge pull request 'Accessibilité web: Améliorations sémantique' (#42) from preprod to main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-06-09 17:48:12 +02:00
Tixie 3a404c162c
Merge branch 'a11y/semantic' into preprod
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-06-09 17:41:22 +02:00
Tixie b4e50788a6
fix(layout.css): Remove old underline 2024-06-09 17:40:09 +02:00
Tixie a2edf9bde5
CI(tidy-html): ignore empty tag, generating warning
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-06-09 17:33:42 +02:00
Tixie 66bb48aaa7
Merge branch 'a11y/semantic' into preprod
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2024-06-09 16:56:21 +02:00
Tixie 352c25ed3e
Fix HTML closing tag 2024-06-09 16:52:44 +02:00
Tixie c5dd5467a4 Merge pull request 'Rendre le header selectionnable' (#40)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: Deuxfleurs/site#40
Reviewed-by: aeddis <aeddis@noreply.localhost>
2024-06-08 19:10:49 +00:00
Tixie 6ae76f5b93 Merge pull request 'Acessibilité web: Améliorations sémantique' (#42)
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Reviewed-on: Deuxfleurs/site#42
Reviewed-by: aeddis <aeddis@noreply.localhost>
2024-06-08 19:08:56 +00:00
Adrian Rosin 469d165852 Merge remote-tracking branch 'origin/feat/UnderlignedTitle'
Some checks failed
ci/woodpecker/pull_request_closed/woodpecker Pipeline failed
# Conflicts:
#	static/css/home.css
#	static/css/layout.css
#	static/index.html
2024-06-07 18:11:09 +00:00
Adrian Rosin 99b6eaae61 added role and aria-label to the div ordinateur #28 2024-06-07 18:11:09 +00:00
Adrian Rosin 5f67856c95 added rapport.md 2024-06-07 18:11:09 +00:00
Adrian Rosin 547235a400 fix: removed li role=none & aria-orintation=vertical #29
# Conflicts:
#	static/index.html
2024-06-07 18:11:09 +00:00
Tixie 9a230c545d
CI: Ajout d'une task pour désindexer le site si c'est un déploiement en preprod
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Pour éviter que les moteurs de recherche flag du duplicate content parce qu'on a plusieurs sites identiques en ligne
2024-06-07 19:13:39 +02:00
Adrian Rosin 8619254c73
feat: join us link
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
# Conflicts:
#	static/index.html
2024-06-07 17:38:48 +02:00
Tixie 68e1e57468
Rendre le header selectionnable
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2024-06-07 16:42:46 +02:00
6 changed files with 131 additions and 78 deletions

View file

@ -9,7 +9,15 @@ steps:
- wget -q https://github.com/htacg/tidy-html5/releases/download/5.8.0/tidy-5.8.0-Linux-64bit.deb
- echo "59e594312207234f5a17455683c13c6bc47a89cb7bf994d493acfffb591d9830 tidy-5.8.0-Linux-64bit.deb" | sha256sum -c
- DEBIAN_FRONTEND=noninteractive apt install -qq -y ./tidy-5.8.0-Linux-64bit.deb
- tidy -q -e static/index.html
- tidy -q -e --drop-empty-elements no static/index.html
- name: disable SEO indexing (on preprod only)
when:
event: [push, pull_request]
branch: preprod
image: debian:12 # Same as previous step to not have to download 2 images, but it could be any linux
commands:
- '[ -f static/robots.txt ] && echo "Disallow: /*" >> static/robots.txt'
- name: upload (preprod)
when:

36
rapport.md Normal file
View file

@ -0,0 +1,36 @@
# DeuxFleurs, un site accessible ? -- Sommaire exécutif
_Lundi 12 février 2024, par Adrian Rosin & Adrien Luxey-Bitri_
## Des principes solides
Dans lensemble, deuxfleurs a posé des bases solides en termes daccessibilité. Le code est correctement structuré et pensé pour garantir une accessibilité maximale. Il met en pratique les principaux standards daccessibilité issus de W3C, ce qui témoigne de la qualité du travail réalisé. Il faut également noter que pour chaque élément du site, des recherches ont été réalisées, rien n'a été laissé au hasard et une attention méticuleuse quant à l'accessibilité a été pensée.
Par conséquent, on saperçoit que deuxfleurs, avant même de passer des tests fonctionnels, valide la plupart des principes daccessibilité sur le web. Le site valide par exemple les instructions que met à disposition Access42 (https://access42.net/ressources/site-web-accessible/), une coopérative française qui réalise des audits sur laccessibilité numérique et dont les critères post-audit permettent dans un premier temps de savoir si un site est sur la bonne direction ou non.
## Tests fonctionnels
Si lon passe le site sur des outils permettant de vérifier laccessibilité (ADA, WCAG, WCAG2, … Pour plus d'informations, voir https://www.w3.org/WAI/ER/tools//index.html), celui-ci passe plus des trois quarts des tests concernant laccessibilité. Les tests critiques passant dans lintégralité. Les seuls tests non validés sont des erreurs potentielles sujettes à interprétation, qui résultent d'un choix conscient chez Deuxfleurs (commande artistique).
Pour donner des exemples de suggestions d'améliorations d'accéssibilité que l'on peut proposer après une première analyse du site :
lutilisation de balises `svg` à la place de balises préformatées `pre` pour gérer lASCII art en terme dimage et non en terme de texte ;
l'affichage des calendriers en tant quobjet (`table`) plutôt quen texte sous balise préformatée ;
l'augmentation du contraste texte/fond…
En deuxième analyse, on comprend que les idées ci-dessus ont été analysées, et que les solutions retenues résultent d'un compromis entre accessibilité et démarche artistique.
## Commande artistique
Il a été demandé à la créatrice du site de concevoir un site simple et léger (sans image sauf l'illustration de Ronce).
De plus, le code HTML se lit comme un journal, où ASCII art et textes se succèdent sans friction.
On comprend mieux alors, que l'usage de `svg` contredit l'esprit recherché, puisqu'il ajoute une lourdeur inutile au code source.
## En pratique
Le site dans son ensemble actuel peut être considéré comme accessible. Lorsque le site est utilisé avec un narrateur, tout le contenu est décrit de manière simple et fluide assurant une bonne compréhension de celui-ci pour tous les utilisateurs. Malgré cela, le résultat obtenu diffère en fonction du système dexploitation, du narrateur utilisé ou même du paramétrage de celui-ci.
A ce titre, une expérience à plus grande échelle impliquant des personnes directement concernées par les lecteurs décran pourrait nous en apprendre davantage quant à laccessibilité de deuxfleurs.
## Nous contacter
Si vous souhaitez nous faire des retours concernant laccessibilité du site deuxfleurs, vous pouvez nous contacter [ici](https://matrix.to/#/#accessibilite:deuxfleurs.fr) ou via coucou _chez_ deuxfleurs.fr

View file

@ -31,6 +31,7 @@ div#jardin p {
h2#infras {
background-color: var(--infras);
grid-area: title-start 1 / col-sep 1 / title-end 1 / col-sep 12;
padding-bottom: 10px; /* Ajoutez de l'espace en dessous du texte */
}
div#rennes {
@ -64,6 +65,8 @@ section#liste_outils {
section#liste_outils > a > div > p {
text-align: center;
text-decoration: underline;
color: darkgreen;
}
section#liste_outils > a {

View file

@ -32,6 +32,11 @@
}
/* PAR DEFAUT */
h1 > .decoration:last-of-type:before, h2 > .decoration:last-of-type:before{
content: '\A____________________________________\A""""""""""""""""""""""""""""""""""""';
}
html, body, main {
margin: 0;
padding: 0;
@ -64,10 +69,6 @@ nav ul {
margin: 0px;
}
h1:after, h2:after {
content: '\A___________________________________\A"""""""""""""""""""""""""""""""""""';
}
h2, h1 {
font-size: 1rem;
font-weight: normal;
@ -116,6 +117,7 @@ div#container {
/* EN-TETE */
header {
grid-area: header-start / main-col-sep 1 / header-end / main-col-sep 12;
z-index: 1; /* Pour le mettre au dessus de l'illustration jardin et que l'on puisse sélectionner son contenu */
}
/* PIED DE PAGE */
@ -220,17 +222,17 @@ pre.center > a {
--small_margin: 5px;
}
h1:before, h1:after {
h1 > .decoration:last-of-type:before {
content: "";
}
h2:before {
content: '______________________________________________________________________\A""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""\A* ';
}
h2 > .decoration:first-of-type:before{
content: '______________________________________________________________________\A""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""\A* ';
}
h2:after {
content: ' *\A______________________________________________________________________\A""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""';
}
h2 > .decoration:last-of-type:before{
content: ' *\A______________________________________________________________________\A""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""';
}
h2, h1 {
font-size: 1rem;
@ -269,4 +271,7 @@ pre.center > a {
div#ronce, #coop, #autonomie, #solidarite, #liberte, nav#menu, div#rennes, div#orsay {
border-color: var(--txt-night);
}
section#liste_outils > a > div > p:nth-child(n){
color: var(--txt-night);
}
}

View file

@ -46,8 +46,8 @@
<body>
<nav role="navigation" aria-label="menu d'accès" id="menu">
<ul aria-label="menu principal" role="menubar" aria-orientation="vertical">
<li role="none">
<ul aria-label="menu principal" role="menubar">
<li>
<a href="https://guichet.deuxfleurs.fr/" role="menuitem" aria-label="compte" class="icone">
<pre aria-hidden="true">
(COMPTE)
@ -63,7 +63,7 @@
||_||__| </pre>
</a>
</li>
<li role="none">
<li>
<a href="https://guide.deuxfleurs.fr/" role="menuitem" aria-label="wiki" class="icone">
<pre aria-hidden="true">
((((((()
@ -79,7 +79,7 @@
|______| </pre>
</a>
</li>
<li role="none">
<li>
<a href="https://plume.deuxfleurs.fr/" role="menuitem" aria-label="blog" class="icone">
<pre aria-hidden="true">
|¨¨¨¨|
@ -489,7 +489,7 @@
</div>
<p>Fabriquons un internet convivial ⤵</p>
</div>
<h2 id="infras">Avec nos propres infrastructures</h2>
<h2 id="infras"><span class="decoration" aria-hidden="true"></span>Avec nos propres infrastructures<span class="decoration" aria-hidden="true"></span></h2>
<div id="rennes" role="img" aria-label="illustration de trois serveurs informatiques rangés dans la bibliothèque d'un salon">
<!--diode qui clignote ?-->
<pre class="center">/¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨\
@ -721,8 +721,8 @@
\___________`_______________________________________________________`___________/</pre>
</div>
<p id="txt_infras" lang="fr">Nous fournissons des services numériques garantis "sans datacenter". À la place, nous utilisons moins d'une dizaine de vieux ordinateurs reconditionnés à nos domiciles qui peuvent fournir des services numériques à plusieurs dizaines de milliers de personnes. Actuellement ces ordinateurs sont situés à Orsay, Lille et Bruxelles. Nous avons également des machines à Suresnes pour les sauvegardes. <a href="https://guide.deuxfleurs.fr/infrastructures/">En savoir plus</a>. <br><br>Cette infrastructure atypique nous mène à développer de nouveaux logiciels libres. Si vous êtes dans la technique, vous pourriez être intéressé·e par <a href="https://garagehq.deuxfleurs.fr/">Garage</a>, <a href="https://bottin.eu">Bottin</a>, <a href="https://git.deuxfleurs.fr/lx/tricot">Tricot</a>, <a href="https://git.deuxfleurs.fr/Deuxfleurs/diplonat">Diplonat</a> et nos <a href="https://git.deuxfleurs.fr/Deuxfleurs">autres projets</a>.</p>
<h2 id="outils">Avec nos services sobres</h2>
<div id="ordinateur">
<h2 id="outils"><span class="decoration" aria-hidden="true"></span>Avec nos services sobres<span class="decoration" aria-hidden="true"></span></h2>
<div id="ordinateur" role="img" aria-label="image d'un ordinateur portable et deux fleurs à côté">
<pre class="center" aria-hidden="true">
@ -847,7 +847,7 @@
<p>Envie de faire entendre votre voix sur Internet ? Nous mettons à disposition plusieurs outils de publication sur le web allant de la plateforme de blog partagée à la publication de sites web en autonomie.</p>
<p>Prenez contact avec nous, nous vous aiderons à identifier les outils dont vous avez besoin et nous vous accompagnerons dans votre transition. ⤵</p>
</div>
<h2 id="valeurs">Avec des valeurs fortes</h2>
<h2 id="valeurs"><span class="decoration" aria-hidden="true"></span>Avec des valeurs fortes<span class="decoration" aria-hidden="true"></span></h2>
<div id="ronce">
<img loading="lazy" src="./ronce.webp" alt="Deux personnages qui regardent et s'avancent vers une maison cabane perchée dans un arbre, illustrant notre envie d'un internet plus éthique.">
</div>
@ -858,22 +858,22 @@
<p id="liberte">La liberté <span class="description">- eg. permettre à toutes et tous de s'exprimer, respecter la vie privée</span></p>
<p id="suivre"><a href="https://plume.deuxfleurs.fr/timeline/1">Suivez notre actualité, réflexions et analyses sur notre blog Plume</a></p>
</section>
<h2 id="connaissance">Faisons connaissance</h2>
<h2 id="connaissance"><span class="decoration" aria-hidden="true"></span>Faisons connaissance<span class="decoration" aria-hidden="true"></span></h2>
<div id="txt_connaissance">
<p lang="fr">L'accès à nos services est à prix libre. Nous estimons leur coût à 15€/an/compte pour leur maintien en fonctionnement et recommandons le double pour permettre à l'association de se développer. Il est conditionné par les ressources disponibles, à la fois matérielles et humaines.</p>
<p lang="fr">Pour accéder à nos services ou simplement discuter avec nous, écrivez à <span class="underline">coucou[@]deuxfleurs.fr</span>, rejoignez-nous sur le salon Matrix <span class="underline">#deuxfleurs:deuxfleurs.fr</span> ou rencontrez-nous à : </p>
<p lang="fr">Pour accéder à nos services ou simplement discuter avec nous, écrivez à <span class="highlight">coucou[@]deuxfleurs.fr</span>, rejoignez-nous sur le salon Matrix <span class="highlight">#deuxfleurs:deuxfleurs.fr</span> ou rencontrez-nous à : </p>
<ul>
<!-- L'historique des événements passés est sur evenements_passes.html -->
<!-- Mai 2024 -->
<li role="none"><a href="https://jitsi.deuxfleurs.fr/r%C3%A9union_mensuelle_deuxfleurs">Réunion mensuelle «au coin du feu»</a> en ligne, <span class="highlight">le 7 mai 2024 à 19h00</span>.<br>Une fois par mois nous organisons une réunion en ligne informelle. C'est le bon moment pour venir faire un coucou si vous voulez parler à des gens de vive voix numérique.</li>
<li role="none"><a href="https://jitsi.deuxfleurs.fr/infra">Réunion mensuelle d'infrastructure</a> en ligne, <span class="highlight">le 22 mai 2024 à 20h00</span>.<br>Point mensuel en visioconférence où l'on aborde toutes les questions techniques qui méritent notre attention, concernant notre infrastructure ou nos services.</li>
<li role="none"><a href="https://cis.cnrs.fr/netgouv24/">#NetGouv24</a> à Paris, <span class="highlight">le 29 mai 2024</span>.<br>Première conférence annuelle du groupe de travail Gouvernance et Régulation d'Internet. L'ensemble de la communauté scientifique intéressée par ces sujets s'y retrouvera pour une journée de présentations et de discussion.</li>
<li role="none"><a href="https://passageenseine.fr/">Pas Sage en Seine</a> à Choisy-le-Roi, <span class="highlight">le 31 mai, 1 et 2 juin</span>.<br>Festival annuel gratuit dédié au logiciel libre. De nombreuses présentations sur des sujets techniques ou non y sont faites.</li>
<li><a href="https://jitsi.deuxfleurs.fr/r%C3%A9union_mensuelle_deuxfleurs">Réunion mensuelle «au coin du feu»</a> en ligne, <span class="highlight">le 7 mai 2024 à 19h00</span>.<br>Une fois par mois nous organisons une réunion en ligne informelle. C'est le bon moment pour venir faire un coucou si vous voulez parler à des gens de vive voix numérique.</li>
<li><a href="https://jitsi.deuxfleurs.fr/infra">Réunion mensuelle d'infrastructure</a> en ligne, <span class="highlight">le 22 mai 2024 à 20h00</span>.<br>Point mensuel en visioconférence où l'on aborde toutes les questions techniques qui méritent notre attention, concernant notre infrastructure ou nos services.</li>
<li><a href="https://cis.cnrs.fr/netgouv24/">#NetGouv24</a> à Paris, <span class="highlight">le 29 mai 2024</span>.<br>Première conférence annuelle du groupe de travail Gouvernance et Régulation d'Internet. L'ensemble de la communauté scientifique intéressée par ces sujets s'y retrouvera pour une journée de présentations et de discussion.</li>
<li><a href="https://passageenseine.fr/">Pas Sage en Seine</a> à Choisy-le-Roi, <span class="highlight">le 31 mai, 1 et 2 juin</span>.<br>Festival annuel gratuit dédié au logiciel libre. De nombreuses présentations sur des sujets techniques ou non y sont faites.</li>
<!-- Juin 2024 -->
<li role="none"><a href="https://jitsi.deuxfleurs.fr/r%C3%A9union_mensuelle_deuxfleurs">Réunion mensuelle «au coin du feu»</a> en ligne, <span class="highlight">le 4 juin 2024 à 19h00</span>.<br>Une fois par mois nous organisons une réunion en ligne informelle. C'est le bon moment pour venir faire un coucou si vous voulez parler à des gens de vive voix numérique.</li>
<li role="none"><a href="https://jitsi.deuxfleurs.fr/infra">Réunion d'infrastructure</a> en ligne, <span class="highlight">le 5 juin 2024 à 19h15</span>.<br>Point en visioconférence sur les nouveaux sites géographiques à mettre en place pour pouvoir mieux résister aux pannes.</li>
<li role="none"><a href="https://jitsi.deuxfleurs.fr/infra">Réunion mensuelle d'infrastructure</a> en ligne, <span class="highlight">le 19 juin 2024 à 20h00</span>.<br>Point mensuel en visioconférence où l'on aborde toutes les questions techniques qui méritent notre attention, concernant notre infrastructure ou nos services.</li>
<li role="none"><em>Barcamp Interne</em> en Auvergne, <span class="highlight">les 21, 22 et 23 juin</span>.<br> Les membres de Deuxfleurs prennent le temps de se retrouver et de discuter de l'association.</li>
<li><a href="https://jitsi.deuxfleurs.fr/r%C3%A9union_mensuelle_deuxfleurs">Réunion mensuelle «au coin du feu»</a> en ligne, <span class="highlight">le 4 juin 2024 à 19h00</span>.<br>Une fois par mois nous organisons une réunion en ligne informelle. C'est le bon moment pour venir faire un coucou si vous voulez parler à des gens de vive voix numérique.</li>
<li><a href="https://jitsi.deuxfleurs.fr/infra">Réunion d'infrastructure</a> en ligne, <span class="highlight">le 5 juin 2024 à 19h15</span>.<br>Point en visioconférence sur les nouveaux sites géographiques à mettre en place pour pouvoir mieux résister aux pannes.</li>
<li><a href="https://jitsi.deuxfleurs.fr/infra">Réunion mensuelle d'infrastructure</a> en ligne, <span class="highlight">le 19 juin 2024 à 20h00</span>.<br>Point mensuel en visioconférence où l'on aborde toutes les questions techniques qui méritent notre attention, concernant notre infrastructure ou nos services.</li>
<li><em>Barcamp Interne</em> en Auvergne, <span class="highlight">les 21, 22 et 23 juin</span>.<br> Les membres de Deuxfleurs prennent le temps de se retrouver et de discuter de l'association.</li>
</ul>
</div>
<div id="calendrier">
@ -914,9 +914,7 @@
| | 24 | 25 | 26 | 27 | 28 | 29 | 30 | |
| ———— ———— ———— ———— ———— ———— ———— |
|______________________________________|</pre>
</div>
</div>
</div>
</main>
<footer class="noscroll" aria-label="pied de page et liens vers CGU, mentions, sources et risques">
@ -1391,7 +1389,7 @@ _ ` ^ ¨ · _ - " ` * - ; - _
</pre>
</div>
<div id="liens">
<a href="https://guide.deuxfleurs.fr/vie_associative/cgu/">CGU</a><span role="separator"> · </span><a href="https://guide.deuxfleurs.fr/vie_associative/gestion-des-risques/">Gestion des risques</a><span role="separator"> · </span><a href="https://guide.deuxfleurs.fr/vie_associative/mentions-legales">Mentions légales</a><span role="separator"> · </span><a href="https://guide.deuxfleurs.fr/operations/sources">Sources</a>
<a href="https://guide.deuxfleurs.fr/vie_associative/cgu/">CGU</a><span role="separator"> · </span><a href="https://guide.deuxfleurs.fr/vie_associative/gestion-des-risques/">Gestion des risques</a><span role="separator"> · </span><a href="https://guide.deuxfleurs.fr/vie_associative/mentions-legales">Mentions légales</a><span role="separator"> · </span><a href="https://guide.deuxfleurs.fr/operations/sources">Sources</a><span role="separator"> · </span><a href="https://guide.deuxfleurs.fr/vie_associative/nous-rejoindre/">Nous rejoindre</a>
</div>
</footer>
</div>

View file

@ -1,44 +1,47 @@
// dictionary to keep track of frame count for each animation
let frameCounts = {};
function animate(id, delay) {
// get the container and frames for the amination
const container = document.getElementById(id);
const frames = container.children;
// set up the frame counter
frameCounts[id] = 0;
// hide all frames except for the first
frames[0].style.display = "flex";
for (let i = 1; i < frames.length; i++) {
frames[i].style.display = "none";
}
// start the animation
const interval = setInterval(updateAnimation, delay, id, frames, frames.length);
}
function updateAnimation(id, frames, totalFrames) {
// increment the frame counter for the given id
frameCounts[id] = (frameCounts[id] + 1) % totalFrames;
// show the next frame
frames[frameCounts[id]].style.display = "flex";
// hide the previous frame
if (frameCounts[id] == 0) {
frames[totalFrames - 1].style.display = "none";
} else {
frames[frameCounts[id] - 1].style.display = "none";
}
}
animate("illustration-accueil", 500);
animate("rennes", 1000);
animate("orsay", 2000);
animate("parterre", 1500);
// dictionary to keep track of frame count for each animation
let frameCounts = {};
function animate(id, delay) {
// get the container and frames for the amination
const container = document.getElementById(id);
const frames = container.children;
// set up the frame counter
frameCounts[id] = 0;
// hide all frames except for the first
frames[0].style.display = "flex";
for (let i = 1; i < frames.length; i++) {
frames[i].style.display = "none";
}
// start the animation
const interval = setInterval(updateAnimation, delay, id, frames, frames.length);
}
function updateAnimation(id, frames, totalFrames) {
// increment the frame counter for the given id
frameCounts[id] = (frameCounts[id] + 1) % totalFrames;
// show the next frame
frames[frameCounts[id]].style.display = "flex";
// hide the previous frame
if (frameCounts[id] == 0) {
frames[totalFrames - 1].style.display = "none";
} else {
frames[frameCounts[id] - 1].style.display = "none";
}
}
// If the user have a setting on their device to minimize the amount of non-essential motion
const preferReduceMotion = window.matchMedia("(prefers-reduced-motion)").matches;
animate("illustration-accueil", preferReduceMotion ? 1500 : 500); // Reduce framerate if use preference is to reduce motion
animate("rennes", preferReduceMotion ? 3000 : 1000); // Reduce framerate if use preference is to reduce motion
animate("orsay", preferReduceMotion ? 4000 : 2000); // Reduce framerate if use preference is to reduce motion
animate("parterre", 1500);