Amélioration i18n et navigation catégories

- Add English translations for presentation page and homepage
- Remove project numbers (P02-P13) from OpenClassrooms project titles
- Convert category pages to show content with DocCardList component
- Fix broken links to category pages
This commit is contained in:
Tellsanguis 2025-11-22 18:07:34 +01:00
parent ed989ff004
commit 816e50ae84
25 changed files with 282 additions and 88 deletions

View file

@ -1,6 +1,7 @@
import React from 'react';
import clsx from 'clsx';
import Link from '@docusaurus/Link';
import Translate, {translate} from '@docusaurus/Translate';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import Layout from '@theme/Layout';
import Heading from '@theme/Heading';
@ -20,12 +21,20 @@ function HomepageHeader() {
<Link
className="button button--secondary button--lg"
to="/docs/presentation">
Découvrir la documentation
<Translate
id="homepage.discoverDocs"
description="The homepage button to discover the documentation">
Découvrir la documentation
</Translate>
</Link>
<Link
className="button button--secondary button--lg margin-left--md"
to="/blog">
Lire le blog
<Translate
id="homepage.readBlog"
description="The homepage button to read the blog">
Lire le blog
</Translate>
</Link>
</div>
</div>
@ -37,29 +46,67 @@ export default function Home(): JSX.Element {
const {siteConfig} = useDocusaurusContext();
return (
<Layout
title={`Accueil`}
description="Blog technique pour documenter mes recherches et réflexions sur des défis techniques">
title={translate({
id: 'homepage.title',
message: 'Accueil',
description: 'The homepage title',
})}
description={translate({
id: 'homepage.description',
message: 'Blog technique pour documenter mes recherches et réflexions sur des défis techniques',
description: 'The homepage meta description',
})}>
<HomepageHeader />
<main>
<section className={styles.features}>
<div className="container">
<div className="row">
<div className="col col--4">
<h3>Documentation Technique</h3>
<h3>
<Translate
id="homepage.feature1.title"
description="Title of feature 1 (technical documentation) on the homepage">
Documentation Technique
</Translate>
</h3>
<p>
Documentation approfondie de mes projets et solutions techniques.
<Translate
id="homepage.feature1.description"
description="Description of feature 1 (technical documentation) on the homepage">
Documentation approfondie de mes projets et solutions techniques.
</Translate>
</p>
</div>
<div className="col col--4">
<h3>Articles de Blog</h3>
<h3>
<Translate
id="homepage.feature2.title"
description="Title of feature 2 (blog posts) on the homepage">
Articles de Blog
</Translate>
</h3>
<p>
Réflexions et analyses sur les défis techniques rencontrés.
<Translate
id="homepage.feature2.description"
description="Description of feature 2 (blog posts) on the homepage">
Réflexions et analyses sur les défis techniques rencontrés.
</Translate>
</p>
</div>
<div className="col col--4">
<h3>Partage de Connaissances</h3>
<h3>
<Translate
id="homepage.feature3.title"
description="Title of feature 3 (knowledge sharing) on the homepage">
Partage de Connaissances
</Translate>
</h3>
<p>
Partage d'expériences et de solutions pour la communauté.
<Translate
id="homepage.feature3.description"
description="Description of feature 3 (knowledge sharing) on the homepage">
Partage d'expériences et de solutions pour la communauté.
</Translate>
</p>
</div>
</div>