Merge branch 'restore-from-local-20251122130318'
This commit is contained in:
commit
3a4cf39240
10 changed files with 350 additions and 124 deletions
58
assets/i18n.js
Normal file
58
assets/i18n.js
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
// Simple client-side i18n loader using JSON files in /locales/
|
||||
(function(){
|
||||
const defaultLang = localStorage.getItem('lang') || (navigator.language && navigator.language.startsWith && navigator.language.startsWith('en') ? 'en' : 'fr');
|
||||
let current = defaultLang;
|
||||
|
||||
async function loadLocale(lang){
|
||||
try{
|
||||
const res = await fetch(`locales/${lang}.json`);
|
||||
if(!res.ok) throw new Error('locale not found');
|
||||
return await res.json();
|
||||
}catch(e){
|
||||
console.error('i18n load error', e);
|
||||
return {};
|
||||
}
|
||||
}
|
||||
|
||||
function applyTranslations(messages){
|
||||
document.querySelectorAll('[data-i18n]').forEach(el => {
|
||||
const key = el.getAttribute('data-i18n');
|
||||
const txt = messages[key];
|
||||
if(!txt) return;
|
||||
if(el.placeholder !== undefined && el.tagName.toLowerCase()==='input'){
|
||||
el.placeholder = txt;
|
||||
} else if (el.hasAttribute('data-i18n-html')) {
|
||||
el.innerHTML = txt;
|
||||
} else {
|
||||
el.textContent = txt;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async function setLang(lang){
|
||||
const messages = await loadLocale(lang);
|
||||
applyTranslations(messages);
|
||||
localStorage.setItem('lang', lang);
|
||||
current = lang;
|
||||
try{ document.documentElement.lang = lang; }catch(e){}
|
||||
document.querySelectorAll('.lang-toggle').forEach(btn => {
|
||||
btn.classList.toggle('active', btn.getAttribute('data-lang')===lang);
|
||||
});
|
||||
}
|
||||
|
||||
// init on DOMContentLoaded
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
// attach toggles
|
||||
document.querySelectorAll('.lang-toggle').forEach(btn => {
|
||||
btn.addEventListener('click', e => {
|
||||
e.preventDefault();
|
||||
const l = btn.getAttribute('data-lang');
|
||||
setLang(l);
|
||||
});
|
||||
});
|
||||
setLang(current);
|
||||
});
|
||||
|
||||
// expose for debug
|
||||
window.__i18n = { setLang };
|
||||
})();
|
||||
|
|
@ -12,11 +12,17 @@
|
|||
<div class="container">
|
||||
<a class="brand" href="../index.html">Decosse Adrien</a>
|
||||
<nav class="nav" aria-label="Main navigation">
|
||||
<a href="../index.html">Accueil</a>
|
||||
<a href="../syllabus.html">Syllabus</a>
|
||||
<a href="index.html" aria-current="page">Cours</a>
|
||||
<a href="../riichi.html">Riichi</a>
|
||||
<a href="../croco.html">Crocoloop</a>
|
||||
<a href="../index.html" data-i18n="nav.home"></a>
|
||||
<a href="../syllabus.html" data-i18n="nav.syllabus"></a>
|
||||
<a href="index.html" data-i18n="nav.cours"></a>
|
||||
<a href="../riichi.html" data-i18n="nav.riichi"></a>
|
||||
<a href="../croco.html" data-i18n="nav.croco"></a>
|
||||
<a id="cv-download" href="../Decosse_Adrien_CV.pdf" download data-i18n="nav.cv"></a>
|
||||
<span style="margin-left:12px">
|
||||
<a href="#" class="lang-toggle" data-lang="fr">FR</a>
|
||||
<span style="opacity:0.6; margin:0 6px">|</span>
|
||||
<a href="#" class="lang-toggle" data-lang="en">EN</a>
|
||||
</span>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
|
|
|
|||
16
croco.html
16
croco.html
|
|
@ -54,11 +54,17 @@
|
|||
<div class="container">
|
||||
<a class="brand" href="index.html">Decosse Adrien</a>
|
||||
<nav class="nav" aria-label="Main navigation">
|
||||
<a href="index.html">Accueil</a>
|
||||
<a href="syllabus.html">Syllabus</a>
|
||||
<a href="cours/index.html">Cours</a>
|
||||
<a href="riichi.html">Riichi</a>
|
||||
<a href="croco.html">Crocoloop</a>
|
||||
<a href="index.html" data-i18n="nav.home"></a>
|
||||
<a href="syllabus.html" data-i18n="nav.syllabus"></a>
|
||||
<a href="cours/index.html" data-i18n="nav.cours"></a>
|
||||
<a href="riichi.html" data-i18n="nav.riichi"></a>
|
||||
<a href="croco.html" data-i18n="nav.croco"></a>
|
||||
<a id="cv-download" href="Decosse_Adrien_CV.pdf" download data-i18n="nav.cv"></a>
|
||||
<span style="margin-left:12px">
|
||||
<a href="#" class="lang-toggle" data-lang="fr">FR</a>
|
||||
<span style="opacity:0.6; margin:0 6px">|</span>
|
||||
<a href="#" class="lang-toggle" data-lang="en">EN</a>
|
||||
</span>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
|
|
|
|||
84
index.html
84
index.html
|
|
@ -15,13 +15,17 @@
|
|||
<div class="container">
|
||||
<a class="brand" href="index.html">Decosse Adrien</a>
|
||||
<nav class="nav" aria-label="Main navigation">
|
||||
<a href="index.html">Accueil</a>
|
||||
<a href="syllabus.html">Syllabus</a>
|
||||
<a href="cours/index.html">Cours</a>
|
||||
<a href="riichi.html">Riichi</a>
|
||||
<a href="croco.html">Crocoloop</a>
|
||||
<!-- Lien direct pour télécharger le CV pré-généré -->
|
||||
<a id="cv-download" href="Decosse_Adrien_CV.pdf" download>CV</a>
|
||||
<a href="index.html" data-i18n="nav.home"></a>
|
||||
<a href="syllabus.html" data-i18n="nav.syllabus"></a>
|
||||
<a href="cours/index.html" data-i18n="nav.cours"></a>
|
||||
<a href="riichi.html" data-i18n="nav.riichi"></a>
|
||||
<a href="croco.html" data-i18n="nav.croco"></a>
|
||||
<a id="cv-download" href="Decosse_Adrien_CV.pdf" download data-i18n="nav.cv"></a>
|
||||
<span style="margin-left:12px">
|
||||
<a href="#" class="lang-toggle" data-lang="fr">FR</a>
|
||||
<span style="opacity:0.6; margin:0 6px">|</span>
|
||||
<a href="#" class="lang-toggle" data-lang="en">EN</a>
|
||||
</span>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
|
|
@ -29,18 +33,18 @@
|
|||
<main class="container layout">
|
||||
<aside class="profile-card">
|
||||
<a href="EasterEggs/pacman.html"><img src="Photo_Profil.jpg" alt="Photo de profil"></a>
|
||||
<h2>Adrien Decosse</h2>
|
||||
<div class="meta">Étudiant en informatique — ENS Rennes</div>
|
||||
<h2>Decosse Adrien</h2>
|
||||
<div class="meta" data-i18n="home.pres.desc"></div>
|
||||
|
||||
<ul class="contact-list">
|
||||
<li><strong>Téléphone:</strong> +33 7 66 77 28 79</li>
|
||||
<li><strong>E-mail:</strong> <a href="mailto:adrien.decosse@ens-rennes.fr">adrien.decosse@ens-rennes.fr</a></li>
|
||||
<li><strong>GitHub Pro:</strong> <a href="https://github.com/decosse-adrien">Decosse Adrien</a></li>
|
||||
<li><strong>GitHub:</strong> <a href="https://github.com/Didictateur">Didictateur</a></li>
|
||||
<li><strong data-i18n="home.pres.tel"></strong>: +33 7 66 77 28 79</li>
|
||||
<li><strong data-i18n="home.pres.mail"></strong>: <a href="mailto:adrien.decosse@ens-rennes.fr">adrien.decosse@ens-rennes.fr</a></li>
|
||||
<li><strong data-i18n="home.pres.github.pro"></strong>: <a href="https://github.com/decosse-adrien">Decosse Adrien</a></li>
|
||||
<li><strong data-i18n="home.pres.github.perso"></strong>: <a href="https://github.com/Didictateur">Didictateur</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="skills">
|
||||
<h3>Compétences</h3>
|
||||
<h3 data-i18n="home.pres.competences"></h3>
|
||||
|
||||
<ul class="skill-list">
|
||||
<li class="skill">
|
||||
|
|
@ -120,53 +124,52 @@
|
|||
</aside>
|
||||
|
||||
<section class="main-card">
|
||||
<h1>Présentation</h1>
|
||||
<h1 data-i18n="home.presentation.title"></h1>
|
||||
|
||||
<div class="section">
|
||||
<h2>Cursus scolaire</h2>
|
||||
<h2 data-i18n="home.presentation.cursus"></h2>
|
||||
<ul>
|
||||
<li><strong>Année 2022-2024:</strong>
|
||||
<p>L3 et M1 dans le cursus informatique de l'<a href="https://www.ens-rennes.fr/">ENS Rennes</a>. Les cours suivis lors de ce cursus sont présentés dans ce <a href="syllabus.html">syllabus</a>.</p>
|
||||
<li><strong data-i18n="home.presentation.années"> 2022-2024:</strong>
|
||||
<p data-i18n="home.presentation.ens" data-i18n-html></p>
|
||||
</li>
|
||||
<li><strong>Année 2019-2022:</strong>
|
||||
<p>Trois années en classe préparatoire au lycée <a href="https://lycee-champollion.fr/">Champollion</a>, dont deux fois en MP* et dans le groupe TD X-ENS.</p>
|
||||
<li><strong data-i18n="home.presentation.années"> 2019-2022:</strong>
|
||||
<p data-i18n="home.presentation.prepa" data-i18n-html></p>
|
||||
</li>
|
||||
<li><strong>Année 2019:</strong>
|
||||
<p>Après des études au collège-lycée <a href="https://www.la-favorite.org/">La Favorite</a>, j'obtiens le BAC S mention BIEN.</p>
|
||||
<li><strong data-i18n="home.presentation.année"> 2019:</strong>
|
||||
<p data-i18n="home.presentation.lycee" data-i18n-html></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h2>Expériences</h2>
|
||||
<h2 data-i18n="home.presentation.experience"></h2>
|
||||
<ul>
|
||||
<li><strong>Travaux dans une équipe de recherche:</strong>
|
||||
<p>Durant l'été 2023, j'ai effectué un stage de deux mois au sein de l'équipe <a href="https://www.inria.fr/en/elan">Elan</a> de l'Inria à Grenoble. J'ai eu la possibilité de travailler quotidiennement avec des doctorants.</p>
|
||||
<p>Durant toute l'année scolaire 2023-2024, j'ai étroitement travaillé avec l'équipe <a href="https://www.inria.fr/en/diverse">Diverse</a> de l'Inria à Rennes avec qui j'ai eu la possibilité de monter un projet.</p>
|
||||
<li><strong data-i18n="home.presentation.stage.title"></strong>
|
||||
<p data-i18n="home.presentation.stage.desc" data-i18n-html></p>
|
||||
</li>
|
||||
<li><strong>Concours:</strong>
|
||||
<p>J'ai participé aux concours généraux de mathématiques, de physique et de SVT en 2019. En 2018, j'ai été classé 25ième régional aux olympiades de mathématiques. En 2019, j'ai obtenu la deuxième place à un concours d'éloquence organisé par mon lycée.</p>
|
||||
<li><strong data-i18n="home.presentation.concours.title"></strong>
|
||||
<p data-i18n="home.presentation.concours.desc"></p>
|
||||
</li>
|
||||
<li><strong>Cours externes:</strong>
|
||||
<p>Entre 2018 et 2019, j'ai assisté à des cours de mathématiques donnés par l'<a href="https://www.ens-lyon.fr">ENS Lyon</a> le dimanche de 8h à 14h. J'ai également donné des cours bénévolement à des collégiens.</p>
|
||||
<li><strong data-i18n="home.presentation.cours.title"></strong>
|
||||
<p data-i18n="home.presentation.cours.desc" data-i18n-html></p>
|
||||
</li>
|
||||
<li><strong>Autres:</strong>
|
||||
<p>Durant le collège, j'ai obtenu le brevet d'initiation aéronautique (2016) et assisté à diverses conférences scientifiques. J'ai aussi effectué un stage d'un mois au sein de l'entreprise <a href="https://www.climb-up.fr/">Climb Up</a>.</p>
|
||||
<li><strong data-i18n="home.presentation.autres.titles"></strong>
|
||||
<p data-i18n="home.presentation.autres.desc" data-i18n-html></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h2>Intérêts culturels</h2>
|
||||
<h2 data-i18n="home.presentation.cultures.title"></h2>
|
||||
<ul>
|
||||
<li><strong>Théâtre:</strong>
|
||||
<p>J'ai grandi dans le monde du théâtre — ~10 ans d'expérience avant la prépa. À l'ENS Rennes, j'ai joué et chanté dans la comédie musicale et dans la chorale; je suis actuellement responsable de la comédie musicale et président de la chorale. <a id="easteregg" href="https://fr.wiktionary.org/wiki/feur">Quoi</a> que l'on me dise, mon auteur préféré est Samuel Beckett.</p>
|
||||
<li><strong data-i18n="home.presentation.cultures.theatre.title"></strong>
|
||||
<p data-i18n="home.presentation.cultures.theatre.desc" data-i18n-html></p>
|
||||
</li>
|
||||
<li><strong>Sport:</strong>
|
||||
<p>Pratique d'activités de haute-montagne : escalade, alpinisme, ski, etc.</p>
|
||||
<li><strong data-i18n="home.presentation.cultures.sport.title"></strong>
|
||||
<p data-i18n="home.presentation.cultures.sport.desc"></p>
|
||||
</li>
|
||||
<li><strong>Jeux indés préférés:</strong>
|
||||
<p>Outer Wilds, Undertale, Tunic, Fez, The Moonstone Equation.</p>
|
||||
<li><strong data-i18n="home.presentation.cultures.jeux.title"></strong>
|
||||
<p data-i18n="home.presentation.cultures.jeux.desc"></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
@ -176,9 +179,10 @@
|
|||
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<small class="muted">© Adrien Decosse — site personnel</small>
|
||||
<small class="muted" data-i18n="license"></small>
|
||||
</div>
|
||||
</footer>
|
||||
<script src="assets/i18n.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
|
|
|||
80
locales/en.json
Normal file
80
locales/en.json
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
{
|
||||
"license": "© Adrien Decosse — personal website",
|
||||
|
||||
"nav.home": "Home",
|
||||
"nav.syllabus": "Syllabus",
|
||||
"nav.cours": "Courses",
|
||||
"nav.riichi": "Riichi",
|
||||
"nav.croco": "Crocoloop",
|
||||
"nav.cv": "CV",
|
||||
|
||||
"lang.fr": "Français",
|
||||
"lang.en": "English",
|
||||
|
||||
"projects.title": "Projects",
|
||||
"projects.muted": "My personal projects that I have worked on so far.",
|
||||
"project.riichi.title": "Riichi",
|
||||
"project.riichi.desc": "Simulator and tools for Riichi mahjong — engines, visualisations and tests.",
|
||||
"project.prototype.title": "ChessNut",
|
||||
"project.prototype.desc": "Online, self-hostable game: a chess variant with Action cards.",
|
||||
"project.tutorial.title": "Riichi Mahjong tutorial",
|
||||
"project.tutorial.desc": "Interactive online tutorial to learn how to play Riichi Mahjong.",
|
||||
"project.chess.title": "ChessNut",
|
||||
"project.chess.desc": "Online, self-hostable game: a chess variant with Action cards.",
|
||||
|
||||
"home.pres.desc": "Computer science student - ENS Rennes",
|
||||
"home.pres.tel": "Phone",
|
||||
"home.pres.mail": "E-mail",
|
||||
"home.pres.github.pro": "GitHub pro",
|
||||
"home.pres.github.perso": "GitHub personal",
|
||||
"home.pres.competences": "Skills",
|
||||
|
||||
"home.presentation.title": "Presentation",
|
||||
|
||||
"home.presentation.cursus": "Educational background",
|
||||
"home.presentation.annees": "Years",
|
||||
"home.presentation.ens": "License 3 and Master 1 in the computer science curriculum at <a href=\"https://www.ens-rennes.fr/\">ENS Rennes</a>. The courses taken during this curriculum are presented in this <a href=\"/syllabus.html\">syllabus</a>.",
|
||||
"home.presentation.prepa": "Three years in preparatory class at the high school <a href=\"https://lycee-champollion.fr/\">Champollion</a>, including two years in MP* and in the X-ENS preparation group.",
|
||||
"home.presentation.lycee": "After studying at the middle-high school <a href=\"https://www.la-favorite.org/\">La Favorite</a>, I obtained the scientific Baccalauréat with honors.",
|
||||
|
||||
"home.presentation.experience": "Experiences",
|
||||
|
||||
"home.presentation.stage.title": "Research team work",
|
||||
"home.presentation.stage.desc": "During the summer of 2023, I completed a two-month internship within the <a href=\"https://www.inria.fr/en/elan\">Elan</a> team at Inria Grenoble. I had the opportunity to work daily with PhD students.",
|
||||
"home.presentation.concours.title": "Competitions",
|
||||
"home.presentation.concours.desc": "I participated in the general competitions of mathematics, physics and SVT in 2019. In 2018, I was ranked 25th regionally in the mathematics olympiad. In 2019, I obtained second place in a public speaking competition organized by my high school.",
|
||||
"home.presentation.cours.title": "External courses",
|
||||
"home.presentation.cours.desc": "Between 2018 and 2019, I attended mathematics courses given by the <a href=\"https://www.ens-lyon.fr\">ENS Lyon</a> on Sundays from 8am to 2pm. I also volunteered to tutor middle school students.",
|
||||
"home.presentation.autres.titles": "Others",
|
||||
"home.presentation.autres.desc": "During middle school, I obtained the aeronautical initiation certificate (2016) and attended various scientific conferences. I also completed a one-month internship at the company <a href=\"https://www.climb-up.fr/\">Climb Up</a>.",
|
||||
|
||||
"home.presentation.cultures.title": "Cultural interests",
|
||||
"home.presentation.cultures.theatre.title": "Theatre",
|
||||
"home.presentation.cultures.theatre.desc": "I grew up in the world of theatre — ~10 years of experience before preparatory class. At <a href=\"https://www.ens-rennes.fr/\">ENS Rennes</a>, I acted and sang in the musical and in the choir; I was in charge of the musical and president of the choir. No matter what anyone says, my favorite author is Samuel Beckett.",
|
||||
"home.presentation.cultures.sport.title": "Sport",
|
||||
"home.presentation.cultures.sport.desc": "Practicing high-altitude activities: climbing, mountaineering, skiing, etc.",
|
||||
"home.presentation.cultures.jeux.title": "Favorite indie games",
|
||||
"home.presentation.cultures.jeux.desc": "Outer Wilds, Undertale, Tunic, Fez, The Moonstone Equation.",
|
||||
|
||||
"syllabus.title": "My syllabus",
|
||||
|
||||
"syllabus.M2": "Master 2",
|
||||
"syllabus.M2.sem1": "First semester",
|
||||
"syllabus.M2.sem2": "Second semester",
|
||||
"syllabus.M2.sem1.desc": "",
|
||||
|
||||
"syllabus.agreg": "Agrégation preparation",
|
||||
"syllabus.agreg.desc": "<p>The syllabus is the 2025 French academic programme:</p>\n<ul>\n <li><a href='./agreg/Terminal.pdf'>High School (Terminale)</a></li>\n <li><a href='./agreg/MPI.pdf'>MPI</a></li>\n <li><a href='./agreg/Licence.pdf'>Licence</a></li>\n</ul>",
|
||||
|
||||
"syllabus.M1": "Master 1",
|
||||
"syllabus.M1.sem1": "First semester",
|
||||
"syllabus.M1.sem1.desc": "<ul>\n <li>Advanced operating systems with <a href='https://team.inria.fr/pacap/members/isabelle-puaut/'>Isabelle Puaut</a></li>\n <li>Complexity theory with <a href='https://people.irisa.fr/Francois.Schwarzentruber/'>François Schwarzentruber</a></li>\n <li>Software formal analysis and design with <a href='http://people.irisa.fr/Thomas.Genet/'>Thomas Genet</a></li>\n <li>Digital sobriety with <a href='http://www.irisa.fr/lande/ridoux/page.pro.e.html'>Olivier Ridoux</a></li>\n <li>Signal processing with <a href='https://nkeriven.github.io/'>Nicolas Keriven</a></li>\n</ul>",
|
||||
"syllabus.M1.sem2": "Second semester",
|
||||
"syllabus.M1.sem2.desc": "<ul>\n <li>Information theory and coding with <a href='http://people.rennes.inria.fr/Eric.Fabre/'>Eric Fabre</a></li>\n <li>General compiler concepts with <a href='https://people.irisa.fr/Simon.Rokicki/'>Simon Rokicki</a></li>\n <li>Machine learning with <a href='http://people.irisa.fr/Ewa.Kijak'>Ewa Kijak</a></li>\n <li>Computer graphics with <a href='https://people.irisa.fr/Marc.Christie/'>Marc Christie</a></li>\n <li>Epistemology with <a href='https://philo.univ-rennes.fr/interlocuteurs/filipe-drapeau-vieira-contim'>Filipe Drapeau-Contim</a></li>\n</ul>",
|
||||
|
||||
"syllabus.L3": "License 3",
|
||||
"syllabus.L3.sem1": "First semester",
|
||||
"syllabus.L3.sem1.desc": "<ul>\n <li>Algorithmics 1 with <a href='https://people.irisa.fr/Francois.Schwarzentruber/'>François Schwarzentruber</a></li>\n <li>System architecture 1 with <a href='https://people.irisa.fr/Steven.Derrien/wordpress'>Steven Derrien</a></li>\n <li>Network and C programming with <a href='https://people.irisa.fr/Simon.Rokicki/'>Simon Rokicki</a></li>\n <li>Language theory and computability with Gilles Lesventes</li>\n <li>Programming 1 in OCAML with <a href='http://www.lsv.fr/~baelde/'>David Baelde</a></li>\n <li>Complementary mathematics: optimization with <a href='https://bhuguet.perso.math.cnrs.fr/enseignement.html'>Baptiste Huguet</a>.</li>\n <li>Lebesgue integral</li>\n</ul>",
|
||||
"syllabus.L3.sem2": "Second semester",
|
||||
"syllabus.L3.sem2.desc": "<ul>\n <li>Algorithmics 2 with <a href='https://people.irisa.fr/Francois.Schwarzentruber/'>François Schwarzentruber</a></li>\n <li>Probability and statistics with <a href='https://people.irisa.fr/Francois.Schwarzentruber/'>François Schwarzentruber</a></li>\n <li>Complementary mathematics: algebra.</li>\n <li>System architecture 2 with <a href='https://people.irisa.fr/Simon.Rokicki/'>Simon Rokicki</a></li>\n <li>Cryptography with <a href='https://langloi227.users.greyc.fr/'>Adeline Roux-Langlois</a></li>\n <li>Image processing with <a href='http://www.emmanuelcaruyer.com'>Emmanuel Caruyer</a></li>\n <li>Logic with <a href='http://www.lsv.fr/~baelde/'>David Baelde</a></li>\n <li>Object programming with C with <a href='https://people.irisa.fr/Martin.Quinson/'>Martin Quinson</a></li>\n</ul>"
|
||||
}
|
||||
81
locales/fr.json
Normal file
81
locales/fr.json
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
{
|
||||
"license": "© Adrien Decosse — site personnel",
|
||||
|
||||
"nav.home": "Accueil",
|
||||
"nav.syllabus": "Syllabus",
|
||||
"nav.cours": "Cours",
|
||||
"nav.riichi": "Riichi",
|
||||
"nav.croco": "Crocoloop",
|
||||
"nav.cv": "CV",
|
||||
|
||||
"lang.fr": "Français",
|
||||
"lang.en": "English",
|
||||
|
||||
"projects.title": "Mes projets",
|
||||
"projects.muted": "Voici l'ensemble de mes projets perso que j'ai réalisés jusqu'à présent.",
|
||||
"project.riichi.title": "Riichi",
|
||||
"project.riichi.desc": "Simulateur et outils pour mahjong Riichi — moteurs, visualisations et tests.",
|
||||
"project.prototype.title": "ChessNut",
|
||||
"project.prototype.desc": "Jeu en ligne et autohébergeable d'une variante des échecs avec des cartes Action.",
|
||||
"project.tutorial.title": "Tuto Riichi Mahjong",
|
||||
"project.tutorial.desc": "Tutoriel en ligne interactif pour apprendre à jouer au Riichi Mahjong.",
|
||||
"project.chess.title": "ChessNut",
|
||||
"project.chess.desc": "Jeu en ligne et autohébergeable d'une variante des échecs avec des cartes Action.",
|
||||
|
||||
"home.pres.desc": "Étudiant en informatique - ENS Rennes",
|
||||
"home.pres.tel": "Téléphone",
|
||||
"home.pres.mail": "E-mail",
|
||||
"home.pres.github.pro": "GitHub pro",
|
||||
"home.pres.github.perso": "GitHub perso",
|
||||
"home.pres.competences": "Compétences",
|
||||
|
||||
"home.presentation.title": "Présentation",
|
||||
|
||||
"home.presentation.cursus": "Cursus scolaire",
|
||||
"home.presentation.annees": "Années",
|
||||
"home.presentation.ens": "L3 et M1 dans le cursus informatique de l'<a href=\"https://www.ens-rennes.fr/\">ENS Rennes</a>. Les cours suivis lors de ce cursus sont présentés dans ce <a href=\"/syllabus.html\">syllabus</a>.",
|
||||
"home.presentation.prepa": "Trois années en classe préparatoire au lycée <a href=\"https://lycee-champollion.fr/\">Champollion</a>, dont deux fois en MP* et dans le groupe TD X-ENS.",
|
||||
"home.presentation.lycee": "Après des études au collège-lycée <a href=\"https://www.la-favorite.org/\">La Favorite</a>, j'obtiens le BAC S mention BIEN.",
|
||||
|
||||
"home.presentation.experience": "Expériences",
|
||||
|
||||
"home.presentation.stage.title": "Travaux dans une équipe de recherche",
|
||||
"home.presentation.stage.desc": "Durant l'été 2023, j'ai effectué un stage de deux mois au sein de l'équipe <a href=\"https://www.inria.fr/en/elan\">Elan</a> de l'Inria à Grenoble. J'ai eu la possibilité de travailler quotidiennement avec des doctorants.",
|
||||
"home.presentation.concours.title": "Concours",
|
||||
"home.presentation.concours.desc": "J'ai participé aux concours généraux de mathématiques, de physique et de SVT en 2019. En 2018, j'ai été classé 25ième régional aux olympiades de mathématiques. En 2019, j'ai obtenu la deuxième place à un concours d'éloquence organisé par mon lycée.",
|
||||
"home.presentation.cours.title": "Cours externes",
|
||||
"home.presentation.cours.desc": "Entre 2018 et 2019, j'ai assisté à des cours de mathématiques donnés par l'<a href=\"https://www.ens-lyon.fr\">ENS Lyon</a> le dimanche de 8h à 14h. J'ai également donné des cours bénévolement à des collégiens.",
|
||||
"home.presentation.autres.titles": "Autres",
|
||||
"home.presentation.autres.desc": "Durant le collège, j'ai obtenu le brevet d'initiation aéronautique (2016) et assisté à diverses conférences scientifiques. J'ai aussi effectué un stage d'un mois au sein de l'entreprise <a href=\"https://www.climb-up.fr/\">Climb Up</a>.",
|
||||
|
||||
"home.presentation.cultures.title": "Intérêts culturels",
|
||||
"home.presentation.cultures.theatre.title": "Théâtre",
|
||||
"home.presentation.cultures.theatre.desc": "J'ai grandi dans le monde du théâtre — ~10 ans d'expérience avant la prépa. À l'<a href=\"https://www.ens-rennes.fr/\">ENS Rennes</a>, j'ai joué et chanté dans la comédie musicale et dans la chorale; j'ai été responsable de la comédie musicale et président de la chorale. Quoi que l'on me dise, mon auteur préféré est Samuel Beckett.",
|
||||
"home.presentation.cultures.sport.title": "Sport",
|
||||
"home.presentation.cultures.sport.desc": "Pratique d'activités de haute-montagne : escalade, alpinisme, ski, etc.",
|
||||
"home.presentation.cultures.jeux.title": "Jeux indés préférés",
|
||||
"home.presentation.cultures.jeux.desc": "Outer Wilds, Undertale, Tunic, Fez, The Moonstone Equation."
|
||||
|
||||
,"syllabus.title": "Mon syllabus",
|
||||
|
||||
"syllabus.M2": "Master 2",
|
||||
"syllabus.M2.sem1": "Premier semestre",
|
||||
"syllabus.M2.sem2": "Deuxième semestre",
|
||||
"syllabus.M2.sem1.desc": "",
|
||||
|
||||
"syllabus.agreg": "Préparation à l'agrégation",
|
||||
"syllabus.agreg.desc": "<p>Le syllabus correspond au programme académique français 2025:</p>\n<ul>\n <li><a href='./agreg/Terminal.pdf'>Lycée (Terminale)</a></li>\n <li><a href='./agreg/MPI.pdf'>MPI</a></li>\n <li><a href='./agreg/Licence.pdf'>Licence</a></li>\n</ul>",
|
||||
|
||||
"syllabus.M1": "Master 1",
|
||||
"syllabus.M1.sem1": "Premier semestre",
|
||||
"syllabus.M1.sem2": "Deuxième semestre",
|
||||
"syllabus.M1.sem1.desc": "<ul>\n <li>Systèmes d'exploitation avancés avec <a href='https://team.inria.fr/pacap/members/isabelle-puaut/'>Isabelle Puaut</a></li>\n <li>Théorie de la complexité avec <a href='https://people.irisa.fr/Francois.Schwarzentruber/'>François Schwarzentruber</a></li>\n <li>Analyse formelle et conception logicielle avec <a href='http://people.irisa.fr/Thomas.Genet/'>Thomas Genet</a></li>\n <li>Sobriété numérique avec <a href='http://www.irisa.fr/lande/ridoux/page.pro.e.html'>Olivier Ridoux</a></li>\n <li>Traitement du signal avec <a href='https://nkeriven.github.io/'>Nicolas Keriven</a>.</li>\n</ul>",
|
||||
"syllabus.M1.sem2.desc": "<ul>\n <li>Théorie de l'information et codage avec <a href='http://people.rennes.inria.fr/Eric.Fabre/'>Eric Fabre</a></li>\n <li>Concepts généraux de compilateurs avec <a href='https://people.irisa.fr/Simon.Rokicki/'>Simon Rokicki</a></li>\n <li>Apprentissage automatique avec <a href='http://people.irisa.fr/Ewa.Kijak'>Ewa Kijak</a></li>\n <li>Graphismes informatiques avec <a href='https://people.irisa.fr/Marc.Christie/'>Marc Christie</a></li>\n <li>Épistémologie avec <a href='https://philo.univ-rennes.fr/interlocuteurs/filipe-drapeau-vieira-contim'>Filipe Drapeau-Contim</a></li>\n</ul>",
|
||||
|
||||
"syllabus.L3": "Licence 3",
|
||||
"syllabus.L3.sem1": "Premier semestre",
|
||||
"syllabus.L3.sem2": "Deuxième semestre",
|
||||
"syllabus.L3.sem1.desc": "<ul>\n <li>Algorithmique 1 avec <a href='https://people.irisa.fr/Francois.Schwarzentruber/'>François Schwarzentruber</a></li>\n <li>Architecture des systèmes 1 avec <a href='https://people.irisa.fr/Steven.Derrien/wordpress'>Steven Derrien</a></li>\n <li>Réseaux et programmation en C avec <a href='https://people.irisa.fr/Simon.Rokicki/'>Simon Rokicki</a></li>\n <li>Théorie des langages et calculabilité avec Gilles Lesventes</li>\n <li>Programmation 1 en OCaml avec <a href='http://www.lsv.fr/~baelde/'>David Baelde</a></li>\n <li>Mathématiques complémentaires : optimisation avec <a href='https://bhuguet.perso.math.cnrs.fr/enseignement.html'>Baptiste Huguet</a>.</li>\n <li>Intégrale de Lebesgue</li>\n</ul>",
|
||||
"syllabus.L3.sem2.desc": "<ul>\n <li>Algorithmique 2 avec <a href='https://people.irisa.fr/Francois.Schwarzentruber/'>François Schwarzentruber</a></li>\n <li>Probabilités et statistiques avec <a href='https://people.irisa.fr/Francois.Schwarzentruber/'>François Schwarzentruber</a></li>\n <li>Mathématiques complémentaires : algèbre.</li>\n <li>Architecture des systèmes 2 avec <a href='https://people.irisa.fr/Simon.Rokicki/'>Simon Rokicki</a></li>\n <li>Cryptographie avec <a href='https://langloi227.users.greyc.fr/'>Adeline Roux-Langlois</a></li>\n <li>Traitement d'images avec <a href='http://www.emmanuelcaruyer.com'>Emmanuel Caruyer</a></li>\n <li>Logique avec <a href='http://www.lsv.fr/~baelde/'>David Baelde</a></li>\n <li>Programmation orientée objets en C avec <a href='https://people.irisa.fr/Martin.Quinson/'>Martin Quinson</a></li>\n</ul>"
|
||||
|
||||
}
|
||||
30
projets.html
30
projets.html
|
|
@ -12,39 +12,45 @@
|
|||
<div class="container">
|
||||
<a class="brand" href="index.html">Decosse Adrien</a>
|
||||
<nav class="nav" aria-label="Main navigation">
|
||||
<a href="index.html">Accueil</a>
|
||||
<a href="syllabus.html">Syllabus</a>
|
||||
<a href="cours/index.html">Cours</a>
|
||||
<a href="riichi.html">Riichi</a>
|
||||
<a href="croco.html">Crocoloop</a>
|
||||
<a id="cv-download" href="Decosse_Adrien_CV.pdf" download>CV</a>
|
||||
<a href="index.html" data-i18n="nav.home"></a>
|
||||
<a href="syllabus.html" data-i18n="nav.syllabus"></a>
|
||||
<a href="cours/index.html" data-i18n="nav.cours"></a>
|
||||
<a href="riichi.html" data-i18n="nav.riichi"></a>
|
||||
<a href="croco.html" data-i18n="nav.croco"></a>
|
||||
<a id="cv-download" href="Decosse_Adrien_CV.pdf" download data-i18n="nav.cv"></a>
|
||||
<span style="margin-left:12px">
|
||||
<a href="#" class="lang-toggle" data-lang="fr">FR</a>
|
||||
<span style="opacity:0.6; margin:0 6px">|</span>
|
||||
<a href="#" class="lang-toggle" data-lang="en">EN</a>
|
||||
</span>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
<main class="container">
|
||||
<h1>Mes projets</h1>
|
||||
<h1 data-i18n="projects.title">Mes projets</h1>
|
||||
|
||||
<p class="muted">Voici l'ensemble de mes projets perso que j'ai réalisés jusqu'à présent.</p>
|
||||
<p class="muted" data-i18n="projects.muted">Voici l'ensemble de mes projets perso que j'ai réalisés jusqu'à présent.</p>
|
||||
|
||||
<div class="projects-grid">
|
||||
<article class="project-card">
|
||||
<a class="card-link" href="riichi/index.html" aria-label="Riichi — ouvrir">
|
||||
<img loading="lazy" class="project-thumb" src="projects/img/riichi.png" alt="Riichi — miniature">
|
||||
<h3>Tuto Riichi Mahjong</h3>
|
||||
<p class="excerpt">Tutoriel en ligne interactif pour apprendre à jouer au Riichi Mahjong</p>
|
||||
<h3 data-i18n="project.tutorial.title">Tuto Riichi Mahjong</h3>
|
||||
<p class="excerpt" data-i18n="project.tutorial.desc">Tutoriel en ligne interactif pour apprendre à jouer au Riichi Mahjong</p>
|
||||
</a>
|
||||
</article>
|
||||
|
||||
<article class="project-card">
|
||||
<a class="card-link" href="https://chessnut.cosmoris.fr" aria-label="ChessNut — ouvrir">
|
||||
<img loading="lazy" class="project-thumb" src="projects/img/chess.jpg" alt="ChessNut — miniature">
|
||||
<h3>ChessNut</h3>
|
||||
<p class="excerpt">Jeu en ligne et autohébergeable d'une variante des échecs avec des cartes Action.</p>
|
||||
<h3 data-i18n="project.chess.title">ChessNut</h3>
|
||||
<p class="excerpt" data-i18n="project.chess.desc">Jeu en ligne et autohébergeable d'une variante des échecs avec des cartes Action.</p>
|
||||
</a>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
<script src="/assets/i18n.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
16
riichi.html
16
riichi.html
|
|
@ -38,11 +38,17 @@
|
|||
<div class="container">
|
||||
<a class="brand" href="index.html">Decosse Adrien</a>
|
||||
<nav class="nav" aria-label="Main navigation">
|
||||
<a href="index.html">Accueil</a>
|
||||
<a href="syllabus.html">Syllabus</a>
|
||||
<a href="cours/index.html">Cours</a>
|
||||
<a href="riichi.html">Riichi</a>
|
||||
<a href="croco.html">Crocoloop</a>
|
||||
<a href="index.html" data-i18n="nav.home"></a>
|
||||
<a href="syllabus.html" data-i18n="nav.syllabus"></a>
|
||||
<a href="cours/index.html" data-i18n="nav.cours"></a>
|
||||
<a href="riichi.html" data-i18n="nav.riichi"></a>
|
||||
<a href="croco.html" data-i18n="nav.croco"></a>
|
||||
<a id="cv-download" href="Decosse_Adrien_CV.pdf" download data-i18n="nav.cv"></a>
|
||||
<span style="margin-left:12px">
|
||||
<a href="#" class="lang-toggle" data-lang="fr">FR</a>
|
||||
<span style="opacity:0.6; margin:0 6px">|</span>
|
||||
<a href="#" class="lang-toggle" data-lang="en">EN</a>
|
||||
</span>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
|
|
|
|||
|
|
@ -222,6 +222,10 @@ a#easteregg:active{
|
|||
|
||||
.projects-grid p{grid-column:1/-1}
|
||||
|
||||
.lang-toggle{color:var(--muted); text-decoration:none; padding:4px 6px; border-radius:6px}
|
||||
.lang-toggle.active{background:rgba(37,99,235,0.08); color:var(--accent);}
|
||||
|
||||
|
||||
@media (max-width:900px){
|
||||
.projects-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px}
|
||||
.project-card .project-thumb{height:220px}
|
||||
|
|
|
|||
|
|
@ -12,18 +12,43 @@
|
|||
<div class="container">
|
||||
<a class="brand" href="index.html">Decosse Adrien</a>
|
||||
<nav class="nav" aria-label="Main navigation">
|
||||
<a href="index.html">Accueil</a>
|
||||
<a href="syllabus.html">Syllabus</a>
|
||||
<a href="cours/index.html">Cours</a>
|
||||
<a href="riichi.html">Riichi</a>
|
||||
<a href="croco.html">Crocoloop</a>
|
||||
<a href="index.html" data-i18n="nav.home"></a>
|
||||
<a href="syllabus.html" data-i18n="nav.syllabus"></a>
|
||||
<a href="cours/index.html" data-i18n="nav.cours"></a>
|
||||
<a href="riichi.html" data-i18n="nav.riichi"></a>
|
||||
<a href="croco.html" data-i18n="nav.croco"></a>
|
||||
<a id="cv-download" href="Decosse_Adrien_CV.pdf" download data-i18n="nav.cv"></a>
|
||||
<span style="margin-left:12px">
|
||||
<a href="#" class="lang-toggle" data-lang="fr">FR</a>
|
||||
<span style="opacity:0.6; margin:0 6px">|</span>
|
||||
<a href="#" class="lang-toggle" data-lang="en">EN</a>
|
||||
</span>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main class="container">
|
||||
<section class="main-card">
|
||||
<div id="contenu-markdown" class="markdown-content"></div>
|
||||
<h1 data-i18n="syllabus.title"></h1>
|
||||
|
||||
<h2 data-i18n="syllabus.M2"></h2>
|
||||
<h3 data-i18n="syllabus.M2.sem1"></h3>
|
||||
<div data-i18n="syllabus.M2.sem1.desc"></div>
|
||||
|
||||
<h2 data-i18n="syllabus.agreg"></h2>
|
||||
<div data-i18n="syllabus.agreg.desc" data-i18n-html></div>
|
||||
|
||||
<h2 data-i18n="syllabus.M1"></h2>
|
||||
<h3 data-i18n="syllabus.M1.sem1"></h3>
|
||||
<div data-i18n="syllabus.M1.sem1.desc" data-i18n-html></div>
|
||||
<h3 data-i18n="syllabus.M1.sem2"></h3>
|
||||
<div data-i18n="syllabus.M1.sem2.desc" data-i18n-html></div>
|
||||
|
||||
<h2 data-i18n="syllabus.L3"></h2>
|
||||
<h3 data-i18n="syllabus.L3.sem1"></h3>
|
||||
<div data-i18n="syllabus.L3.sem1.desc" data-i18n-html></div>
|
||||
<h3 data-i18n="syllabus.L3.sem2"></h3>
|
||||
<div data-i18n="syllabus.L3.sem2.desc" data-i18n-html></div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
|
|
@ -33,56 +58,6 @@
|
|||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
|
||||
<script>
|
||||
// Render the syllabus content (markdown -> HTML) inside the page.
|
||||
const contenuMarkdown = `# My Syllabus
|
||||
|
||||
## M2
|
||||
### First semester
|
||||
|
||||
## Agregation
|
||||
The syllabus is the 2025 french academic programme of
|
||||
- [High School](./agreg/Terminal.pdf)
|
||||
- [MPI](./agreg/MPI.pdf)
|
||||
- [Licence](./agreg/Licence.pdf)
|
||||
|
||||
## M1
|
||||
### First semester
|
||||
- Advanced operating systems with [Isabelle Puaut](https://team.inria.fr/pacap/members/isabelle-puaut/)
|
||||
- Complexity theory with [François Schwarzentruber](https://people.irisa.fr/Francois.Schwarzentruber/)
|
||||
- Software formal analysis and design with [Thomas Genet](http://people.irisa.fr/Thomas.Genet/)
|
||||
- Digital sobriety with [Olivier Ridoux](http://www.irisa.fr/lande/ridoux/page.pro.e.html)
|
||||
- Signal processing with [Nicolas Keriven](https://nkeriven.github.io/)
|
||||
### Second semester
|
||||
- Information theory and coding with [Eric Fabre](http://people.rennes.inria.fr/Eric.Fabre/)
|
||||
- General compiler concepts with [Simon Rokicki](https://people.irisa.fr/Simon.Rokicki/)
|
||||
- Machine learning with [Ewa Kijak](http://people.irisa.fr/Ewa.Kijak)
|
||||
- Computer graphics with [Marc Christie](https://people.irisa.fr/Marc.Christie/)
|
||||
- Epistemology with [Filipe Drapeau-Contim](https://philo.univ-rennes.fr/interlocuteurs/filipe-drapeau-vieira-contim)
|
||||
|
||||
## L3
|
||||
### First semester
|
||||
- Algorithmic 1 with [François Schwarzentruber](https://people.irisa.fr/Francois.Schwarzentruber/)
|
||||
- System architecture 1 with [Steven Derrien](https://people.irisa.fr/Steven.Derrien/wordpress)
|
||||
- Network and C programming with [Simon Rokicki](https://people.irisa.fr/Simon.Rokicki/)
|
||||
- Language theory and computability with [Gilles Lesventes]()
|
||||
- Programming 1 in OCAML with [David Baelde](http://www.lsv.fr/~baelde/)
|
||||
- Complementary math: optimization with [Baptiste Huguet](https://bhuguet.perso.math.cnrs.fr/enseignement.html)
|
||||
- Lebesgue's integral
|
||||
|
||||
### Second semester
|
||||
- Algorithmic 2 with [François Schwarzentruber](https://people.irisa.fr/Francois.Schwarzentruber/)
|
||||
- Probability and statistics with [François Schwarzentruber](https://people.irisa.fr/Francois.Schwarzentruber/)
|
||||
- Complementary math: algebra
|
||||
- System architecture 2 with [Simon Rokicki](https://people.irisa.fr/Simon.Rokicki/)
|
||||
- Cryptography with [Adeline Roux-Langlois](https://langloi227.users.greyc.fr/)
|
||||
- Image processing with [Emmanuel Caruyer](http://www.emmanuelcaruyer.com)
|
||||
- Logic with [David Baelde](http://www.lsv.fr/~baelde/)
|
||||
- Object programming with C with [Martin Quinson](https://people.irisa.fr/Martin.Quinson/)
|
||||
`;
|
||||
|
||||
document.getElementById('contenu-markdown').innerHTML = marked.parse(contenuMarkdown);
|
||||
</script>
|
||||
<script src="assets/i18n.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
Loading…
Reference in a new issue