@ -0,0 +1,3 @@
|
||||
*.map
|
||||
style-main.css
|
||||
desktop.css
|
@ -0,0 +1,24 @@
|
||||
|
||||
## spec HTML5
|
||||
https://dev.w3.org/html5/spec-LC/
|
||||
https://html.spec.whatwg.org/
|
||||
|
||||
## validateur html :
|
||||
https://validator.w3.org/
|
||||
|
||||
## validateur css :
|
||||
https://jigsaw.w3.org/css-validator/
|
||||
|
||||
## spec CSS
|
||||
https://www.w3.org/Style/CSS/Overview.en.html
|
||||
|
||||
## spec WAI
|
||||
https://www.w3.org/WAI/
|
||||
|
||||
## guide WCAG
|
||||
https://www.w3.org/WAI/standards-guidelines/wcag/
|
||||
|
||||
##référentiel accessibilité des administrations (RGAA)
|
||||
|
||||
## css_selectors
|
||||
https://www.w3schools.com/cssref/css_selectors.asp
|
@ -0,0 +1,62 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zxx">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>À propos du café</title>
|
||||
<link rel="stylesheet" href="icon-style.css" />
|
||||
<link rel="stylesheet" href="style-main.css" />
|
||||
<link rel="stylesheet" href="desktop.css" media="screen and (min-width: 480px)" />
|
||||
<link rel="stylesheet" href="print.css" media="print" />
|
||||
</head>
|
||||
<body>
|
||||
<!--
|
||||
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles
|
||||
https://developer.mozilla.org/fr/docs/Web/Accessibility/ARIA
|
||||
https://validator.w3.org/
|
||||
https://thecodeboss.dev/2016/09/aria-roles-and-attributes-how-to-actually-use-them/
|
||||
-->
|
||||
<header>
|
||||
<nav id="main-menu">
|
||||
<input type="checkbox" id="switch" hidden />
|
||||
<label for="switch" class="menu-label">
|
||||
<span class="burger"><b class="burger-line"></b><b class="burger-line"></b><b class="burger-line"></b></span>
|
||||
<span class="menu-text">Menu</span>
|
||||
</label>
|
||||
<ul>
|
||||
<li class="top-menu-item "><a href="">About</a></li>
|
||||
<li class="top-menu-item "><span>Home</span></li>
|
||||
<li class="top-menu-item current" lang="fr"><a href="about.html" lang="fr">À propos</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<h1>À propos du café</h1>
|
||||
</header>
|
||||
<main>
|
||||
Parlons un peu du café...
|
||||
<div class="pbar">
|
||||
<a href="progress-bar.html" title="Voir l'état de réveil">réveillé à <progress value="10" max="100"></progress></a>
|
||||
</div>
|
||||
<section>
|
||||
<h2><img class="grand-L" alt="L" src="imgs/L.svg" />orem Ipsum has been the industry's standard dummy text</h2>
|
||||
<p>Ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
|
||||
It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</p>
|
||||
</section>
|
||||
<p>ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</p>
|
||||
<p>Lorem ipsum dolor sit amet. A obcaecati accusantium <em>Ut incidunt aut laborum sint rem veritatis voluptatem</em> aut harum aliquid et accusantium voluptate! Quo quam voluptas sit temporibus rerum qui unde velit. Sit modi deleniti id dicta impedit a nobis? Et delectus expedita non voluptates odio et nisi perferendis et ratione similique! Aut laborum cumque ut optio consequatur <strong>Non amet</strong>? Aut rerum veniam ea perspiciatis consequatur ea tempora maxime et minima blanditiis et fugit numquam cum possimus perspiciatis ex nulla minus. Vel voluptatem architecto est velit accusamus <a href="https://www.loremipzum.com" target="_blank">Aut dolorem qui cupiditate consectetur</a> et magnam reprehenderit eum totam nemo aut excepturi aliquid! Hic cumque nihil et asperiores velit ea rerum sunt sit ducimus autem sit incidunt maxime. 33 officiis voluptate eum possimus aliquam ut pariatur assumenda sed voluptatem eius est beatae minus ut enim expedita. </p>
|
||||
<p>Est vitae autem <strong>In velit qui sint repellat est quam totam qui repellendus quidem</strong>. Ea incidunt dolorum eos ratione sint ab sapiente laborum et saepe dolores qui blanditiis magni ea quos odio eum obcaecati consequuntur. Aut expedita quis et nostrum omnis ut culpa maiores et modi Quis aut dolorum quidem quo rerum velit et esse omnis. Qui laboriosam totam a nisi voluptatum nam voluptas esse aut obcaecati numquam est quasi reiciendis sed architecto perspiciatis. Vel consequatur exercitationem ea enim eveniet ut dolorem perferendis 33 laborum molestiae est impedit ipsa ab reprehenderit consequatur. Ex maiores magni <em>Non provident et mollitia earum et rerum quod</em> in enim aspernatur et eligendi quisquam. Est beatae vero aut repellat consectetur sed eius maxime et quod obcaecati et galisum. </p>
|
||||
<p>Ad illo nemo et atque isteid reprehenderit vel nobis consectetur in necessitatibus omnis! Ea ipsam modi in assumenda veniam id voluptas quia. Ut quas officia <em>Non voluptas aut magni provident ut numquam perspiciatis</em> in consequatur tempore ut mollitia alias vero illum. Non aliquam consequatur id molestiae et dolorem deserunt ex repellat autem ab aperiam officiis id laborum doloremque qui quisquam similique. In autem dolorum aut delectus cumque id aperiam voluptatem qui voluptatem doloribus et obcaecati accusamus sit mollitia dolorem. Ut possimus adipisci <strong>Id rerum et nobis quae est eaque tempora</strong>. Ut culpa explicabo sit alias ullam id soluta praesentium a animi autem qui eius aliquid tenetur culpa. </p>
|
||||
<p>
|
||||
<img class="main-stat" src="imgs/accros.jpeg">
|
||||
33 voluptatem cupiditate a omnis consequatur <em>Et nobis eum accusantium facere est repellat molestiae aut molestiae fugit</em>! Et sunt saepe qui quia quos ut quisquam nostrum et minima iusto sit fuga enim et asperiores necessitatibus ea tempore consequatur. In distinctio illum ut rerum ipsum <strong>Eum corporis</strong>. Qui iste beatae <a href="https://www.loremipzum.com" target="_blank">Ea voluptatum a facere tenetur et ullam minus</a>. Non dolorum distinctio est repellendus odio ut saepe enim.
|
||||
<br/>15 voluptatem cupiditate a omnis consequatur <em>Et nobis eum accusantium facere est repellat molestiae aut molestiae fugit</em>! Et sunt saepe qui quia quos ut quisquam nostrum et minima iusto sit fuga enim et asperiores necessitatibus ea tempore consequatur. In distinctio illum ut rerum ipsum <strong>Eum corporis</strong>. Qui iste beatae <a href="https://www.loremipzum.com" target="_blank">Ea voluptatum a facere tenetur et ullam minus</a>. Non dolorum distinctio est repellendus odio ut saepe enim.
|
||||
<br/>45 voluptatem cupiditate a omnis consequatur <em>Et nobis eum accusantium facere est repellat molestiae aut molestiae fugit</em>! Et sunt saepe qui quia quos ut quisquam nostrum et minima iusto sit fuga enim et asperiores necessitatibus ea tempore consequatur. In distinctio illum ut rerum ipsum <strong>Eum corporis</strong>. Qui iste beatae <a href="https://www.loremipzum.com" target="_blank">Ea voluptatum a facere tenetur et ullam minus</a>. Non dolorum distinctio est repellendus odio ut saepe enim.
|
||||
<br/>1 voluptatem cupiditate a omnis consequatur <em>Et nobis eum accusantium facere est repellat molestiae aut molestiae fugit</em>! Et sunt saepe qui quia quos ut quisquam nostrum et minima iusto sit fuga enim et asperiores necessitatibus ea tempore consequatur. In distinctio illum ut rerum ipsum <strong>Eum corporis</strong>. Qui iste beatae <a href="https://www.loremipzum.com" target="_blank">Ea voluptatum a facere tenetur et ullam minus</a>. Non dolorum distinctio est repellendus odio ut saepe enim.
|
||||
<br/>8 voluptatem cupiditate a omnis consequatur <em>Et nobis eum accusantium facere est repellat molestiae aut molestiae fugit</em>! Et sunt saepe qui quia quos ut quisquam nostrum et minima iusto sit fuga enim et asperiores necessitatibus ea tempore consequatur. In distinctio illum ut rerum ipsum <strong>Eum corporis</strong>. Qui iste beatae <a href="https://www.loremipzum.com" target="_blank">Ea voluptatum a facere tenetur et ullam minus</a>. Non dolorum distinctio est repellendus odio ut saepe enim.
|
||||
</p>
|
||||
<p>Quo officia reiciendis <a href="https://www.loremipzum.com" target="_blank">Ut dolorem</a> et molestiae fugit. Ut neque aspernatur et laboriosam quia in dolor totam et distinctio excepturi et laborum suscipit in odit possimus nam nobis tempore. Ea expedita blanditiis aut nulla atque a laudantium voluptas non excepturi accusamus ex cumque voluptas. Eos ducimus incidunt quo incidunt dolorem et fuga repudiandae 33 iure tenetur a internos inventore aut voluptas sint! Sit perspiciatis tempora <em>Vel consectetur sit beatae blanditiis sed dolorem tenetur</em>. </p>
|
||||
<p>Sit consectetur enim <a href="https://www.loremipzum.com" target="_blank">Et dolorem ad mollitia galisum ea dicta enim</a> sit veniam omnis! Et voluptatem cupiditate id quis minima et dolor dolorem. Hic galisum debitis aut doloribus omnis est similique expedita. Id voluptas voluptas <strong>Et distinctio sed deserunt vitae ut velit laborum</strong>. Sit Quis iste id adipisci libero ut omnis cumque et galisum blanditiis 33 earum omnis quo libero delectus. Sit quibusdam rerum aut sunt dolorum qui distinctio sunt. Perferendis molestiae hic pariatur veniam <em>Et quos sit consequatur atque cum officiis omnis in perferendis quos</em> culpa vitae! Qui possimus consequatur rem tenetur sint eos quasi consequatur qui temporibus maxime At aspernatur pariatur ut obcaecati ipsa. Eum earum Quis rem temporibus sint eum repellendus Quis! </p>
|
||||
<p>Nam repellendus error vel quia iste vel exercitationem rerum qui nobis nulla qui aspernatur omnis. Nam numquam voluptate <em>Qui dignissimos et alias sapiente ab reprehenderit repudiandae</em> non corrupti quasi vel dolores nihil a deleniti inventore. Eum alias rerum sit distinctio impedit ut odio molestiae sit fugiat modi. Ad sint vero eum amet quis nam tempora galisum non molestiae consequatur et magnam sint ab sunt praesentium. Est aperiam doloremque <strong>Aut quas ad inventore temporibus et soluta perferendis</strong>. Ut autem sunt <a href="https://www.loremipzum.com" target="_blank">Et autem qui quia illum et voluptatibus accusamus</a> est sapiente sint est consequatur labore. Et voluptas voluptatem et deleniti blanditiis non voluptatum dolores id nisi doloremque ea sapiente quibusdam ut ducimus necessitatibus. Non numquam eaque et rerum nesciunt a similique fugiat. In odio enim est eligendi voluptatum qui repellat culpa. </p>
|
||||
</main>
|
||||
<aside><img alt="" src="imgs/lapin.jpg" /></aside>
|
||||
<footer>Ceci est un texte un peu trop clair ... </footer>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,46 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Réveil</title>
|
||||
<link rel="stylesheet" href="style-main.css" />
|
||||
<script type="text/javascript" src="scripts/main-2.js" async></script>
|
||||
</head>
|
||||
<body>
|
||||
<main role="main">
|
||||
<div>
|
||||
Bonjour !
|
||||
<div
|
||||
id="loaded"
|
||||
role="info"
|
||||
aria-live="polite"
|
||||
aria-hidden="true"
|
||||
aria-label="état du document"></div>
|
||||
<div
|
||||
id="warning"
|
||||
role="alert"
|
||||
aria-live="assertive"
|
||||
aria-hidden="true"
|
||||
aria-label="état de la communication serveur"></div>
|
||||
<ul>
|
||||
<li lang="french">lien en français</li>
|
||||
<li lang="en">In <span class="red blue white">English</span> please</li>
|
||||
<li lang="français">lien en français</li>
|
||||
<li lang="zxx">Lorem Ipsum</li>
|
||||
<li lang="fr-CA">Tabernacle!</li>
|
||||
<li lang="es">Me llamo Juan</li>
|
||||
<li lang="en-US">American English</li>
|
||||
<li lang="de">Auf Deutsch</li>
|
||||
<li lang="de"><span class="tankredi">Auf Deutsch</span></li>
|
||||
<li lang="de"><span class="red">Auf Deutsch</span></li>
|
||||
<li lang="de"><span class="red-blue">Auf Deutsch</span></li>
|
||||
<li lang="de"><span class="redblue">Auf Deutsch</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,79 @@
|
||||
#main-menu
|
||||
{
|
||||
.menu-label
|
||||
{
|
||||
display:none;
|
||||
}
|
||||
ul
|
||||
{
|
||||
display:block;
|
||||
margin-block-start: 1em;
|
||||
margin-block-end: 1em;
|
||||
margin-inline-start: 0px;
|
||||
margin-inline-end: 0px;
|
||||
padding-inline-start: 0px;
|
||||
margin:0px;
|
||||
li
|
||||
{
|
||||
display:inline-block;
|
||||
width:24%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
////// FORUMULAIRE
|
||||
.cf
|
||||
{
|
||||
&-label,&-input
|
||||
{
|
||||
min-width: auto;
|
||||
width: auto;
|
||||
}
|
||||
&-label
|
||||
{
|
||||
float:left;
|
||||
clear:left;
|
||||
padding-right:20px;
|
||||
}
|
||||
&-input
|
||||
{
|
||||
min-height: 20px;
|
||||
line-height: 20px;
|
||||
min-width: 20vw;
|
||||
float:right;
|
||||
clear:right;
|
||||
box-sizing: border-box;
|
||||
|
||||
}
|
||||
&-textarea
|
||||
{
|
||||
margin:8px 0;
|
||||
display:block;
|
||||
width:100%;
|
||||
clear: both;
|
||||
}
|
||||
&-input-group
|
||||
{
|
||||
padding:4px;
|
||||
margin:4px;
|
||||
}
|
||||
&-close-wrap
|
||||
{
|
||||
margin:-20px -20px 0 -20px;
|
||||
}
|
||||
&-btn
|
||||
{
|
||||
background-color: black;
|
||||
color:white;
|
||||
padding-left:10px;
|
||||
padding-right:10px;
|
||||
}
|
||||
}
|
||||
|
||||
.main-stat
|
||||
{
|
||||
max-width: 300px;
|
||||
float:left;
|
||||
margin:10px;
|
||||
}
|
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 91 KiB |
After Width: | Height: | Size: 4.5 KiB |
@ -0,0 +1,44 @@
|
||||
@font-face {
|
||||
font-family: 'icomoon';
|
||||
src:
|
||||
url('fonts/icomoon.ttf?k3kmik') format('truetype'),
|
||||
url('fonts/icomoon.woff?k3kmik') format('woff'),
|
||||
url('fonts/icomoon.svg?k3kmik#icomoon') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-display: block;
|
||||
}
|
||||
|
||||
[class^="icon-"], [class*=" icon-"] {
|
||||
/* use !important to prevent issues with browser extensions that change fonts */
|
||||
font-family: 'icomoon' !important;
|
||||
speak: never;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
|
||||
/* Better Font Rendering =========== */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icon-eye:before {
|
||||
content: "\e9ce";
|
||||
}
|
||||
.icon-eye-blocked:before {
|
||||
content: "\e9d1";
|
||||
}
|
||||
.icon-close-circle:before {
|
||||
content: "\ea0d";
|
||||
}
|
||||
.icon-close:before {
|
||||
content: "\ea0f";
|
||||
}
|
||||
.icon-radio-checked:before {
|
||||
content: "\ea54";
|
||||
}
|
||||
.icon-radio-unchecked:before {
|
||||
content: "\ea56";
|
||||
}
|
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 423 KiB |
After Width: | Height: | Size: 18 KiB |
@ -0,0 +1,98 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>A hompage</title>
|
||||
<link rel="stylesheet" href="icon-style.css" />
|
||||
<link rel="stylesheet" href="style-main.css" />
|
||||
<link rel="stylesheet" href="desktop.css" media="screen and (min-width: 480px)" />
|
||||
<link rel="stylesheet" href="print.css" media="print" />
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<nav id="main-menu">
|
||||
<input type="checkbox" id="switch" hidden />
|
||||
<label for="switch" class="menu-label">
|
||||
<span class="burger"><b class="burger-line"></b><b class="burger-line"></b><b class="burger-line"></b></span>
|
||||
<span class="menu-text">Menu</span>
|
||||
</label>
|
||||
<ul>
|
||||
<li class="top-menu-item "><a target="_blank" href="">About</a></li>
|
||||
<li class="top-menu-item current"><span>Home</span></li>
|
||||
<li class="top-menu-item" lang="fr"><a href="about.html" lang="fr">À propos</a></li>
|
||||
<li class="top-menu-item "><label class="menu-contact-label" for="show-contact">Contact</label></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="img-wrap">
|
||||
<picture>
|
||||
<source type="image/webp" media="(max-width: 359px)" srcset="./espresso.webp">
|
||||
<source media="(max-width: 359px)" srcset="./espresso-vert.jpg">
|
||||
<source media="(orientation: landscape) and (min-width: 360px) and (max-width: 989px)" srcset="./espresso-neg.jpg">
|
||||
<source media="(min-width: 990px)" srcset="./espresso.jpg">
|
||||
<img src="./espresso-vert.jpg" alt="">
|
||||
</picture>
|
||||
</div>
|
||||
<h1>A hompage</h1>
|
||||
</header>
|
||||
<main>
|
||||
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
|
||||
<section>
|
||||
<h2>Lorem Ipsum has been the industry's standard dummy text</h2>
|
||||
<p>ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</p>
|
||||
</section>
|
||||
<p>ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</p>
|
||||
</main>
|
||||
<aside></aside>
|
||||
<footer></footer>
|
||||
<input type="checkbox" checked id="show-contact" hidden />
|
||||
<div class="contact-form-wrap">
|
||||
<h3 class="h3">Contact us</h3>
|
||||
<form id="cf-main-form" class="cf-form" method="get" action=""><!-- en fait c'est html4 ça -->
|
||||
<div class="cf-input-group cf-close-wrap">
|
||||
<label for="show-contact" class="cf-close">
|
||||
<i class="icon-close-circle"></i>
|
||||
<span class="hidden">fermer</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="cf-input-group">
|
||||
<label for="nom" class="cf-label">Votre nom</label>
|
||||
<input type="text" id="nom" name="Nom" class="cf-input cf-text">
|
||||
</div>
|
||||
|
||||
<div class="cf-input-group">
|
||||
<label for="email" class="cf-label">Votre courriel</label>
|
||||
<input type="email" id="email" name="courriel" class="cf-input cf-email">
|
||||
</div>
|
||||
|
||||
<div class="cf-input-group">
|
||||
<label for="message" class="cf-label">Votre message</label>
|
||||
<textarea id="message" name="message" class="cf-input cf-textarea" rows="6" maxlength="3000"></textarea>
|
||||
</div>
|
||||
|
||||
<div class="cf-input-group">
|
||||
<label>S'abonner ?</label>
|
||||
<span>
|
||||
<input type="radio" hidden name="abonnement" id="abonnement-oui" value="oui">
|
||||
<label for="abonnement-oui" class="ct-radio">
|
||||
oui
|
||||
<i class="icon-radio-unchecked"></i>
|
||||
<i class="icon-radio-checked"></i>
|
||||
</label>
|
||||
</span>
|
||||
<span>
|
||||
<input type="radio" hidden name="abonnement" id="abonnement-non" value="non">
|
||||
<label for="abonnement-non" class="ct-radio">
|
||||
non
|
||||
<i class="icon-radio-unchecked"></i>
|
||||
<i class="icon-radio-checked"></i>
|
||||
</label>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="cf-input-group">
|
||||
<button type="submit" id="cf-button" class="cf-input cf-btn">Envoyer</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,4 @@
|
||||
#main-menu
|
||||
{
|
||||
display: none!important;
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Réveil</title>
|
||||
<link rel="stylesheet" href="style-main.css" />
|
||||
<script type="text/javascript" src="scripts/new.js" async></script>
|
||||
</head>
|
||||
<body>
|
||||
<main role="main">
|
||||
<div class="pbar">
|
||||
réveillé à
|
||||
<progress
|
||||
id="pourcent-reveil"
|
||||
aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
aria-valuenow="10"
|
||||
role="progressbar"
|
||||
value="10" max="100"></progress>
|
||||
<span id="finished" style="display:none;"> 100%</span>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,51 @@
|
||||
console.log('scripts loaded');
|
||||
document.onreadystatechange = function(event) {
|
||||
if (document.readyState === "complete") {
|
||||
if(document.getElementById('pourcent-reveil'))
|
||||
{
|
||||
console.log('has progress bar');
|
||||
setcurrentprogress(document.getElementById('pourcent-reveil'),5);
|
||||
updateprogress(document.getElementById('pourcent-reveil'),5);
|
||||
}
|
||||
if(oLoaded = document.getElementById('loaded'))
|
||||
{
|
||||
console.log('has live content');
|
||||
oLoaded.setAttribute("class","shown");
|
||||
oLoaded.removeAttribute("aria-hidden","true");
|
||||
oLoaded.innerHTML="Document chargé!";
|
||||
oLoaded.setAttribute("aria-live","off");
|
||||
setTimeout(warning, 1500);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function warning()
|
||||
{
|
||||
if(document.getElementById('warning'))
|
||||
{
|
||||
document.getElementById('warning').innerHTML="Erreur de communication avec le serveur!";
|
||||
document.getElementById('warning').setAttribute("class","shown");
|
||||
document.getElementById('warning').removeAttribute("aria-hidden");
|
||||
}
|
||||
}
|
||||
|
||||
function setcurrentprogress(obj,value)
|
||||
{
|
||||
obj.setAttribute("value",value);
|
||||
obj.setAttribute("aria-valuenow",value);
|
||||
}
|
||||
|
||||
function updateprogress(obj, step=5)
|
||||
{
|
||||
currentprogress = parseInt(obj.getAttribute("value")) + step;
|
||||
if(currentprogress >= 100)
|
||||
{
|
||||
console.log("finished");
|
||||
setcurrentprogress(obj,100);
|
||||
document.getElementById("finished").setAttribute("style","");
|
||||
return;
|
||||
}
|
||||
console.log("updateprogress to "+currentprogress);
|
||||
setcurrentprogress(obj,currentprogress);
|
||||
setTimeout(updateprogress, 500, obj);
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
console.log('scripts loaded');
|
||||
document.onreadystatechange = function(event) {
|
||||
if (document.readyState === "complete") {
|
||||
if(document.getElementById('pourcent-reveil'))
|
||||
{
|
||||
setcurrentprogress(document.getElementById('pourcent-reveil'),5);
|
||||
updateprogress(document.getElementById('pourcent-reveil'),5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function setcurrentprogress(obj,value)
|
||||
{
|
||||
obj.setAttribute("value",value);
|
||||
obj.setAttribute("aria-valuenow",value);
|
||||
}
|
||||
|
||||
function updateprogress(obj, step=5)
|
||||
{
|
||||
currentprogress = parseInt(obj.getAttribute("value")) + step;
|
||||
if(currentprogress >= 100)
|
||||
{
|
||||
console.log("finished");
|
||||
setcurrentprogress(obj,100);
|
||||
document.getElementById("finished").setAttribute("style","");
|
||||
return;
|
||||
}
|
||||
console.log("updateprogress to "+currentprogress);
|
||||
setcurrentprogress(obj,currentprogress);
|
||||
setTimeout(updateprogress, 500, obj);
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
//https://developer.mozilla.org/fr/docs/Web/API/setTimeout
|
||||
|
||||
console.log('scripts loaded');
|
||||
document.onreadystatechange = function(event) {
|
||||
if (document.readyState === "complete") {
|
||||
if(oProgress = document.getElementById('pourcent-reveil'))
|
||||
{
|
||||
console.log("progress bar exists");
|
||||
setcurrentprogress(oProgress,10);
|
||||
updateprogress(oProgress);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function setcurrentprogress(obj,value) {
|
||||
obj.setAttribute("value",value);
|
||||
obj.setAttribute("aria-valuenow",value);
|
||||
}
|
||||
|
||||
function updateprogress(obj,step=5) {
|
||||
currentprogress = parseInt(obj.getAttribute("value")) + step;
|
||||
console.log("updating progressbar to "+currentprogress);
|
||||
if(currentprogress > 100) {
|
||||
console.log("terminé");
|
||||
setcurrentprogress(obj,100);
|
||||
document.getElementById('finished').removeAttribute("style");
|
||||
return;
|
||||
}
|
||||
setcurrentprogress(obj,currentprogress);
|
||||
setTimeout(updateprogress,500, obj);
|
||||
}
|
@ -0,0 +1,392 @@
|
||||
/////// SESSIONS 1 et 2
|
||||
|
||||
$font : Arial, Helvetica, sans-serif;
|
||||
$normalfontsize : 12px;
|
||||
$marge : 8px;
|
||||
|
||||
body
|
||||
{
|
||||
font-family: $font;
|
||||
font-size:$normalfontsize;
|
||||
}
|
||||
|
||||
h4
|
||||
{
|
||||
font-size:$normalfontsize + 2px;
|
||||
}
|
||||
|
||||
body,figure,img
|
||||
{
|
||||
padding:0;
|
||||
border:none;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
#switch:checked ~ p
|
||||
{
|
||||
background-color:green;
|
||||
}
|
||||
|
||||
.img-wrap img
|
||||
{
|
||||
// avec interpolation
|
||||
width:calc(100% - (#{$marge}*2));
|
||||
height:auto;
|
||||
margin:$marge;
|
||||
top:50%;
|
||||
transform: translateY(-25%);
|
||||
}
|
||||
|
||||
picture
|
||||
{
|
||||
position:relative;
|
||||
display:block;
|
||||
max-height:40vh;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
#main-menu
|
||||
{
|
||||
text-align:center;
|
||||
ul
|
||||
{
|
||||
list-style:none;
|
||||
}
|
||||
|
||||
li
|
||||
{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
li a,
|
||||
li span,
|
||||
li label
|
||||
{
|
||||
color:black;
|
||||
text-decoration:none;
|
||||
font-size:1.1rem;
|
||||
}
|
||||
|
||||
li span
|
||||
{
|
||||
color:#666;
|
||||
}
|
||||
|
||||
.menu-label
|
||||
{
|
||||
font-size:1.5rem;
|
||||
color:black;
|
||||
text-decoration:none;
|
||||
font-weight:bold;
|
||||
display:inline-block;
|
||||
line-height:2rem;
|
||||
}
|
||||
}
|
||||
.burger
|
||||
{
|
||||
float:left;
|
||||
margin: 3px 8px;
|
||||
b,i
|
||||
{
|
||||
display: block;
|
||||
width: 20px;
|
||||
}
|
||||
b
|
||||
{
|
||||
height: 2px;
|
||||
margin-bottom: 5px;
|
||||
position: relative;
|
||||
background: #000;
|
||||
border-radius: 2px;
|
||||
z-index: 1;
|
||||
&:first-of-type
|
||||
{
|
||||
margin-top:5px;
|
||||
}
|
||||
}
|
||||
i
|
||||
{
|
||||
color:blue;
|
||||
}
|
||||
}
|
||||
|
||||
//switch pour afficher le menu
|
||||
#main-menu ul
|
||||
{
|
||||
display:none;
|
||||
}
|
||||
|
||||
main, h1
|
||||
{
|
||||
margin:1rem;
|
||||
padding:1rem;
|
||||
}
|
||||
|
||||
#main-menu #switch:checked ~ ul
|
||||
{
|
||||
display:block;
|
||||
}
|
||||
|
||||
////////// FORMULAIRE DE CONTACT
|
||||
|
||||
// switch por afficher le conteneur du formulaire
|
||||
.contact-form-wrap
|
||||
{
|
||||
display:none;
|
||||
}
|
||||
|
||||
#show-contact:checked ~ .contact-form-wrap
|
||||
{
|
||||
display:block;
|
||||
}
|
||||
|
||||
// je positionne le fond en fixed pour lui faire occuper toute la page
|
||||
.contact-form-wrap
|
||||
{
|
||||
position:fixed;
|
||||
//fond noir à 25% ce qui donne la transparence
|
||||
background-color:rgba(0,0,0,0.25);
|
||||
top:0;
|
||||
bottom:0;
|
||||
left:0;
|
||||
right:0;
|
||||
.h3
|
||||
{
|
||||
color:white;
|
||||
text-align: center;
|
||||
margin-top:120px;
|
||||
}
|
||||
}
|
||||
|
||||
//je préfixe les éléments du formulaire pour les regrouper dans mon sas
|
||||
.cf
|
||||
{
|
||||
//je centre le formulaire dans son conteneur (.contact-form-wrap)
|
||||
&-form
|
||||
{
|
||||
background-color: white;
|
||||
position: absolute;
|
||||
top:50%;
|
||||
left:50%;
|
||||
transform: translate(-50%,-50%);
|
||||
padding: 20px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
//je normalise tous les inputs / labels
|
||||
&-input, &-label
|
||||
{
|
||||
min-height: 20px;
|
||||
line-height: 20px;
|
||||
box-sizing: border-box;
|
||||
width:100%;
|
||||
min-width:30vh;
|
||||
}
|
||||
&-input
|
||||
{
|
||||
border: solid 1px #666;
|
||||
border-radius: 4px;
|
||||
padding:4px;
|
||||
}
|
||||
&-label
|
||||
{
|
||||
line-height: 30px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
&-btn
|
||||
{
|
||||
background-color: black;
|
||||
color:white;
|
||||
padding-left:10px;
|
||||
padding-right:10px;
|
||||
margin-top:4px;
|
||||
&:hover
|
||||
{
|
||||
background-color: white;
|
||||
color:black;
|
||||
transition: color 0.5s;
|
||||
}
|
||||
}
|
||||
&-input-group
|
||||
{
|
||||
&:after
|
||||
{
|
||||
content:"";
|
||||
display: table;
|
||||
clear:both;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
&-close-wrap
|
||||
{
|
||||
margin:-10px -10px 0 -20px;
|
||||
}
|
||||
&-close
|
||||
{
|
||||
display: block;
|
||||
position:relative;
|
||||
box-sizing: border-box;
|
||||
float:right;
|
||||
clear:both;
|
||||
font-size:20px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.icon-radio-checked
|
||||
{
|
||||
display:none;
|
||||
color:green;
|
||||
}
|
||||
.icon-radio-unchecked
|
||||
{
|
||||
color:red;
|
||||
}
|
||||
|
||||
#abonnement-oui:checked ~ .ct-radio
|
||||
{
|
||||
.icon-radio-checked
|
||||
{
|
||||
display:inline;
|
||||
}
|
||||
.icon-radio-unchecked
|
||||
{
|
||||
display:none;
|
||||
}
|
||||
}
|
||||
#abonnement-non:checked ~ .ct-radio
|
||||
{
|
||||
.icon-radio-checked
|
||||
{
|
||||
display:inline;
|
||||
}
|
||||
.icon-radio-unchecked
|
||||
{
|
||||
display:none;
|
||||
}
|
||||
}
|
||||
|
||||
.hidden,
|
||||
*[aria-hidden]
|
||||
{
|
||||
display:none!important;
|
||||
}
|
||||
|
||||
|
||||
////////////////////// style a propos
|
||||
.grand-L
|
||||
{
|
||||
height:16px;
|
||||
}
|
||||
main, aside
|
||||
{
|
||||
box-sizing: border-box;
|
||||
}
|
||||
main
|
||||
{
|
||||
width:calc(100% - 27vw);
|
||||
}
|
||||
.main-stat
|
||||
{
|
||||
max-width: 73vw;
|
||||
float:left;
|
||||
margin:10px 0 10px -2rem;
|
||||
}
|
||||
aside
|
||||
{
|
||||
width:25vw;
|
||||
right:0;
|
||||
top:75px;
|
||||
position:fixed;
|
||||
img
|
||||
{
|
||||
max-width:100%;
|
||||
}
|
||||
}
|
||||
|
||||
// https://contrastchecker.com/
|
||||
footer
|
||||
{
|
||||
color:#a9a9a9;
|
||||
border-top: solid 1px #000;
|
||||
padding:10px;
|
||||
}
|
||||
|
||||
a[lang=fr],a[target=_blank]
|
||||
{
|
||||
&:after
|
||||
{
|
||||
color:blueviolet;
|
||||
}
|
||||
}
|
||||
|
||||
a[lang=fr]
|
||||
{
|
||||
&::after
|
||||
{
|
||||
content :' [fr]';
|
||||
}
|
||||
}
|
||||
|
||||
a[target=_blank]
|
||||
{
|
||||
&::after
|
||||
{
|
||||
content :' [^]';
|
||||
}
|
||||
}
|
||||
|
||||
#loaded
|
||||
{
|
||||
background-color: #ccF;
|
||||
border-left: solid 3px blue;
|
||||
color:darkblue;
|
||||
padding:3px;
|
||||
}
|
||||
#warning
|
||||
{
|
||||
background-color: #Fed;
|
||||
border-left: solid 3px red;
|
||||
color:darkred;
|
||||
padding:3px;
|
||||
}
|
||||
|
||||
li
|
||||
{
|
||||
&[lang]
|
||||
{
|
||||
color:#ccc;
|
||||
}
|
||||
&[lang=fr]
|
||||
{
|
||||
color:darkblue;
|
||||
}
|
||||
// commence par
|
||||
&[lang^=fr]
|
||||
{
|
||||
color:darkblue;
|
||||
}
|
||||
// se termine par
|
||||
&[lang$=CA]
|
||||
{
|
||||
color:blue;
|
||||
}
|
||||
//contient
|
||||
&[lang*="-"]
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
span
|
||||
{
|
||||
//contient
|
||||
&[class~="red"]
|
||||
{
|
||||
color:red;
|
||||
}
|
||||
&[class|=red]
|
||||
{
|
||||
color:darkred;
|
||||
}
|
||||
}
|