This commit is contained in:
gpatruno
2026-04-20 02:24:50 +02:00
parent 46c15cc03c
commit cb8e1cc25d
8 changed files with 13 additions and 13 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

+11 -11
View File
@@ -155,10 +155,10 @@ export const PROJETS = [
linkLabel: 'Profil GitHub (dépôt privé)', linkLabel: 'Profil GitHub (dépôt privé)',
}, },
{ {
id: 'wiki-documentation', id: 'bookstack',
title: 'Wiki Documentation', title: 'BookStack',
skills: ['Documentation', 'Docker', 'BookStack', 'Web'], skills: ['Documentation', 'Docker', 'Web'],
imageSrc: 'https://picsum.photos/seed/wiki-mira-ceti/640/360', imageSrc: '/images/bookstack-preview.png',
imageAlt: 'Aperçu du wiki BookStack Mira-Ceti', imageAlt: 'Aperçu du wiki BookStack Mira-Ceti',
description: description:
'Documentation des services, configurations et modes dutilisation pour serveurs et projets personnels ou professionnels.\nTechnologie : wiki BookStack, déployé avec Docker.\nInstance publique en lecture.', 'Documentation des services, configurations et modes dutilisation pour serveurs et projets personnels ou professionnels.\nTechnologie : wiki BookStack, déployé avec Docker.\nInstance publique en lecture.',
@@ -169,7 +169,7 @@ export const PROJETS = [
id: 'seafile', id: 'seafile',
title: 'Seafile', title: 'Seafile',
skills: ['Docker', 'Stockage', 'Web', 'API'], skills: ['Docker', 'Stockage', 'Web', 'API'],
imageSrc: 'https://picsum.photos/seed/seafile-stack/640/360', imageSrc: '/images/seafile-preview.png',
imageAlt: 'Aperçu du déploiement Seafile', imageAlt: 'Aperçu du déploiement Seafile',
description: description:
'Synchronisation et partage de fichiers en auto-hébergement (clients desktop et mobile), espaces d’équipe et historique de versions.\nStack conteneurisée, intégration sauvegardes et accès contrôlé.\nProjet personnel / professionnel.', 'Synchronisation et partage de fichiers en auto-hébergement (clients desktop et mobile), espaces d’équipe et historique de versions.\nStack conteneurisée, intégration sauvegardes et accès contrôlé.\nProjet personnel / professionnel.',
@@ -180,7 +180,7 @@ export const PROJETS = [
id: 'gitea', id: 'gitea',
title: 'Gitea', title: 'Gitea',
skills: ['Docker', 'Git', 'Web', 'API'], skills: ['Docker', 'Git', 'Web', 'API'],
imageSrc: 'https://picsum.photos/seed/gitea-selfhosted/640/360', imageSrc: '/images/gitea-preview.png',
imageAlt: 'Aperçu du déploiement Gitea', imageAlt: 'Aperçu du déploiement Gitea',
description: description:
'Forge Git légère : dépôts, issues, pull requests, actions CI.\nHébergement de code perso et projets internes derrière authentification.\nDéploiement Docker, sauvegardes et mise à jour documentés sur le wiki.', 'Forge Git légère : dépôts, issues, pull requests, actions CI.\nHébergement de code perso et projets internes derrière authentification.\nDéploiement Docker, sauvegardes et mise à jour documentés sur le wiki.',
@@ -191,7 +191,7 @@ export const PROJETS = [
id: 'immich', id: 'immich',
title: 'Immich', title: 'Immich',
skills: ['Docker', 'Photos', 'Web', 'Stockage'], skills: ['Docker', 'Photos', 'Web', 'Stockage'],
imageSrc: 'https://picsum.photos/seed/immich-gallery/640/360', imageSrc: '/images/immich-preview.png',
imageAlt: 'Aperçu du déploiement Immich', imageAlt: 'Aperçu du déploiement Immich',
description: description:
'Galerie photos et vidéos auto-hébergée : import depuis mobile, reconnaissance faciale optionnelle, albums et partage contrôlé.\nAlternative aux clouds grand public, stack Docker avec stockage objet ou disque.', 'Galerie photos et vidéos auto-hébergée : import depuis mobile, reconnaissance faciale optionnelle, albums et partage contrôlé.\nAlternative aux clouds grand public, stack Docker avec stockage objet ou disque.',
@@ -202,7 +202,7 @@ export const PROJETS = [
id: 'authelia', id: 'authelia',
title: 'Authelia', title: 'Authelia',
skills: ['Docker', 'Authentification', 'Cybersécurité', 'Web'], skills: ['Docker', 'Authentification', 'Cybersécurité', 'Web'],
imageSrc: 'https://picsum.photos/seed/authelia-sso/640/360', imageSrc: '/images/authelia-preview.png',
imageAlt: 'Aperçu du déploiement Authelia', imageAlt: 'Aperçu du déploiement Authelia',
description: description:
'Couche dauthentification et dautorisation (SSO, 2FA, politiques daccès) devant les services exposés.\nProtection des applications internes, intégration reverse proxy.\nConfiguration Docker et bonnes pratiques documentées sur le wiki.', 'Couche dauthentification et dautorisation (SSO, 2FA, politiques daccès) devant les services exposés.\nProtection des applications internes, intégration reverse proxy.\nConfiguration Docker et bonnes pratiques documentées sur le wiki.',
@@ -213,7 +213,7 @@ export const PROJETS = [
id: 'jellyfin', id: 'jellyfin',
title: 'Jellyfin', title: 'Jellyfin',
skills: ['Docker', 'Vidéo', 'Streaming', 'Web'], skills: ['Docker', 'Vidéo', 'Streaming', 'Web'],
imageSrc: 'https://picsum.photos/seed/jellyfin-media/640/360', imageSrc: '/images/jellyfin-preview.png',
imageAlt: 'Aperçu du déploiement Jellyfin', imageAlt: 'Aperçu du déploiement Jellyfin',
description: description:
'Serveur multimédia libre : films, séries, musique et livres audio pour le réseau local ou à distance.\nTranscodage optionnel, clients TV et mobile.\nStack Docker, bibliothèques et accès utilisateurs gérés localement.', 'Serveur multimédia libre : films, séries, musique et livres audio pour le réseau local ou à distance.\nTranscodage optionnel, clients TV et mobile.\nStack Docker, bibliothèques et accès utilisateurs gérés localement.',
@@ -222,14 +222,14 @@ export const PROJETS = [
}, },
] ]
/** Projets Docker auto-hébergés : section « Ecosystem Docker » sur la page Projets. */ /** Projets Docker auto-hébergés : section « Services hébergés en docker » sur la page Projets. */
export const ECOSYSTEM_DOCKER_IDS = [ export const ECOSYSTEM_DOCKER_IDS = [
'jellyfin', 'jellyfin',
'authelia', 'authelia',
'seafile', 'seafile',
'gitea', 'gitea',
'immich', 'immich',
'wiki-documentation', 'bookstack',
] ]
const projetById = Object.fromEntries(PROJETS.map((p) => [p.id, p])) const projetById = Object.fromEntries(PROJETS.map((p) => [p.id, p]))
+2 -2
View File
@@ -13,9 +13,9 @@ export function Projets() {
</section> </section>
<section <section
className="content-stack__panel content-stack__panel--padded content-stack__panel--docker-ecosystem" className="content-stack__panel content-stack__panel--padded content-stack__panel--docker-ecosystem"
aria-label="Ecosystem Docker" aria-label="Services hébergés en docker"
> >
<h2 className="projets-section__title">Ecosystem Docker</h2> <h2 className="projets-section__title">Services hébergés en docker</h2>
<ProjetsGrid projects={PROJETS_ECOSYSTEM_DOCKER} /> <ProjetsGrid projects={PROJETS_ECOSYSTEM_DOCKER} />
</section> </section>
</div> </div>