Contacts et réseaux sociaux
++ Email +
+ ++ Compte et + Serveur Discord +
+ + ++ Github / + Gitlab / + Codeberg / + Mon Git +
++ Kitsu +
+ + ++ Keyoxide +
+diff --git a/src/routes/index.rs b/src/routes/index.rs
index 940ddb0..b9f6bb2 100644
--- a/src/routes/index.rs
+++ b/src/routes/index.rs
@@ -8,12 +8,10 @@ pub async fn page() -> impl Responder {
#[derive(Template)]
#[template(path = "../templates/index.html")]
-struct IndexTemplate<'a> {
- name: &'a str,
-}
+struct IndexTemplate {}
pub fn get_index() -> std::string::String {
- let index = IndexTemplate { name: "world" };
+ let index = IndexTemplate {};
index.render().unwrap()
}
diff --git a/static/css/fonts/Luciole-Bold-Italic.ttf b/static/css/fonts/Luciole-Bold-Italic.ttf
new file mode 100644
index 0000000..7926c7b
Binary files /dev/null and b/static/css/fonts/Luciole-Bold-Italic.ttf differ
diff --git a/static/css/fonts/Luciole-Bold.ttf b/static/css/fonts/Luciole-Bold.ttf
new file mode 100644
index 0000000..2a0f075
Binary files /dev/null and b/static/css/fonts/Luciole-Bold.ttf differ
diff --git a/static/css/fonts/Luciole-Regular-Italic.ttf b/static/css/fonts/Luciole-Regular-Italic.ttf
new file mode 100644
index 0000000..4f95be0
Binary files /dev/null and b/static/css/fonts/Luciole-Regular-Italic.ttf differ
diff --git a/static/css/fonts/Luciole-Regular.ttf b/static/css/fonts/Luciole-Regular.ttf
new file mode 100644
index 0000000..2055e8a
Binary files /dev/null and b/static/css/fonts/Luciole-Regular.ttf differ
diff --git a/static/css/fonts/Read Me.txt b/static/css/fonts/Read Me.txt
new file mode 100644
index 0000000..d829bec
--- /dev/null
+++ b/static/css/fonts/Read Me.txt
@@ -0,0 +1,14 @@
+
+
+
+Ces fontes sont distribuées gratuitement sous Licence publique Creative Commons Attribution 4.0 International :
+https://creativecommons.org/licenses/by/4.0/legalcode.fr
+
+
+
+These fonts are freely available under Creative Commons Attribution 4.0 International Public License:
+https://creativecommons.org/licenses/by/4.0/legalcode
+
+
+
+Luciole © Laurent Bourcellier & Jonathan Perez
diff --git a/static/css/style.css b/static/css/style.css
new file mode 100644
index 0000000..caf1d2e
--- /dev/null
+++ b/static/css/style.css
@@ -0,0 +1,248 @@
+/* Title font */
+@import url("https://fonts.googleapis.com/css2?family=Overpass:wght@200&display=swap");
+
+/* Normal font */
+@font-face {
+ font-family: "Luciole";
+ font-style: normal;
+ font-weight: normal;
+ src: url(/css/fonts/Luciole-Regular.ttf);
+}
+
+/* Italic font */
+@font-face {
+ font-family: "Luciole";
+ font-style: italic;
+ font-weight: normal;
+ src: url(/css/fonts/Luciole-Regular-Italic.ttf);
+}
+
+/* Bold fond */
+@font-face {
+ font-family: "Luciole";
+ font-style: normal;
+ font-weight: bold;
+ src: url(/css/fonts/Luciole-Bold.ttf);
+}
+
+/* Bold italic font */
+@font-face {
+ font-family: "Luciole";
+ font-style: italic;
+ font-weight: bold;
+ src: url(/css/fonts/Luciole-Bold-Italic.ttf);
+}
+
+/* Page bottom */
+footer {
+ position: absolute;
+ bottom: 0;
+ margin: -8px;
+ width: 100%;
+ height: 2.5rem;
+}
+
+/* Regular tags */
+html {
+ position: relative;
+ min-height: 100vh;
+ height: 100%;
+ scroll-behavior: smooth;
+}
+
+body {
+ position: relative;
+ padding-bottom: 3em;
+ min-height: 90%;
+ background-color: rgb(24, 24, 24);
+}
+
+p,
+h1,
+h2,
+h3,
+li,
+a {
+ font-family: "Luciole", sans-serif;
+}
+
+::selection {
+ color: rgb(255, 255, 255);
+ background: rgba(124, 75, 173, 0.486);
+}
+
+/* Frames */
+h1.subtitle {
+ text-decoration: none;
+ color: rgb(28, 118, 236);
+}
+
+h1#title {
+ text-align: center;
+ color: rgb(28, 236, 174);
+}
+
+h2.subtitle,
+h2.subtitle a {
+ color: rgb(28, 118, 236) !important;
+}
+
+h3.subsubtitle,
+#content h3.subsubtitle a {
+ text-align: left;
+ color: rgb(149, 87, 201);
+}
+
+#content h3.subsubtitle a:hover {
+ color: rgb(0, 181, 236);
+ transition: color 0.1s;
+}
+
+div#content {
+ margin-left: auto;
+ margin-right: auto;
+ margin-top: 2%;
+ padding: 0.9% 0.9% 0.9% 0.9%;
+ width: 42%;
+ border-radius: 6px;
+ border: 1px solid rgb(170, 170, 170);
+ text-align: center;
+}
+
+@media only screen and (max-width: 850px) {
+ /* Mobile display */
+ div#content {
+ width: 90%;
+ }
+}
+
+#content a,
+#content a:visited,
+#content ul {
+ text-decoration: none;
+ color: rgb(201, 201, 201);
+ text-align: center;
+}
+
+#content p {
+ text-decoration: none;
+ color: rgb(201, 201, 201);
+ text-align: center;
+ padding: 0.7em;
+}
+
+#content a:hover {
+ color: rgb(0, 181, 236);
+ transition: color 0.1s;
+}
+
+/* https://stackoverflow.com/a/40244401/15436737 */
+
+#content a {
+ position: relative;
+ text-decoration: none;
+ display: inline-block;
+}
+
+#content a:after {
+ display: block;
+ content: "";
+ border-bottom: solid 3px;
+ transform: scaleX(0);
+ transition: transform 250ms ease-in-out;
+ transform-origin: 100% 50%;
+}
+
+#content a:hover:after {
+ transform: scaleX(1);
+ transform-origin: 0 50%;
+}
+
+/* ------------------------------------------- */
+
+div.subcontent {
+ margin-left: auto;
+ margin-right: auto;
+ margin-top: 5%;
+ padding: 1.2% 1.2% 1.2% 1.2%;
+ width: 78%;
+ border-radius: 6px;
+ border: 1px solid rgb(170, 170, 170);
+ text-align: center;
+}
+
+#listecontent li {
+ margin-bottom: 0.5em;
+}
+
+/* Index */
+.index {
+ height: 100%;
+ padding: 0;
+ margin: 0;
+}
+
+.divIndex {
+ width: 50%;
+ height: 50%;
+ float: left;
+}
+
+button.buttonIndex {
+ width: 100%;
+ height: 100%;
+ border: none;
+ opacity: 0.6;
+ transition: all 0.1s;
+ cursor: pointer;
+}
+
+span.buttonIndex {
+ font-family: "Overpass", sans-serif;
+ font-size: 500%;
+ cursor: pointer;
+ display: inline-block;
+ position: relative;
+ transition: 0.5s;
+}
+
+.buttonIndex:hover,
+span.buttonIndex:after {
+ opacity: 1;
+ padding-right: 2%;
+}
+
+#buttonIndexTL {
+ background-color: rgb(0, 255, 255);
+}
+
+#buttonIndexTR {
+ background-color: rgb(21, 255, 0);
+}
+
+#buttonIndexBL {
+ background-color: rgb(187, 255, 0);
+}
+
+#buttonIndexBR {
+ background-color: rgb(208, 88, 255);
+}
+
+/* Back links going to the index */
+footer.backToIndexPage {
+ text-align: center;
+}
+
+footer.backToIndexPage a {
+ color: rgb(114, 180, 76);
+ text-decoration: none;
+}
+
+footer.backToIndexPage a:hover {
+ color: rgb(152, 187, 132);
+}
+
+/* Hide content */
+.hide {
+ display: none;
+}
diff --git a/static/icons/android-chrome-192x192.png b/static/icons/android-chrome-192x192.png
new file mode 100644
index 0000000..e3bad4e
--- /dev/null
+++ b/static/icons/android-chrome-192x192.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:eecbdd1d8e8b0752166b0d28d82e6c60e028251529a3b4975484fdf16db01639
+size 9023
diff --git a/static/icons/apple-touch-icon-precomposed.png b/static/icons/apple-touch-icon-precomposed.png
new file mode 100644
index 0000000..f5edac2
--- /dev/null
+++ b/static/icons/apple-touch-icon-precomposed.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0151e7ba969b8197d867a04a0545e66dc9fdc070b62e116a30b8c22c42548f7f
+size 8710
diff --git a/static/icons/apple-touch-icon.png b/static/icons/apple-touch-icon.png
new file mode 100644
index 0000000..17c17c8
--- /dev/null
+++ b/static/icons/apple-touch-icon.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:60c94e8ce32871366752c563c3ef0c52b49ca35b4199f0ef7e44e5063034e0f2
+size 8636
diff --git a/static/icons/browserconfig.xml b/static/icons/browserconfig.xml
new file mode 100644
index 0000000..7daf9c1
--- /dev/null
+++ b/static/icons/browserconfig.xml
@@ -0,0 +1,9 @@
+
+
+ Email +
+ ++ Compte et + Serveur Discord +
+ + ++ Github / + Gitlab / + Codeberg / + Mon Git +
++ Kitsu +
+ + ++ Keyoxide +
++ ✨ Basé sur une + ancienne version, + permet de faire plusieurs choses comme maintenir des reminders, des + todos, écouter de la musique, etc. +
++ Réponds à certains tweets (exemple : si un tweet fini par + quoi, le bot répondra feur). +
++ Utilise SQLite pour avoir des commandes personnalisables sur Twitch. +
++ ✨ + Pas ma première expérience en matière de bot Discord. Actuellement en actif + développement. Complètement libre et écrit en Typescript. +
++ ✨ Parce que j'ai fait plusieurs projets dont je suis fier mais qui ne + mérite pas une place entière sur cette page comme mon + premier pendu ou une jolie + interface manager/caisser, vous pouvez simplement aller voir la liste des projets en vrac qui + sont disponibles sur mon + git. +
++ Calculez votre propre constante sur la base de votre prénom en + multipliant de vraies constantes mathématiques entre elles. Une + démo est disponible ici. +
++ Lecteur de l'emploi du temps pour la licence d'informatique de Paris + 8, avec possibilité d'exporter le calendrier en ICS. +
++ Permets de télécharger tous les posts d'un utilisateur depuis + prose.sh. J'ai + écrit ici sur son + développement. +
++ Petit script qui permet de télécharger et garder à-jour facilement + la version .AppImage VSCodium. +
++ Scripts et fichiers de configuration pour me simplifier la vie quand + je réinstalle mes systèmes d'exploitation. +
+Deux versions, une en python et une en Kotlin :
++ Petit script Windows qui lance quelques commandes pour supprimer les + fichiers temporaires. +
++ Petit programme en python qui permet d'ouvrir la bouche d'un chat + quand on parle. +
++ Petit programme pour renommer des fichiers vidéo (séries) pour + qu'ils soient lisibles directement par Plex. +
+