Compare commits

..

88 Commits
v1.0 ... master

Author SHA1 Message Date
c08146134c Correction email 2024-08-18 19:36:55 +02:00
8d9d8df85e Modifications + nouveau poste 2024-07-11 19:09:36 +02:00
37d4fe3f38 Mise à jour des actualités 2024-04-07 21:04:07 +02:00
715b1c2962 Correction de la couleur de TitleBar en mode mobile 2023-12-17 09:44:34 +01:00
38e4e4442e Mises à jour diverses 2023-12-01 17:35:13 +01:00
80e1d4cac2 Modification de l'adresse des statistiques 2023-11-20 21:44:40 +01:00
f06bf79045 Modification de l'adresse du dépôt git 2023-11-20 21:43:47 +01:00
ce44bcfc7b Suppression dossier 2023-11-20 21:42:23 +01:00
c288fd65c3 Mise à jour des actualités 2023-10-19 20:53:22 +02:00
c58bee231f Correction de l'indentation 2023-10-18 19:05:33 +02:00
17836fd225 Correction de l'indentation 2023-10-18 19:04:25 +02:00
714bd53440 Alias d'adresse email 2023-08-11 16:39:36 +02:00
edd6922edf Correction de l'année dans le copyright 2023-02-23 09:40:31 +01:00
d405699aef Mise à jour de la page Actualités 2022-12-02 15:08:33 +01:00
be58f7ee3c Ajout de mastodon + réorganisation des icônes 2022-11-02 21:07:35 +01:00
ba722498ef Ajout des textes alternatifs sur les images 2022-10-24 16:49:39 +02:00
857d14c063 Obscurcir l'adresse email 2022-10-24 16:34:50 +02:00
8be665bc03 Revert "Changement de source de tailwind"
This reverts commit 171b1fd7e2.
2022-10-22 19:22:07 +02:00
6b4b5a43fb Revert "Suppression de tailwind local"
This reverts commit 28374e7c64.
2022-10-22 19:20:45 +02:00
21696a6ee3 Ajout du loading=lazy 2022-10-22 12:00:59 +02:00
171b1fd7e2 Changement de source de tailwind 2022-10-22 11:46:28 +02:00
28374e7c64 Suppression de tailwind local 2022-10-21 22:09:28 +02:00
fa31548d1c Correction de l'OG image + légende 2022-10-08 13:19:03 +02:00
cd72b4eb75 Correction de l'âge 2022-07-12 12:18:54 +02:00
79c92e475b Correction de la version/année + ajout de twitter 2022-02-24 10:23:43 +01:00
bfd18e628a Mise à jour Matomo 2021-12-24 12:34:54 +01:00
07604b7423 Mise à jour de Matomo 2021-12-24 12:31:47 +01:00
0b56f89d5b Mise à jour Matomo 2021-12-24 12:26:13 +01:00
0e7fd8bc1c Mise à jour de l'analyseur 2021-12-19 22:50:57 +01:00
baa8ba4d0f Mise à jour de 'assets/css/tailwind.css' 2021-12-17 22:01:36 +01:00
0663f009fb Update tailwind.css 2021-12-17 09:13:24 +01:00
df864de28e Mise à jour des liens PHP 2021-12-14 16:12:08 +01:00
30fcf05297 Mise à jour d'ACTUALITÉ 2021-12-14 16:07:31 +01:00
117d025460 Mise à jour du lien vers ACTUALITÉ 2021-12-14 15:57:22 +01:00
b607185102 Mise à jour de 'ACTUALITE/index.php' 2021-12-14 15:55:49 +01:00
aef8c035b2 Version automatique 2021-12-14 15:52:18 +01:00
64a3c1ed3b Mise à jour de 'backup/ACTUALITE.html' 2021-12-14 15:46:57 +01:00
1d232e8676 Mise à jour de 'backup/index.html' 2021-12-14 15:46:36 +01:00
854210e2a9 Suppression librairie SASS 2021-12-14 15:43:20 +01:00
24204cdec0 Passage au PHP 2021-12-14 15:40:53 +01:00
4ad75f4fc6 Passage à PHP 2021-12-14 15:34:55 +01:00
8f08f87772 Mise à jour de 'bckp-index.html' 2021-12-14 15:07:17 +01:00
1c832f5409 Création des fichiers php 2021-12-14 15:06:21 +01:00
ae38f37390 Mise à jour de l'actualité 2021-12-14 14:18:25 +01:00
620183ff78 Update tailwind.css 2021-12-14 08:24:11 +01:00
4f75033344 Ajout d'icônes + quelques corrections 2021-12-12 17:11:16 +01:00
3f54c0585a Mise à jour de la page d'actualité
Changement de format + traduction grands titres commentaires html + ajout d'images + suppression des fichiers RStudio + mise à jour du README
2021-12-12 16:27:57 +01:00
0a13df2f63 Mise à jour de l'actualité 2021-12-07 17:28:16 +01:00
59be2c030f Adaptation du contenu
Correction diverses, amélioration des tailles d'éléments
2021-12-07 17:16:22 +01:00
65f001a5d7 Inversion liens de bas de page + version 2021-12-04 12:04:34 +01:00
5322a9ae29 Correction des liens de bas de page 2021-12-04 12:00:46 +01:00
29e31804c8 Mise à jour du badge de version 2021-12-03 11:43:04 +01:00
085cb35c4b Corrections diverses de mises en forme
URL / colorations de boutons / séparateur dashed / Passage à la version 1.3
2021-12-03 11:37:21 +01:00
804993d718 Mise à jour de la page principale
Remonte le bouton CV afin de le mettre en valeur suite à l'ajout de la photo.
2021-12-03 11:26:57 +01:00
167eb0dd4b Update fontawesome-all.min.css 2021-12-02 14:47:37 +01:00
a2d274375a Ajout d'une photo 2021-12-02 11:55:01 +01:00
512dc21b3c Suppression de Google Analytics
Passage complet à Matomo
2021-12-02 11:48:40 +01:00
7f33a2bf7f Mise à jour de 'README.md' 2021-11-23 15:36:29 +01:00
8951cb1437 Ajout des commentaires HTML 2021-11-05 21:50:28 +01:00
fa3c8e53dd Ajout des commentaires HTML 2021-11-05 21:47:41 +01:00
3ab127e6a2 Ajout de la classe identity pour les cadres ombrés 2021-09-15 17:04:38 +02:00
5d7191b105 Mise à jour de l'actualité + README
Ajout d'éléments d'actualité + suppression de l'attribution en bas de page + ajout de l'inspiration dans le README
2021-08-31 15:43:34 +02:00
45db4db8ae Ajout de l'analyseur Matomo 2021-08-10 14:10:55 +02:00
811a2930af Merge branch 'master' of https://git.adriencharbonneau.fr/Adrien/Site-internet 2021-07-19 10:26:17 +02:00
e9c742b3b1 Modification des actualités 2021-07-19 10:26:11 +02:00
ef67acd71c Mise à jour du badge de version 2021-07-13 14:32:58 +02:00
e075c39e90 Ajout d'un badge de version
Badge permettant l’affichage de la version actuelle dans le readme.
2021-07-13 14:30:52 +02:00
62b9c3d4bc Création de la version 1.2 2021-07-13 12:08:31 +02:00
4bd4e6d5bc Mise à jour de la page actualité
Ajout des liens vers les différents projets/organismes
2021-07-12 10:55:06 +02:00
28d18bd86f Ajout des permis dans le bloc de présentation
Permis B et A 😎
2021-07-12 10:37:29 +02:00
772b35753f Mise à jour du lien vers le CV 2021-07-10 18:55:59 +02:00
7a06a5299b Mise à jour de la source d'inspiration 2021-07-10 18:54:29 +02:00
f94fa106a0 Mise à jour du sitemap 2021-07-10 18:51:59 +02:00
cd507cdb74 Intégration des informations concernant le CV 2021-07-09 22:26:29 +02:00
f5244ad5ae Suppression du CV 2021-07-09 22:24:18 +02:00
88184395e8 Ajout du lien vers le PDF compilé du git 2021-07-09 20:04:15 +02:00
b112a7c9d4 Modification de la couleur des titres 2021-05-18 12:19:38 +02:00
f55bf18f93 suppression des fichiers anciens 2021-05-18 12:17:39 +02:00
0b00b2f3d9 Ajout d'une future fonctionnalité 2021-05-12 23:40:22 +02:00
e27416d123 Merge branch 'master' of https://git.adriencharbonneau.fr/Adrien/Site-internet 2021-05-12 23:38:27 +02:00
d19a417d95 Ajout d'une future fonctionnalité 2021-05-12 23:38:10 +02:00
f9fabd2c54 Déploiement de la nouvelle version 2021-05-12 23:18:26 +02:00
d1dcfa18fa Ajout d'un lien vers le dépôt git en bas de page 2021-05-11 12:15:19 +02:00
6123c61de3 Mise à niveau de la charte des icônes 2021-05-11 11:46:27 +02:00
f1aae27099 Ajout du projet 'Site internet' 2021-05-11 10:55:04 +02:00
7c74245736 Intégration du bouton pour la documentation 2021-05-11 10:45:02 +02:00
8339b4a49b Mise à jour de la couleur primaire
Mise à jour du fichier SVG-logo GIT en bas de page, suppression du logo git en PNG et mises à jour des liens vers l'image SVG
2021-05-11 10:34:09 +02:00
989e53330f 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
2021-05-11 10:26:18 +02:00
36 changed files with 176159 additions and 4916 deletions

