sesssion 4 accessibility and import dir

master
Juan 3 years ago
parent 0e370509a5
commit 2457182b2a

@ -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">&Agrave; propos</a></li>
</ul>
</nav>
<h1>&Agrave; 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&ccedil;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;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Generated by IcoMoon</metadata>
<defs>
<font id="icomoon" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="960" descent="-64" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
<glyph unicode="&#xe9ce;" glyph-name="eye" d="M512 768c-223.318 0-416.882-130.042-512-320 95.118-189.958 288.682-320 512-320 223.312 0 416.876 130.042 512 320-95.116 189.958-288.688 320-512 320zM764.45 598.296c60.162-38.374 111.142-89.774 149.434-150.296-38.292-60.522-89.274-111.922-149.436-150.296-75.594-48.218-162.89-73.704-252.448-73.704-89.56 0-176.858 25.486-252.452 73.704-60.158 38.372-111.138 89.772-149.432 150.296 38.292 60.524 89.274 111.924 149.434 150.296 3.918 2.5 7.876 4.922 11.86 7.3-9.96-27.328-15.41-56.822-15.41-87.596 0-141.382 114.616-256 256-256 141.382 0 256 114.618 256 256 0 30.774-5.452 60.268-15.408 87.598 3.978-2.378 7.938-4.802 11.858-7.302v0zM512 544c0-53.020-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.982 96-96z" />
<glyph unicode="&#xe9d1;" glyph-name="eye-blocked" d="M945.942 945.942c-18.746 18.744-49.136 18.744-67.882 0l-202.164-202.164c-51.938 15.754-106.948 24.222-163.896 24.222-223.318 0-416.882-130.042-512-320 41.122-82.124 100.648-153.040 173.022-207.096l-158.962-158.962c-18.746-18.746-18.746-49.136 0-67.882 9.372-9.374 21.656-14.060 33.94-14.060s24.568 4.686 33.942 14.058l864 864c18.744 18.746 18.744 49.138 0 67.884zM416 640c42.24 0 78.082-27.294 90.92-65.196l-121.724-121.724c-37.902 12.838-65.196 48.68-65.196 90.92 0 53.020 42.98 96 96 96zM110.116 448c38.292 60.524 89.274 111.924 149.434 150.296 3.918 2.5 7.876 4.922 11.862 7.3-9.962-27.328-15.412-56.822-15.412-87.596 0-54.89 17.286-105.738 46.7-147.418l-60.924-60.924c-52.446 36.842-97.202 83.882-131.66 138.342zM768 518c0 27.166-4.256 53.334-12.102 77.898l-321.808-321.808c24.568-7.842 50.742-12.090 77.91-12.090 141.382 0 256 114.618 256 256zM830.026 670.026l-69.362-69.362c1.264-0.786 2.53-1.568 3.786-2.368 60.162-38.374 111.142-89.774 149.434-150.296-38.292-60.522-89.274-111.922-149.436-150.296-75.594-48.218-162.89-73.704-252.448-73.704-38.664 0-76.902 4.76-113.962 14.040l-76.894-76.894c59.718-21.462 123.95-33.146 190.856-33.146 223.31 0 416.876 130.042 512 320-45.022 89.916-112.118 166.396-193.974 222.026z" />
<glyph unicode="&#xea0d;" glyph-name="close-circle" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 32c-229.75 0-416 186.25-416 416s186.25 416 416 416 416-186.25 416-416-186.25-416-416-416zM672 704l-160-160-160 160-96-96 160-160-160-160 96-96 160 160 160-160 96 96-160 160 160 160z" />
<glyph unicode="&#xea0f;" glyph-name="close" d="M1014.662 137.34c-0.004 0.004-0.008 0.008-0.012 0.010l-310.644 310.65 310.644 310.65c0.004 0.004 0.008 0.006 0.012 0.010 3.344 3.346 5.762 7.254 7.312 11.416 4.246 11.376 1.824 24.682-7.324 33.83l-146.746 146.746c-9.148 9.146-22.45 11.566-33.828 7.32-4.16-1.55-8.070-3.968-11.418-7.31 0-0.004-0.004-0.006-0.008-0.010l-310.648-310.652-310.648 310.65c-0.004 0.004-0.006 0.006-0.010 0.010-3.346 3.342-7.254 5.76-11.414 7.31-11.38 4.248-24.682 1.826-33.83-7.32l-146.748-146.748c-9.148-9.148-11.568-22.452-7.322-33.828 1.552-4.16 3.97-8.072 7.312-11.416 0.004-0.002 0.006-0.006 0.010-0.010l310.65-310.648-310.65-310.652c-0.002-0.004-0.006-0.006-0.008-0.010-3.342-3.346-5.76-7.254-7.314-11.414-4.248-11.376-1.826-24.682 7.322-33.83l146.748-146.746c9.15-9.148 22.452-11.568 33.83-7.322 4.16 1.552 8.070 3.97 11.416 7.312 0.002 0.004 0.006 0.006 0.010 0.010l310.648 310.65 310.648-310.65c0.004-0.002 0.008-0.006 0.012-0.008 3.348-3.344 7.254-5.762 11.414-7.314 11.378-4.246 24.684-1.826 33.828 7.322l146.746 146.748c9.148 9.148 11.57 22.454 7.324 33.83-1.552 4.16-3.97 8.068-7.314 11.414z" />
<glyph unicode="&#xea54;" glyph-name="radio-checked" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 64c-212.078 0-384 171.922-384 384s171.922 384 384 384c212.078 0 384-171.922 384-384s-171.922-384-384-384zM320 448c0 106.039 85.961 192 192 192s192-85.961 192-192c0-106.039-85.961-192-192-192s-192 85.961-192 192z" />
<glyph unicode="&#xea56;" glyph-name="radio-unchecked" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 64c-212.078 0-384 171.922-384 384s171.922 384 384 384c212.078 0 384-171.922 384-384s-171.922-384-384-384z" />
</font></defs></svg>

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";
}

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="954.81256"
height="1075.7965"
id="svg2160"
sodipodi:version="0.32"
inkscape:version="0.48.4 r9939"
sodipodi:docname="L_Old_London.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.1">
<defs
id="defs2162" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.3"
inkscape:cx="470.75598"
inkscape:cy="529.01367"
inkscape:current-layer="layer1"
inkscape:document-units="px"
inkscape:window-width="836"
inkscape:window-height="745"
inkscape:window-x="269"
inkscape:window-y="42"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-maximized="0" />
<metadata
id="metadata2165">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer"
transform="translate(-329.24402,-53.217143)">
<path
transform="translate(130,66.666667)"
style="font-size:1100px;font-family:Old English Five"
d="m 980.23462,1062.347 173.82198,-161.70351 -26.419,-28.60107 -69.2871,64.88953 C 976.21664,870.19628 883.81154,836.8284 781.13489,836.82819 c -51.31693,2.1e-4 -115.47906,11.73827 -192.48657,35.21423 l 26.38549,-23.0957 c 90.94994,-77.00779 152.54961,-141.90844 184.7992,-194.70215 31.53209,-52.07679 47.29847,-116.97744 47.29919,-194.70215 -7.2e-4,-29.33898 -5.4949,-96.80209 -16.48254,-202.38953 -4.40948,-44.01975 -6.61386,-69.68908 -6.61316,-77.00805 -7e-4,-48.40607 12.83396,-84.342009 38.50403,-107.807926 25.66858,-23.463967 68.20089,-38.49742 127.59704,-45.100403 l -16.48254,-36.2884517 -17.6239,0 C 870.24954,-9.0508847 803.34032,13.681128 755.30328,59.144165 707.26498,104.60918 683.24614,168.40764 683.2467,250.53973 c -5.6e-4,10.27301 0.18408,19.99132 0.5539,29.15497 0.3687,9.16519 0.9114,18.51424 1.62811,28.04718 l 7.72095,82.51343 c 3.66967,37.39686 6.42235,66.36157 8.25805,86.89423 1.83455,20.53379 2.75211,33.73212 2.75269,39.59503 -5.8e-4,156.1873 -71.87246,283.05689 -215.61584,380.60913 47.66804,-66.01948 81.76326,-125.79522 102.28576,-179.32739 19.80542,-51.31595 29.70837,-108.50685 29.70886,-171.57288 -4.9e-4,-28.60054 -1.09709,-58.85208 -3.28979,-90.7547 -2.19369,-31.90144 -5.12541,-65.45395 -8.79517,-100.65765 -6.60244,-62.32632 -9.90343,-100.09178 -9.90295,-113.29651 -4.8e-4,-49.14466 9.16394,-89.48377 27.49329,-121.01746 C 645.84994,87.740604 681.05295,52.179523 731.65369,14.043762 L 717.35315,-9.0519407 C 659.41194,20.266306 613.20939,34.924901 578.74536,34.923889 c -20.54487,10e-4 -52.07763,-7.697548 -94.59839,-23.095703 -52.07754,-16.8507544 -89.843,-25.276649 -113.29651,-25.27771 -46.21398,0.0011 -86.18383,16.8640402 -119.90966,50.58899 -34.46462,33.010823 -51.69686,71.872884 -51.69678,116.586304 -8e-5,15.42039 4.3975,36.32288 13.19275,62.70752 l 27.49328,-12.08496 c -2.19331,-18.328 -3.2899,-28.23094 -3.28979,-29.70886 -1.1e-4,-21.99821 6.41722,-39.77876 19.25201,-53.34168 12.83453,-13.56107 30.25141,-20.34207 52.25067,-20.34302 18.32866,9.5e-4 40.697,4.76779 67.10511,14.30054 32.98718,11.72781 60.48044,17.59125 82.47986,17.59033 33.00947,9.2e-4 76.64957,-7.33957 130.92041,-22.02148 -48.4074,46.21467 -81.40603,88.38891 -98.99598,126.52283 -17.61306,38.85168 -26.4194,88.71328 -26.41906,149.58496 -3.4e-4,3.6709 -3.4e-4,7.34114 0,11.01074 -3.4e-4,3.67089 0.36892,7.69921 1.10778,12.08496 2.19286,12.46604 3.28946,21.99972 3.2898,28.60107 -19.78385,-5.1243 -37.74343,-7.68676 -53.87878,-7.68737 -47.6687,6.1e-4 -91.3088,23.83482 -130.92041,71.50268 l 19.8059,16.48254 c 19.80571,-15.39659 42.54332,-23.09515 68.21289,-23.0957 74.05364,5.5e-4 111.8191,46.94163 113.29651,140.82337 -27.86288,-17.61229 -53.16294,-26.41863 -75.90027,-26.41907 -28.60133,4.4e-4 -57.20237,16.13608 -85.80322,48.40698 l 14.30054,16.48255 c 15.39691,-5.86307 29.32817,-8.79479 41.79382,-8.79517 13.20367,3.8e-4 25.67467,2.75306 37.41303,8.25806 11.73777,5.50573 22.00438,13.20989 30.79986,23.11248 8.79484,9.9033 15.76047,21.26651 20.89691,34.08966 5.13576,12.82379 7.70381,26.57602 7.70417,41.25672 -3.6e-4,85.06488 -70.40637,171.59536 -211.21827,259.59165 l 18.69813,29.7089 C 419.9733,986.81604 546.11554,949.05057 661.25879,949.05048 c 112.92659,9e-5 219.25176,37.76556 318.97583,113.29652 l 0,0 z"
id="flowRoot2168"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 423 KiB

Binary file not shown.

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">&Agrave; 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;
}
}
Loading…
Cancel
Save