diff --git a/src/components/LanguageSwitcher.astro b/src/components/LanguageSwitcher.astro
index aa88010..330af24 100644
--- a/src/components/LanguageSwitcher.astro
+++ b/src/components/LanguageSwitcher.astro
@@ -1,5 +1,9 @@
---
import { getLocalizedPathname, LANGUAGES } from "../i18n/utils";
+const flags = {
+ en: "🇬🇧",
+ fr: "🇫🇷",
+} as const;
interface Props {
lang: string;
}
@@ -10,9 +14,7 @@ const otherLangs = Object.keys(LANGUAGES).filter((l) => l !== lang);
diff --git a/src/content/config.ts b/src/content/config.ts
index d9603b9..5437b13 100644
--- a/src/content/config.ts
+++ b/src/content/config.ts
@@ -10,9 +10,17 @@ const blog = defineCollection({
updatedDate: z.coerce.date().optional(),
heroImage: z.string().optional(),
heroGif: z.string().optional(),
+ slug: z.string().optional(),
lang: z.string(),
isVisible: z.boolean().default(false),
}),
+ slug: ({ id, data }) =>
+ data.slug ??
+ id
+ .split("/")
+ .pop()
+ ?.replace(/\.mdx?$/, "")
+ ?.replace(/\.fr$/, "") ?? id,
});
const projects = defineCollection({
@@ -25,9 +33,17 @@ const projects = defineCollection({
updatedDate: z.coerce.date().optional(),
heroImage: z.string().optional(),
heroGif: z.string().optional(),
+ slug: z.string().optional(),
lang: z.string(),
isVisible: z.boolean().default(false),
}),
+ slug: ({ id, data }) =>
+ data.slug ??
+ id
+ .split("/")
+ .pop()
+ ?.replace(/\.mdx?$/, "")
+ ?.replace(/\.fr$/, "") ?? id,
});
export const collections = {
diff --git a/src/content/projects/NBodySimulation.fr.md b/src/content/projects/NBodySimulation.fr.md
index 895977e..ad3488a 100644
--- a/src/content/projects/NBodySimulation.fr.md
+++ b/src/content/projects/NBodySimulation.fr.md
@@ -237,4 +237,3 @@ Une piste d'amélioration aurait été d'exploiter la symétrie de la force grav
#### Tolérance aux pannes
Grâce à l'implémentation C++ d'OpenMPI, il était possible de définir une gestion des erreurs avec `MPI_Comm_set_errhandler` pour lever une `MPI::Exception` en cas de défaillance. Cela aurait permis d'identifier un nœud inactif, de l'exclure puis de relancer l'étape précédente. Cette solution n'a pas été mise en œuvre par manque de temps.
-
diff --git a/src/content/projects/Steganography.fr.md b/src/content/projects/Steganography.fr.md
index 881b1f2..aa035f7 100644
--- a/src/content/projects/Steganography.fr.md
+++ b/src/content/projects/Steganography.fr.md
@@ -184,16 +184,16 @@ remybarranco@MacBook-Pro-de-Remy Projet-Algo %
**Benchmark pour 100 itérations :**
-| Taille des données | Opération | Temps (s) |
-| ---------------------------------- | --------- | --------- |
-| 10 caractères (512×512) | Encodage | 1.520 |
-| | Décodage | 0.020 |
-| 100 caractères (512×512) | Encodage | 1.360 |
-| | Décodage | 0.020 |
-| 10 caractères (5184×3456) | Encodage | 1.920 |
-| | Décodage | 0.020 |
-| 100 caractères (5184×3456) | Encodage | 1.820 |
-| | Décodage | 0.020 |
+| Taille des données | Opération | Temps (s) |
+| -------------------------- | --------- | --------- |
+| 10 caractères (512×512) | Encodage | 1.520 |
+| | Décodage | 0.020 |
+| 100 caractères (512×512) | Encodage | 1.360 |
+| | Décodage | 0.020 |
+| 10 caractères (5184×3456) | Encodage | 1.920 |
+| | Décodage | 0.020 |
+| 100 caractères (5184×3456) | Encodage | 1.820 |
+| | Décodage | 0.020 |
_Tableau 1.1 : temps d'encodage et de décodage selon la taille des données_
diff --git a/src/i18n/ui.ts b/src/i18n/ui.ts
index 1b635d7..0258125 100644
--- a/src/i18n/ui.ts
+++ b/src/i18n/ui.ts
@@ -109,34 +109,4 @@ export const ui = {
"about.server.title": "Informations serveur",
"about.server.text": "Ce site est hébergé sur pulseheberg et la dernière mise à jour réussie date du {0}.",
},
- es: {
- "site.title": "Astro Blog",
- "site.description": "Bienvenido a mi sitio web!",
- "nav.home": "Inicio",
- "nav.about": "Quien soy",
- "home.welcome": "Bienvenido a mi sitio web",
- "about.title": "Sobre mi",
- "about.description": "Soy un desarrollador web y me encanta Astro!",
- "about.text": `Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
- labore et dolore magna aliqua. Vitae ultricies leo integer malesuada nunc vel risus commodo
- viverra. Adipiscing enim eu turpis egestas pretium. Euismod elementum nisi quis eleifend quam
- adipiscing. In hac habitasse platea dictumst vestibulum. Sagittis purus sit amet volutpat. Netus
- et malesuada fames ac turpis egestas. Eget magna fermentum iaculis eu non diam phasellus
- vestibulum lorem. Varius sit amet mattis vulputate enim. Habitasse platea dictumst quisque
- sagittis. Integer quis auctor elit sed vulputate mi. Dictumst quisque sagittis purus sit amet.`,
- "home.p1": `Bienvenido a la plantilla de inicio de blog oficial. Esta plantilla sirve como punto de partida ligero y con estilo mĂnimo para cualquiera que quiera construir un sitio web personal, un blog o un portafolio con Astro.`,
- "home.p2": `Esta plantilla viene con algunas integraciones ya configuradas en su archivo astro.config.mjs. Puede personalizar su configuraciĂłn con Astro Integrations para agregar herramientas como Tailwind, React o Vue a su proyecto.`,
- "home.p3":
- "AquĂ hay algunas ideas sobre cĂłmo comenzar con la plantilla:",
- "home.p3.0": "Maneje las traducciones en",
- "home.p3.1": "Edite esta página en",
- "home.p3.2": "Editar páginas traducidas en",
- "home.p3.3": "Edite los elementos de encabezado del sitio en",
- "home.p3.4": "Agregue su nombre al pie de página en",
- "home.p3.5":
- "Consulte las publicaciones de blog incluidas en idiomas ES, EN y FR en",
- "home.p3.6": "Personalice el diseño general del sitio en",
- "home.p3.7":
- "Personalice el diseño de la página de publicación del blog en",
- },
} as const;
diff --git a/src/i18n/utils.ts b/src/i18n/utils.ts
index e9df155..08d51d5 100644
--- a/src/i18n/utils.ts
+++ b/src/i18n/utils.ts
@@ -3,7 +3,6 @@ import { ui } from "./ui";
export const LANGUAGES = {
en: "English",
fr: "Français",
- es: "Español",
};
export const DEFAULT_LANG = "en";
diff --git a/src/pages/[lang]/about.astro b/src/pages/[lang]/about.astro
index 5bee905..501b573 100644
--- a/src/pages/[lang]/about.astro
+++ b/src/pages/[lang]/about.astro
@@ -27,17 +27,17 @@ const formattedDate: string = originalDate.toLocaleString("fr-FR", {
heroImage=""
>
{t("about.academic.title")}
-
+
{t("about.bts.title")}
-
+
{t("about.lp.title")}
-
+
{t("about.master.title")}
-
+
{t("about.server.title")}
-
+
diff --git a/src/pages/[lang]/blog/[...slug].astro b/src/pages/[lang]/blog/[...slug].astro
index a9ebdef..da08191 100644
--- a/src/pages/[lang]/blog/[...slug].astro
+++ b/src/pages/[lang]/blog/[...slug].astro
@@ -5,7 +5,7 @@ import Post from "../../../layouts/Post.astro";
export async function getStaticPaths() {
const posts = await getCollection("blog");
return posts.map((post) => ({
- params: { lang: post.data.lang, slug: post.data.slug },
+ params: { lang: post.data.lang, slug: post.slug },
props: post,
}));
}
diff --git a/src/pages/[lang]/blog/index.astro b/src/pages/[lang]/blog/index.astro
index d8e622a..9a7bfa4 100644
--- a/src/pages/[lang]/blog/index.astro
+++ b/src/pages/[lang]/blog/index.astro
@@ -105,7 +105,7 @@ const posts = (await getCollection("blog"))
{
posts.map((post) => (
-
+
({
- params: { lang: post.data.lang, slug: post.data.slug },
+ params: { lang: post.data.lang, slug: post.slug },
props: post,
}));
}
diff --git a/src/pages/[lang]/projects/index.astro b/src/pages/[lang]/projects/index.astro
index 781a3c6..a270f69 100644
--- a/src/pages/[lang]/projects/index.astro
+++ b/src/pages/[lang]/projects/index.astro
@@ -104,7 +104,7 @@ const posts = (await getCollection("projects"))
{
posts.map((post) => (
-
+
+
+
+
+ Redirecting...
+
+
+ Redirecting to {redirectUrl}
+
+