5
.gitignore vendored
View File

@ -1,4 +1 @@
.Rproj.user
.Rhistory
.RData
.Ruserdata
*.pptx

View File

@ -1,113 +0,0 @@
<!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>&copy; 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>

167
ACTUALITE/index.php Normal file
View File

@ -0,0 +1,167 @@
<!DOCTYPE HTML>
<!-- Vous visitez mon code ? 😇 Vous pouvez le visualiser bien plus facilement directement ici : https://git.charbonneau.fr/Adrien/Site-internet
Bonne lecture ! -->
<html>
<head>
</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/tailwind.css">
<link rel="stylesheet" href="../assets/css/main.css" />
<link rel="icon" type="image/png" href="../images/AC_favicon.png" />
<!-- Matomo : petit analyseur de visites libre et opensource -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(["setDocumentTitle", document.title]);
_paq.push(["setCookieDomain", "*.adriencharbonneau.fr"]);
_paq.push(["setDomains", ["*.adriencharbonneau.fr"]]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://stats.charbonneau.fr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
</head>
<body class="is-preload">
<?php
class Version {
public static function get() {
$tag = trim(exec('git describe --tags --abbrev=0'));
return sprintf('%s', $tag);
}
}
class DateVersion {
public static function get() {
$commitDate = new \DateTime(trim(exec('git log -n1 --pretty=%ci index.php')));
$commitDate->setTimezone(new \DateTimeZone('Europe/Paris'));
return sprintf('%s', $commitDate->format('d/m/Y à H:i:s'));
}
}
// echo 'Version du site : ' . Version::get();
?>
<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 class="container"><sup>Mise à jour de la page : <?php echo DateVersion::get(); ?></sup></div>
<div class="identity">Un peu plus de détails sur mes compétences : <a href="../" class="button small">- PRÉSENTATION -</a></div><br>
</div>
</section>
<section>
<div class="p-10 grid grid-cols-1 sm:grid-cols-1 md:grid-cols-3 lg:grid-cols-3 xl:grid-cols-3 gap-5">
<!-- Première carte -->
<div class="rounded overflow-hidden shadow-lg">
<img class="w-full" src="../images/CEN_PACA.png" alt="" loading="lazy"/>
<div class="px-6 py-4">
<div class="font-bold text-xl mb-2">PROFESSIONNEL</div>
<p class="text-gray-700 text-base">
<ul class="alt">
Chargé de mission ornithologie et gestion de sites au <a href="https://cen-paca.org/">Conservatoire despaces naturels de Provence-Alpes-Côte dAzur (CEN PACA)</a> Var (83)
</ul>
</p>
</div>
<div class="px-6 pt-4 pb-2">
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#profession</span>
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#association</span>
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#emploi</span>
</div>
</div>
<!-- Seconde carte-->
<div class="rounded overflow-hidden shadow-lg">
<img class="w-full" src="../images/BAGUAGE.jpg" alt="" loading="lazy"/>
<div class="px-6 py-4">
<div class="font-bold text-xl mb-2">NATURALISME</div>
<p class="text-gray-700 text-base">
<ul class="alt">
<li>Suivi de la migration nocturne (dépôt d'un enregistreur / analyse)</li>
<!-- <li><a href="https://oiseauxdefrance.org/news/actualite-35">Suivi des rassemblements d'Œdicnèmes criards (automne 2022)</a> Corse-du-Sud (2A)</li> -->
<!-- <li><a href="https://www.vigienature.fr/fr/suivi-hivernal-des-oiseaux-communs-shoc">SHOC (hiver 2023)</a> Drôme (26)</li> -->
<!-- <li><a href="https://www.faune-france.org/index.php?m_id=1164&a=2088#FN2088">EPOC - ODF (hiver 2022)</a> Drôme (26) et Corse-du-Sud (2A)</li> -->
<li>Baguage ornithologique (en particulier programmes <a href="https://crbpo.mnhn.fr/IMG/pdf/protocole_pheno_v1_7.pdf">PHENO</a> et <a href="https://crbpo.mnhn.fr/IMG/pdf/protocole_sejour_v1_7.pdf">SEJOUR</a> du <a href="https://crbpo.mnhn.fr/">CRBPO</a>)</li>
<li><a href="https://www.vigienature.fr/fr/observatoires/suivi-temporel-oiseaux-communs-stoc/detail-protocole-3362">STOC EPS (printemps 2024)</a></li>
<!-- <li><a href="https://oiseauxdefrance.org/get-involved/epoc-odf">EPOC - ODF (printemps 2022)</a></li> -->
</ul>
</p>
</div>
<div class="px-6 pt-4 pb-2">
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#ornithologie</span>
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#passion</span>
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#science</span>
</div>
</div>
<!-- Troisième carte -->
<div class="rounded overflow-hidden shadow-lg">
<img class="w-full" src="../images/NBM.jpg" alt="" loading="lazy"/>
<div class="px-6 py-4">
<div class="font-bold text-xl mb-2">PROJETS</div>
<p class="text-gray-700 text-base">
<ul class="alt">
<li>Construction d'un site web personnel et des services associés (serveur, applications web, etc...) - <a href="https://git.charbonneau.fr/Adrien/Site-internet"><b>accès à l'évolution du projet</b></a></li>
<li><a href="https://gitlab.com/nbm.challenge/nbm-nocturnal-bird-migration">Nocturnal Bird Migration</a></li>
<li><a href="https://laboratoireparallele.com/2020/04/17/silent%c2%b7cities-paysages-sonores-dun-monde-confine/">Silent-Cities</a></li>
</ul>
</p>
</div>
<div class="px-6 pt-4 pb-2">
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#site internet</span>
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#étude</span>
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#apprentissage</span>
</div>
</div>
</div>
</section>
<!-- Pied de page -->
<section id="footer">
<div class="container">
<ul class="copyright">
<li>&copy; Adrien CHARBONNEAU - <?php echo date("Y"); ?>. Tous droits réservés.</li>
<li><a href="../">Présentation</a></li>
<li><a href="../ACTUALITE/">Actualité</a></li>
</ul>
<ul class="copyright">
<li><a href="https://git.charbonneau.fr/Adrien/Site-internet" class="a_git"><img style="margin-right: .5rem; vertical-align: middle;" src="../images/GIT.svg" width="25px" height="25px"/><b>Version : </b><span class="git git_color1 blanc"><?php echo Version::get(); ?></span><b> Branch : </b><span class="git git_color1 blanc"> master </span></a></li>
</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>

View File

@ -1,7 +1,21 @@
# Code du site internet
Dépôt git du site internet https://adriencharbonneau.fr
Dépôt git du site internet https://www.adriencharbonneau.fr
[![Version du Site Internet](https://flat.badgen.net/badge/Site%20Internet/2.0/green?icon=git)](https://adriencharbonneau.fr/)
*Librairies utilisées :*
* Font Awesome
* Tailwind
### 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é
- **Code disponible** afin d'être réutilisé. Je m'inspire énormément sur internet ([Inspiration initiale](https://html5up.net/)), il est donc logique que ce soit réciproque.
- **automatiser** au maximum les informations (*ex : intégration automatique du CV lors d'une mise à jour*)
### Participation du lecteur (*pas implémentée pour l'instant*) :
Dans le cas où le lecteur du site internet remarquerait une anomalie, un dysfonctionnement ou toute autre information qui permettrait d'améliorer le site, ce dernier pourrait communiquer par le biais des tickets/issues.
**Attention cependant : cette fonctionnalité (créer un ticket sans inscription au préalable sur le site) est impossible actuellement, les développeurs travaillent sur le sujet**
Néanmoins n'hésitez surtout pas à faire remonter, par le moyen qu'il vous plaira, les problèmes rencontrés sur le site ! Merci par avance 😊

View File

@ -1,13 +0,0 @@
Version: 1.0
RestoreWorkspace: Default
SaveWorkspace: Default
AlwaysSaveHistory: Default
EnableCodeIndexing: Yes
UseSpacesForTab: Yes
NumSpacesForTab: 2
Encoding: UTF-8
RnwWeave: Sweave
LaTeX: pdfLaTeX

File diff suppressed because one or more lines are too long

View File

@ -19,6 +19,14 @@ section, summary, time, mark, audio, video {
font: inherit;
vertical-align: baseline;}
.identity {
box-shadow: 1px 1px 10px #aaa;
padding: 1em;
}
.a_git {
border-bottom: none;
}
.git {
font-size: 75%;
display: inline-block;
@ -29,13 +37,19 @@ section, summary, time, mark, audio, video {
}
.git_color1 {
background-color: #4aca62;
background-color: #4cae4f; /* ancien 4aca62 */
}
.blanc {
color: #fff;
}
.crop {
height: 1000px;
object-fit: cover;
object-position: 60%;
}
p.details {
color:#484848;
font-weight: 400;
@ -67,6 +81,7 @@ legend {
font-weight: 400;
line-height: 1.75em;
font-style: italic;
text-align: center;
}
body {
@ -157,7 +172,7 @@ input, select, textarea {
a:hover {
border-bottom-color: transparent;
color: #4ACA62 !important;
color: #4cae4f !important;
}
strong, b {
@ -194,6 +209,7 @@ input, select, textarea {
h3 {
font-size: 1.75em;
line-height: 1.5em;
color: #4cae4f;
}
h4 {
@ -1750,7 +1766,7 @@ input, select, textarea {
.container {
margin: 0 auto;
max-width: calc(100% - 4.5em);
width: 45em;
width: 50em;
}
.container.xsmall {
@ -1802,7 +1818,7 @@ input, select, textarea {
header p {
color: #aaa;
position: relative;
margin: 0 0 1.6875em 0;
margin: 0 0 2em 0;
}
header h2 + p {
@ -1826,7 +1842,7 @@ input, select, textarea {
}
header.major h2 {
color: #4ACA62;
color: #4cae4f;
font-size: 3.5em;
}
@ -1889,7 +1905,7 @@ input, select, textarea {
input[type="email"]:focus,
select:focus,
textarea:focus {
border-color: #4ACA62;
border-color: #4cae4f;
}
select {
@ -1994,7 +2010,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 {
@ -2219,8 +2235,8 @@ input, select, textarea {
.image.fit {
display: block;
margin: 0 0 2.25em 0;
width: 100%;
margin: auto;
width: 70%;
}
.image.fit img {
@ -2265,10 +2281,11 @@ input, select, textarea {
list-style: disc;
margin: 0 0 2.25em 0;
padding-left: 1em;
}
ul li {
padding-left: 0.5em;
padding-left: 0em;
}
ul.alt {
@ -2277,7 +2294,7 @@ input, select, textarea {
}
ul.alt li {
border-top: solid 2px #f4f4f4;
border-top: dashed 2px #f4f4f4;
padding: 0.5em 0;
}
@ -2423,17 +2440,24 @@ input, select, textarea {
ul.feature-icons li.menu {
text-decoration: none;
display: inline-block;
margin: 0 0 1.6875em 0;
margin: 0 0 2em 0;
padding: 0.35em 0 0 3.5em;
position: relative;
vertical-align: top;
width: 48%;
}
ul.feature-icons li.icon {
text-decoration: none;
margin: 0 0 2em 0;
padding: 0.35em 0 0 3.5em;
position: relative;
vertical-align: top;
}
ul.feature-icons li {
text-decoration: none;
margin: 0 0 1.6875em 0;
padding: 0.35em 0 0 3.5em;
margin: 0 0 2em 0;
position: relative;
vertical-align: top;
}
@ -2453,7 +2477,7 @@ input, select, textarea {
}
ul.feature-icons li:before {
background: #4ACA62;
background: #4cae4f;
border-radius: 100%;
color: #ffffff;
display: block;
@ -2669,7 +2693,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 +2789,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 +2898,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 {
@ -2900,7 +2924,7 @@ input, select, textarea {
}
#main > section > .container {
padding: 6em 0 4em 0;
padding: 2em 0 2em 0;
}
#main > section:first-child {
@ -2915,12 +2939,14 @@ input, select, textarea {
color: #c0c0c0;
overflow: hidden;
padding: 4em 0 2em 0;
text-align: center;
}
#footer .copyright {
line-height: 1em;
list-style: none;
padding: 0;
margin: 0 0 1em 0;
}
#footer .copyright li {
@ -3101,7 +3127,7 @@ input, select, textarea {
top: 0;
width: 100%;
z-index: 10001;
background: #222;
background: #4cae4f;
color: #fff;
min-width: 320px;
}
@ -3147,7 +3173,7 @@ input, select, textarea {
}
#titleBar .toggle:before {
background: #4ACA62;
background: #4cae4f;
color: #ffffff;
content: '\f0c9';
display: block;
@ -3268,7 +3294,7 @@ input, select, textarea {
}
#header > header .avatar {
margin: 0 auto 1.6875em auto;
margin: 0 auto 2em auto;
width: 6em;
}
@ -3583,6 +3609,10 @@ input, select, textarea {
font-size: 0.8rem;
}
.caption p {
font-style: italic;
}
.gallery.style1 article .caption a {
pointer-events: auto;
}

175460
assets/css/tailwind.css Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +0,0 @@
/* 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});

View File

@ -1,2 +0,0 @@
/* 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});

View File

@ -1,563 +0,0 @@
/*
Story by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
Note: Only needed for demo purposes. Delete for production sites.
*/
(function($) {
var $window = $(window);
// Styles.
$(
'<style>' +
'.demo-animate-all:not(.gallery), .demo-animate-all:not(.gallery) *, .demo-animate-all:not(.gallery) *:before, .demo-animate-all:not(.gallery) *:after { transition: all 0.5s ease-in-out; }' +
'.demo-controls .property .classes { display: none; }' +
'.demo-controls .property[data-requires] { display: none; }' +
'.demo-controls .property[data-requires].active { display: inline; }' +
'.demo-controls .property .tooltip { position: relative; }' +
'.demo-controls .property .tooltip:before { content: \'Click to change!\'; font-size: 0.7rem; position: absolute; bottom: 100%; left: 0; background: #47D3E5; color: #ffffff; line-height: 1; white-space: nowrap; font-weight: bold; border-radius: 0.125rem; padding: 0.325rem 0.425rem; animation: demo-controls-tooltip 1.5s forwards; animation-delay: 1s; opacity: 0; }' +
'.demo-controls .property .tooltip:after { content: \'\'; position: absolute; bottom: calc(100% - 0.25rem); left: 0.5rem; border-left: solid 0.5rem transparent; border-right: solid 0.5rem transparent; border-top: solid 0.5rem #47D3E5; width: 0.5rem; height: 0.5rem; animation: demo-controls-tooltip 1.5s forwards; animation-delay: 1s; opacity: 0; }' +
'@keyframes demo-controls-tooltip {' +
'0% { opacity: 0; transform: translateY(0); }' +
'10% { opacity: 1; transform: translateY(0.125rem); }' +
'20% { opacity: 1; transform: translateY(-0.125rem); }' +
'30% { opacity: 1; transform: translateY(0.125rem); }' +
'40% { opacity: 1; transform: translateY(-0.125rem); }' +
'50% { opacity: 1; transform: translateY(0.125rem); }' +
'60% { opacity: 1; transform: translateY(0); }' +
'90% { opacity: 1; }' +
'100% { opacity: 0; }' +
'}' +
'</style>'
).appendTo($('head'));
// Functions.
$.fn.demo_controls = function(styles, userOptions) {
var $this = $(this),
$styleProperty, $stylePropertyClasses,
$controls, $x, $y, $z,
options,
current, i, j, k, s, n, count;
// No elements?
if (this.length == 0)
return $this;
// Multiple elements?
if (this.length > 1) {
for (var i=0; i < this.length; i++)
$(this[i]).demo_controls(styles, userOptions);
return $this;
}
// Options.
options = $.extend({
target: null,
palette: true
}, userOptions);
// Controls.
if (styles) {
$controls = $(
'<span class="demo-controls">' +
'<span class="property" data-name="style">' +
'<a href="#" class="title tooltip">style</a>' +
'<span class="classes"></span>' + (options.palette ? ', ' : ' ') +
'</span>' +
(options.palette ?
'<span class="property active" data-name="scheme">' +
'<a href="#" class="title">scheme</a>' +
'<span class="classes">' +
'<span data-class="-" class="active">default</span>' +
'<span data-class="invert">invert</span>' +
'</span>, ' +
'</span>' +
'<span class="property active" data-name="color">' +
'<a href="#" class="title">color</a>' +
'<span class="classes">' +
'<span data-class="-" class="active">default</span>' +
'<span data-class="color1">color1</span>' +
'<span data-class="color2">color2</span>' +
'<span data-class="color3">color3</span>' +
'<span data-class="color4">color4</span>' +
'<span data-class="color5">color5</span>' +
'<span data-class="color6">color6</span>' +
'<span data-class="color7">color7</span>' +
'</span>, ' +
'</span>'
: '') +
'</span>'
);
}
else {
$controls = $(
'<span class="demo-controls">' +
(options.palette ?
'<span class="property active" data-name="scheme">' +
'<a href="#" class="title">scheme</a>' +
'<span class="classes">' +
'<span data-class="-" class="active">default</span>' +
'<span data-class="invert">invert</span>' +
'</span> and ' +
'</span>' +
'<span class="property active" data-name="color">' +
'<a href="#" class="title">color</a>' +
'<span class="classes">' +
'<span data-class="-" class="active">default</span>' +
'<span data-class="color1">color1</span>' +
'<span data-class="color2">color2</span>' +
'<span data-class="color3">color3</span>' +
'<span data-class="color4">color4</span>' +
'<span data-class="color5">color5</span>' +
'<span data-class="color6">color6</span>' +
'<span data-class="color7">color7</span>' +
'</span>' +
'</span>'
: '') +
'</span>'
);
}
// Target.
switch (options.target) {
case 'previous':
$this.prev().find('.demo-controls').replaceWith($controls);
break;
default:
$this.find('.demo-controls').replaceWith($controls);
break;
}
// Styles.
if (styles) {
$styleProperty = $controls.find('.property[data-name="style"]');
$stylePropertyClasses = $styleProperty.children('.classes');
for (i in styles) {
current = false;
count = Object.keys(styles[i]).length;
n = 1;
// Add to style property.
$x = $('<span data-class="' + i + '">, ' + i + '</span>')
.appendTo($stylePropertyClasses);
if ($this.hasClass(i)) {
$x.addClass('active');
current = true;
}
// Step through properties.
for (j in styles[i]) {
$x = $(
'<span class="property" data-name="' + j + '" data-requires="' + i + '">' +
(n == count ? '<span>and </span>' : '') +
'<a href="#" class="title">' + j + '</a>' +
'<span class="classes">' +
'</span>' + (n < count ? ', ' : '') +
'</span>'
).appendTo($controls);
$y = $x.children('.classes');
if (current)
$x.addClass('active');
for (k in styles[i][j]) {
$z = $('<span data-class="' + k + '">, ' + styles[i][j][k].replace('*', '') + '</span>')
.appendTo($y);
if (styles[i][j][k].substr(-1, 1) == '*')
$z.addClass('default');
if (current
&& $this.hasClass(k))
$z.addClass('active');
}
n++;
}
}
}
// Events.
$controls.on('click', 'a', function(event) {
event.preventDefault();
});
$controls.on('click', '.property.active', function(event) {
var $property = $(this);
var $classes = $property.find('.classes > *');
var $current = $classes.filter('.active');
var $next;
// Determine next.
if ($current.length == 0
|| $current.index() == $classes.length - 1)
$next = $classes.first();
else
$next = $current.next();
// Turn on animate all.
$this.addClass('demo-animate-all');
// Deactivate current.
$current.removeClass('active');
$this.removeClass($current.data('class'));
// Activate next.
$next.addClass('active');
$this.addClass($next.data('class'));
// Turn off animate all.
setTimeout(function() {
$this.removeClass('demo-animate-all');
}, 500);
});
$controls.on('click', '.property[data-name="style"]', function(event) {
var $property = $(this);
var $classes = $property.find('.classes > *');
var $current = $classes.filter('.active');
var $next;
// Determine next.
if ($current.length == 0
|| $current.index() == $classes.length - 1)
$next = $classes.first();
else
$next = $current.next();
// Turn on animate all.
$this.addClass('demo-animate-all');
// Deactivate current.
$current.removeClass('active');
$this.removeClass($current.data('class'));
$controls.find('.property[data-requires="' + $current.data('class') + '"]')
.removeClass('active');
$controls.find('.property[data-requires="' + $current.data('class') + '"] > .classes > .active').each(function() {
$(this).removeClass('active');
if ($(this).data('class') != '-')
$this.removeClass($(this).data('class'));
});
// Activate next.
$next.addClass('active');
$this.addClass($next.data('class'));
$controls.find('.property[data-requires="' + $next.data('class') + '"]')
.addClass('active');
$controls.find('.property[data-requires="' + $next.data('class') + '"] > .classes > .default').each(function() {
$(this).addClass('active');
if ($(this).data('class') != '-')
$this.addClass($(this).data('class'));
});
// Turn off animate all.
setTimeout(function() {
$this.removeClass('demo-animate-all');
}, 500);
});
};
// Elements.
// Wrappers.
$('.wrapper').demo_controls(null, {
palette: true
});
// Banner.
$('.banner').demo_controls({
style1: {
'size': {
'-': 'normal',
'fullscreen': 'fullscreen*'
},
'orientation': {
'orient-left': 'left*',
'orient-right': 'right'
},
'content alignment': {
'content-align-left': 'left*',
'content-align-center': 'center',
'content-align-right': 'right'
},
'image position': {
'image-position-left': 'left',
'image-position-center': 'center*',
'image-position-right': 'right'
}
},
style2: {
'size': {
'-': 'normal',
'fullscreen': 'fullscreen*'
},
'orientation': {
'orient-left': 'left',
'orient-center': 'center*',
'orient-right': 'right'
},
'content alignment': {
'content-align-left': 'left',
'content-align-center': 'center*',
'content-align-right': 'right'
},
'image position': {
'image-position-left': 'left',
'image-position-center': 'center*',
'image-position-right': 'right'
}
},
style3: {
'size': {
'-': 'normal',
'fullscreen': 'fullscreen*'
},
'orientation': {
'orient-left': 'left',
'orient-right': 'right*'
},
'content alignment': {
'content-align-left': 'left*',
'content-align-center': 'center',
'content-align-right': 'right'
},
'image position': {
'image-position-left': 'left',
'image-position-center': 'center*',
'image-position-right': 'right'
}
},
style4: {
'size': {
'-': 'normal',
'fullscreen': 'fullscreen*'
},
'phone type': {
'iphone': 'iphone*',
'android': 'android'
},
'orientation': {
'orient-left': 'left',
'orient-right': 'right*'
},
'content alignment': {
'content-align-left': 'left*',
'content-align-center': 'center',
'content-align-right': 'right'
},
'image position': {
'image-position-left': 'left',
'image-position-center': 'center*',
'image-position-right': 'right'
}
},
style5: {
'size': {
'-': 'normal',
'fullscreen': 'fullscreen*'
},
'content alignment': {
'content-align-left': 'left',
'content-align-center': 'center*',
'content-align-right': 'right'
},
'image position': {
'image-position-left': 'left',
'image-position-center': 'center*',
'image-position-right': 'right'
}
}
});
// Spotlight.
$('.spotlight').demo_controls({
style1: {
'orientation': {
'orient-left': 'left',
'orient-right': 'right*'
},
'content alignment': {
'content-align-left': 'left*',
'content-align-center': 'center',
'content-align-right': 'right'
},
'image position': {
'image-position-left': 'left*',
'image-position-center': 'center',
'image-position-right': 'right'
}
},
style2: {
'orientation': {
'orient-left': 'left',
'orient-right': 'right*'
},
'content alignment': {
'content-align-left': 'left*',
'content-align-center': 'center',
'content-align-right': 'right'
},
'image position': {
'image-position-left': 'left',
'image-position-center': 'center*',
'image-position-right': 'right'
}
},
style3: {
'phone type': {
'iphone': 'iphone*',
'android': 'android'
},
'orientation': {
'orient-left': 'left',
'orient-right': 'right*'
},
'content alignment': {
'content-align-left': 'left*',
'content-align-center': 'center',
'content-align-right': 'right'
},
'image position': {
'image-position-left': 'left',
'image-position-center': 'center*',
'image-position-right': 'right'
}
},
style4: {
'size': {
'-size': 'normal',
'fullscreen': 'fullscreen*',
'halfscreen': 'halfscreen'
},
'orientation': {
'orient-left': 'left*',
'orient-center': 'center',
'orient-right': 'right'
},
'content alignment': {
'content-align-left': 'left*',
'content-align-center': 'center',
'content-align-right': 'right'
},
'image position': {
'image-position-left': 'left',
'image-position-center': 'center*',
'image-position-right': 'right'
}
},
style5: {
'size': {
'-size': 'normal',
'fullscreen': 'fullscreen*',
'halfscreen': 'halfscreen'
},
'orientation': {
'orient-left': 'left*',
'orient-center': 'center',
'orient-right': 'right'
},
'content alignment': {
'content-align-left': 'left*',
'content-align-center': 'center',
'content-align-right': 'right'
},
'image position': {
'image-position-left': 'left',
'image-position-center': 'center*',
'image-position-right': 'right'
}
},
});
// Gallery.
$('.gallery').demo_controls({
style1: {
'size': {
'small': 'small',
'medium': 'medium*',
'big': 'big'
}
},
style2: {
'size': {
'small': 'small',
'medium': 'medium*',
'big': 'big'
}
},
}, {
target: 'previous',
palette: false
});
// Items.
$('.items').demo_controls({
style1: {
'size': {
'small': 'small',
'medium': 'medium*',
'big': 'big'
}
},
style2: {
'size': {
'small': 'small',
'medium': 'medium*',
'big': 'big'
}
},
style3: {
'size': {
'small': 'small',
'medium': 'medium*',
'big': 'big'
}
}
}, {
target: 'previous',
palette: false
});
})(jQuery);

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
/* 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);

View File

@ -1,2 +0,0 @@
/* 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);

View File

@ -1,341 +0,0 @@
/*
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);

View File

@ -1,587 +0,0 @@
(function($) {
/**
* Generate an indented list of links from a nav. Meant for use with panel().
* @return {jQuery} jQuery object.
*/
$.fn.navList = function() {
var $this = $(this);
$a = $this.find('a'),
b = [];
$a.each(function() {
var $this = $(this),
indent = Math.max(0, $this.parents('li').length - 1),
href = $this.attr('href'),
target = $this.attr('target');
b.push(
'<a ' +
'class="link depth-' + indent + '"' +
( (typeof target !== 'undefined' && target != '') ? ' target="' + target + '"' : '') +
( (typeof href !== 'undefined' && href != '') ? ' href="' + href + '"' : '') +
'>' +
'<span class="indent-' + indent + '"></span>' +
$this.text() +
'</a>'
);
});
return b.join('');
};
/**
* Panel-ify an element.
* @param {object} userConfig User config.
* @return {jQuery} jQuery object.
*/
$.fn.panel = function(userConfig) {
// No elements?
if (this.length == 0)
return $this;
// Multiple elements?
if (this.length > 1) {
for (var i=0; i < this.length; i++)
$(this[i]).panel(userConfig);
return $this;
}
// Vars.
var $this = $(this),
$body = $('body'),
$window = $(window),
id = $this.attr('id'),
config;
// Config.
config = $.extend({
// Delay.
delay: 0,
// Hide panel on link click.
hideOnClick: false,
// Hide panel on escape keypress.
hideOnEscape: false,
// Hide panel on swipe.
hideOnSwipe: false,
// Reset scroll position on hide.
resetScroll: false,
// Reset forms on hide.
resetForms: false,
// Side of viewport the panel will appear.
side: null,
// Target element for "class".
target: $this,
// Class to toggle.
visibleClass: 'visible'
}, userConfig);
// Expand "target" if it's not a jQuery object already.
if (typeof config.target != 'jQuery')
config.target = $(config.target);
// Panel.
// Methods.
$this._hide = function(event) {
// Already hidden? Bail.
if (!config.target.hasClass(config.visibleClass))
return;
// If an event was provided, cancel it.
if (event) {
event.preventDefault();
event.stopPropagation();
}
// Hide.
config.target.removeClass(config.visibleClass);
// Post-hide stuff.
window.setTimeout(function() {
// Reset scroll position.
if (config.resetScroll)
$this.scrollTop(0);
// Reset forms.
if (config.resetForms)
$this.find('form').each(function() {
this.reset();
});
}, config.delay);
};
// Vendor fixes.
$this
.css('-ms-overflow-style', '-ms-autohiding-scrollbar')
.css('-webkit-overflow-scrolling', 'touch');
// Hide on click.
if (config.hideOnClick) {
$this.find('a')
.css('-webkit-tap-highlight-color', 'rgba(0,0,0,0)');
$this
.on('click', 'a', function(event) {
var $a = $(this),
href = $a.attr('href'),
target = $a.attr('target');
if (!href || href == '#' || href == '' || href == '#' + id)
return;
// Cancel original event.
event.preventDefault();
event.stopPropagation();
// Hide panel.
$this._hide();
// Redirect to href.
window.setTimeout(function() {
if (target == '_blank')
window.open(href);
else
window.location.href = href;
}, config.delay + 10);
});
}
// Event: Touch stuff.
$this.on('touchstart', function(event) {
$this.touchPosX = event.originalEvent.touches[0].pageX;
$this.touchPosY = event.originalEvent.touches[0].pageY;
})
$this.on('touchmove', function(event) {
if ($this.touchPosX === null
|| $this.touchPosY === null)
return;
var diffX = $this.touchPosX - event.originalEvent.touches[0].pageX,
diffY = $this.touchPosY - event.originalEvent.touches[0].pageY,
th = $this.outerHeight(),
ts = ($this.get(0).scrollHeight - $this.scrollTop());
// Hide on swipe?
if (config.hideOnSwipe) {
var result = false,
boundary = 20,
delta = 50;
switch (config.side) {
case 'left':
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX > delta);
break;
case 'right':
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX < (-1 * delta));
break;
case 'top':
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY > delta);
break;
case 'bottom':
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY < (-1 * delta));
break;
default:
break;
}
if (result) {
$this.touchPosX = null;
$this.touchPosY = null;
$this._hide();
return false;
}
}
// Prevent vertical scrolling past the top or bottom.
if (($this.scrollTop() < 0 && diffY < 0)
|| (ts > (th - 2) && ts < (th + 2) && diffY > 0)) {
event.preventDefault();
event.stopPropagation();
}
});
// Event: Prevent certain events inside the panel from bubbling.
$this.on('click touchend touchstart touchmove', function(event) {
event.stopPropagation();
});
// Event: Hide panel if a child anchor tag pointing to its ID is clicked.
$this.on('click', 'a[href="#' + id + '"]', function(event) {
event.preventDefault();
event.stopPropagation();
config.target.removeClass(config.visibleClass);
});
// Body.
// Event: Hide panel on body click/tap.
$body.on('click touchend', function(event) {
$this._hide(event);
});
// Event: Toggle.
$body.on('click', 'a[href="#' + id + '"]', function(event) {
event.preventDefault();
event.stopPropagation();
config.target.toggleClass(config.visibleClass);
});
// Window.
// Event: Hide on ESC.
if (config.hideOnEscape)
$window.on('keydown', function(event) {
if (event.keyCode == 27)
$this._hide(event);
});
return $this;
};
/**
* Apply "placeholder" attribute polyfill to one or more forms.
* @return {jQuery} jQuery object.
*/
$.fn.placeholder = function() {
// Browser natively supports placeholders? Bail.
if (typeof (document.createElement('input')).placeholder != 'undefined')
return $(this);
// No elements?
if (this.length == 0)
return $this;
// Multiple elements?
if (this.length > 1) {
for (var i=0; i < this.length; i++)
$(this[i]).placeholder();
return $this;
}
// Vars.
var $this = $(this);
// Text, TextArea.
$this.find('input[type=text],textarea')
.each(function() {
var i = $(this);
if (i.val() == ''
|| i.val() == i.attr('placeholder'))
i
.addClass('polyfill-placeholder')
.val(i.attr('placeholder'));
})
.on('blur', function() {
var i = $(this);
if (i.attr('name').match(/-polyfill-field$/))
return;
if (i.val() == '')
i
.addClass('polyfill-placeholder')
.val(i.attr('placeholder'));
})
.on('focus', function() {
var i = $(this);
if (i.attr('name').match(/-polyfill-field$/))
return;
if (i.val() == i.attr('placeholder'))
i
.removeClass('polyfill-placeholder')
.val('');
});
// Password.
$this.find('input[type=password]')
.each(function() {
var i = $(this);
var x = $(
$('<div>')
.append(i.clone())
.remove()
.html()
.replace(/type="password"/i, 'type="text"')
.replace(/type=password/i, 'type=text')
);
if (i.attr('id') != '')
x.attr('id', i.attr('id') + '-polyfill-field');
if (i.attr('name') != '')
x.attr('name', i.attr('name') + '-polyfill-field');
x.addClass('polyfill-placeholder')
.val(x.attr('placeholder')).insertAfter(i);
if (i.val() == '')
i.hide();
else
x.hide();
i
.on('blur', function(event) {
event.preventDefault();
var x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
if (i.val() == '') {
i.hide();
x.show();
}
});
x
.on('focus', function(event) {
event.preventDefault();
var i = x.parent().find('input[name=' + x.attr('name').replace('-polyfill-field', '') + ']');
x.hide();
i
.show()
.focus();
})
.on('keypress', function(event) {
event.preventDefault();
x.val('');
});
});
// Events.
$this
.on('submit', function() {
$this.find('input[type=text],input[type=password],textarea')
.each(function(event) {
var i = $(this);
if (i.attr('name').match(/-polyfill-field$/))
i.attr('name', '');
if (i.val() == i.attr('placeholder')) {
i.removeClass('polyfill-placeholder');
i.val('');
}
});
})
.on('reset', function(event) {
event.preventDefault();
$this.find('select')
.val($('option:first').val());
$this.find('input,textarea')
.each(function() {
var i = $(this),
x;
i.removeClass('polyfill-placeholder');
switch (this.type) {
case 'submit':
case 'reset':
break;
case 'password':
i.val(i.attr('defaultValue'));
x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
if (i.val() == '') {
i.hide();
x.show();
}
else {
i.show();
x.hide();
}
break;
case 'checkbox':
case 'radio':
i.attr('checked', i.attr('defaultValue'));
break;
case 'text':
case 'textarea':
i.val(i.attr('defaultValue'));
if (i.val() == '') {
i.addClass('polyfill-placeholder');
i.val(i.attr('placeholder'));
}
break;
default:
i.val(i.attr('defaultValue'));
break;
}
});
});
return $this;
};
/**
* Moves elements to/from the first positions of their respective parents.
* @param {jQuery} $elements Elements (or selector) to move.
* @param {bool} condition If true, moves elements to the top. Otherwise, moves elements back to their original locations.
*/
$.prioritize = function($elements, condition) {
var key = '__prioritize';
// Expand $elements if it's not already a jQuery object.
if (typeof $elements != 'jQuery')
$elements = $($elements);
// Step through elements.
$elements.each(function() {
var $e = $(this), $p,
$parent = $e.parent();
// No parent? Bail.
if ($parent.length == 0)
return;
// Not moved? Move it.
if (!$e.data(key)) {
// Condition is false? Bail.
if (!condition)
return;
// Get placeholder (which will serve as our point of reference for when this element needs to move back).
$p = $e.prev();
// Couldn't find anything? Means this element's already at the top, so bail.
if ($p.length == 0)
return;
// Move element to top of parent.
$e.prependTo($parent);
// Mark element as moved.
$e.data(key, $p);
}
// Moved already?
else {
// Condition is true? Bail.
if (condition)
return;
$p = $e.data(key);
// Move element back to its original location (using our placeholder).
$e.insertAfter($p);
// Unmark element as moved.
$e.removeData(key);
}
});
};
})(jQuery);

View File

@ -1,223 +0,0 @@
// breakpoints.scss v1.0 | @ajlkn | MIT licensed */
// Vars.
/// Breakpoints.
/// @var {list}
$breakpoints: () !global;
// Mixins.
/// Sets breakpoints.
/// @param {map} $x Breakpoints.
@mixin breakpoints($x: ()) {
$breakpoints: $x !global;
}
/// Wraps @content in a @media block targeting a specific orientation.
/// @param {string} $orientation Orientation.
@mixin orientation($orientation) {
@media screen and (orientation: #{$orientation}) {
@content;
}
}
/// Wraps @content in a @media block using a given query.
/// @param {string} $query Query.
@mixin breakpoint($query: null) {
$breakpoint: null;
$op: null;
$media: null;
// Determine operator, breakpoint.
// Greater than or equal.
@if (str-slice($query, 0, 2) == '>=') {
$op: 'gte';
$breakpoint: str-slice($query, 3);
}
// Less than or equal.
@elseif (str-slice($query, 0, 2) == '<=') {
$op: 'lte';
$breakpoint: str-slice($query, 3);
}
// Greater than.
@elseif (str-slice($query, 0, 1) == '>') {
$op: 'gt';
$breakpoint: str-slice($query, 2);
}
// Less than.
@elseif (str-slice($query, 0, 1) == '<') {
$op: 'lt';
$breakpoint: str-slice($query, 2);
}
// Not.
@elseif (str-slice($query, 0, 1) == '!') {
$op: 'not';
$breakpoint: str-slice($query, 2);
}
// Equal.
@else {
$op: 'eq';
$breakpoint: $query;
}
// Build media.
@if ($breakpoint and map-has-key($breakpoints, $breakpoint)) {
$a: map-get($breakpoints, $breakpoint);
// Range.
@if (type-of($a) == 'list') {
$x: nth($a, 1);
$y: nth($a, 2);
// Max only.
@if ($x == null) {
// Greater than or equal (>= 0 / anything)
@if ($op == 'gte') {
$media: 'screen';
}
// Less than or equal (<= y)
@elseif ($op == 'lte') {
$media: 'screen and (max-width: ' + $y + ')';
}
// Greater than (> y)
@elseif ($op == 'gt') {
$media: 'screen and (min-width: ' + ($y + 1) + ')';
}
// Less than (< 0 / invalid)
@elseif ($op == 'lt') {
$media: 'screen and (max-width: -1px)';
}
// Not (> y)
@elseif ($op == 'not') {
$media: 'screen and (min-width: ' + ($y + 1) + ')';
}
// Equal (<= y)
@else {
$media: 'screen and (max-width: ' + $y + ')';
}
}
// Min only.
@else if ($y == null) {
// Greater than or equal (>= x)
@if ($op == 'gte') {
$media: 'screen and (min-width: ' + $x + ')';
}
// Less than or equal (<= inf / anything)
@elseif ($op == 'lte') {
$media: 'screen';
}
// Greater than (> inf / invalid)
@elseif ($op == 'gt') {
$media: 'screen and (max-width: -1px)';
}
// Less than (< x)
@elseif ($op == 'lt') {
$media: 'screen and (max-width: ' + ($x - 1) + ')';
}
// Not (< x)
@elseif ($op == 'not') {
$media: 'screen and (max-width: ' + ($x - 1) + ')';
}
// Equal (>= x)
@else {
$media: 'screen and (min-width: ' + $x + ')';
}
}
// Min and max.
@else {
// Greater than or equal (>= x)
@if ($op == 'gte') {
$media: 'screen and (min-width: ' + $x + ')';
}
// Less than or equal (<= y)
@elseif ($op == 'lte') {
$media: 'screen and (max-width: ' + $y + ')';
}
// Greater than (> y)
@elseif ($op == 'gt') {
$media: 'screen and (min-width: ' + ($y + 1) + ')';
}
// Less than (< x)
@elseif ($op == 'lt') {
$media: 'screen and (max-width: ' + ($x - 1) + ')';
}
// Not (< x and > y)
@elseif ($op == 'not') {
$media: 'screen and (max-width: ' + ($x - 1) + '), screen and (min-width: ' + ($y + 1) + ')';
}
// Equal (>= x and <= y)
@else {
$media: 'screen and (min-width: ' + $x + ') and (max-width: ' + $y + ')';
}
}
}
// String.
@else {
// Missing a media type? Prefix with "screen".
@if (str-slice($a, 0, 1) == '(') {
$media: 'screen and ' + $a;
}
// Otherwise, use as-is.
@else {
$media: $a;
}
}
}
// Output.
@media #{$media} {
@content;
}
}

View File

@ -1,90 +0,0 @@
/// 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...);
}

View File

@ -1,149 +0,0 @@
// 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;
}
}
}
}
}
}

View File

@ -1,78 +0,0 @@
/// 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}");
}

View File

@ -1,64 +0,0 @@
// 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%)
)
);

View File

@ -1,376 +0,0 @@
// vendor.scss v1.0 | @ajlkn | MIT licensed */
// Vars.
/// Vendor prefixes.
/// @var {list}
$vendor-prefixes: (
'-moz-',
'-webkit-',
'-ms-',
''
);
/// Properties that should be vendorized.
/// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
/// @var {list}
$vendor-properties: (
// Animation.
'animation',
'animation-delay',
'animation-direction',
'animation-duration',
'animation-fill-mode',
'animation-iteration-count',
'animation-name',
'animation-play-state',
'animation-timing-function',
// Appearance.
'appearance',
// Backdrop filter.
'backdrop-filter',
// Background image options.
'background-clip',
'background-origin',
'background-size',
// Box sizing.
'box-sizing',
// Clip path.
'clip-path',
// Filter effects.
'filter',
// Flexbox.
'align-content',
'align-items',
'align-self',
'flex',
'flex-basis',
'flex-direction',
'flex-flow',
'flex-grow',
'flex-shrink',
'flex-wrap',
'justify-content',
'order',
// Font feature.
'font-feature-settings',
'font-language-override',
'font-variant-ligatures',
// Font kerning.
'font-kerning',
// Fragmented borders and backgrounds.
'box-decoration-break',
// Grid layout.
'grid-column',
'grid-column-align',
'grid-column-end',
'grid-column-start',
'grid-row',
'grid-row-align',
'grid-row-end',
'grid-row-start',
'grid-template-columns',
'grid-template-rows',
// Hyphens.
'hyphens',
'word-break',
// Masks.
'mask',
'mask-border',
'mask-border-outset',
'mask-border-repeat',
'mask-border-slice',
'mask-border-source',
'mask-border-width',
'mask-clip',
'mask-composite',
'mask-image',
'mask-origin',
'mask-position',
'mask-repeat',
'mask-size',
// Multicolumn.
'break-after',
'break-before',
'break-inside',
'column-count',
'column-fill',
'column-gap',
'column-rule',
'column-rule-color',
'column-rule-style',
'column-rule-width',
'column-span',
'column-width',
'columns',
// Object fit.
'object-fit',
'object-position',
// Regions.
'flow-from',
'flow-into',
'region-fragment',
// Scroll snap points.
'scroll-snap-coordinate',
'scroll-snap-destination',
'scroll-snap-points-x',
'scroll-snap-points-y',
'scroll-snap-type',
// Shapes.
'shape-image-threshold',
'shape-margin',
'shape-outside',
// Tab size.
'tab-size',
// Text align last.
'text-align-last',
// Text decoration.
'text-decoration-color',
'text-decoration-line',
'text-decoration-skip',
'text-decoration-style',
// Text emphasis.
'text-emphasis',
'text-emphasis-color',
'text-emphasis-position',
'text-emphasis-style',
// Text size adjust.
'text-size-adjust',
// Text spacing.
'text-spacing',
// Transform.
'transform',
'transform-origin',
// Transform 3D.
'backface-visibility',
'perspective',
'perspective-origin',
'transform-style',
// Transition.
'transition',
'transition-delay',
'transition-duration',
'transition-property',
'transition-timing-function',
// Unicode bidi.
'unicode-bidi',
// User select.
'user-select',
// Writing mode.
'writing-mode',
);
/// Values that should be vendorized.
/// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
/// @var {list}
$vendor-values: (
// Cross fade.
'cross-fade',
// Element function.
'element',
// Filter function.
'filter',
// Flexbox.
'flex',
'inline-flex',
// Grab cursors.
'grab',
'grabbing',
// Gradients.
'linear-gradient',
'repeating-linear-gradient',
'radial-gradient',
'repeating-radial-gradient',
// Grid layout.
'grid',
'inline-grid',
// Image set.
'image-set',
// Intrinsic width.
'max-content',
'min-content',
'fit-content',
'fill',
'fill-available',
'stretch',
// Sticky position.
'sticky',
// Transform.
'transform',
// Zoom cursors.
'zoom-in',
'zoom-out',
);
// Functions.
/// 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;
}
/// Replaces a substring within another string.
/// @author Hugo Giraudel
/// @param {string} $string String.
/// @param {string} $search Substring.
/// @param {string} $replace Replacement.
/// @return {string} Updated string.
@function str-replace($string, $search, $replace: '') {
$index: str-index($string, $search);
@if $index {
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
}
@return $string;
}
/// Replaces a substring within each string in a list.
/// @param {list} $strings List of strings.
/// @param {string} $search Substring.
/// @param {string} $replace Replacement.
/// @return {list} Updated list of strings.
@function str-replace-all($strings, $search, $replace: '') {
@each $string in $strings {
$strings: set-nth($strings, index($strings, $string), str-replace($string, $search, $replace));
}
@return $strings;
}
// Mixins.
/// Wraps @content in vendorized keyframe blocks.
/// @param {string} $name Name.
@mixin keyframes($name) {
@-moz-keyframes #{$name} { @content; }
@-webkit-keyframes #{$name} { @content; }
@-ms-keyframes #{$name} { @content; }
@keyframes #{$name} { @content; }
}
/// Vendorizes a declaration's property and/or value(s).
/// @param {string} $property Property.
/// @param {mixed} $value String/list of value(s).
@mixin vendor($property, $value) {
// Determine if property should expand.
$expandProperty: index($vendor-properties, $property);
// Determine if value should expand (and if so, add '-prefix-' placeholder).
$expandValue: false;
@each $x in $value {
@each $y in $vendor-values {
@if $y == str-slice($x, 1, str-length($y)) {
$value: set-nth($value, index($value, $x), '-prefix-' + $x);
$expandValue: true;
}
}
}
// Expand property?
@if $expandProperty {
@each $vendor in $vendor-prefixes {
#{$vendor}#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
}
}
// Expand just the value?
@elseif $expandValue {
@each $vendor in $vendor-prefixes {
#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
}
}
// Neither? Treat them as a normal declaration.
@else {
#{$property}: #{$value};
}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

BIN
images/BAGUAGE-BIGUGLIA.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

BIN
images/BAGUAGE-MAIN.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 KiB

BIN
images/BAGUAGE-ROITELET.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 359 KiB

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
images/CEN_PACA.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 734 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 KiB

After

Width:  |  Height:  |  Size: 249 KiB

View File

@ -54,7 +54,7 @@
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:#4aca62;fill-opacity:1;stroke:#4aca62;stroke-width:2.59184;stroke-opacity:1"
style="fill:#4cae4f;fill-opacity:1;stroke:#4cae4f;stroke-width:2.59184;stroke-opacity:1"
d="M 103.9962,270.31995 H 97.3487 L 36.021874,209.69006 -25.304957,149.06015 v -7.22293 -7.22293 L 15.426034,93.594848 56.15702,52.575399 l 14.9935,14.837052 14.9935,14.837051 v 8.102901 8.102901 l 5.18367,4.691156 5.18368,4.69116 v 34.5881 34.5881 l -5.18368,5.18368 -5.18367,5.18367 v 8.88332 8.88331 l 7.01537,5.51829 7.01537,5.5183 6.59178,-1.55295 6.59176,-1.55294 4.53572,-5.36029 4.53571,-5.36028 v -5.84293 -5.84293 l -5.18367,-6.58997 -5.18367,-6.58998 V 143.00856 108.525 l 12.95918,12.76432 12.95918,12.76432 v 7.3428 7.34279 l 6.36178,6.36179 6.36178,6.36178 h 6.31027 6.31027 l 5.90278,-4.77978 5.90278,-4.77979 v -8.14595 -8.14596 l -4.72143,-5.21712 -4.72143,-5.21712 h -8.1103 -8.11031 l -13.5186,-13.68865 -13.51861,-13.688643 v -7.163861 -7.16386 l -6.36178,-6.361783 -6.36178,-6.36178 h -7.3339 -7.3339 L 80.87181,56.371409 66.70524,41.994317 81.38037,27.861204 96.05551,13.72809 h 7.19235 7.19235 l 60.42333,60.274601 60.42333,60.274599 v 7.69973 7.69974 l -60.32158,60.3216 -60.32159,60.32159 z"
id="path40"
inkscape:export-xdpi="9.8000002"

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -1,442 +0,0 @@
<!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>
Nhé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 dOrthoptères et hauteur de végétation par différentes méthodes déchantillonnage dans la vallée de lUbaye (<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. Nhé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é, jy 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 labondance 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 dun 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 dexploitations 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 dordinateur 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>Nhésitez surtout pas à me contacter par le biais de ce formulaire ou de l'adresse courriel fournie en haut de page. Jy 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>&copy; 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>

456
index.php Normal file
View File

@ -0,0 +1,456 @@
<!DOCTYPE HTML>
<!-- Vous visitez mon code ? 😇 Vous pouvez le visualiser bien plus facilement directement ici : https://git.charbonneau.fr/Adrien/Site-internet
Bonne lecture ! -->
<html>
<head>
<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/tailwind.css">
<link rel="stylesheet" href="assets/css/main.css" />
<link rel="icon" type="image/png" href="images/AC_favicon.png" />
<!-- Matomo : petit analyseur de visites libre et opensource -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(["setDocumentTitle", document.title]);
_paq.push(["setCookieDomain", "*.adriencharbonneau.fr"]);
_paq.push(["setDomains", ["*.adriencharbonneau.fr"]]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://stats.charbonneau.fr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
</head>
<body class="is-preload">
<?php
class Version {
public static function get() {
$tag = trim(exec('git describe --tags --abbrev=0'));
return sprintf('%s', $tag);
}
}
// echo 'Version du site : ' . Version::get();
?>
<!-- En-tête -->
<section id="header">
<header>
<span class="image avatar"><img src="images/avatar.jpg" alt="Portrait d'Adrien CHARBONNEAU"/></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="mailto:site-adrien@charbonneau.mozmail.com" class="icon solid fa-envelope" title="Adresse courriel"><span class="label">Email</span></a></li>
<li><a href="https://git.charbonneau.fr/Adrien/CV/raw/branch/master/CV_Adrien_CHARBONNEAU.pdf" target="_blank" class="icon solid fa-address-card" title="Curriculum Vitae"><span class="label">Curriculum Vitae</span></a></li>
<li><a class="icon solid fa-wrench" title="Documentation"><span class="label">Documentation du site internet</span></a></li>
</ul>
<ul class="icons">
<li><a href="https://www.linkedin.com/in/adrien-charbonneau/" target="_blank" class="icon brands fa-linkedin" 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.charbonneau.fr/Adrien/Site-internet" target="_blank" class="icon brands fa-git-square" title="Dépôt git"><span class="label">Dépôt Git</span></a></li>
<li><a href="https://piaille.fr/web/@CharbonneauAdri" rel="me" target="_blank" class="icon brands fa-mastodon" title="Mastodon"><span class="label">Mastodon</span></a></li>
<li><a href="https://www.twitter.com/CharbonneauAdri/" target="_blank" class="icon brands fa-twitter-square" title"Twitter"><span class="label">Twitter</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="Bannière du site internet"/>
</div>
<div class="container">
<header class="major">
<h2>Présentation</h2>
<p>Bonjour et bienvenue sur mon site !</p>
</header>
<div class="identity">
<b>Adrien CHARBONNEAU</b><br>
27 ans<br>
83340 - Flassans-sur-Issole, Var (83) - France<br>
Permis B (2015) et A (2018)
<div class="px-6 pt-4 pb-2">
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#ornitho 🦅</span>
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#naturaliste 🌲</span>
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#science 🔭</span>
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#biodiversité 🏞</span>
</div>
</div><br>
<p>Cette page est, comme vous l'aurez compris, complémentaire à mon Curriculum Vitae (<i>que vous pourrez retrouver ci-dessous</i>).</p>
<p align="center"><a href="https://git.charbonneau.fr/Adrien/CV/raw/branch/master/CV_Adrien_CHARBONNEAU.pdf" target="_blank" class="button"> CURRICULUM VITAE </a></p>
<p>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>
<br>
<span class="image fit"><img src="images/CORSICA.jpg" alt="Comptage d'un rassemblement d'Œdicnèmes criards (Burhinus oedicnemus) en Corse" loading="lazy"/><legend>Comptage d'un rassemblement d'Œdicnèmes criards (<i>Burhinus oedicnemus</i>) en Corse</legend></span>
<div class="identity">Que fais-je en ce moment ? Pour le savoir rendez-vous ici : <a href="./ACTUALITE/" class="button small">- ACTUALITÉ -</a></div><br>
Nhé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:site-adrien@charbonneau.mozmail.com">site-adrien@charbonneau.mozmail.com</a></li>
</ul></p>
</div>
</section>
<!-- Galerie -->
<div class="gallery lightbox style1 small">
<article>
<a href="images/galerie/fulls/ATHNOC2.jpg" class="image">
<img src="images/galerie/thumbs/ATHNOC2.jpg" alt="Chevêche d'Athéna au baguage" loading="lazy"/>
</a>
<div class="caption">
<h3 align="center">Chevêche d'Athéna</h3>
<p>Athene noctua</p>
</div>
</article>
<article>
<a href="images/galerie/fulls/EMBSCH.jpg" class="image">
<img src="images/galerie/thumbs/EMBSCH.jpg" alt="Bruant des roseaux au baguage" loading="lazy"/>
</a>
<div class="caption">
<h3>Bruant des roseaux</h3>
<p>Emberiza schoeniclus</p>
</div>
</article>
<article>
<a href="images/galerie/fulls/PARCAE.jpg" class="image">
<img src="images/galerie/thumbs/PARCAE.jpg" alt="Mésange bleue au baguage" loading="lazy"/>
</a>
<div class="caption">
<h3>Mésange bleue</h3>
<p>Cyanistes caeruleus</p>
</div>
</article>
<article>
<a href="images/galerie/fulls/PARMAJ.jpg" class="image">
<img src="images/galerie/thumbs/PARMAJ.jpg" alt="Mésange charbonnière au baguage" loading="lazy"/>
</a>
<div class="caption">
<h3>Mésange charbonnière</h3>
<p>Parus major</p>
</div>
</article>
<article>
<a href="images/galerie/fulls/POCHONS.jpg" class="image">
<img src="images/galerie/thumbs/POCHONS.jpg" alt="Sac en tissu pour le transport des oiseaux" loading="lazy"/>
</a>
<div class="caption">
<h3>Pochons</h3>
<p>Sac en tissu pour le transport des oiseaux</p>
</div>
</article>
<article>
<a href="images/galerie/fulls/PRUMOD.jpg" class="image">
<img src="images/galerie/thumbs/PRUMOD.jpg" alt="Accenteur mouchet au baguage" loading="lazy"/>
</a>
<div class="caption">
<h3>Accenteur mouchet</h3>
<p>Prunella modularis</p>
</div>
</article>
<article>
<a href="images/galerie/fulls/TRAVEE.jpg" class="image">
<img src="images/galerie/thumbs/TRAVEE.jpg" alt="Zone ouverte où les filets de capture sont tendus<" loading="lazy"/>
</a>
<div class="caption">
<h3>Travée de baguage</h3>
<p>Zone ouverte les filets de capture sont tendus</p>
</div>
</article>
<article>
<a href="images/galerie/fulls/PHYCOL.jpg" class="image">
<img src="images/galerie/thumbs/PHYCOL.jpg" alt="Pouillot véloce au baguage" loading="lazy"/>
</a>
<div class="caption">
<h3>Pouillot véloce</h3>
<p>Phylloscopus collybita</p>
</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="Tarente de Maurétanie" loading="lazy"/></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="Pie-grièche méridionale au baguage" loading="lazy"/></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="Deux criquets lors d'une capture" loading="lazy"/></a>
<div class="inner">
<h4>Étude du lien entre communautés dOrthoptères et hauteur de végétation par différentes méthodes déchantillonnage dans la vallée de lUbaye (<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="Illustration de la pollution lumineuse" loading="lazy"/></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="Pie-grièche méridionale au baguage" loading="lazy"/></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. Nhé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é, jy 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="Portrait de Adrien CHARBONNEAU" loading="lazy"/><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>Macro/Méso/Micro-mammifères</i>) - Identification visuelle / Analyse de pelote de réjection.<br>(<i>Chiroptères</i>) - Bases d'identification visuelle et auditive - Télémétrie.</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 basique des flores (<i>Flora Gallica / Flore Méd' / Flores forestières...</i>) - 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="Action de radiopistage de Pie-grièche méridionale" loading="lazy"/><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="Graphique de l'abondance en orthoptère en fonction de la hauteur de végétation" loading="lazy"/><legend>Représentation de labondance 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="Carte de la France" loading="lazy"/><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="Enregistreur AudioMoth" class="crop" loading="lazy"/><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>Song Meter Mini Acoustic Recorder (<i>SM4 Mini 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>ChiroSurf</li>
<li>Syrinx</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="Sonogramme partiel dun Coucou geai en migration nocturne" loading="lazy"/><legend>Sonogramme partiel dun Coucou geai (<i>Clamator glandarius</i>) en migration nocturne</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="Lac du Lauzanier" class="crop" loading="lazy"/><legend>Lac du Lauzanier - Mercantour (04)</legend></a>
<div class="inner comp">
<ul class="feature-icons">
<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-cloud-sun-rain">Astronomie/Météorologie</li>
<li class="icon solid fa-server">Informatique<p class="details"><ul class="sublist">
<li>Connaissances des systèmes dexploitations 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>Programmation et versionning : R, JavaScript, Python, PowerShell/Bash (<i>shell</i>), Git (<i><a href="https://git.charbonneau.fr/Adrien/Site-internet">Dépôt personnel</a> / <a href="https://github.com/Adri-Charbonneau/">Github</a></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 dordinateur 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>Nhésitez surtout pas à me contacter par le biais de ce formulaire ou de l'adresse courriel fournie en haut de page. Jy répondrai avec plaisir.</p>
<form method="post" action="mailto:site-internet@adriencharbonneau.anonaddy.com">
<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>
<!-- Pied de page -->
<section id="footer">
<div class="container">
<ul class="copyright">
<li>&copy; Adrien CHARBONNEAU - <?php echo date("Y"); ?>. Tous droits réservés.</li> <li><a href="./">Présentation</a></li> <li><a href="./ACTUALITE/">Actualité</a></li>
</ul>
<ul class="copyright">
<li><a href="https://git.charbonneau.fr/Adrien/Site-internet" class="a_git"><img style="margin-right: .5rem; vertical-align: middle;" src="images/GIT.svg" width="25px" height="25px"/><b>Version : </b><span class="git git_color1 blanc"><?php echo Version::get(); ?></span><b> Branch : </b><span class="git git_color1 blanc"> master </span></a></li>
</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>

View File

@ -8,9 +8,6 @@
<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>