Modification de la couleur primaire du site
Changement de #4aca62 à #4cae4f afin de correspondre à la couleur de la documentation et diminuer la luminosité générale
This commit is contained in:
parent
05bc6a563f
commit
d5eb7f0fef
8
.gitignore
vendored
8
.gitignore
vendored
@ -1,4 +1,4 @@
|
||||
.Rproj.user
|
||||
.Rhistory
|
||||
.RData
|
||||
.Ruserdata
|
||||
.Rproj.user
|
||||
.Rhistory
|
||||
.RData
|
||||
.Ruserdata
|
||||
|
224
ACTUALITE.html
224
ACTUALITE.html
@ -1,113 +1,113 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-167417611-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'UA-167417611-1');
|
||||
</script>
|
||||
<title>Adrien CHARBONNEAU – Naturaliste écologue</title>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
|
||||
<meta name="description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné.">
|
||||
<meta name="author" content="Adrien CHARBONNEAU">
|
||||
|
||||
<meta property="og:title" content="Adrien CHARBONNEAU – Naturaliste écologue" />
|
||||
<meta property="og:image" content="https://adriencharbonneau.fr/images/avatar.jpg" />
|
||||
<meta property="og:url" content="https://adriencharbonneau.fr" />
|
||||
<meta property="og:description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné." />
|
||||
<meta property="og:nom_du_site" content="Adrien CHARBONNEAU – Naturaliste écologue"/>
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css" />
|
||||
<link rel="icon" type="image/png" href="images/AC_favicon.png" />
|
||||
</head>
|
||||
<body class="is-preload">
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
<header class="major">
|
||||
<h2 id="logo">Actualité</h2>
|
||||
<p>Mes projets, études, suivis ou intérêts du moment.</p>
|
||||
</header>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
<section>
|
||||
<div class="container">
|
||||
<sup>Date de mise à jour de la page : 01/05/2021</sup>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
<blockquote>Un peu plus de détails sur mes compétences : <a href="./" class="button alt small">- PRÉSENTATION -</a></blockquote>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
<div class="features">
|
||||
<article>
|
||||
<a class="image"><img src="images/SYNERGIS.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>PROFESSIONNEL</h4>
|
||||
<ul class="alt">
|
||||
<li>Chargé d'études ornithologiques (et naturalistes en général) chez Synergis Environnement.</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a class="image"><img src="images/BAGUAGE.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>NATURALISME</h4>
|
||||
<ul class="alt">
|
||||
<li>Suivi de la migration pré-nuptiale</li>
|
||||
<li>Baguage ornithologique</li>
|
||||
<li>STOC EPS</li>
|
||||
<li>EPOC - ODF</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a class="image"><img src="images/NBM.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>PROJETS</h4>
|
||||
<ul class="alt">
|
||||
<li>Nocturnal Bird Migration</li>
|
||||
<li>Silent-Cities</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Footer -->
|
||||
<section id="footer">
|
||||
<div class="container">
|
||||
<ul class="copyright">
|
||||
<li>© Adrien CHARBONNEAU - 2021. Tous droits réservés.</li>
|
||||
<li>Inspiré de : <a href="http://html5up.net">HTML5 UP</a></li>
|
||||
<li><img style="margin-right: .5rem; vertical-align: middle;" src="images/git.png" width="25px" height="25px"><b>Version : </b><span class="git git_color1 blanc"> v1.0 </span><b> Branch : </b><span class="git git_color1 blanc"> master </span>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="assets/js/jquery.min.js"></script>
|
||||
<script src="assets/js/jquery.scrollex.min.js"></script>
|
||||
<script src="assets/js/jquery.scrolly.min.js"></script>
|
||||
<script src="assets/js/browser.min.js"></script>
|
||||
<script src="assets/js/breakpoints.min.js"></script>
|
||||
<script src="assets/js/util.js"></script>
|
||||
<script src="assets/js/main.js"></script>
|
||||
</body>
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-167417611-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'UA-167417611-1');
|
||||
</script>
|
||||
<title>Adrien CHARBONNEAU – Naturaliste écologue</title>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
|
||||
<meta name="description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné.">
|
||||
<meta name="author" content="Adrien CHARBONNEAU">
|
||||
|
||||
<meta property="og:title" content="Adrien CHARBONNEAU – Naturaliste écologue" />
|
||||
<meta property="og:image" content="https://adriencharbonneau.fr/images/avatar.jpg" />
|
||||
<meta property="og:url" content="https://adriencharbonneau.fr" />
|
||||
<meta property="og:description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné." />
|
||||
<meta property="og:nom_du_site" content="Adrien CHARBONNEAU – Naturaliste écologue"/>
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css" />
|
||||
<link rel="icon" type="image/png" href="images/AC_favicon.png" />
|
||||
</head>
|
||||
<body class="is-preload">
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
<header class="major">
|
||||
<h2 id="logo">Actualité</h2>
|
||||
<p>Mes projets, études, suivis ou intérêts du moment.</p>
|
||||
</header>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
<section>
|
||||
<div class="container">
|
||||
<sup>Date de mise à jour de la page : 01/05/2021</sup>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
<blockquote>Un peu plus de détails sur mes compétences : <a href="./" class="button alt small">- PRÉSENTATION -</a></blockquote>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
<div class="features">
|
||||
<article>
|
||||
<a class="image"><img src="images/SYNERGIS.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>PROFESSIONNEL</h4>
|
||||
<ul class="alt">
|
||||
<li>Chargé d'études ornithologiques (et naturalistes en général) chez Synergis Environnement.</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a class="image"><img src="images/BAGUAGE.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>NATURALISME</h4>
|
||||
<ul class="alt">
|
||||
<li>Suivi de la migration pré-nuptiale</li>
|
||||
<li>Baguage ornithologique</li>
|
||||
<li>STOC EPS</li>
|
||||
<li>EPOC - ODF</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a class="image"><img src="images/NBM.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>PROJETS</h4>
|
||||
<ul class="alt">
|
||||
<li>Nocturnal Bird Migration</li>
|
||||
<li>Silent-Cities</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Footer -->
|
||||
<section id="footer">
|
||||
<div class="container">
|
||||
<ul class="copyright">
|
||||
<li>© Adrien CHARBONNEAU - 2021. Tous droits réservés.</li>
|
||||
<li>Inspiré de : <a href="http://html5up.net">HTML5 UP</a></li>
|
||||
<li><img style="margin-right: .5rem; vertical-align: middle;" src="images/git.png" width="25px" height="25px"><b>Version : </b><span class="git git_color1 blanc"> v1.0 </span><b> Branch : </b><span class="git git_color1 blanc"> master </span>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="assets/js/jquery.min.js"></script>
|
||||
<script src="assets/js/jquery.scrollex.min.js"></script>
|
||||
<script src="assets/js/jquery.scrolly.min.js"></script>
|
||||
<script src="assets/js/browser.min.js"></script>
|
||||
<script src="assets/js/breakpoints.min.js"></script>
|
||||
<script src="assets/js/util.js"></script>
|
||||
<script src="assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
40
LICENSE
40
LICENSE
@ -1,20 +1,20 @@
|
||||
Copyright (c) 2006, 2007 Advanced Micro Devices, Inc.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in any form of this material and any product thereof including software in source or binary forms, along with any related documentation, with or without modification ("this material"), is permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code of any software must retain the above copyright notice and all terms of this license as part of the code.
|
||||
|
||||
Redistributions in binary form of any software must reproduce the above copyright notice and all terms of this license in any related documentation and/or other materials.
|
||||
|
||||
Neither the names nor trademarks of Advanced Micro Devices, Inc. or any copyright holders or contributors may be used to endorse or promote products derived from this material without specific prior written permission.
|
||||
|
||||
Notice about U.S. Government restricted rights: This material is provided with "RESTRICTED RIGHTS." Use, duplication or disclosure by the U.S. Government is subject to the full extent of restrictions set forth in FAR52.227 and DFARS252.227 et seq., or any successor or applicable regulations. Use of this material by the U.S. Government constitutes acknowledgment of the proprietary rights of Advanced Micro Devices, Inc. and any copyright holders and contributors.
|
||||
|
||||
ANY BREACH OF ANY TERM OF THIS LICENSE SHALL RESULT IN THE IMMEDIATE REVOCATION OF ALL RIGHTS TO REDISTRIBUTE, ACCESS OR USE THIS MATERIAL.
|
||||
|
||||
THIS MATERIAL IS PROVIDED BY ADVANCED MICRO DEVICES, INC. AND ANY COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" IN ITS CURRENT CONDITION AND WITHOUT ANY REPRESENTATIONS, GUARANTEE, OR WARRANTY OF ANY KIND OR IN ANY WAY RELATED TO SUPPORT, INDEMNITY, ERROR FREE OR UNINTERRUPTED OPERATION, OR THAT IT IS FREE FROM DEFECTS OR VIRUSES. ALL OBLIGATIONS ARE HEREBY DISCLAIMED - WHETHER EXPRESS, IMPLIED, OR STATUTORY - INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, ACCURACY, COMPLETENESS, OPERABILITY, QUALITY OF SERVICE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. OR ANY COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, REVENUE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED OR BASED ON ANY THEORY OF LIABILITY ARISING IN ANY WAY RELATED TO THIS MATERIAL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE ENTIRE AND AGGREGATE LIABILITY OF ADVANCED MICRO DEVICES, INC. AND ANY COPYRIGHT HOLDERS AND CONTRIBUTORS SHALL NOT EXCEED TEN DOLLARS (US $10.00). ANYONE REDISTRIBUTING OR ACCESSING OR USING THIS MATERIAL ACCEPTS THIS ALLOCATION OF RISK AND AGREES TO RELEASE ADVANCED MICRO DEVICES, INC. AND ANY COPYRIGHT HOLDERS AND CONTRIBUTORS FROM ANY AND ALL LIABILITIES, OBLIGATIONS, CLAIMS, OR DEMANDS IN EXCESS OF TEN DOLLARS (US $10.00). THE FOREGOING ARE ESSENTIAL TERMS OF THIS LICENSE AND, IF ANY OF THESE TERMS ARE CONSTRUED AS UNENFORCEABLE, FAIL IN ESSENTIAL PURPOSE, OR BECOME VOID OR DETRIMENTAL TO ADVANCED MICRO DEVICES, INC. OR ANY COPYRIGHT HOLDERS OR CONTRIBUTORS FOR ANY REASON, THEN ALL RIGHTS TO REDISTRIBUTE, ACCESS OR USE THIS MATERIAL SHALL TERMINATE IMMEDIATELY. MOREOVER, THE FOREGOING SHALL SURVIVE ANY EXPIRATION OR TERMINATION OF THIS LICENSE OR ANY AGREEMENT OR ACCESS OR USE RELATED TO THIS MATERIAL.
|
||||
|
||||
NOTICE IS HEREBY PROVIDED, AND BY REDISTRIBUTING OR ACCESSING OR USING THIS MATERIAL SUCH NOTICE IS ACKNOWLEDGED, THAT THIS MATERIAL MAY BE SUBJECT TO RESTRICTIONS UNDER THE LAWS AND REGULATIONS OF THE UNITED STATES OR OTHER COUNTRIES, WHICH INCLUDE BUT ARE NOT LIMITED TO, U.S. EXPORT CONTROL LAWS SUCH AS THE EXPORT ADMINISTRATION REGULATIONS AND NATIONAL SECURITY CONTROLS AS DEFINED THEREUNDER, AS WELL AS STATE DEPARTMENT CONTROLS UNDER THE U.S. MUNITIONS LIST. THIS MATERIAL MAY NOT BE USED, RELEASED, TRANSFERRED, IMPORTED, EXPORTED AND/OR RE- EXPORTED IN ANY MANNER PROHIBITED UNDER ANY APPLICABLE LAWS, INCLUDING U.S. EXPORT CONTROL LAWS REGARDING SPECIFICALLY DESIGNATED PERSONS, COUNTRIES AND NATIONALS OF COUNTRIES SUBJECT TO NATIONAL SECURITY CONTROLS. MOREOVER, THE FOREGOING SHALL SURVIVE ANY EXPIRATION OR TERMINATION OF ANY LICENSE OR AGREEMENT OR ACCESS OR USE RELATED TO THIS MATERIAL.
|
||||
|
||||
This license forms the entire agreement regarding the subject matter hereof and supersedes all proposals and prior discussions and writings between the parties with respect thereto. This license does not affect any ownership, rights, title, or interest in, or relating to, this material. No terms of this license can be modified or waived, and no breach of this license can be excused, unless done so in a writing signed by all affected parties. Each term of this license is separately enforceable. If any term of this license is determined to be or becomes unenforceable or illegal, such term shall be reformed to the minimum extent necessary in order for this license to remain in effect in accordance with its terms as modified by such reformation. This license shall be governed by and construed in accordance with the laws of the State of Texas without regard to rules on conflicts of law of any state or jurisdiction or the United Nations Convention on the International Sale of Goods. All disputes arising out of this license shall be subject to the jurisdiction of the federal and state courts in Austin, Texas, and all defenses are hereby waived concerning personal jurisdiction and venue of these courts.
|
||||
Copyright (c) 2006, 2007 Advanced Micro Devices, Inc.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in any form of this material and any product thereof including software in source or binary forms, along with any related documentation, with or without modification ("this material"), is permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code of any software must retain the above copyright notice and all terms of this license as part of the code.
|
||||
|
||||
Redistributions in binary form of any software must reproduce the above copyright notice and all terms of this license in any related documentation and/or other materials.
|
||||
|
||||
Neither the names nor trademarks of Advanced Micro Devices, Inc. or any copyright holders or contributors may be used to endorse or promote products derived from this material without specific prior written permission.
|
||||
|
||||
Notice about U.S. Government restricted rights: This material is provided with "RESTRICTED RIGHTS." Use, duplication or disclosure by the U.S. Government is subject to the full extent of restrictions set forth in FAR52.227 and DFARS252.227 et seq., or any successor or applicable regulations. Use of this material by the U.S. Government constitutes acknowledgment of the proprietary rights of Advanced Micro Devices, Inc. and any copyright holders and contributors.
|
||||
|
||||
ANY BREACH OF ANY TERM OF THIS LICENSE SHALL RESULT IN THE IMMEDIATE REVOCATION OF ALL RIGHTS TO REDISTRIBUTE, ACCESS OR USE THIS MATERIAL.
|
||||
|
||||
THIS MATERIAL IS PROVIDED BY ADVANCED MICRO DEVICES, INC. AND ANY COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" IN ITS CURRENT CONDITION AND WITHOUT ANY REPRESENTATIONS, GUARANTEE, OR WARRANTY OF ANY KIND OR IN ANY WAY RELATED TO SUPPORT, INDEMNITY, ERROR FREE OR UNINTERRUPTED OPERATION, OR THAT IT IS FREE FROM DEFECTS OR VIRUSES. ALL OBLIGATIONS ARE HEREBY DISCLAIMED - WHETHER EXPRESS, IMPLIED, OR STATUTORY - INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, ACCURACY, COMPLETENESS, OPERABILITY, QUALITY OF SERVICE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. OR ANY COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, REVENUE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED OR BASED ON ANY THEORY OF LIABILITY ARISING IN ANY WAY RELATED TO THIS MATERIAL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE ENTIRE AND AGGREGATE LIABILITY OF ADVANCED MICRO DEVICES, INC. AND ANY COPYRIGHT HOLDERS AND CONTRIBUTORS SHALL NOT EXCEED TEN DOLLARS (US $10.00). ANYONE REDISTRIBUTING OR ACCESSING OR USING THIS MATERIAL ACCEPTS THIS ALLOCATION OF RISK AND AGREES TO RELEASE ADVANCED MICRO DEVICES, INC. AND ANY COPYRIGHT HOLDERS AND CONTRIBUTORS FROM ANY AND ALL LIABILITIES, OBLIGATIONS, CLAIMS, OR DEMANDS IN EXCESS OF TEN DOLLARS (US $10.00). THE FOREGOING ARE ESSENTIAL TERMS OF THIS LICENSE AND, IF ANY OF THESE TERMS ARE CONSTRUED AS UNENFORCEABLE, FAIL IN ESSENTIAL PURPOSE, OR BECOME VOID OR DETRIMENTAL TO ADVANCED MICRO DEVICES, INC. OR ANY COPYRIGHT HOLDERS OR CONTRIBUTORS FOR ANY REASON, THEN ALL RIGHTS TO REDISTRIBUTE, ACCESS OR USE THIS MATERIAL SHALL TERMINATE IMMEDIATELY. MOREOVER, THE FOREGOING SHALL SURVIVE ANY EXPIRATION OR TERMINATION OF THIS LICENSE OR ANY AGREEMENT OR ACCESS OR USE RELATED TO THIS MATERIAL.
|
||||
|
||||
NOTICE IS HEREBY PROVIDED, AND BY REDISTRIBUTING OR ACCESSING OR USING THIS MATERIAL SUCH NOTICE IS ACKNOWLEDGED, THAT THIS MATERIAL MAY BE SUBJECT TO RESTRICTIONS UNDER THE LAWS AND REGULATIONS OF THE UNITED STATES OR OTHER COUNTRIES, WHICH INCLUDE BUT ARE NOT LIMITED TO, U.S. EXPORT CONTROL LAWS SUCH AS THE EXPORT ADMINISTRATION REGULATIONS AND NATIONAL SECURITY CONTROLS AS DEFINED THEREUNDER, AS WELL AS STATE DEPARTMENT CONTROLS UNDER THE U.S. MUNITIONS LIST. THIS MATERIAL MAY NOT BE USED, RELEASED, TRANSFERRED, IMPORTED, EXPORTED AND/OR RE- EXPORTED IN ANY MANNER PROHIBITED UNDER ANY APPLICABLE LAWS, INCLUDING U.S. EXPORT CONTROL LAWS REGARDING SPECIFICALLY DESIGNATED PERSONS, COUNTRIES AND NATIONALS OF COUNTRIES SUBJECT TO NATIONAL SECURITY CONTROLS. MOREOVER, THE FOREGOING SHALL SURVIVE ANY EXPIRATION OR TERMINATION OF ANY LICENSE OR AGREEMENT OR ACCESS OR USE RELATED TO THIS MATERIAL.
|
||||
|
||||
This license forms the entire agreement regarding the subject matter hereof and supersedes all proposals and prior discussions and writings between the parties with respect thereto. This license does not affect any ownership, rights, title, or interest in, or relating to, this material. No terms of this license can be modified or waived, and no breach of this license can be excused, unless done so in a writing signed by all affected parties. Each term of this license is separately enforceable. If any term of this license is determined to be or becomes unenforceable or illegal, such term shall be reformed to the minimum extent necessary in order for this license to remain in effect in accordance with its terms as modified by such reformation. This license shall be governed by and construed in accordance with the laws of the State of Texas without regard to rules on conflicts of law of any state or jurisdiction or the United Nations Convention on the International Sale of Goods. All disputes arising out of this license shall be subject to the jurisdiction of the federal and state courts in Austin, Texas, and all defenses are hereby waived concerning personal jurisdiction and venue of these courts.
|
||||
|
12
README.md
12
README.md
@ -1,7 +1,7 @@
|
||||
# Code du site internet
|
||||
Dépôt git du site internet https://adriencharbonneau.fr
|
||||
|
||||
### Objectifs :
|
||||
- **Construire un site internet statique** : son contenu ne variera pas en fonction des lecteurs, il s'agit simplement d'une unique page HTML affichant un contenu statique
|
||||
- Posséder un **historique de version** (*versionning*) du site
|
||||
# Code du site internet
|
||||
Dépôt git du site internet https://adriencharbonneau.fr
|
||||
|
||||
### Objectifs :
|
||||
- **Construire un site internet statique** : son contenu ne variera pas en fonction des lecteurs, il s'agit simplement d'une unique page HTML affichant un contenu statique
|
||||
- Posséder un **historique de version** (*versionning*) du site
|
||||
- **Code disponible** afin d'être réutilisé
|
@ -1,13 +1,13 @@
|
||||
Version: 1.0
|
||||
|
||||
RestoreWorkspace: Default
|
||||
SaveWorkspace: Default
|
||||
AlwaysSaveHistory: Default
|
||||
|
||||
EnableCodeIndexing: Yes
|
||||
UseSpacesForTab: Yes
|
||||
NumSpacesForTab: 2
|
||||
Encoding: UTF-8
|
||||
|
||||
RnwWeave: Sweave
|
||||
LaTeX: pdfLaTeX
|
||||
Version: 1.0
|
||||
|
||||
RestoreWorkspace: Default
|
||||
SaveWorkspace: Default
|
||||
AlwaysSaveHistory: Default
|
||||
|
||||
EnableCodeIndexing: Yes
|
||||
UseSpacesForTab: Yes
|
||||
NumSpacesForTab: 2
|
||||
Encoding: UTF-8
|
||||
|
||||
RnwWeave: Sweave
|
||||
LaTeX: pdfLaTeX
|
||||
|
@ -29,7 +29,7 @@ section, summary, time, mark, audio, video {
|
||||
}
|
||||
|
||||
.git_color1 {
|
||||
background-color: #4aca62;
|
||||
background-color: #4cae4f; /* ancien #4aca62 */
|
||||
}
|
||||
|
||||
.blanc {
|
||||
@ -157,7 +157,7 @@ input, select, textarea {
|
||||
|
||||
a:hover {
|
||||
border-bottom-color: transparent;
|
||||
color: #4ACA62 !important;
|
||||
color: #4cae4f !important;
|
||||
}
|
||||
|
||||
strong, b {
|
||||
@ -1826,7 +1826,7 @@ input, select, textarea {
|
||||
}
|
||||
|
||||
header.major h2 {
|
||||
color: #4ACA62;
|
||||
color: #4cae4f;
|
||||
font-size: 3.5em;
|
||||
}
|
||||
|
||||
@ -1889,7 +1889,7 @@ input, select, textarea {
|
||||
input[type="email"]:focus,
|
||||
select:focus,
|
||||
textarea:focus {
|
||||
border-color: #4ACA62;
|
||||
border-color: #4cae4f;
|
||||
}
|
||||
|
||||
select {
|
||||
@ -1994,7 +1994,7 @@ input, select, textarea {
|
||||
|
||||
input[type="checkbox"]:focus + label:before,
|
||||
input[type="radio"]:focus + label:before {
|
||||
border-color: #4ACA62;
|
||||
border-color: #4cae4f;
|
||||
}
|
||||
|
||||
input[type="checkbox"] + label:before {
|
||||
@ -2453,7 +2453,7 @@ input, select, textarea {
|
||||
}
|
||||
|
||||
ul.feature-icons li:before {
|
||||
background: #4ACA62;
|
||||
background: #4cae4f;
|
||||
border-radius: 100%;
|
||||
color: #ffffff;
|
||||
display: block;
|
||||
@ -2669,7 +2669,7 @@ input, select, textarea {
|
||||
input[type="reset"].primary,
|
||||
input[type="button"].primary,
|
||||
.button.primary {
|
||||
background-color: #4ACA62;
|
||||
background-color: #4cae4f;
|
||||
color: #ffffff !important;
|
||||
}
|
||||
|
||||
@ -2765,7 +2765,7 @@ input, select, textarea {
|
||||
-webkit-justify-content: space-between;
|
||||
-ms-justify-content: space-between;
|
||||
justify-content: space-between;
|
||||
background: #4ACA62;
|
||||
background: #4cae4f;
|
||||
color: #d2f2e9;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
@ -2874,12 +2874,12 @@ input, select, textarea {
|
||||
|
||||
#menu a:hover {
|
||||
background: #fff;
|
||||
color: #4ACA62 !important;
|
||||
color: #4cae4f !important;
|
||||
}
|
||||
|
||||
#header > nav ul li a.active {
|
||||
background: #fff;
|
||||
color: #4ACA62 !important;
|
||||
color: #4cae4f !important;
|
||||
}
|
||||
|
||||
#header > nav ul li:first-child {
|
||||
@ -3147,7 +3147,7 @@ input, select, textarea {
|
||||
}
|
||||
|
||||
#titleBar .toggle:before {
|
||||
background: #4ACA62;
|
||||
background: #4cae4f;
|
||||
color: #ffffff;
|
||||
content: '\f0c9';
|
||||
display: block;
|
||||
@ -3936,4 +3936,4 @@ input, select, textarea {
|
||||
|
||||
.gallery article .image {
|
||||
background-color: rgba(0, 0, 0, 0.125);
|
||||
}
|
||||
}
|
||||
|
2
assets/js-old/breakpoints.min.js
vendored
2
assets/js-old/breakpoints.min.js
vendored
@ -1,2 +1,2 @@
|
||||
/* breakpoints.js v1.0 | @ajlkn | MIT licensed */
|
||||
/* breakpoints.js v1.0 | @ajlkn | MIT licensed */
|
||||
var breakpoints=function(){"use strict";function e(e){t.init(e)}var t={list:null,media:{},events:[],init:function(e){t.list=e,window.addEventListener("resize",t.poll),window.addEventListener("orientationchange",t.poll),window.addEventListener("load",t.poll),window.addEventListener("fullscreenchange",t.poll)},active:function(e){var n,a,s,i,r,d,c;if(!(e in t.media)){if(">="==e.substr(0,2)?(a="gte",n=e.substr(2)):"<="==e.substr(0,2)?(a="lte",n=e.substr(2)):">"==e.substr(0,1)?(a="gt",n=e.substr(1)):"<"==e.substr(0,1)?(a="lt",n=e.substr(1)):"!"==e.substr(0,1)?(a="not",n=e.substr(1)):(a="eq",n=e),n&&n in t.list)if(i=t.list[n],Array.isArray(i)){if(r=parseInt(i[0]),d=parseInt(i[1]),isNaN(r)){if(isNaN(d))return;c=i[1].substr(String(d).length)}else c=i[0].substr(String(r).length);if(isNaN(r))switch(a){case"gte":s="screen";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: -1px)";break;case"not":s="screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (max-width: "+d+c+")"}else if(isNaN(d))switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen";break;case"gt":s="screen and (max-width: -1px)";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+")";break;default:s="screen and (min-width: "+r+c+")"}else switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+"), screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (min-width: "+r+c+") and (max-width: "+d+c+")"}}else s="("==i.charAt(0)?"screen and "+i:i;t.media[e]=!!s&&s}return t.media[e]!==!1&&window.matchMedia(t.media[e]).matches},on:function(e,n){t.events.push({query:e,handler:n,state:!1}),t.active(e)&&n()},poll:function(){var e,n;for(e=0;e<t.events.length;e++)n=t.events[e],t.active(n.query)?n.state||(n.state=!0,n.handler()):n.state&&(n.state=!1)}};return e._=t,e.on=function(e,n){t.on(e,n)},e.active=function(e){return t.active(e)},e}();!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.breakpoints=t()}(this,function(){return breakpoints});
|
||||
|
2
assets/js-old/browser.min.js
vendored
2
assets/js-old/browser.min.js
vendored
@ -1,2 +1,2 @@
|
||||
/* browser.js v1.0 | @ajlkn | MIT licensed */
|
||||
/* browser.js v1.0 | @ajlkn | MIT licensed */
|
||||
var browser=function(){"use strict";var e={name:null,version:null,os:null,osVersion:null,touch:null,mobile:null,_canUse:null,canUse:function(n){e._canUse||(e._canUse=document.createElement("div"));var o=e._canUse.style,r=n.charAt(0).toUpperCase()+n.slice(1);return n in o||"Moz"+r in o||"Webkit"+r in o||"O"+r in o||"ms"+r in o},init:function(){var n,o,r,i,t=navigator.userAgent;for(n="other",o=0,r=[["firefox",/Firefox\/([0-9\.]+)/],["bb",/BlackBerry.+Version\/([0-9\.]+)/],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/],["opera",/OPR\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)/],["edge",/Edge\/([0-9\.]+)/],["safari",/Version\/([0-9\.]+).+Safari/],["chrome",/Chrome\/([0-9\.]+)/],["ie",/MSIE ([0-9]+)/],["ie",/Trident\/.+rv:([0-9]+)/]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(RegExp.$1);break}for(e.name=n,e.version=o,n="other",o=0,r=[["ios",/([0-9_]+) like Mac OS X/,function(e){return e.replace("_",".").replace("_","")}],["ios",/CPU like Mac OS X/,function(e){return 0}],["wp",/Windows Phone ([0-9\.]+)/,null],["android",/Android ([0-9\.]+)/,null],["mac",/Macintosh.+Mac OS X ([0-9_]+)/,function(e){return e.replace("_",".").replace("_","")}],["windows",/Windows NT ([0-9\.]+)/,null],["bb",/BlackBerry.+Version\/([0-9\.]+)/,null],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/,null],["linux",/Linux/,null],["bsd",/BSD/,null],["unix",/X11/,null]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(r[i][2]?r[i][2](RegExp.$1):RegExp.$1);break}e.os=n,e.osVersion=o,e.touch="wp"==e.os?navigator.msMaxTouchPoints>0:!!("ontouchstart"in window),e.mobile="wp"==e.os||"android"==e.os||"ios"==e.os||"bb"==e.os}};return e.init(),e}();!function(e,n){"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?module.exports=n():e.browser=n()}(this,function(){return browser});
|
||||
|
File diff suppressed because it is too large
Load Diff
2
assets/js-old/jquery.scrollex.min.js
vendored
2
assets/js-old/jquery.scrollex.min.js
vendored
@ -1,2 +1,2 @@
|
||||
/* jquery.scrollex v0.2.1 | (c) @ajlkn | github.com/ajlkn/jquery.scrollex | MIT licensed */
|
||||
/* jquery.scrollex v0.2.1 | (c) @ajlkn | github.com/ajlkn/jquery.scrollex | MIT licensed */
|
||||
!function(t){function e(t,e,n){return"string"==typeof t&&("%"==t.slice(-1)?t=parseInt(t.substring(0,t.length-1))/100*e:"vh"==t.slice(-2)?t=parseInt(t.substring(0,t.length-2))/100*n:"px"==t.slice(-2)&&(t=parseInt(t.substring(0,t.length-2)))),t}var n=t(window),i=1,o={};n.on("scroll",function(){var e=n.scrollTop();t.map(o,function(t){window.clearTimeout(t.timeoutId),t.timeoutId=window.setTimeout(function(){t.handler(e)},t.options.delay)})}).on("load",function(){n.trigger("scroll")}),jQuery.fn.scrollex=function(l){var s=t(this);if(0==this.length)return s;if(this.length>1){for(var r=0;r<this.length;r++)t(this[r]).scrollex(l);return s}if(s.data("_scrollexId"))return s;var a,u,h,c,p;switch(a=i++,u=jQuery.extend({top:0,bottom:0,delay:0,mode:"default",enter:null,leave:null,initialize:null,terminate:null,scroll:null},l),u.mode){case"top":h=function(t,e,n,i,o){return t>=i&&o>=t};break;case"bottom":h=function(t,e,n,i,o){return n>=i&&o>=n};break;case"middle":h=function(t,e,n,i,o){return e>=i&&o>=e};break;case"top-only":h=function(t,e,n,i,o){return i>=t&&n>=i};break;case"bottom-only":h=function(t,e,n,i,o){return n>=o&&o>=t};break;default:case"default":h=function(t,e,n,i,o){return n>=i&&o>=t}}return c=function(t){var i,o,l,s,r,a,u=this.state,h=!1,c=this.$element.offset();i=n.height(),o=t+i/2,l=t+i,s=this.$element.outerHeight(),r=c.top+e(this.options.top,s,i),a=c.top+s-e(this.options.bottom,s,i),h=this.test(t,o,l,r,a),h!=u&&(this.state=h,h?this.options.enter&&this.options.enter.apply(this.element):this.options.leave&&this.options.leave.apply(this.element)),this.options.scroll&&this.options.scroll.apply(this.element,[(o-r)/(a-r)])},p={id:a,options:u,test:h,handler:c,state:null,element:this,$element:s,timeoutId:null},o[a]=p,s.data("_scrollexId",p.id),p.options.initialize&&p.options.initialize.apply(this),s},jQuery.fn.unscrollex=function(){var e=t(this);if(0==this.length)return e;if(this.length>1){for(var n=0;n<this.length;n++)t(this[n]).unscrollex();return e}var i,l;return(i=e.data("_scrollexId"))?(l=o[i],window.clearTimeout(l.timeoutId),delete o[i],e.removeData("_scrollexId"),l.options.terminate&&l.options.terminate.apply(this),e):e}}(jQuery);
|
2
assets/js-old/jquery.scrolly.min.js
vendored
2
assets/js-old/jquery.scrolly.min.js
vendored
@ -1,2 +1,2 @@
|
||||
/* jquery.scrolly v1.0.0-dev | (c) @ajlkn | MIT licensed */
|
||||
/* jquery.scrolly v1.0.0-dev | (c) @ajlkn | MIT licensed */
|
||||
(function(e){function u(s,o){var u,a,f;if((u=e(s))[t]==0)return n;a=u[i]()[r];switch(o.anchor){case"middle":f=a-(e(window).height()-u.outerHeight())/2;break;default:case r:f=Math.max(a,0)}return typeof o[i]=="function"?f-=o[i]():f-=o[i],f}var t="length",n=null,r="top",i="offset",s="click.scrolly",o=e(window);e.fn.scrolly=function(i){var o,a,f,l,c=e(this);if(this[t]==0)return c;if(this[t]>1){for(o=0;o<this[t];o++)e(this[o]).scrolly(i);return c}l=n,f=c.attr("href");if(f.charAt(0)!="#"||f[t]<2)return c;a=jQuery.extend({anchor:r,easing:"swing",offset:0,parent:e("body,html"),pollOnce:!1,speed:1e3},i),a.pollOnce&&(l=u(f,a)),c.off(s).on(s,function(e){var t=l!==n?l:u(f,a);t!==n&&(e.preventDefault(),a.parent.stop().animate({scrollTop:t},a.speed,a.easing))})}})(jQuery);
|
@ -1,341 +1,341 @@
|
||||
/*
|
||||
Story by HTML5 UP
|
||||
html5up.net | @ajlkn
|
||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
var $window = $(window),
|
||||
$body = $('body'),
|
||||
$wrapper = $('#wrapper');
|
||||
|
||||
// Breakpoints.
|
||||
breakpoints({
|
||||
xlarge: [ '1281px', '1680px' ],
|
||||
large: [ '981px', '1280px' ],
|
||||
medium: [ '737px', '980px' ],
|
||||
small: [ '481px', '736px' ],
|
||||
xsmall: [ '361px', '480px' ],
|
||||
xxsmall: [ null, '360px' ]
|
||||
});
|
||||
|
||||
// Play initial animations on page load.
|
||||
$window.on('load', function() {
|
||||
window.setTimeout(function() {
|
||||
$body.removeClass('is-preload');
|
||||
}, 100);
|
||||
});
|
||||
|
||||
// Browser fixes.
|
||||
|
||||
// IE: Flexbox min-height bug.
|
||||
if (browser.name == 'ie')
|
||||
(function() {
|
||||
|
||||
var flexboxFixTimeoutId;
|
||||
|
||||
$window.on('resize.flexbox-fix', function() {
|
||||
|
||||
var $x = $('.fullscreen');
|
||||
|
||||
clearTimeout(flexboxFixTimeoutId);
|
||||
|
||||
flexboxFixTimeoutId = setTimeout(function() {
|
||||
|
||||
if ($x.prop('scrollHeight') > $window.height())
|
||||
$x.css('height', 'auto');
|
||||
else
|
||||
$x.css('height', '100vh');
|
||||
|
||||
}, 250);
|
||||
|
||||
}).triggerHandler('resize.flexbox-fix');
|
||||
|
||||
})();
|
||||
|
||||
// Object fit workaround.
|
||||
if (!browser.canUse('object-fit'))
|
||||
(function() {
|
||||
|
||||
$('.banner .image, .spotlight .image').each(function() {
|
||||
|
||||
var $this = $(this),
|
||||
$img = $this.children('img'),
|
||||
positionClass = $this.parent().attr('class').match(/image-position-([a-z]+)/);
|
||||
|
||||
// Set image.
|
||||
$this
|
||||
.css('background-image', 'url("' + $img.attr('src') + '")')
|
||||
.css('background-repeat', 'no-repeat')
|
||||
.css('background-size', 'cover');
|
||||
|
||||
// Set position.
|
||||
switch (positionClass.length > 1 ? positionClass[1] : '') {
|
||||
|
||||
case 'left':
|
||||
$this.css('background-position', 'left');
|
||||
break;
|
||||
|
||||
case 'right':
|
||||
$this.css('background-position', 'right');
|
||||
break;
|
||||
|
||||
default:
|
||||
case 'center':
|
||||
$this.css('background-position', 'center');
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
// Hide original.
|
||||
$img.css('opacity', '0');
|
||||
|
||||
});
|
||||
|
||||
})();
|
||||
|
||||
// Smooth scroll.
|
||||
$('.smooth-scroll').scrolly();
|
||||
$('.smooth-scroll-middle').scrolly({ anchor: 'middle' });
|
||||
|
||||
// Wrapper.
|
||||
$wrapper.children()
|
||||
.scrollex({
|
||||
top: '30vh',
|
||||
bottom: '30vh',
|
||||
initialize: function() {
|
||||
$(this).addClass('is-inactive');
|
||||
},
|
||||
terminate: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
enter: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
leave: function() {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
if ($this.hasClass('onscroll-bidirectional'))
|
||||
$this.addClass('is-inactive');
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
// Items.
|
||||
$('.items')
|
||||
.scrollex({
|
||||
top: '30vh',
|
||||
bottom: '30vh',
|
||||
delay: 50,
|
||||
initialize: function() {
|
||||
$(this).addClass('is-inactive');
|
||||
},
|
||||
terminate: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
enter: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
leave: function() {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
if ($this.hasClass('onscroll-bidirectional'))
|
||||
$this.addClass('is-inactive');
|
||||
|
||||
}
|
||||
})
|
||||
.children()
|
||||
.wrapInner('<div class="inner"></div>');
|
||||
|
||||
// Gallery.
|
||||
$('.gallery')
|
||||
.wrapInner('<div class="inner"></div>')
|
||||
.prepend(browser.mobile ? '' : '<div class="forward"></div><div class="backward"></div>')
|
||||
.scrollex({
|
||||
top: '30vh',
|
||||
bottom: '30vh',
|
||||
delay: 50,
|
||||
initialize: function() {
|
||||
$(this).addClass('is-inactive');
|
||||
},
|
||||
terminate: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
enter: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
leave: function() {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
if ($this.hasClass('onscroll-bidirectional'))
|
||||
$this.addClass('is-inactive');
|
||||
|
||||
}
|
||||
})
|
||||
.children('.inner')
|
||||
//.css('overflow', 'hidden')
|
||||
.css('overflow-y', browser.mobile ? 'visible' : 'hidden')
|
||||
.css('overflow-x', browser.mobile ? 'scroll' : 'hidden')
|
||||
.scrollLeft(0);
|
||||
|
||||
// Style #1.
|
||||
// ...
|
||||
|
||||
// Style #2.
|
||||
$('.gallery')
|
||||
.on('wheel', '.inner', function(event) {
|
||||
|
||||
var $this = $(this),
|
||||
delta = (event.originalEvent.deltaX * 10);
|
||||
|
||||
// Cap delta.
|
||||
if (delta > 0)
|
||||
delta = Math.min(25, delta);
|
||||
else if (delta < 0)
|
||||
delta = Math.max(-25, delta);
|
||||
|
||||
// Scroll.
|
||||
$this.scrollLeft( $this.scrollLeft() + delta );
|
||||
|
||||
})
|
||||
.on('mouseenter', '.forward, .backward', function(event) {
|
||||
|
||||
var $this = $(this),
|
||||
$inner = $this.siblings('.inner'),
|
||||
direction = ($this.hasClass('forward') ? 1 : -1);
|
||||
|
||||
// Clear move interval.
|
||||
clearInterval(this._gallery_moveIntervalId);
|
||||
|
||||
// Start interval.
|
||||
this._gallery_moveIntervalId = setInterval(function() {
|
||||
$inner.scrollLeft( $inner.scrollLeft() + (5 * direction) );
|
||||
}, 10);
|
||||
|
||||
})
|
||||
.on('mouseleave', '.forward, .backward', function(event) {
|
||||
|
||||
// Clear move interval.
|
||||
clearInterval(this._gallery_moveIntervalId);
|
||||
|
||||
});
|
||||
|
||||
// Lightbox.
|
||||
$('.gallery.lightbox')
|
||||
.on('click', 'a', function(event) {
|
||||
|
||||
var $a = $(this),
|
||||
$gallery = $a.parents('.gallery'),
|
||||
$modal = $gallery.children('.modal'),
|
||||
$modalImg = $modal.find('img'),
|
||||
href = $a.attr('href');
|
||||
|
||||
// Not an image? Bail.
|
||||
if (!href.match(/\.(jpg|gif|png|mp4)$/))
|
||||
return;
|
||||
|
||||
// Prevent default.
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
// Locked? Bail.
|
||||
if ($modal[0]._locked)
|
||||
return;
|
||||
|
||||
// Lock.
|
||||
$modal[0]._locked = true;
|
||||
|
||||
// Set src.
|
||||
$modalImg.attr('src', href);
|
||||
|
||||
// Set visible.
|
||||
$modal.addClass('visible');
|
||||
|
||||
// Focus.
|
||||
$modal.focus();
|
||||
|
||||
// Delay.
|
||||
setTimeout(function() {
|
||||
|
||||
// Unlock.
|
||||
$modal[0]._locked = false;
|
||||
|
||||
}, 600);
|
||||
|
||||
})
|
||||
.on('click', '.modal', function(event) {
|
||||
|
||||
var $modal = $(this),
|
||||
$modalImg = $modal.find('img');
|
||||
|
||||
// Locked? Bail.
|
||||
if ($modal[0]._locked)
|
||||
return;
|
||||
|
||||
// Already hidden? Bail.
|
||||
if (!$modal.hasClass('visible'))
|
||||
return;
|
||||
|
||||
// Lock.
|
||||
$modal[0]._locked = true;
|
||||
|
||||
// Clear visible, loaded.
|
||||
$modal
|
||||
.removeClass('loaded')
|
||||
|
||||
// Delay.
|
||||
setTimeout(function() {
|
||||
|
||||
$modal
|
||||
.removeClass('visible')
|
||||
|
||||
setTimeout(function() {
|
||||
|
||||
// Clear src.
|
||||
$modalImg.attr('src', '');
|
||||
|
||||
// Unlock.
|
||||
$modal[0]._locked = false;
|
||||
|
||||
// Focus.
|
||||
$body.focus();
|
||||
|
||||
}, 475);
|
||||
|
||||
}, 125);
|
||||
|
||||
})
|
||||
.on('keypress', '.modal', function(event) {
|
||||
|
||||
var $modal = $(this);
|
||||
|
||||
// Escape? Hide modal.
|
||||
if (event.keyCode == 27)
|
||||
$modal.trigger('click');
|
||||
|
||||
})
|
||||
.prepend('<div class="modal" tabIndex="-1"><div class="inner"><img src="" /></div></div>')
|
||||
.find('img')
|
||||
.on('load', function(event) {
|
||||
|
||||
var $modalImg = $(this),
|
||||
$modal = $modalImg.parents('.modal');
|
||||
|
||||
setTimeout(function() {
|
||||
|
||||
// No longer visible? Bail.
|
||||
if (!$modal.hasClass('visible'))
|
||||
return;
|
||||
|
||||
// Set loaded.
|
||||
$modal.addClass('loaded');
|
||||
|
||||
}, 275);
|
||||
|
||||
});
|
||||
|
||||
/*
|
||||
Story by HTML5 UP
|
||||
html5up.net | @ajlkn
|
||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
var $window = $(window),
|
||||
$body = $('body'),
|
||||
$wrapper = $('#wrapper');
|
||||
|
||||
// Breakpoints.
|
||||
breakpoints({
|
||||
xlarge: [ '1281px', '1680px' ],
|
||||
large: [ '981px', '1280px' ],
|
||||
medium: [ '737px', '980px' ],
|
||||
small: [ '481px', '736px' ],
|
||||
xsmall: [ '361px', '480px' ],
|
||||
xxsmall: [ null, '360px' ]
|
||||
});
|
||||
|
||||
// Play initial animations on page load.
|
||||
$window.on('load', function() {
|
||||
window.setTimeout(function() {
|
||||
$body.removeClass('is-preload');
|
||||
}, 100);
|
||||
});
|
||||
|
||||
// Browser fixes.
|
||||
|
||||
// IE: Flexbox min-height bug.
|
||||
if (browser.name == 'ie')
|
||||
(function() {
|
||||
|
||||
var flexboxFixTimeoutId;
|
||||
|
||||
$window.on('resize.flexbox-fix', function() {
|
||||
|
||||
var $x = $('.fullscreen');
|
||||
|
||||
clearTimeout(flexboxFixTimeoutId);
|
||||
|
||||
flexboxFixTimeoutId = setTimeout(function() {
|
||||
|
||||
if ($x.prop('scrollHeight') > $window.height())
|
||||
$x.css('height', 'auto');
|
||||
else
|
||||
$x.css('height', '100vh');
|
||||
|
||||
}, 250);
|
||||
|
||||
}).triggerHandler('resize.flexbox-fix');
|
||||
|
||||
})();
|
||||
|
||||
// Object fit workaround.
|
||||
if (!browser.canUse('object-fit'))
|
||||
(function() {
|
||||
|
||||
$('.banner .image, .spotlight .image').each(function() {
|
||||
|
||||
var $this = $(this),
|
||||
$img = $this.children('img'),
|
||||
positionClass = $this.parent().attr('class').match(/image-position-([a-z]+)/);
|
||||
|
||||
// Set image.
|
||||
$this
|
||||
.css('background-image', 'url("' + $img.attr('src') + '")')
|
||||
.css('background-repeat', 'no-repeat')
|
||||
.css('background-size', 'cover');
|
||||
|
||||
// Set position.
|
||||
switch (positionClass.length > 1 ? positionClass[1] : '') {
|
||||
|
||||
case 'left':
|
||||
$this.css('background-position', 'left');
|
||||
break;
|
||||
|
||||
case 'right':
|
||||
$this.css('background-position', 'right');
|
||||
break;
|
||||
|
||||
default:
|
||||
case 'center':
|
||||
$this.css('background-position', 'center');
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
// Hide original.
|
||||
$img.css('opacity', '0');
|
||||
|
||||
});
|
||||
|
||||
})();
|
||||
|
||||
// Smooth scroll.
|
||||
$('.smooth-scroll').scrolly();
|
||||
$('.smooth-scroll-middle').scrolly({ anchor: 'middle' });
|
||||
|
||||
// Wrapper.
|
||||
$wrapper.children()
|
||||
.scrollex({
|
||||
top: '30vh',
|
||||
bottom: '30vh',
|
||||
initialize: function() {
|
||||
$(this).addClass('is-inactive');
|
||||
},
|
||||
terminate: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
enter: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
leave: function() {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
if ($this.hasClass('onscroll-bidirectional'))
|
||||
$this.addClass('is-inactive');
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
// Items.
|
||||
$('.items')
|
||||
.scrollex({
|
||||
top: '30vh',
|
||||
bottom: '30vh',
|
||||
delay: 50,
|
||||
initialize: function() {
|
||||
$(this).addClass('is-inactive');
|
||||
},
|
||||
terminate: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
enter: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
leave: function() {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
if ($this.hasClass('onscroll-bidirectional'))
|
||||
$this.addClass('is-inactive');
|
||||
|
||||
}
|
||||
})
|
||||
.children()
|
||||
.wrapInner('<div class="inner"></div>');
|
||||
|
||||
// Gallery.
|
||||
$('.gallery')
|
||||
.wrapInner('<div class="inner"></div>')
|
||||
.prepend(browser.mobile ? '' : '<div class="forward"></div><div class="backward"></div>')
|
||||
.scrollex({
|
||||
top: '30vh',
|
||||
bottom: '30vh',
|
||||
delay: 50,
|
||||
initialize: function() {
|
||||
$(this).addClass('is-inactive');
|
||||
},
|
||||
terminate: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
enter: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
leave: function() {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
if ($this.hasClass('onscroll-bidirectional'))
|
||||
$this.addClass('is-inactive');
|
||||
|
||||
}
|
||||
})
|
||||
.children('.inner')
|
||||
//.css('overflow', 'hidden')
|
||||
.css('overflow-y', browser.mobile ? 'visible' : 'hidden')
|
||||
.css('overflow-x', browser.mobile ? 'scroll' : 'hidden')
|
||||
.scrollLeft(0);
|
||||
|
||||
// Style #1.
|
||||
// ...
|
||||
|
||||
// Style #2.
|
||||
$('.gallery')
|
||||
.on('wheel', '.inner', function(event) {
|
||||
|
||||
var $this = $(this),
|
||||
delta = (event.originalEvent.deltaX * 10);
|
||||
|
||||
// Cap delta.
|
||||
if (delta > 0)
|
||||
delta = Math.min(25, delta);
|
||||
else if (delta < 0)
|
||||
delta = Math.max(-25, delta);
|
||||
|
||||
// Scroll.
|
||||
$this.scrollLeft( $this.scrollLeft() + delta );
|
||||
|
||||
})
|
||||
.on('mouseenter', '.forward, .backward', function(event) {
|
||||
|
||||
var $this = $(this),
|
||||
$inner = $this.siblings('.inner'),
|
||||
direction = ($this.hasClass('forward') ? 1 : -1);
|
||||
|
||||
// Clear move interval.
|
||||
clearInterval(this._gallery_moveIntervalId);
|
||||
|
||||
// Start interval.
|
||||
this._gallery_moveIntervalId = setInterval(function() {
|
||||
$inner.scrollLeft( $inner.scrollLeft() + (5 * direction) );
|
||||
}, 10);
|
||||
|
||||
})
|
||||
.on('mouseleave', '.forward, .backward', function(event) {
|
||||
|
||||
// Clear move interval.
|
||||
clearInterval(this._gallery_moveIntervalId);
|
||||
|
||||
});
|
||||
|
||||
// Lightbox.
|
||||
$('.gallery.lightbox')
|
||||
.on('click', 'a', function(event) {
|
||||
|
||||
var $a = $(this),
|
||||
$gallery = $a.parents('.gallery'),
|
||||
$modal = $gallery.children('.modal'),
|
||||
$modalImg = $modal.find('img'),
|
||||
href = $a.attr('href');
|
||||
|
||||
// Not an image? Bail.
|
||||
if (!href.match(/\.(jpg|gif|png|mp4)$/))
|
||||
return;
|
||||
|
||||
// Prevent default.
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
// Locked? Bail.
|
||||
if ($modal[0]._locked)
|
||||
return;
|
||||
|
||||
// Lock.
|
||||
$modal[0]._locked = true;
|
||||
|
||||
// Set src.
|
||||
$modalImg.attr('src', href);
|
||||
|
||||
// Set visible.
|
||||
$modal.addClass('visible');
|
||||
|
||||
// Focus.
|
||||
$modal.focus();
|
||||
|
||||
// Delay.
|
||||
setTimeout(function() {
|
||||
|
||||
// Unlock.
|
||||
$modal[0]._locked = false;
|
||||
|
||||
}, 600);
|
||||
|
||||
})
|
||||
.on('click', '.modal', function(event) {
|
||||
|
||||
var $modal = $(this),
|
||||
$modalImg = $modal.find('img');
|
||||
|
||||
// Locked? Bail.
|
||||
if ($modal[0]._locked)
|
||||
return;
|
||||
|
||||
// Already hidden? Bail.
|
||||
if (!$modal.hasClass('visible'))
|
||||
return;
|
||||
|
||||
// Lock.
|
||||
$modal[0]._locked = true;
|
||||
|
||||
// Clear visible, loaded.
|
||||
$modal
|
||||
.removeClass('loaded')
|
||||
|
||||
// Delay.
|
||||
setTimeout(function() {
|
||||
|
||||
$modal
|
||||
.removeClass('visible')
|
||||
|
||||
setTimeout(function() {
|
||||
|
||||
// Clear src.
|
||||
$modalImg.attr('src', '');
|
||||
|
||||
// Unlock.
|
||||
$modal[0]._locked = false;
|
||||
|
||||
// Focus.
|
||||
$body.focus();
|
||||
|
||||
}, 475);
|
||||
|
||||
}, 125);
|
||||
|
||||
})
|
||||
.on('keypress', '.modal', function(event) {
|
||||
|
||||
var $modal = $(this);
|
||||
|
||||
// Escape? Hide modal.
|
||||
if (event.keyCode == 27)
|
||||
$modal.trigger('click');
|
||||
|
||||
})
|
||||
.prepend('<div class="modal" tabIndex="-1"><div class="inner"><img src="" /></div></div>')
|
||||
.find('img')
|
||||
.on('load', function(event) {
|
||||
|
||||
var $modalImg = $(this),
|
||||
$modal = $modalImg.parents('.modal');
|
||||
|
||||
setTimeout(function() {
|
||||
|
||||
// No longer visible? Bail.
|
||||
if (!$modal.hasClass('visible'))
|
||||
return;
|
||||
|
||||
// Set loaded.
|
||||
$modal.addClass('loaded');
|
||||
|
||||
}, 275);
|
||||
|
||||
});
|
||||
|
||||
})(jQuery);
|
File diff suppressed because it is too large
Load Diff
2
assets/js/breakpoints.min.js
vendored
2
assets/js/breakpoints.min.js
vendored
@ -1,2 +1,2 @@
|
||||
/* breakpoints.js v1.0 | @ajlkn | MIT licensed */
|
||||
/* breakpoints.js v1.0 | @ajlkn | MIT licensed */
|
||||
var breakpoints=function(){"use strict";function e(e){t.init(e)}var t={list:null,media:{},events:[],init:function(e){t.list=e,window.addEventListener("resize",t.poll),window.addEventListener("orientationchange",t.poll),window.addEventListener("load",t.poll),window.addEventListener("fullscreenchange",t.poll)},active:function(e){var n,a,s,i,r,d,c;if(!(e in t.media)){if(">="==e.substr(0,2)?(a="gte",n=e.substr(2)):"<="==e.substr(0,2)?(a="lte",n=e.substr(2)):">"==e.substr(0,1)?(a="gt",n=e.substr(1)):"<"==e.substr(0,1)?(a="lt",n=e.substr(1)):"!"==e.substr(0,1)?(a="not",n=e.substr(1)):(a="eq",n=e),n&&n in t.list)if(i=t.list[n],Array.isArray(i)){if(r=parseInt(i[0]),d=parseInt(i[1]),isNaN(r)){if(isNaN(d))return;c=i[1].substr(String(d).length)}else c=i[0].substr(String(r).length);if(isNaN(r))switch(a){case"gte":s="screen";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: -1px)";break;case"not":s="screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (max-width: "+d+c+")"}else if(isNaN(d))switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen";break;case"gt":s="screen and (max-width: -1px)";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+")";break;default:s="screen and (min-width: "+r+c+")"}else switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+"), screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (min-width: "+r+c+") and (max-width: "+d+c+")"}}else s="("==i.charAt(0)?"screen and "+i:i;t.media[e]=!!s&&s}return t.media[e]!==!1&&window.matchMedia(t.media[e]).matches},on:function(e,n){t.events.push({query:e,handler:n,state:!1}),t.active(e)&&n()},poll:function(){var e,n;for(e=0;e<t.events.length;e++)n=t.events[e],t.active(n.query)?n.state||(n.state=!0,n.handler()):n.state&&(n.state=!1)}};return e._=t,e.on=function(e,n){t.on(e,n)},e.active=function(e){return t.active(e)},e}();!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.breakpoints=t()}(this,function(){return breakpoints});
|
||||
|
2
assets/js/browser.min.js
vendored
2
assets/js/browser.min.js
vendored
@ -1,2 +1,2 @@
|
||||
/* browser.js v1.0 | @ajlkn | MIT licensed */
|
||||
/* browser.js v1.0 | @ajlkn | MIT licensed */
|
||||
var browser=function(){"use strict";var e={name:null,version:null,os:null,osVersion:null,touch:null,mobile:null,_canUse:null,canUse:function(n){e._canUse||(e._canUse=document.createElement("div"));var o=e._canUse.style,r=n.charAt(0).toUpperCase()+n.slice(1);return n in o||"Moz"+r in o||"Webkit"+r in o||"O"+r in o||"ms"+r in o},init:function(){var n,o,r,i,t=navigator.userAgent;for(n="other",o=0,r=[["firefox",/Firefox\/([0-9\.]+)/],["bb",/BlackBerry.+Version\/([0-9\.]+)/],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/],["opera",/OPR\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)/],["edge",/Edge\/([0-9\.]+)/],["safari",/Version\/([0-9\.]+).+Safari/],["chrome",/Chrome\/([0-9\.]+)/],["ie",/MSIE ([0-9]+)/],["ie",/Trident\/.+rv:([0-9]+)/]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(RegExp.$1);break}for(e.name=n,e.version=o,n="other",o=0,r=[["ios",/([0-9_]+) like Mac OS X/,function(e){return e.replace("_",".").replace("_","")}],["ios",/CPU like Mac OS X/,function(e){return 0}],["wp",/Windows Phone ([0-9\.]+)/,null],["android",/Android ([0-9\.]+)/,null],["mac",/Macintosh.+Mac OS X ([0-9_]+)/,function(e){return e.replace("_",".").replace("_","")}],["windows",/Windows NT ([0-9\.]+)/,null],["bb",/BlackBerry.+Version\/([0-9\.]+)/,null],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/,null],["linux",/Linux/,null],["bsd",/BSD/,null],["unix",/X11/,null]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(r[i][2]?r[i][2](RegExp.$1):RegExp.$1);break}e.os=n,e.osVersion=o,e.touch="wp"==e.os?navigator.msMaxTouchPoints>0:!!("ontouchstart"in window),e.mobile="wp"==e.os||"android"==e.os||"ios"==e.os||"bb"==e.os}};return e.init(),e}();!function(e,n){"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?module.exports=n():e.browser=n()}(this,function(){return browser});
|
||||
|
1124
assets/js/demo.js
1124
assets/js/demo.js
File diff suppressed because it is too large
Load Diff
2
assets/js/jquery.scrollex.min.js
vendored
2
assets/js/jquery.scrollex.min.js
vendored
@ -1,2 +1,2 @@
|
||||
/* jquery.scrollex v0.2.1 | (c) @ajlkn | github.com/ajlkn/jquery.scrollex | MIT licensed */
|
||||
/* jquery.scrollex v0.2.1 | (c) @ajlkn | github.com/ajlkn/jquery.scrollex | MIT licensed */
|
||||
!function(t){function e(t,e,n){return"string"==typeof t&&("%"==t.slice(-1)?t=parseInt(t.substring(0,t.length-1))/100*e:"vh"==t.slice(-2)?t=parseInt(t.substring(0,t.length-2))/100*n:"px"==t.slice(-2)&&(t=parseInt(t.substring(0,t.length-2)))),t}var n=t(window),i=1,o={};n.on("scroll",function(){var e=n.scrollTop();t.map(o,function(t){window.clearTimeout(t.timeoutId),t.timeoutId=window.setTimeout(function(){t.handler(e)},t.options.delay)})}).on("load",function(){n.trigger("scroll")}),jQuery.fn.scrollex=function(l){var s=t(this);if(0==this.length)return s;if(this.length>1){for(var r=0;r<this.length;r++)t(this[r]).scrollex(l);return s}if(s.data("_scrollexId"))return s;var a,u,h,c,p;switch(a=i++,u=jQuery.extend({top:0,bottom:0,delay:0,mode:"default",enter:null,leave:null,initialize:null,terminate:null,scroll:null},l),u.mode){case"top":h=function(t,e,n,i,o){return t>=i&&o>=t};break;case"bottom":h=function(t,e,n,i,o){return n>=i&&o>=n};break;case"middle":h=function(t,e,n,i,o){return e>=i&&o>=e};break;case"top-only":h=function(t,e,n,i,o){return i>=t&&n>=i};break;case"bottom-only":h=function(t,e,n,i,o){return n>=o&&o>=t};break;default:case"default":h=function(t,e,n,i,o){return n>=i&&o>=t}}return c=function(t){var i,o,l,s,r,a,u=this.state,h=!1,c=this.$element.offset();i=n.height(),o=t+i/2,l=t+i,s=this.$element.outerHeight(),r=c.top+e(this.options.top,s,i),a=c.top+s-e(this.options.bottom,s,i),h=this.test(t,o,l,r,a),h!=u&&(this.state=h,h?this.options.enter&&this.options.enter.apply(this.element):this.options.leave&&this.options.leave.apply(this.element)),this.options.scroll&&this.options.scroll.apply(this.element,[(o-r)/(a-r)])},p={id:a,options:u,test:h,handler:c,state:null,element:this,$element:s,timeoutId:null},o[a]=p,s.data("_scrollexId",p.id),p.options.initialize&&p.options.initialize.apply(this),s},jQuery.fn.unscrollex=function(){var e=t(this);if(0==this.length)return e;if(this.length>1){for(var n=0;n<this.length;n++)t(this[n]).unscrollex();return e}var i,l;return(i=e.data("_scrollexId"))?(l=o[i],window.clearTimeout(l.timeoutId),delete o[i],e.removeData("_scrollexId"),l.options.terminate&&l.options.terminate.apply(this),e):e}}(jQuery);
|
2
assets/js/jquery.scrolly.min.js
vendored
2
assets/js/jquery.scrolly.min.js
vendored
@ -1,2 +1,2 @@
|
||||
/* jquery.scrolly v1.0.0-dev | (c) @ajlkn | MIT licensed */
|
||||
/* jquery.scrolly v1.0.0-dev | (c) @ajlkn | MIT licensed */
|
||||
(function(e){function u(s,o){var u,a,f;if((u=e(s))[t]==0)return n;a=u[i]()[r];switch(o.anchor){case"middle":f=a-(e(window).height()-u.outerHeight())/2;break;default:case r:f=Math.max(a,0)}return typeof o[i]=="function"?f-=o[i]():f-=o[i],f}var t="length",n=null,r="top",i="offset",s="click.scrolly",o=e(window);e.fn.scrolly=function(i){var o,a,f,l,c=e(this);if(this[t]==0)return c;if(this[t]>1){for(o=0;o<this[t];o++)e(this[o]).scrolly(i);return c}l=n,f=c.attr("href");if(f.charAt(0)!="#"||f[t]<2)return c;a=jQuery.extend({anchor:r,easing:"swing",offset:0,parent:e("body,html"),pollOnce:!1,speed:1e3},i),a.pollOnce&&(l=u(f,a)),c.off(s).on(s,function(e){var t=l!==n?l:u(f,a);t!==n&&(e.preventDefault(),a.parent.stop().animate({scrollTop:t},a.speed,a.easing))})}})(jQuery);
|
@ -1,347 +1,347 @@
|
||||
/*
|
||||
Read Only by HTML5 UP
|
||||
html5up.net | @ajlkn
|
||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
var $window = $(window),
|
||||
$body = $('body'),
|
||||
$header = $('#header'),
|
||||
$titleBar = null,
|
||||
$nav = $('#nav'),
|
||||
$wrapper = $('#wrapper');
|
||||
|
||||
// Breakpoints.
|
||||
breakpoints({
|
||||
xlarge: [ '1281px', '1680px' ],
|
||||
large: [ '1025px', '1280px' ],
|
||||
medium: [ '737px', '1024px' ],
|
||||
small: [ '481px', '736px' ],
|
||||
xsmall: [ null, '480px' ],
|
||||
});
|
||||
|
||||
// Play initial animations on page load.
|
||||
$window.on('load', function() {
|
||||
window.setTimeout(function() {
|
||||
$body.removeClass('is-preload');
|
||||
}, 100);
|
||||
});
|
||||
|
||||
// Tweaks/fixes.
|
||||
|
||||
// Polyfill: Object fit.
|
||||
if (!browser.canUse('object-fit')) {
|
||||
|
||||
$('.image[data-position]').each(function() {
|
||||
|
||||
var $this = $(this),
|
||||
$img = $this.children('img');
|
||||
|
||||
// Apply img as background.
|
||||
$this
|
||||
.css('background-image', 'url("' + $img.attr('src') + '")')
|
||||
.css('background-position', $this.data('position'))
|
||||
.css('background-size', 'cover')
|
||||
.css('background-repeat', 'no-repeat');
|
||||
|
||||
// Hide img.
|
||||
$img
|
||||
.css('opacity', '0');
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// Header Panel.
|
||||
|
||||
// Nav.
|
||||
var $nav_a = $nav.find('a');
|
||||
|
||||
$nav_a
|
||||
.addClass('scrolly')
|
||||
.on('click', function() {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
// External link? Bail.
|
||||
if ($this.attr('href').charAt(0) != '#')
|
||||
return;
|
||||
|
||||
// Deactivate all links.
|
||||
$nav_a.removeClass('active');
|
||||
|
||||
// Activate link *and* lock it (so Scrollex doesn't try to activate other links as we're scrolling to this one's section).
|
||||
$this
|
||||
.addClass('active')
|
||||
.addClass('active-locked');
|
||||
|
||||
})
|
||||
.each(function() {
|
||||
|
||||
var $this = $(this),
|
||||
id = $this.attr('href'),
|
||||
$section = $(id);
|
||||
|
||||
// No section for this link? Bail.
|
||||
if ($section.length < 1)
|
||||
return;
|
||||
|
||||
// Scrollex.
|
||||
$section.scrollex({
|
||||
mode: 'middle',
|
||||
top: '5vh',
|
||||
bottom: '5vh',
|
||||
initialize: function() {
|
||||
|
||||
// Deactivate section.
|
||||
$section.addClass('inactive');
|
||||
|
||||
},
|
||||
enter: function() {
|
||||
|
||||
// Activate section.
|
||||
$section.removeClass('inactive');
|
||||
|
||||
// No locked links? Deactivate all links and activate this section's one.
|
||||
if ($nav_a.filter('.active-locked').length == 0) {
|
||||
|
||||
$nav_a.removeClass('active');
|
||||
$this.addClass('active');
|
||||
|
||||
}
|
||||
|
||||
// Otherwise, if this section's link is the one that's locked, unlock it.
|
||||
else if ($this.hasClass('active-locked'))
|
||||
$this.removeClass('active-locked');
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// Title Bar.
|
||||
$titleBar = $(
|
||||
'<div id="titleBar">' +
|
||||
'<a href="#header" class="toggle"></a>' +
|
||||
'<span class="title">' + $('#logo').html() + '</span>' +
|
||||
'</div>'
|
||||
)
|
||||
.appendTo($body);
|
||||
|
||||
// Panel.
|
||||
$header
|
||||
.panel({
|
||||
delay: 500,
|
||||
hideOnClick: true,
|
||||
hideOnSwipe: true,
|
||||
resetScroll: true,
|
||||
resetForms: true,
|
||||
side: 'right',
|
||||
target: $body,
|
||||
visibleClass: 'header-visible'
|
||||
});
|
||||
|
||||
// Scrolly.
|
||||
$('.scrolly').scrolly({
|
||||
speed: 1000,
|
||||
offset: function() {
|
||||
|
||||
if (breakpoints.active('<=medium'))
|
||||
return $titleBar.height();
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
});
|
||||
// Gallery.
|
||||
$('.gallery')
|
||||
.wrapInner('<div class="inner"></div>')
|
||||
.prepend(browser.mobile ? '' : '<div class="forward"></div><div class="backward"></div>')
|
||||
.scrollex({
|
||||
top: '30vh',
|
||||
bottom: '30vh',
|
||||
delay: 50,
|
||||
initialize: function() {
|
||||
$(this).addClass('is-inactive');
|
||||
},
|
||||
terminate: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
enter: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
leave: function() {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
if ($this.hasClass('onscroll-bidirectional'))
|
||||
$this.addClass('is-inactive');
|
||||
|
||||
}
|
||||
})
|
||||
.children('.inner')
|
||||
//.css('overflow', 'hidden')
|
||||
.css('overflow-y', browser.mobile ? 'visible' : 'hidden')
|
||||
.css('overflow-x', browser.mobile ? 'scroll' : 'hidden')
|
||||
.scrollLeft(0);
|
||||
|
||||
// Style #1.
|
||||
// ...
|
||||
|
||||
// Style #2.
|
||||
$('.gallery')
|
||||
.on('wheel', '.inner', function(event) {
|
||||
|
||||
var $this = $(this),
|
||||
delta = (event.originalEvent.deltaX * 10);
|
||||
|
||||
// Cap delta.
|
||||
if (delta > 0)
|
||||
delta = Math.min(25, delta);
|
||||
else if (delta < 0)
|
||||
delta = Math.max(-25, delta);
|
||||
|
||||
// Scroll.
|
||||
$this.scrollLeft( $this.scrollLeft() + delta );
|
||||
|
||||
})
|
||||
.on('mouseenter', '.forward, .backward', function(event) {
|
||||
|
||||
var $this = $(this),
|
||||
$inner = $this.siblings('.inner'),
|
||||
direction = ($this.hasClass('forward') ? 1 : -1);
|
||||
|
||||
// Clear move interval.
|
||||
clearInterval(this._gallery_moveIntervalId);
|
||||
|
||||
// Start interval.
|
||||
this._gallery_moveIntervalId = setInterval(function() {
|
||||
$inner.scrollLeft( $inner.scrollLeft() + (5 * direction) );
|
||||
}, 10);
|
||||
|
||||
})
|
||||
.on('mouseleave', '.forward, .backward', function(event) {
|
||||
|
||||
// Clear move interval.
|
||||
clearInterval(this._gallery_moveIntervalId);
|
||||
|
||||
});
|
||||
|
||||
// Lightbox.
|
||||
$('.gallery.lightbox')
|
||||
.on('click', 'a', function(event) {
|
||||
|
||||
var $a = $(this),
|
||||
$gallery = $a.parents('.gallery'),
|
||||
$modal = $gallery.children('.modal'),
|
||||
$modalImg = $modal.find('img'),
|
||||
href = $a.attr('href');
|
||||
|
||||
// Not an image? Bail.
|
||||
if (!href.match(/\.(jpg|gif|png|mp4)$/))
|
||||
return;
|
||||
|
||||
// Prevent default.
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
// Locked? Bail.
|
||||
if ($modal[0]._locked)
|
||||
return;
|
||||
|
||||
// Lock.
|
||||
$modal[0]._locked = true;
|
||||
|
||||
// Set src.
|
||||
$modalImg.attr('src', href);
|
||||
|
||||
// Set visible.
|
||||
$modal.addClass('visible');
|
||||
|
||||
// Focus.
|
||||
$modal.focus();
|
||||
|
||||
// Delay.
|
||||
setTimeout(function() {
|
||||
|
||||
// Unlock.
|
||||
$modal[0]._locked = false;
|
||||
|
||||
}, 600);
|
||||
|
||||
})
|
||||
.on('click', '.modal', function(event) {
|
||||
|
||||
var $modal = $(this),
|
||||
$modalImg = $modal.find('img');
|
||||
|
||||
// Locked? Bail.
|
||||
if ($modal[0]._locked)
|
||||
return;
|
||||
|
||||
// Already hidden? Bail.
|
||||
if (!$modal.hasClass('visible'))
|
||||
return;
|
||||
|
||||
// Lock.
|
||||
$modal[0]._locked = true;
|
||||
|
||||
// Clear visible, loaded.
|
||||
$modal
|
||||
.removeClass('loaded')
|
||||
|
||||
// Delay.
|
||||
setTimeout(function() {
|
||||
|
||||
$modal
|
||||
.removeClass('visible')
|
||||
|
||||
setTimeout(function() {
|
||||
|
||||
// Clear src.
|
||||
$modalImg.attr('src', '');
|
||||
|
||||
// Unlock.
|
||||
$modal[0]._locked = false;
|
||||
|
||||
// Focus.
|
||||
$body.focus();
|
||||
|
||||
}, 475);
|
||||
|
||||
}, 125);
|
||||
|
||||
})
|
||||
.on('keypress', '.modal', function(event) {
|
||||
|
||||
var $modal = $(this);
|
||||
|
||||
// Escape? Hide modal.
|
||||
if (event.keyCode == 27)
|
||||
$modal.trigger('click');
|
||||
|
||||
})
|
||||
.prepend('<div class="modal" tabIndex="-1"><div class="inner"><img src="" /></div></div>')
|
||||
.find('img')
|
||||
.on('load', function(event) {
|
||||
|
||||
var $modalImg = $(this),
|
||||
$modal = $modalImg.parents('.modal');
|
||||
|
||||
setTimeout(function() {
|
||||
|
||||
// No longer visible? Bail.
|
||||
if (!$modal.hasClass('visible'))
|
||||
return;
|
||||
|
||||
// Set loaded.
|
||||
$modal.addClass('loaded');
|
||||
|
||||
}, 275);
|
||||
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
Read Only by HTML5 UP
|
||||
html5up.net | @ajlkn
|
||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
var $window = $(window),
|
||||
$body = $('body'),
|
||||
$header = $('#header'),
|
||||
$titleBar = null,
|
||||
$nav = $('#nav'),
|
||||
$wrapper = $('#wrapper');
|
||||
|
||||
// Breakpoints.
|
||||
breakpoints({
|
||||
xlarge: [ '1281px', '1680px' ],
|
||||
large: [ '1025px', '1280px' ],
|
||||
medium: [ '737px', '1024px' ],
|
||||
small: [ '481px', '736px' ],
|
||||
xsmall: [ null, '480px' ],
|
||||
});
|
||||
|
||||
// Play initial animations on page load.
|
||||
$window.on('load', function() {
|
||||
window.setTimeout(function() {
|
||||
$body.removeClass('is-preload');
|
||||
}, 100);
|
||||
});
|
||||
|
||||
// Tweaks/fixes.
|
||||
|
||||
// Polyfill: Object fit.
|
||||
if (!browser.canUse('object-fit')) {
|
||||
|
||||
$('.image[data-position]').each(function() {
|
||||
|
||||
var $this = $(this),
|
||||
$img = $this.children('img');
|
||||
|
||||
// Apply img as background.
|
||||
$this
|
||||
.css('background-image', 'url("' + $img.attr('src') + '")')
|
||||
.css('background-position', $this.data('position'))
|
||||
.css('background-size', 'cover')
|
||||
.css('background-repeat', 'no-repeat');
|
||||
|
||||
// Hide img.
|
||||
$img
|
||||
.css('opacity', '0');
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// Header Panel.
|
||||
|
||||
// Nav.
|
||||
var $nav_a = $nav.find('a');
|
||||
|
||||
$nav_a
|
||||
.addClass('scrolly')
|
||||
.on('click', function() {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
// External link? Bail.
|
||||
if ($this.attr('href').charAt(0) != '#')
|
||||
return;
|
||||
|
||||
// Deactivate all links.
|
||||
$nav_a.removeClass('active');
|
||||
|
||||
// Activate link *and* lock it (so Scrollex doesn't try to activate other links as we're scrolling to this one's section).
|
||||
$this
|
||||
.addClass('active')
|
||||
.addClass('active-locked');
|
||||
|
||||
})
|
||||
.each(function() {
|
||||
|
||||
var $this = $(this),
|
||||
id = $this.attr('href'),
|
||||
$section = $(id);
|
||||
|
||||
// No section for this link? Bail.
|
||||
if ($section.length < 1)
|
||||
return;
|
||||
|
||||
// Scrollex.
|
||||
$section.scrollex({
|
||||
mode: 'middle',
|
||||
top: '5vh',
|
||||
bottom: '5vh',
|
||||
initialize: function() {
|
||||
|
||||
// Deactivate section.
|
||||
$section.addClass('inactive');
|
||||
|
||||
},
|
||||
enter: function() {
|
||||
|
||||
// Activate section.
|
||||
$section.removeClass('inactive');
|
||||
|
||||
// No locked links? Deactivate all links and activate this section's one.
|
||||
if ($nav_a.filter('.active-locked').length == 0) {
|
||||
|
||||
$nav_a.removeClass('active');
|
||||
$this.addClass('active');
|
||||
|
||||
}
|
||||
|
||||
// Otherwise, if this section's link is the one that's locked, unlock it.
|
||||
else if ($this.hasClass('active-locked'))
|
||||
$this.removeClass('active-locked');
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// Title Bar.
|
||||
$titleBar = $(
|
||||
'<div id="titleBar">' +
|
||||
'<a href="#header" class="toggle"></a>' +
|
||||
'<span class="title">' + $('#logo').html() + '</span>' +
|
||||
'</div>'
|
||||
)
|
||||
.appendTo($body);
|
||||
|
||||
// Panel.
|
||||
$header
|
||||
.panel({
|
||||
delay: 500,
|
||||
hideOnClick: true,
|
||||
hideOnSwipe: true,
|
||||
resetScroll: true,
|
||||
resetForms: true,
|
||||
side: 'right',
|
||||
target: $body,
|
||||
visibleClass: 'header-visible'
|
||||
});
|
||||
|
||||
// Scrolly.
|
||||
$('.scrolly').scrolly({
|
||||
speed: 1000,
|
||||
offset: function() {
|
||||
|
||||
if (breakpoints.active('<=medium'))
|
||||
return $titleBar.height();
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
});
|
||||
// Gallery.
|
||||
$('.gallery')
|
||||
.wrapInner('<div class="inner"></div>')
|
||||
.prepend(browser.mobile ? '' : '<div class="forward"></div><div class="backward"></div>')
|
||||
.scrollex({
|
||||
top: '30vh',
|
||||
bottom: '30vh',
|
||||
delay: 50,
|
||||
initialize: function() {
|
||||
$(this).addClass('is-inactive');
|
||||
},
|
||||
terminate: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
enter: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
leave: function() {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
if ($this.hasClass('onscroll-bidirectional'))
|
||||
$this.addClass('is-inactive');
|
||||
|
||||
}
|
||||
})
|
||||
.children('.inner')
|
||||
//.css('overflow', 'hidden')
|
||||
.css('overflow-y', browser.mobile ? 'visible' : 'hidden')
|
||||
.css('overflow-x', browser.mobile ? 'scroll' : 'hidden')
|
||||
.scrollLeft(0);
|
||||
|
||||
// Style #1.
|
||||
// ...
|
||||
|
||||
// Style #2.
|
||||
$('.gallery')
|
||||
.on('wheel', '.inner', function(event) {
|
||||
|
||||
var $this = $(this),
|
||||
delta = (event.originalEvent.deltaX * 10);
|
||||
|
||||
// Cap delta.
|
||||
if (delta > 0)
|
||||
delta = Math.min(25, delta);
|
||||
else if (delta < 0)
|
||||
delta = Math.max(-25, delta);
|
||||
|
||||
// Scroll.
|
||||
$this.scrollLeft( $this.scrollLeft() + delta );
|
||||
|
||||
})
|
||||
.on('mouseenter', '.forward, .backward', function(event) {
|
||||
|
||||
var $this = $(this),
|
||||
$inner = $this.siblings('.inner'),
|
||||
direction = ($this.hasClass('forward') ? 1 : -1);
|
||||
|
||||
// Clear move interval.
|
||||
clearInterval(this._gallery_moveIntervalId);
|
||||
|
||||
// Start interval.
|
||||
this._gallery_moveIntervalId = setInterval(function() {
|
||||
$inner.scrollLeft( $inner.scrollLeft() + (5 * direction) );
|
||||
}, 10);
|
||||
|
||||
})
|
||||
.on('mouseleave', '.forward, .backward', function(event) {
|
||||
|
||||
// Clear move interval.
|
||||
clearInterval(this._gallery_moveIntervalId);
|
||||
|
||||
});
|
||||
|
||||
// Lightbox.
|
||||
$('.gallery.lightbox')
|
||||
.on('click', 'a', function(event) {
|
||||
|
||||
var $a = $(this),
|
||||
$gallery = $a.parents('.gallery'),
|
||||
$modal = $gallery.children('.modal'),
|
||||
$modalImg = $modal.find('img'),
|
||||
href = $a.attr('href');
|
||||
|
||||
// Not an image? Bail.
|
||||
if (!href.match(/\.(jpg|gif|png|mp4)$/))
|
||||
return;
|
||||
|
||||
// Prevent default.
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
// Locked? Bail.
|
||||
if ($modal[0]._locked)
|
||||
return;
|
||||
|
||||
// Lock.
|
||||
$modal[0]._locked = true;
|
||||
|
||||
// Set src.
|
||||
$modalImg.attr('src', href);
|
||||
|
||||
// Set visible.
|
||||
$modal.addClass('visible');
|
||||
|
||||
// Focus.
|
||||
$modal.focus();
|
||||
|
||||
// Delay.
|
||||
setTimeout(function() {
|
||||
|
||||
// Unlock.
|
||||
$modal[0]._locked = false;
|
||||
|
||||
}, 600);
|
||||
|
||||
})
|
||||
.on('click', '.modal', function(event) {
|
||||
|
||||
var $modal = $(this),
|
||||
$modalImg = $modal.find('img');
|
||||
|
||||
// Locked? Bail.
|
||||
if ($modal[0]._locked)
|
||||
return;
|
||||
|
||||
// Already hidden? Bail.
|
||||
if (!$modal.hasClass('visible'))
|
||||
return;
|
||||
|
||||
// Lock.
|
||||
$modal[0]._locked = true;
|
||||
|
||||
// Clear visible, loaded.
|
||||
$modal
|
||||
.removeClass('loaded')
|
||||
|
||||
// Delay.
|
||||
setTimeout(function() {
|
||||
|
||||
$modal
|
||||
.removeClass('visible')
|
||||
|
||||
setTimeout(function() {
|
||||
|
||||
// Clear src.
|
||||
$modalImg.attr('src', '');
|
||||
|
||||
// Unlock.
|
||||
$modal[0]._locked = false;
|
||||
|
||||
// Focus.
|
||||
$body.focus();
|
||||
|
||||
}, 475);
|
||||
|
||||
}, 125);
|
||||
|
||||
})
|
||||
.on('keypress', '.modal', function(event) {
|
||||
|
||||
var $modal = $(this);
|
||||
|
||||
// Escape? Hide modal.
|
||||
if (event.keyCode == 27)
|
||||
$modal.trigger('click');
|
||||
|
||||
})
|
||||
.prepend('<div class="modal" tabIndex="-1"><div class="inner"><img src="" /></div></div>')
|
||||
.find('img')
|
||||
.on('load', function(event) {
|
||||
|
||||
var $modalImg = $(this),
|
||||
$modal = $modalImg.parents('.modal');
|
||||
|
||||
setTimeout(function() {
|
||||
|
||||
// No longer visible? Bail.
|
||||
if (!$modal.hasClass('visible'))
|
||||
return;
|
||||
|
||||
// Set loaded.
|
||||
$modal.addClass('loaded');
|
||||
|
||||
}, 275);
|
||||
|
||||
});
|
||||
|
||||
|
||||
})(jQuery);
|
1172
assets/js/util.js
1172
assets/js/util.js
File diff suppressed because it is too large
Load Diff
@ -1,90 +1,90 @@
|
||||
/// Removes a specific item from a list.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {list} $list List.
|
||||
/// @param {integer} $index Index.
|
||||
/// @return {list} Updated list.
|
||||
@function remove-nth($list, $index) {
|
||||
|
||||
$result: null;
|
||||
|
||||
@if type-of($index) != number {
|
||||
@warn "$index: #{quote($index)} is not a number for `remove-nth`.";
|
||||
}
|
||||
@else if $index == 0 {
|
||||
@warn "List index 0 must be a non-zero integer for `remove-nth`.";
|
||||
}
|
||||
@else if abs($index) > length($list) {
|
||||
@warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
|
||||
}
|
||||
@else {
|
||||
|
||||
$result: ();
|
||||
$index: if($index < 0, length($list) + $index + 1, $index);
|
||||
|
||||
@for $i from 1 through length($list) {
|
||||
|
||||
@if $i != $index {
|
||||
$result: append($result, nth($list, $i));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@return $result;
|
||||
|
||||
}
|
||||
|
||||
/// Gets a value from a map.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {map} $map Map.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function val($map, $keys...) {
|
||||
|
||||
@if nth($keys, 1) == null {
|
||||
$keys: remove-nth($keys, 1);
|
||||
}
|
||||
|
||||
@each $key in $keys {
|
||||
$map: map-get($map, $key);
|
||||
}
|
||||
|
||||
@return $map;
|
||||
|
||||
}
|
||||
|
||||
/// Gets a duration value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _duration($keys...) {
|
||||
@return val($duration, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a font value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _font($keys...) {
|
||||
@return val($font, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a misc value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _misc($keys...) {
|
||||
@return val($misc, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a palette value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _palette($keys...) {
|
||||
@return val($palette, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a size value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _size($keys...) {
|
||||
@return val($size, $keys...);
|
||||
/// Removes a specific item from a list.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {list} $list List.
|
||||
/// @param {integer} $index Index.
|
||||
/// @return {list} Updated list.
|
||||
@function remove-nth($list, $index) {
|
||||
|
||||
$result: null;
|
||||
|
||||
@if type-of($index) != number {
|
||||
@warn "$index: #{quote($index)} is not a number for `remove-nth`.";
|
||||
}
|
||||
@else if $index == 0 {
|
||||
@warn "List index 0 must be a non-zero integer for `remove-nth`.";
|
||||
}
|
||||
@else if abs($index) > length($list) {
|
||||
@warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
|
||||
}
|
||||
@else {
|
||||
|
||||
$result: ();
|
||||
$index: if($index < 0, length($list) + $index + 1, $index);
|
||||
|
||||
@for $i from 1 through length($list) {
|
||||
|
||||
@if $i != $index {
|
||||
$result: append($result, nth($list, $i));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@return $result;
|
||||
|
||||
}
|
||||
|
||||
/// Gets a value from a map.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {map} $map Map.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function val($map, $keys...) {
|
||||
|
||||
@if nth($keys, 1) == null {
|
||||
$keys: remove-nth($keys, 1);
|
||||
}
|
||||
|
||||
@each $key in $keys {
|
||||
$map: map-get($map, $key);
|
||||
}
|
||||
|
||||
@return $map;
|
||||
|
||||
}
|
||||
|
||||
/// Gets a duration value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _duration($keys...) {
|
||||
@return val($duration, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a font value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _font($keys...) {
|
||||
@return val($font, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a misc value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _misc($keys...) {
|
||||
@return val($misc, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a palette value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _palette($keys...) {
|
||||
@return val($palette, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a size value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _size($keys...) {
|
||||
@return val($size, $keys...);
|
||||
}
|
@ -1,149 +1,149 @@
|
||||
// html-grid.scss v1.0 | @ajlkn | MIT licensed */
|
||||
|
||||
// Mixins.
|
||||
|
||||
/// Initializes the current element as an HTML grid.
|
||||
/// @param {mixed} $gutters Gutters (either a single number to set both column/row gutters, or a list to set them individually).
|
||||
/// @param {mixed} $suffix Column class suffix (optional; either a single suffix or a list).
|
||||
@mixin html-grid($gutters: 1.5em, $suffix: '') {
|
||||
|
||||
// Initialize.
|
||||
$cols: 12;
|
||||
$multipliers: 0, 0.25, 0.5, 1, 1.50, 2.00;
|
||||
$unit: 100% / $cols;
|
||||
|
||||
// Suffixes.
|
||||
$suffixes: null;
|
||||
|
||||
@if (type-of($suffix) == 'list') {
|
||||
$suffixes: $suffix;
|
||||
}
|
||||
@else {
|
||||
$suffixes: ($suffix);
|
||||
}
|
||||
|
||||
// Gutters.
|
||||
$guttersCols: null;
|
||||
$guttersRows: null;
|
||||
|
||||
@if (type-of($gutters) == 'list') {
|
||||
|
||||
$guttersCols: nth($gutters, 1);
|
||||
$guttersRows: nth($gutters, 2);
|
||||
|
||||
}
|
||||
@else {
|
||||
|
||||
$guttersCols: $gutters;
|
||||
$guttersRows: 0;
|
||||
|
||||
}
|
||||
|
||||
// Row.
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
box-sizing: border-box;
|
||||
align-items: stretch;
|
||||
|
||||
// Columns.
|
||||
> * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
// Gutters.
|
||||
&.gtr-uniform {
|
||||
> * {
|
||||
> :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Alignment.
|
||||
&.aln-left {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
&.aln-center {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
&.aln-right {
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
&.aln-top {
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
&.aln-middle {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
&.aln-bottom {
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
// Step through suffixes.
|
||||
@each $suffix in $suffixes {
|
||||
|
||||
// Suffix.
|
||||
@if ($suffix != '') {
|
||||
$suffix: '-' + $suffix;
|
||||
}
|
||||
@else {
|
||||
$suffix: '';
|
||||
}
|
||||
|
||||
// Row.
|
||||
|
||||
// Important.
|
||||
> .imp#{$suffix} {
|
||||
order: -1;
|
||||
}
|
||||
|
||||
// Columns, offsets.
|
||||
@for $i from 1 through $cols {
|
||||
> .col-#{$i}#{$suffix} {
|
||||
width: $unit * $i;
|
||||
}
|
||||
|
||||
> .off-#{$i}#{$suffix} {
|
||||
margin-left: $unit * $i;
|
||||
}
|
||||
}
|
||||
|
||||
// Step through multipliers.
|
||||
@each $multiplier in $multipliers {
|
||||
|
||||
// Gutters.
|
||||
$class: null;
|
||||
|
||||
@if ($multiplier != 1) {
|
||||
$class: '.gtr-' + ($multiplier * 100);
|
||||
}
|
||||
|
||||
&#{$class} {
|
||||
margin-top: ($guttersRows * $multiplier * -1);
|
||||
margin-left: ($guttersCols * $multiplier * -1);
|
||||
|
||||
> * {
|
||||
padding: ($guttersRows * $multiplier) 0 0 ($guttersCols * $multiplier);
|
||||
}
|
||||
|
||||
// Uniform.
|
||||
&.gtr-uniform {
|
||||
margin-top: $guttersCols * $multiplier * -1;
|
||||
|
||||
> * {
|
||||
padding-top: $guttersCols * $multiplier;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// html-grid.scss v1.0 | @ajlkn | MIT licensed */
|
||||
|
||||
// Mixins.
|
||||
|
||||
/// Initializes the current element as an HTML grid.
|
||||
/// @param {mixed} $gutters Gutters (either a single number to set both column/row gutters, or a list to set them individually).
|
||||
/// @param {mixed} $suffix Column class suffix (optional; either a single suffix or a list).
|
||||
@mixin html-grid($gutters: 1.5em, $suffix: '') {
|
||||
|
||||
// Initialize.
|
||||
$cols: 12;
|
||||
$multipliers: 0, 0.25, 0.5, 1, 1.50, 2.00;
|
||||
$unit: 100% / $cols;
|
||||
|
||||
// Suffixes.
|
||||
$suffixes: null;
|
||||
|
||||
@if (type-of($suffix) == 'list') {
|
||||
$suffixes: $suffix;
|
||||
}
|
||||
@else {
|
||||
$suffixes: ($suffix);
|
||||
}
|
||||
|
||||
// Gutters.
|
||||
$guttersCols: null;
|
||||
$guttersRows: null;
|
||||
|
||||
@if (type-of($gutters) == 'list') {
|
||||
|
||||
$guttersCols: nth($gutters, 1);
|
||||
$guttersRows: nth($gutters, 2);
|
||||
|
||||
}
|
||||
@else {
|
||||
|
||||
$guttersCols: $gutters;
|
||||
$guttersRows: 0;
|
||||
|
||||
}
|
||||
|
||||
// Row.
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
box-sizing: border-box;
|
||||
align-items: stretch;
|
||||
|
||||
// Columns.
|
||||
> * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
// Gutters.
|
||||
&.gtr-uniform {
|
||||
> * {
|
||||
> :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Alignment.
|
||||
&.aln-left {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
&.aln-center {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
&.aln-right {
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
&.aln-top {
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
&.aln-middle {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
&.aln-bottom {
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
// Step through suffixes.
|
||||
@each $suffix in $suffixes {
|
||||
|
||||
// Suffix.
|
||||
@if ($suffix != '') {
|
||||
$suffix: '-' + $suffix;
|
||||
}
|
||||
@else {
|
||||
$suffix: '';
|
||||
}
|
||||
|
||||
// Row.
|
||||
|
||||
// Important.
|
||||
> .imp#{$suffix} {
|
||||
order: -1;
|
||||
}
|
||||
|
||||
// Columns, offsets.
|
||||
@for $i from 1 through $cols {
|
||||
> .col-#{$i}#{$suffix} {
|
||||
width: $unit * $i;
|
||||
}
|
||||
|
||||
> .off-#{$i}#{$suffix} {
|
||||
margin-left: $unit * $i;
|
||||
}
|
||||
}
|
||||
|
||||
// Step through multipliers.
|
||||
@each $multiplier in $multipliers {
|
||||
|
||||
// Gutters.
|
||||
$class: null;
|
||||
|
||||
@if ($multiplier != 1) {
|
||||
$class: '.gtr-' + ($multiplier * 100);
|
||||
}
|
||||
|
||||
&#{$class} {
|
||||
margin-top: ($guttersRows * $multiplier * -1);
|
||||
margin-left: ($guttersCols * $multiplier * -1);
|
||||
|
||||
> * {
|
||||
padding: ($guttersRows * $multiplier) 0 0 ($guttersCols * $multiplier);
|
||||
}
|
||||
|
||||
// Uniform.
|
||||
&.gtr-uniform {
|
||||
margin-top: $guttersCols * $multiplier * -1;
|
||||
|
||||
> * {
|
||||
padding-top: $guttersCols * $multiplier;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -1,78 +1,78 @@
|
||||
/// Makes an element's :before pseudoelement a FontAwesome icon.
|
||||
/// @param {string} $content Optional content value to use.
|
||||
/// @param {string} $category Optional category to use.
|
||||
/// @param {string} $where Optional pseudoelement to target (before or after).
|
||||
@mixin icon($content: false, $category: regular, $where: before) {
|
||||
|
||||
text-decoration: none;
|
||||
|
||||
&:#{$where} {
|
||||
|
||||
@if $content {
|
||||
content: $content;
|
||||
}
|
||||
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
display: inline-block;
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
text-rendering: auto;
|
||||
line-height: 1;
|
||||
text-transform: none !important;
|
||||
|
||||
@if ($category == brands) {
|
||||
font-family: 'Font Awesome 5 Brands';
|
||||
}
|
||||
@elseif ($category == solid) {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-weight: 900;
|
||||
}
|
||||
@else {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// Applies padding to an element, taking the current element-margin value into account.
|
||||
/// @param {mixed} $tb Top/bottom padding.
|
||||
/// @param {mixed} $lr Left/right padding.
|
||||
/// @param {list} $pad Optional extra padding (in the following order top, right, bottom, left)
|
||||
/// @param {bool} $important If true, adds !important.
|
||||
@mixin padding($tb, $lr, $pad: (0,0,0,0), $important: null) {
|
||||
|
||||
@if $important {
|
||||
$important: '!important';
|
||||
}
|
||||
|
||||
$x: 0.1em;
|
||||
|
||||
@if unit(_size(element-margin)) == 'rem' {
|
||||
$x: 0.1rem;
|
||||
}
|
||||
|
||||
padding: ($tb + nth($pad,1)) ($lr + nth($pad,2)) max($x, $tb - _size(element-margin) + nth($pad,3)) ($lr + nth($pad,4)) #{$important};
|
||||
|
||||
}
|
||||
|
||||
/// Encodes a SVG data URL so IE doesn't choke (via codepen.io/jakob-e/pen/YXXBrp).
|
||||
/// @param {string} $svg SVG data URL.
|
||||
/// @return {string} Encoded SVG data URL.
|
||||
@function svg-url($svg) {
|
||||
|
||||
$svg: str-replace($svg, '"', '\'');
|
||||
$svg: str-replace($svg, '%', '%25');
|
||||
$svg: str-replace($svg, '<', '%3C');
|
||||
$svg: str-replace($svg, '>', '%3E');
|
||||
$svg: str-replace($svg, '&', '%26');
|
||||
$svg: str-replace($svg, '#', '%23');
|
||||
$svg: str-replace($svg, '{', '%7B');
|
||||
$svg: str-replace($svg, '}', '%7D');
|
||||
$svg: str-replace($svg, ';', '%3B');
|
||||
|
||||
@return url("data:image/svg+xml;charset=utf8,#{$svg}");
|
||||
|
||||
/// Makes an element's :before pseudoelement a FontAwesome icon.
|
||||
/// @param {string} $content Optional content value to use.
|
||||
/// @param {string} $category Optional category to use.
|
||||
/// @param {string} $where Optional pseudoelement to target (before or after).
|
||||
@mixin icon($content: false, $category: regular, $where: before) {
|
||||
|
||||
text-decoration: none;
|
||||
|
||||
&:#{$where} {
|
||||
|
||||
@if $content {
|
||||
content: $content;
|
||||
}
|
||||
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
display: inline-block;
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
text-rendering: auto;
|
||||
line-height: 1;
|
||||
text-transform: none !important;
|
||||
|
||||
@if ($category == brands) {
|
||||
font-family: 'Font Awesome 5 Brands';
|
||||
}
|
||||
@elseif ($category == solid) {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-weight: 900;
|
||||
}
|
||||
@else {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// Applies padding to an element, taking the current element-margin value into account.
|
||||
/// @param {mixed} $tb Top/bottom padding.
|
||||
/// @param {mixed} $lr Left/right padding.
|
||||
/// @param {list} $pad Optional extra padding (in the following order top, right, bottom, left)
|
||||
/// @param {bool} $important If true, adds !important.
|
||||
@mixin padding($tb, $lr, $pad: (0,0,0,0), $important: null) {
|
||||
|
||||
@if $important {
|
||||
$important: '!important';
|
||||
}
|
||||
|
||||
$x: 0.1em;
|
||||
|
||||
@if unit(_size(element-margin)) == 'rem' {
|
||||
$x: 0.1rem;
|
||||
}
|
||||
|
||||
padding: ($tb + nth($pad,1)) ($lr + nth($pad,2)) max($x, $tb - _size(element-margin) + nth($pad,3)) ($lr + nth($pad,4)) #{$important};
|
||||
|
||||
}
|
||||
|
||||
/// Encodes a SVG data URL so IE doesn't choke (via codepen.io/jakob-e/pen/YXXBrp).
|
||||
/// @param {string} $svg SVG data URL.
|
||||
/// @return {string} Encoded SVG data URL.
|
||||
@function svg-url($svg) {
|
||||
|
||||
$svg: str-replace($svg, '"', '\'');
|
||||
$svg: str-replace($svg, '%', '%25');
|
||||
$svg: str-replace($svg, '<', '%3C');
|
||||
$svg: str-replace($svg, '>', '%3E');
|
||||
$svg: str-replace($svg, '&', '%26');
|
||||
$svg: str-replace($svg, '#', '%23');
|
||||
$svg: str-replace($svg, '{', '%7B');
|
||||
$svg: str-replace($svg, '}', '%7D');
|
||||
$svg: str-replace($svg, ';', '%3B');
|
||||
|
||||
@return url("data:image/svg+xml;charset=utf8,#{$svg}");
|
||||
|
||||
}
|
@ -1,64 +1,64 @@
|
||||
// Misc.
|
||||
$misc: (
|
||||
z-index-base: 10000,
|
||||
header-side: 'right'
|
||||
);
|
||||
|
||||
// Duration.
|
||||
$duration: (
|
||||
header: 0.5s,
|
||||
transition: 0.2s
|
||||
);
|
||||
|
||||
// Size.
|
||||
$size: (
|
||||
border-radius: 5px,
|
||||
border-width: 2px,
|
||||
element-height: 2.75em,
|
||||
element-margin: 2.25em,
|
||||
container-width: 45em
|
||||
);
|
||||
|
||||
// Font.
|
||||
$font: (
|
||||
family: ('Lato', sans-serif),
|
||||
family-fixed: ('Source Code Pro', monospace),
|
||||
weight: 400,
|
||||
weight-bold: 700
|
||||
);
|
||||
|
||||
// Palette.
|
||||
$palette: (
|
||||
bg: #fff,
|
||||
fg: #888,
|
||||
fg-bold: #777,
|
||||
fg-light: #aaa,
|
||||
border: #f4f4f4,
|
||||
border-bg: #fafafa,
|
||||
border2: #e4e4e4,
|
||||
border2-bg: #f4f4f4,
|
||||
border3: #e0e0e0,
|
||||
border3-bg: #eaeaea,
|
||||
|
||||
accent1: (
|
||||
bg: #4acaa8,
|
||||
fg-bold: #ffffff,
|
||||
fg: mix(#4acaa8, #ffffff, 25%),
|
||||
fg-light: mix(#4acaa8, #ffffff, 40%)
|
||||
),
|
||||
|
||||
accent2: (
|
||||
bg: #989898,
|
||||
fg-bold: #ffffff,
|
||||
fg: mix(#989898, #ffffff, 25%),
|
||||
fg-light: mix(#989898, #ffffff, 40%)
|
||||
),
|
||||
|
||||
header: (
|
||||
bg: #4acaa8,
|
||||
fg-bold: #ffffff,
|
||||
fg: mix(#4acaa8, #ffffff, 25%),
|
||||
fg-light: mix(#4acaa8, #ffffff, 40%),
|
||||
border: mix(#4acaa8, #ffffff, 90%)
|
||||
)
|
||||
// Misc.
|
||||
$misc: (
|
||||
z-index-base: 10000,
|
||||
header-side: 'right'
|
||||
);
|
||||
|
||||
// Duration.
|
||||
$duration: (
|
||||
header: 0.5s,
|
||||
transition: 0.2s
|
||||
);
|
||||
|
||||
// Size.
|
||||
$size: (
|
||||
border-radius: 5px,
|
||||
border-width: 2px,
|
||||
element-height: 2.75em,
|
||||
element-margin: 2.25em,
|
||||
container-width: 45em
|
||||
);
|
||||
|
||||
// Font.
|
||||
$font: (
|
||||
family: ('Lato', sans-serif),
|
||||
family-fixed: ('Source Code Pro', monospace),
|
||||
weight: 400,
|
||||
weight-bold: 700
|
||||
);
|
||||
|
||||
// Palette.
|
||||
$palette: (
|
||||
bg: #fff,
|
||||
fg: #888,
|
||||
fg-bold: #777,
|
||||
fg-light: #aaa,
|
||||
border: #f4f4f4,
|
||||
border-bg: #fafafa,
|
||||
border2: #e4e4e4,
|
||||
border2-bg: #f4f4f4,
|
||||
border3: #e0e0e0,
|
||||
border3-bg: #eaeaea,
|
||||
|
||||
accent1: (
|
||||
bg: #4acaa8,
|
||||
fg-bold: #ffffff,
|
||||
fg: mix(#4acaa8, #ffffff, 25%),
|
||||
fg-light: mix(#4acaa8, #ffffff, 40%)
|
||||
),
|
||||
|
||||
accent2: (
|
||||
bg: #989898,
|
||||
fg-bold: #ffffff,
|
||||
fg: mix(#989898, #ffffff, 25%),
|
||||
fg-light: mix(#989898, #ffffff, 40%)
|
||||
),
|
||||
|
||||
header: (
|
||||
bg: #4acaa8,
|
||||
fg-bold: #ffffff,
|
||||
fg: mix(#4acaa8, #ffffff, 25%),
|
||||
fg-light: mix(#4acaa8, #ffffff, 40%),
|
||||
border: mix(#4acaa8, #ffffff, 90%)
|
||||
)
|
||||
);
|
882
index.html
882
index.html
@ -1,442 +1,442 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-167417611-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'UA-167417611-1');
|
||||
</script>
|
||||
<title>Adrien CHARBONNEAU – Naturaliste écologue</title>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
|
||||
<meta name="description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné.">
|
||||
<meta name="author" content="Adrien CHARBONNEAU">
|
||||
|
||||
<meta property="og:title" content="Adrien CHARBONNEAU – Naturaliste écologue" />
|
||||
<meta property="og:image" content="https://adriencharbonneau.fr/images/CORSICA.jpg" />
|
||||
<meta property="og:url" content="https://adriencharbonneau.fr" />
|
||||
<meta property="og:description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné." />
|
||||
<meta property="og:nom_du_site" content="Adrien CHARBONNEAU – Naturaliste écologue"/>
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css" />
|
||||
<link rel="icon" type="image/png" href="images/AC_favicon.png" />
|
||||
</head>
|
||||
<body class="is-preload">
|
||||
|
||||
<!-- Header -->
|
||||
<section id="header">
|
||||
<header>
|
||||
<span class="image avatar"><img src="images/avatar.jpg" alt="" /></span>
|
||||
<h1 id="logo"><a href="#">Adrien CHARBONNEAU</a></h1>
|
||||
<p>Naturaliste écologue <br>
|
||||
et ornithologue passionné</p>
|
||||
</header>
|
||||
<nav id="nav">
|
||||
<ul id="menu">
|
||||
<li><a href="#presentation" class="active">Présentation</a>
|
||||
<li><a href="#publications">Publications</a></li>
|
||||
<li><a href="#supports">Supports de stage</a></li>
|
||||
<li><a href="#competences">Compétences professionnelles</a></li>
|
||||
<!-- <li><a href="#contact">Contact</a></li> -->
|
||||
</ul>
|
||||
</nav>
|
||||
<footer>
|
||||
<ul class="icons">
|
||||
<li><a href="https://www.linkedin.com/in/adrien-charbonneau/" target="_blank" class="icon brands fa-linkedin-in" title="Linkedin"><span class="label">Linkedin</span></a></li>
|
||||
<li><a href="https://www.researchgate.net/profile/Adrien-Charbonneau" target="_blank" class="icon brands fa-researchgate" title="ResearchGate"><span class="label">ResearchGate</span></a></li>
|
||||
<li><a href="https://git.adriencharbonneau.fr/Adrien/Site-internet" target="_blank" class="icon brands fa-git" title="Dépôt git"><span class="label">Dépôt Git</span></a></li>
|
||||
<li><a href="mailto:adrien.charbonneau@free.fr" class="icon solid fa-envelope" title="Adresse courriel"><span class="label">Email</span></a></li>
|
||||
<li><a href="docs/CV_Adrien_CHARBONNEAU.pdf" target="_blank" class="icon solid fa-address-card" title="Curriculum Vitae"><span class="label">Curriculum Vitae</span></a></li>
|
||||
</ul>
|
||||
</footer>
|
||||
</section>
|
||||
|
||||
<!-- Wrapper -->
|
||||
<div id="wrapper">
|
||||
|
||||
<!-- Main -->
|
||||
<div id="main">
|
||||
|
||||
<!-- presentation -->
|
||||
<section id="presentation">
|
||||
<div class="image main" data-position="center">
|
||||
<img src="images/banner.jpg" alt="" />
|
||||
</div>
|
||||
<div class="container">
|
||||
<header class="major">
|
||||
<h2>Présentation</h2>
|
||||
<p>Bonjour et bienvenue sur mon site !</p>
|
||||
</header>
|
||||
<blockquote>
|
||||
<b>Adrien CHARBONNEAU</b><br>
|
||||
24 ans<br>
|
||||
69100 - Villeurbanne, Rhône - France
|
||||
</blockquote>
|
||||
<p>Cette page est, comme vous l'aurez compris, complémentaire à mon Curriculum Vitae (<i>que vous pourrez retrouver ci-dessous</i>).<br>
|
||||
Elle vous présente divers liens et informations utiles à ma présentation. Vous retrouverez notamment la liste de mes <u><b>compétences professionnelles</b></u>.<br>
|
||||
<blockquote>Que fais-je en ce moment ? Pour le savoir rendez-vous ici : <a href="ACTUALITE.html" class="button alt small">- ACTUALITÉ -</a></blockquote><br>
|
||||
N’hésitez pas à me contacter, que ce soit pour une question, une compétence ou une demande de précision sur une expérience professionnelle, en utilisant mon adresse courriel ci-dessous :<br>
|
||||
<ul>
|
||||
<li><a href="mailto:adrien.charbonneau@free.fr">adrien.charbonneau@free.fr</a></li>
|
||||
</ul></p>
|
||||
<p align="center"><a href="docs/CV_Adrien_CHARBONNEAU.pdf" target="_blank" class="button">– CURRICULUM VITAE –</a></p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Gallery -->
|
||||
<div class="gallery lightbox style1 small">
|
||||
<article>
|
||||
<a href="images/galerie/fulls/ATHNOC2.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/ATHNOC2.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3 align="center">Chevêche d'Athéna</h3>
|
||||
<p>Athene noctua</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/EMBSCH.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/EMBSCH.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Bruant des roseaux</h3>
|
||||
<p>Emberiza schoeniclus</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PARCAE.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PARCAE.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Mésange bleue</h3>
|
||||
<p>Cyanistes caeruleus</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PARMAJ.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PARMAJ.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Mésange charbonnière</h3>
|
||||
<p>Parus major</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/POCHONS.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/POCHONS.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Pochons</h3>
|
||||
<p>Sac en tissu pour le transport des oiseaux</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PRUMOD.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PRUMOD.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Accenteur mouchet</h3>
|
||||
<p>Prunella modularis</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/TRAVEE.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/TRAVEE.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Travée de baguage</h3>
|
||||
<p>Zone ouverte où les filets de capture sont tendus</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PHYCOL.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PHYCOL.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Pouillot véloce</h3>
|
||||
<p>Phylloscopus collybita</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- publications -->
|
||||
<section id="publications">
|
||||
<div class="container">
|
||||
<h3>Publications</h3>
|
||||
<p>Mes différentes publications et écrits scientifiques majeurs qui ont jalonnés mon Master en Biodiversité, Écologie et Évolution.</p>
|
||||
<div class="features">
|
||||
<article>
|
||||
<a href="" class="image"><img src="images/GECKO.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>Compétition entre deux espèces de Geckos sur l’île de Porquerolles (<i>2019-2020</i>)</h4>
|
||||
<p>(<i><b>Bientôt disponible</b></i>) - La Tarente de Maurétanie (<i>Tarentola mauritanica</i>) est, sur l'île de Porquerolles (83), une espèce importée par l'homme. Le Gecko indigène de l'île et occupant la même niche écologique que cette dernière est l'Hémidactyle verruqueux (<i>Hemidactylus turcicus</i>). Il est supposé qu'une compétition réside entre les deux espèces.</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="docs/PGM.pdf" class="image"><img src="images/PGM.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>Caractérisation du territoire de reproduction de la Pie-grièche méridionale (<i>2019</i>)</h4>
|
||||
<p>La superficie du territoire de reproduction de la Pie-grièche méridionale (<i>Lanius meridionalis</i>) étant très peu connu, cette étude souhaite apporter des précisions quant à cela.</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="docs/ORTHOPTERES.pdf" class="image"><img src="images/ORTHO.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>Étude du lien entre communautés d’Orthoptères et hauteur de végétation par différentes méthodes d’échantillonnage dans la vallée de l’Ubaye (<i>2018-2019</i>)</h4>
|
||||
<p>Sujet de l'école de terrain 2018. Dans le Parc National du Mercantour, la hauteur de végétation a-t-elle une importance dans la répartition des communautés d'Orthoptères ?</p>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<!-- supports -->
|
||||
<section id="supports">
|
||||
<div class="container">
|
||||
<h3>Supports de stage</h3>
|
||||
<p>De nombreuses données et annexes sont disponible durant un stage. Elles sont regroupées par stage :</p>
|
||||
<div class="features">
|
||||
<article>
|
||||
<a href="http://adrien.charbonneau.free.fr/PRO/STAGE/ALAN/" class="image"><img src="images/ALAN.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>Support de stage de Master 2 : <b>Impact de la lumière artificielle et de la structure du paysage sur la biodiversité en période nocturne</b> (<i>2020</i>)</h4>
|
||||
<p>Il est admis que la lumière artificielle a des effets néfastes sur la biodiversité. Qu'en est-il en addition à la structure paysagère et au sein du Parc Naturel Régional des Baronnies provençales ?</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="http://adrien.charbonneau.free.fr/PRO/STAGE/PGM/" class="image"><img src="images/PGM.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>Support de stage de Master 1 : <b>Caractérisation du territoire de reproduction de la Pie-grièche méridionale</b> (<i>2019</i>)</h4>
|
||||
<p>Dans un but de mesures de gestion de la garrigue et de précision du protocole d'échantillonnage du Plan National d'Actions sur les Pie-grièches (ici la Pie-grièche méridionale), la surface du territoire de reproduction de l'espèce est une information clé.</p>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- competences -->
|
||||
<section id="competences">
|
||||
<div class="container">
|
||||
<h3>Compétences</h3>
|
||||
<p>Mes compétences sont présentées dans la liste ci-dessous, vous y trouverez les références du matériel et des ressources technologiques (<i>ex : logiciel</i>) que je maîtrise. N’hésitez pas, comme précisé précédemment, à me questionner (<i>ou demander un avis</i>) sur une compétence, méthode ou matériel utilisé, j’y répondrai avec plaisir.<br>
|
||||
<i>Dans les parties concernant le matériel, un astérisque (<b>*</b>) signifie que je possède le matériel cité. Pour les identifications acoustiques, le matériel est cité dans la section “acoustique”.</i></p>
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-feather-alt menu"><a href="#naturalistes">Naturalistes</a></li>
|
||||
<li class="icon solid fa-clipboard-check menu"><a href="#science">Méthodologie et démarche scientifique</a></li>
|
||||
<li class="icon solid fa-percentage menu"><a href="#statistiques">Analyses statistiques et Modélisation</a></li>
|
||||
<li class="icon solid fa-map-marked-alt menu"><a href="#cartographie">Analyses spatiales et Cartographie</a></li>
|
||||
<li class="icon solid fa-microphone-alt menu"><a href="#acoustique">Acoustique</a></li>
|
||||
<li class="icon solid fa-mountain menu"><a href="#interets">Autres compétences et intérêts divers</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
<div class="features">
|
||||
<article>
|
||||
<h5 id="naturalistes">Compétences naturalistes</h5>
|
||||
<a class="image comp"><img src="images/ADRIEN_CHARBONNEAU.png" alt="" /><legend>Suivi ornithologique et entomologique (odonates) dans la Tarentaise (73)</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-feather-alt">Ornithologie<p class="details">Identification visuelle, en main (<i>formation de baguage</i>) et acoustique.</p></li>
|
||||
<li class="icon solid fa-spider">Entomologie<p class="details">(<i>Lépidoptères, Odonates, Orthoptères</i>) - Identification visuelle, en main (<i>capture au filet, prospection au "drap" nocturne</i>) et acoustique.</p></li>
|
||||
<li class="icon solid fa-paw">Mammalogie<p class="details">(<i>Chiroptères, Macro/Méso/Micro-mammifères</i>) - Identification visuelle et auditive - Télémétrie / Analyse de pelote de réjection.</p></li>
|
||||
<li class="icon solid fa-frog">Herpétologie<p class="details">Identification visuelle, en main (<i>plaque à reptiles, "seau" à amphibiens</i>) et acoustique.</p></li>
|
||||
<li class="icon solid fa-tree">Botanique généraliste<p class="details">Identification des familles et utilisation des flores (<i>Flora Gallica / Flore Méd' / Flores forestières...</i>) - Détermination des habitats - Loupe de botanique, mise en herbier et photographie.</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<h5 id="science">Compétences en méthodologie et en démarche scientifique</h5>
|
||||
<a class="image comp"><img src="images/RADIOPISTAGE.png" alt="" /><legend>Radiopistage de Pie-grièche méridionale (Lanius meridionalis) dans les Garrigues de Lançon (13)</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-book">Bases théoriques de l'écologie<p class="details">
|
||||
<ul class="sublist">
|
||||
<li>Évolution</li>
|
||||
<li>Conservation</li>
|
||||
<li>Gestion de la biodiversité</li>
|
||||
<li>Bio/Éco-acoustique</li>
|
||||
<li>Paysage</li>
|
||||
</ul>
|
||||
</p></li>
|
||||
<li class="icon solid fa-clipboard-list">Mise en place de protocole / étude pilote</p></li>
|
||||
<li class="icon solid fa-map-marked-alt">Application de protocole/stratégie d'échantillonnage</li>
|
||||
<li class="icon solid fa-chart-bar">Analyse de données<p class="ref">(voir Modélisation et Cartographie ci-dessous)</p></li>
|
||||
<li class="icon solid fa-paragraph">Rédaction de rapports d'étude/articles scientifiques<p class="details">Introduction, Matériel et Méthode, Résultats, Discussion/Conclusion</p></li>
|
||||
<li class="icon solid fa-file-alt">Rédaction de rapports d'inventaires/prédiagnostics/Volet Naturel d'Étude d'Impact</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h5 id="statistiques">Compétences en analyses statistiques et en modélisation</h5>
|
||||
<a class="image comp"><img src="images/ABON-HV.png" alt="" /><legend>Représentation de l’abondance en orthoptères dans le massif du Mercantour (04) en fonction de la hauteur de végétation</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-chart-line">Modèles Linéaires<p class="details">Simples et mixtes</p></li>
|
||||
<li class="icon solid fa-percentage">Modèles Linéaires Généralisés<p class="details">Simples et mixtes - GLM/GLMM - Logiciel R</p></li>
|
||||
<li class="icon solid fa-chart-area">Species Distribution Model<p class="details">SDM - Logiciel R et Maxent</p></li>
|
||||
<li class="icon solid fa-ring">Capture-Marquage-Recapture<p class="details">CMR - Logiciel Mark</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h5 id="cartographie">Compétences en analyses spatiales et en cartographie</h5>
|
||||
<a class="image comp"><img src="images/CARTE.png" alt="" /><legend>Tirage aléatoire de positions sur le territoire de la France métropolitaine</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-layer-group">QGIS<p class="details">SAGA, GRASS, Modéleur graphique</p></li>
|
||||
<li class="icon solid fa-globe">ARCGIS (<i>bases</i>)</li>
|
||||
<li class="icon solid fa-code">R / packages<p class="details"><ul class="sublist">
|
||||
<li><b><i>Cartographie</i></b> : rgdal ; rgeos ; gridExtra ; raster ; RSAGA ; maptools ; spatstat ; cartography ; sf ; sp</li>
|
||||
<li><b><i>Acoustique</i></b> : tuneR ; seewave ; soundecology ; pumilioR</li>
|
||||
<li><b><i>Écologie du paysage</i></b> : spatialEco ; landscapemetrics ; landscapetools</li>
|
||||
<li><b><i>Domaine vital d'espèce</i></b> : adehabitatHR</li>
|
||||
</ul></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h5 id="acoustique">Compétences acoustiques et audionaturalistes</h5>
|
||||
<a class="image comp"><img src="images/AUDIOMOTH.jpg" alt="" /><legend>AudioMoth durant le stage de M2</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-microphone-alt">Prise de son<p class="details"><ul class="sublist">
|
||||
<li>Song Meter Acoustic Recorder (<i>SM4 Acoustic</i>)</li>
|
||||
<li>AudioMoth (<i>version 1.1.0 et 1.2.0</i>) <b>*</b></li>
|
||||
<li>Song Meter SM4BAT-FS Ultrasonic Recorder (<i>SM4 bat</i>)</li>
|
||||
<li>Enregistreur ZOOM H5 <b>*</b> (<i>couplé à des microphones Primo EM172 et une parabole</i>)</li>
|
||||
<li>PETTERSSON D240x</li>
|
||||
<li>Echo Meter Touch 2 Pro</li>
|
||||
<li>Magenta Bat 5 Detector <b>*</b></li>
|
||||
|
||||
</ul></p></li>
|
||||
<li class="icon solid fa-file-audio">Analyse acoustique<p class="details">Identification des espèces, calcul des indices acoustiques,...<ul class="sublist">
|
||||
<li>Audacity</li>
|
||||
<li>Syrinx</li>
|
||||
<li>Kaléidoscope</li>
|
||||
<li>Batexplorer</li>
|
||||
<li>Raven Lite</li>
|
||||
<li><b><i>R / packages</i></b> : tuneR ; seewave ; soundecology ; pumilioR</li>
|
||||
|
||||
</ul></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<p>
|
||||
<span class="image fit"><img src="images/CLAGLA.jpg" alt="" /><legend>Sonogramme partiel d’un Coucou geai (<i>Clamator glandarius</i>) en migration nocturne – © Adrien CHARBONNEAU</legend></span>
|
||||
|
||||
|
||||
</p>
|
||||
<article>
|
||||
<h5 id="interets">Les autres compétences et intérêts</h5>
|
||||
<a class="image comp"><img src="images/LAUZANIER.jpg" alt="" /><legend>Lac du Lauzanier - Mercantour (04)</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-cloud-sun-rain">Astronomie/Météorologie</li>
|
||||
<li class="icon solid fa-hiking">Randonnée<p class="details">Très bonne condition physique et très bonnes connaissances des milieux fréquentés</p></li>
|
||||
<li class="icon solid fa-server">Informatique<p class="details"><ul class="sublist">
|
||||
<li>Connaissances des systèmes d’exploitations Windows/MacOS/Distributions Linux – Maintenance de ces derniers</li>
|
||||
<li>Création de site internet : HTML / CSS / PHP</li>
|
||||
<li>Base de données MySQL</li>
|
||||
<li>Language de programmation : R, JavaScript, C++, Python, Bash (<i>shell</i>), Git (<i><a href="https://git.adriencharbonneau.fr/Adrien/Site-internet">Dépôt personnel</a> / Framagit / Github</i>)</li>
|
||||
<li>Gestion/Montage de vidéo et photographies</li>
|
||||
<li>Connaissances en sécurité informatique</li>
|
||||
</ul></p></li>
|
||||
<li class="icon solid fa-tools">Électronique et "bricolage"<p class="details"><ul class="sublist">
|
||||
<li>Utilisation et programmation de Raspberry Pi/Arduino : Récepteur ADS-B / Serveur web / Routeur wifi / Projet de station météo, d'enregistreur passif (<i>type SM4 / AudioMoth</i>) et de caméra pour nichoir.</li>
|
||||
<li>Montage d’ordinateur fixe et portable / connaissance du matériel</li>
|
||||
<li>“Touche à tout” : bricolage divers (<i>ex : nichoirs, parabole, modélisme,…</i>)</li>
|
||||
</ul></p></li>
|
||||
<li class="icon solid fa-share-alt">Communication<p class="details"><ul class="sublist">
|
||||
<li>Public : Prise de contact, oral, conférence, animation ...</li>
|
||||
<li>Réseaux sociaux : Facebook; Twitter, Instagram, Blog,...</li>
|
||||
</ul></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- contact
|
||||
<section id="contact">
|
||||
<div class="container">
|
||||
<h3>Contact</h3>
|
||||
<p>N’hésitez surtout pas à me contacter par le biais de ce formulaire ou de l'adresse courriel fournie en haut de page. J’y répondrai avec plaisir.</p>
|
||||
<form method="post" action="mailto:adrien.charbonneau@free.fr">
|
||||
<div class="row gtr-uniform">
|
||||
<div class="col-6 col-12-xsmall"><input type="text" name="prenom" id="prenom" placeholder="Prénom" /></div>
|
||||
<div class="col-6 col-12-xsmall"><input type="text" name="nom" id="nom" placeholder="Nom de famille" /></div>
|
||||
<div class="col-12"><input type="email" name="email" id="email" placeholder="Email" /></div>
|
||||
<div class="col-12"><input type="text" name="subject" id="subject" placeholder="Sujet" /></div>
|
||||
<div class="col-12"><textarea name="message" id="message" placeholder="Message" rows="6"></textarea></div>
|
||||
<div class="col-12">
|
||||
<ul class="actions">
|
||||
<li><input type="submit" class="primary" value="Envoyer le message" /></li>
|
||||
<li><input type="reset" value="Effacer" /></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
-->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<section id="footer">
|
||||
<div class="container">
|
||||
<ul class="copyright">
|
||||
<li>© Adrien CHARBONNEAU - 2021. Tous droits réservés.</li>
|
||||
<li>Inspiré de : <a href="http://html5up.net">HTML5 UP</a></li>
|
||||
<li><img style="margin-right: .5rem; vertical-align: middle;" src="images/git.png" width="25px" height="25px"><b>Version : </b><span class="git git_color1 blanc"> v1.0 </span><b> Branch : </b><span class="git git_color1 blanc"> master </span>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="assets/js/jquery.min.js"></script>
|
||||
<script src="assets/js/jquery.scrollex.min.js"></script>
|
||||
<script src="assets/js/jquery.scrolly.min.js"></script>
|
||||
<script src="assets/js/browser.min.js"></script>
|
||||
<script src="assets/js/breakpoints.min.js"></script>
|
||||
<script src="assets/js/util.js"></script>
|
||||
<script src="assets/js/main.js"></script>
|
||||
</body>
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-167417611-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'UA-167417611-1');
|
||||
</script>
|
||||
<title>Adrien CHARBONNEAU – Naturaliste écologue</title>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
|
||||
<meta name="description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné.">
|
||||
<meta name="author" content="Adrien CHARBONNEAU">
|
||||
|
||||
<meta property="og:title" content="Adrien CHARBONNEAU – Naturaliste écologue" />
|
||||
<meta property="og:image" content="https://adriencharbonneau.fr/images/CORSICA.jpg" />
|
||||
<meta property="og:url" content="https://adriencharbonneau.fr" />
|
||||
<meta property="og:description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné." />
|
||||
<meta property="og:nom_du_site" content="Adrien CHARBONNEAU – Naturaliste écologue"/>
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css" />
|
||||
<link rel="icon" type="image/png" href="images/AC_favicon.png" />
|
||||
</head>
|
||||
<body class="is-preload">
|
||||
|
||||
<!-- Header -->
|
||||
<section id="header">
|
||||
<header>
|
||||
<span class="image avatar"><img src="images/avatar.jpg" alt="" /></span>
|
||||
<h1 id="logo"><a href="#">Adrien CHARBONNEAU</a></h1>
|
||||
<p>Naturaliste écologue <br>
|
||||
et ornithologue passionné</p>
|
||||
</header>
|
||||
<nav id="nav">
|
||||
<ul id="menu">
|
||||
<li><a href="#presentation" class="active">Présentation</a>
|
||||
<li><a href="#publications">Publications</a></li>
|
||||
<li><a href="#supports">Supports de stage</a></li>
|
||||
<li><a href="#competences">Compétences professionnelles</a></li>
|
||||
<!-- <li><a href="#contact">Contact</a></li> -->
|
||||
</ul>
|
||||
</nav>
|
||||
<footer>
|
||||
<ul class="icons">
|
||||
<li><a href="https://www.linkedin.com/in/adrien-charbonneau/" target="_blank" class="icon brands fa-linkedin-in" title="Linkedin"><span class="label">Linkedin</span></a></li>
|
||||
<li><a href="https://www.researchgate.net/profile/Adrien-Charbonneau" target="_blank" class="icon brands fa-researchgate" title="ResearchGate"><span class="label">ResearchGate</span></a></li>
|
||||
<li><a href="https://git.adriencharbonneau.fr/Adrien/Site-internet" target="_blank" class="icon brands fa-git" title="Dépôt git"><span class="label">Dépôt Git</span></a></li>
|
||||
<li><a href="mailto:adrien.charbonneau@free.fr" class="icon solid fa-envelope" title="Adresse courriel"><span class="label">Email</span></a></li>
|
||||
<li><a href="docs/CV_Adrien_CHARBONNEAU.pdf" target="_blank" class="icon solid fa-address-card" title="Curriculum Vitae"><span class="label">Curriculum Vitae</span></a></li>
|
||||
</ul>
|
||||
</footer>
|
||||
</section>
|
||||
|
||||
<!-- Wrapper -->
|
||||
<div id="wrapper">
|
||||
|
||||
<!-- Main -->
|
||||
<div id="main">
|
||||
|
||||
<!-- presentation -->
|
||||
<section id="presentation">
|
||||
<div class="image main" data-position="center">
|
||||
<img src="images/banner.jpg" alt="" />
|
||||
</div>
|
||||
<div class="container">
|
||||
<header class="major">
|
||||
<h2>Présentation</h2>
|
||||
<p>Bonjour et bienvenue sur mon site !</p>
|
||||
</header>
|
||||
<blockquote>
|
||||
<b>Adrien CHARBONNEAU</b><br>
|
||||
24 ans<br>
|
||||
69100 - Villeurbanne, Rhône - France
|
||||
</blockquote>
|
||||
<p>Cette page est, comme vous l'aurez compris, complémentaire à mon Curriculum Vitae (<i>que vous pourrez retrouver ci-dessous</i>).<br>
|
||||
Elle vous présente divers liens et informations utiles à ma présentation. Vous retrouverez notamment la liste de mes <u><b>compétences professionnelles</b></u>.<br>
|
||||
<blockquote>Que fais-je en ce moment ? Pour le savoir rendez-vous ici : <a href="ACTUALITE.html" class="button alt small">- ACTUALITÉ -</a></blockquote><br>
|
||||
N’hésitez pas à me contacter, que ce soit pour une question, une compétence ou une demande de précision sur une expérience professionnelle, en utilisant mon adresse courriel ci-dessous :<br>
|
||||
<ul>
|
||||
<li><a href="mailto:adrien.charbonneau@free.fr">adrien.charbonneau@free.fr</a></li>
|
||||
</ul></p>
|
||||
<p align="center"><a href="docs/CV_Adrien_CHARBONNEAU.pdf" target="_blank" class="button">– CURRICULUM VITAE –</a></p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Gallery -->
|
||||
<div class="gallery lightbox style1 small">
|
||||
<article>
|
||||
<a href="images/galerie/fulls/ATHNOC2.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/ATHNOC2.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3 align="center">Chevêche d'Athéna</h3>
|
||||
<p>Athene noctua</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/EMBSCH.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/EMBSCH.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Bruant des roseaux</h3>
|
||||
<p>Emberiza schoeniclus</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PARCAE.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PARCAE.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Mésange bleue</h3>
|
||||
<p>Cyanistes caeruleus</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PARMAJ.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PARMAJ.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Mésange charbonnière</h3>
|
||||
<p>Parus major</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/POCHONS.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/POCHONS.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Pochons</h3>
|
||||
<p>Sac en tissu pour le transport des oiseaux</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PRUMOD.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PRUMOD.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Accenteur mouchet</h3>
|
||||
<p>Prunella modularis</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/TRAVEE.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/TRAVEE.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Travée de baguage</h3>
|
||||
<p>Zone ouverte où les filets de capture sont tendus</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PHYCOL.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PHYCOL.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Pouillot véloce</h3>
|
||||
<p>Phylloscopus collybita</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- publications -->
|
||||
<section id="publications">
|
||||
<div class="container">
|
||||
<h3>Publications</h3>
|
||||
<p>Mes différentes publications et écrits scientifiques majeurs qui ont jalonnés mon Master en Biodiversité, Écologie et Évolution.</p>
|
||||
<div class="features">
|
||||
<article>
|
||||
<a href="" class="image"><img src="images/GECKO.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>Compétition entre deux espèces de Geckos sur l’île de Porquerolles (<i>2019-2020</i>)</h4>
|
||||
<p>(<i><b>Bientôt disponible</b></i>) - La Tarente de Maurétanie (<i>Tarentola mauritanica</i>) est, sur l'île de Porquerolles (83), une espèce importée par l'homme. Le Gecko indigène de l'île et occupant la même niche écologique que cette dernière est l'Hémidactyle verruqueux (<i>Hemidactylus turcicus</i>). Il est supposé qu'une compétition réside entre les deux espèces.</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="docs/PGM.pdf" class="image"><img src="images/PGM.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>Caractérisation du territoire de reproduction de la Pie-grièche méridionale (<i>2019</i>)</h4>
|
||||
<p>La superficie du territoire de reproduction de la Pie-grièche méridionale (<i>Lanius meridionalis</i>) étant très peu connu, cette étude souhaite apporter des précisions quant à cela.</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="docs/ORTHOPTERES.pdf" class="image"><img src="images/ORTHO.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>Étude du lien entre communautés d’Orthoptères et hauteur de végétation par différentes méthodes d’échantillonnage dans la vallée de l’Ubaye (<i>2018-2019</i>)</h4>
|
||||
<p>Sujet de l'école de terrain 2018. Dans le Parc National du Mercantour, la hauteur de végétation a-t-elle une importance dans la répartition des communautés d'Orthoptères ?</p>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<!-- supports -->
|
||||
<section id="supports">
|
||||
<div class="container">
|
||||
<h3>Supports de stage</h3>
|
||||
<p>De nombreuses données et annexes sont disponible durant un stage. Elles sont regroupées par stage :</p>
|
||||
<div class="features">
|
||||
<article>
|
||||
<a href="http://adrien.charbonneau.free.fr/PRO/STAGE/ALAN/" class="image"><img src="images/ALAN.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>Support de stage de Master 2 : <b>Impact de la lumière artificielle et de la structure du paysage sur la biodiversité en période nocturne</b> (<i>2020</i>)</h4>
|
||||
<p>Il est admis que la lumière artificielle a des effets néfastes sur la biodiversité. Qu'en est-il en addition à la structure paysagère et au sein du Parc Naturel Régional des Baronnies provençales ?</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="http://adrien.charbonneau.free.fr/PRO/STAGE/PGM/" class="image"><img src="images/PGM.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>Support de stage de Master 1 : <b>Caractérisation du territoire de reproduction de la Pie-grièche méridionale</b> (<i>2019</i>)</h4>
|
||||
<p>Dans un but de mesures de gestion de la garrigue et de précision du protocole d'échantillonnage du Plan National d'Actions sur les Pie-grièches (ici la Pie-grièche méridionale), la surface du territoire de reproduction de l'espèce est une information clé.</p>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- competences -->
|
||||
<section id="competences">
|
||||
<div class="container">
|
||||
<h3>Compétences</h3>
|
||||
<p>Mes compétences sont présentées dans la liste ci-dessous, vous y trouverez les références du matériel et des ressources technologiques (<i>ex : logiciel</i>) que je maîtrise. N’hésitez pas, comme précisé précédemment, à me questionner (<i>ou demander un avis</i>) sur une compétence, méthode ou matériel utilisé, j’y répondrai avec plaisir.<br>
|
||||
<i>Dans les parties concernant le matériel, un astérisque (<b>*</b>) signifie que je possède le matériel cité. Pour les identifications acoustiques, le matériel est cité dans la section “acoustique”.</i></p>
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-feather-alt menu"><a href="#naturalistes">Naturalistes</a></li>
|
||||
<li class="icon solid fa-clipboard-check menu"><a href="#science">Méthodologie et démarche scientifique</a></li>
|
||||
<li class="icon solid fa-percentage menu"><a href="#statistiques">Analyses statistiques et Modélisation</a></li>
|
||||
<li class="icon solid fa-map-marked-alt menu"><a href="#cartographie">Analyses spatiales et Cartographie</a></li>
|
||||
<li class="icon solid fa-microphone-alt menu"><a href="#acoustique">Acoustique</a></li>
|
||||
<li class="icon solid fa-mountain menu"><a href="#interets">Autres compétences et intérêts divers</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
<div class="features">
|
||||
<article>
|
||||
<h5 id="naturalistes">Compétences naturalistes</h5>
|
||||
<a class="image comp"><img src="images/ADRIEN_CHARBONNEAU.png" alt="" /><legend>Suivi ornithologique et entomologique (odonates) dans la Tarentaise (73)</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-feather-alt">Ornithologie<p class="details">Identification visuelle, en main (<i>formation de baguage</i>) et acoustique.</p></li>
|
||||
<li class="icon solid fa-spider">Entomologie<p class="details">(<i>Lépidoptères, Odonates, Orthoptères</i>) - Identification visuelle, en main (<i>capture au filet, prospection au "drap" nocturne</i>) et acoustique.</p></li>
|
||||
<li class="icon solid fa-paw">Mammalogie<p class="details">(<i>Chiroptères, Macro/Méso/Micro-mammifères</i>) - Identification visuelle et auditive - Télémétrie / Analyse de pelote de réjection.</p></li>
|
||||
<li class="icon solid fa-frog">Herpétologie<p class="details">Identification visuelle, en main (<i>plaque à reptiles, "seau" à amphibiens</i>) et acoustique.</p></li>
|
||||
<li class="icon solid fa-tree">Botanique généraliste<p class="details">Identification des familles et utilisation des flores (<i>Flora Gallica / Flore Méd' / Flores forestières...</i>) - Détermination des habitats - Loupe de botanique, mise en herbier et photographie.</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<h5 id="science">Compétences en méthodologie et en démarche scientifique</h5>
|
||||
<a class="image comp"><img src="images/RADIOPISTAGE.png" alt="" /><legend>Radiopistage de Pie-grièche méridionale (Lanius meridionalis) dans les Garrigues de Lançon (13)</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-book">Bases théoriques de l'écologie<p class="details">
|
||||
<ul class="sublist">
|
||||
<li>Évolution</li>
|
||||
<li>Conservation</li>
|
||||
<li>Gestion de la biodiversité</li>
|
||||
<li>Bio/Éco-acoustique</li>
|
||||
<li>Paysage</li>
|
||||
</ul>
|
||||
</p></li>
|
||||
<li class="icon solid fa-clipboard-list">Mise en place de protocole / étude pilote</p></li>
|
||||
<li class="icon solid fa-map-marked-alt">Application de protocole/stratégie d'échantillonnage</li>
|
||||
<li class="icon solid fa-chart-bar">Analyse de données<p class="ref">(voir Modélisation et Cartographie ci-dessous)</p></li>
|
||||
<li class="icon solid fa-paragraph">Rédaction de rapports d'étude/articles scientifiques<p class="details">Introduction, Matériel et Méthode, Résultats, Discussion/Conclusion</p></li>
|
||||
<li class="icon solid fa-file-alt">Rédaction de rapports d'inventaires/prédiagnostics/Volet Naturel d'Étude d'Impact</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h5 id="statistiques">Compétences en analyses statistiques et en modélisation</h5>
|
||||
<a class="image comp"><img src="images/ABON-HV.png" alt="" /><legend>Représentation de l’abondance en orthoptères dans le massif du Mercantour (04) en fonction de la hauteur de végétation</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-chart-line">Modèles Linéaires<p class="details">Simples et mixtes</p></li>
|
||||
<li class="icon solid fa-percentage">Modèles Linéaires Généralisés<p class="details">Simples et mixtes - GLM/GLMM - Logiciel R</p></li>
|
||||
<li class="icon solid fa-chart-area">Species Distribution Model<p class="details">SDM - Logiciel R et Maxent</p></li>
|
||||
<li class="icon solid fa-ring">Capture-Marquage-Recapture<p class="details">CMR - Logiciel Mark</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h5 id="cartographie">Compétences en analyses spatiales et en cartographie</h5>
|
||||
<a class="image comp"><img src="images/CARTE.png" alt="" /><legend>Tirage aléatoire de positions sur le territoire de la France métropolitaine</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-layer-group">QGIS<p class="details">SAGA, GRASS, Modéleur graphique</p></li>
|
||||
<li class="icon solid fa-globe">ARCGIS (<i>bases</i>)</li>
|
||||
<li class="icon solid fa-code">R / packages<p class="details"><ul class="sublist">
|
||||
<li><b><i>Cartographie</i></b> : rgdal ; rgeos ; gridExtra ; raster ; RSAGA ; maptools ; spatstat ; cartography ; sf ; sp</li>
|
||||
<li><b><i>Acoustique</i></b> : tuneR ; seewave ; soundecology ; pumilioR</li>
|
||||
<li><b><i>Écologie du paysage</i></b> : spatialEco ; landscapemetrics ; landscapetools</li>
|
||||
<li><b><i>Domaine vital d'espèce</i></b> : adehabitatHR</li>
|
||||
</ul></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h5 id="acoustique">Compétences acoustiques et audionaturalistes</h5>
|
||||
<a class="image comp"><img src="images/AUDIOMOTH.jpg" alt="" /><legend>AudioMoth durant le stage de M2</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-microphone-alt">Prise de son<p class="details"><ul class="sublist">
|
||||
<li>Song Meter Acoustic Recorder (<i>SM4 Acoustic</i>)</li>
|
||||
<li>AudioMoth (<i>version 1.1.0 et 1.2.0</i>) <b>*</b></li>
|
||||
<li>Song Meter SM4BAT-FS Ultrasonic Recorder (<i>SM4 bat</i>)</li>
|
||||
<li>Enregistreur ZOOM H5 <b>*</b> (<i>couplé à des microphones Primo EM172 et une parabole</i>)</li>
|
||||
<li>PETTERSSON D240x</li>
|
||||
<li>Echo Meter Touch 2 Pro</li>
|
||||
<li>Magenta Bat 5 Detector <b>*</b></li>
|
||||
|
||||
</ul></p></li>
|
||||
<li class="icon solid fa-file-audio">Analyse acoustique<p class="details">Identification des espèces, calcul des indices acoustiques,...<ul class="sublist">
|
||||
<li>Audacity</li>
|
||||
<li>Syrinx</li>
|
||||
<li>Kaléidoscope</li>
|
||||
<li>Batexplorer</li>
|
||||
<li>Raven Lite</li>
|
||||
<li><b><i>R / packages</i></b> : tuneR ; seewave ; soundecology ; pumilioR</li>
|
||||
|
||||
</ul></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<p>
|
||||
<span class="image fit"><img src="images/CLAGLA.jpg" alt="" /><legend>Sonogramme partiel d’un Coucou geai (<i>Clamator glandarius</i>) en migration nocturne – © Adrien CHARBONNEAU</legend></span>
|
||||
|
||||
|
||||
</p>
|
||||
<article>
|
||||
<h5 id="interets">Les autres compétences et intérêts</h5>
|
||||
<a class="image comp"><img src="images/LAUZANIER.jpg" alt="" /><legend>Lac du Lauzanier - Mercantour (04)</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-cloud-sun-rain">Astronomie/Météorologie</li>
|
||||
<li class="icon solid fa-hiking">Randonnée<p class="details">Très bonne condition physique et très bonnes connaissances des milieux fréquentés</p></li>
|
||||
<li class="icon solid fa-server">Informatique<p class="details"><ul class="sublist">
|
||||
<li>Connaissances des systèmes d’exploitations Windows/MacOS/Distributions Linux – Maintenance de ces derniers</li>
|
||||
<li>Création de site internet : HTML / CSS / PHP</li>
|
||||
<li>Base de données MySQL</li>
|
||||
<li>Language de programmation : R, JavaScript, C++, Python, Bash (<i>shell</i>), Git (<i><a href="https://git.adriencharbonneau.fr/Adrien/Site-internet">Dépôt personnel</a> / Framagit / Github</i>)</li>
|
||||
<li>Gestion/Montage de vidéo et photographies</li>
|
||||
<li>Connaissances en sécurité informatique</li>
|
||||
</ul></p></li>
|
||||
<li class="icon solid fa-tools">Électronique et "bricolage"<p class="details"><ul class="sublist">
|
||||
<li>Utilisation et programmation de Raspberry Pi/Arduino : Récepteur ADS-B / Serveur web / Routeur wifi / Projet de station météo, d'enregistreur passif (<i>type SM4 / AudioMoth</i>) et de caméra pour nichoir.</li>
|
||||
<li>Montage d’ordinateur fixe et portable / connaissance du matériel</li>
|
||||
<li>“Touche à tout” : bricolage divers (<i>ex : nichoirs, parabole, modélisme,…</i>)</li>
|
||||
</ul></p></li>
|
||||
<li class="icon solid fa-share-alt">Communication<p class="details"><ul class="sublist">
|
||||
<li>Public : Prise de contact, oral, conférence, animation ...</li>
|
||||
<li>Réseaux sociaux : Facebook; Twitter, Instagram, Blog,...</li>
|
||||
</ul></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- contact
|
||||
<section id="contact">
|
||||
<div class="container">
|
||||
<h3>Contact</h3>
|
||||
<p>N’hésitez surtout pas à me contacter par le biais de ce formulaire ou de l'adresse courriel fournie en haut de page. J’y répondrai avec plaisir.</p>
|
||||
<form method="post" action="mailto:adrien.charbonneau@free.fr">
|
||||
<div class="row gtr-uniform">
|
||||
<div class="col-6 col-12-xsmall"><input type="text" name="prenom" id="prenom" placeholder="Prénom" /></div>
|
||||
<div class="col-6 col-12-xsmall"><input type="text" name="nom" id="nom" placeholder="Nom de famille" /></div>
|
||||
<div class="col-12"><input type="email" name="email" id="email" placeholder="Email" /></div>
|
||||
<div class="col-12"><input type="text" name="subject" id="subject" placeholder="Sujet" /></div>
|
||||
<div class="col-12"><textarea name="message" id="message" placeholder="Message" rows="6"></textarea></div>
|
||||
<div class="col-12">
|
||||
<ul class="actions">
|
||||
<li><input type="submit" class="primary" value="Envoyer le message" /></li>
|
||||
<li><input type="reset" value="Effacer" /></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
-->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<section id="footer">
|
||||
<div class="container">
|
||||
<ul class="copyright">
|
||||
<li>© Adrien CHARBONNEAU - 2021. Tous droits réservés.</li>
|
||||
<li>Inspiré de : <a href="http://html5up.net">HTML5 UP</a></li>
|
||||
<li><img style="margin-right: .5rem; vertical-align: middle;" src="images/git.png" width="25px" height="25px"><b>Version : </b><span class="git git_color1 blanc"> v1.0 </span><b> Branch : </b><span class="git git_color1 blanc"> master </span>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="assets/js/jquery.min.js"></script>
|
||||
<script src="assets/js/jquery.scrollex.min.js"></script>
|
||||
<script src="assets/js/jquery.scrolly.min.js"></script>
|
||||
<script src="assets/js/browser.min.js"></script>
|
||||
<script src="assets/js/breakpoints.min.js"></script>
|
||||
<script src="assets/js/util.js"></script>
|
||||
<script src="assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
44
sitemap.xml
44
sitemap.xml
@ -1,23 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset
|
||||
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
|
||||
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
|
||||
|
||||
<url>
|
||||
<loc>https://adriencharbonneau.fr/</loc>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://adriencharbonneau.fr/docs/CV_Adrien_CHARBONNEAU.pdf</loc>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://adriencharbonneau.fr/ACTUALITE.html</loc>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://adriencharbonneau.fr/docs/PGM.pdf</loc>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://adriencharbonneau.fr/docs/ORTHOPTERES.pdf</loc>
|
||||
</url>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset
|
||||
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
|
||||
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
|
||||
|
||||
<url>
|
||||
<loc>https://adriencharbonneau.fr/</loc>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://adriencharbonneau.fr/docs/CV_Adrien_CHARBONNEAU.pdf</loc>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://adriencharbonneau.fr/ACTUALITE.html</loc>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://adriencharbonneau.fr/docs/PGM.pdf</loc>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://adriencharbonneau.fr/docs/ORTHOPTERES.pdf</loc>
|
||||
</url>
|
||||
</urlset>
|
Loading…
Reference in New Issue
Block a user