image
This commit is contained in:
+11
-11
@@ -155,10 +155,10 @@ export const PROJETS = [
|
||||
linkLabel: 'Profil GitHub (dépôt privé)',
|
||||
},
|
||||
{
|
||||
id: 'wiki-documentation',
|
||||
title: 'Wiki Documentation',
|
||||
skills: ['Documentation', 'Docker', 'BookStack', 'Web'],
|
||||
imageSrc: 'https://picsum.photos/seed/wiki-mira-ceti/640/360',
|
||||
id: 'bookstack',
|
||||
title: 'BookStack',
|
||||
skills: ['Documentation', 'Docker', 'Web'],
|
||||
imageSrc: '/images/bookstack-preview.png',
|
||||
imageAlt: 'Aperçu du wiki BookStack Mira-Ceti',
|
||||
description:
|
||||
'Documentation des services, configurations et modes d’utilisation 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',
|
||||
title: 'Seafile',
|
||||
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',
|
||||
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.',
|
||||
@@ -180,7 +180,7 @@ export const PROJETS = [
|
||||
id: 'gitea',
|
||||
title: 'Gitea',
|
||||
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',
|
||||
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.',
|
||||
@@ -191,7 +191,7 @@ export const PROJETS = [
|
||||
id: 'immich',
|
||||
title: 'Immich',
|
||||
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',
|
||||
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.',
|
||||
@@ -202,7 +202,7 @@ export const PROJETS = [
|
||||
id: 'authelia',
|
||||
title: 'Authelia',
|
||||
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',
|
||||
description:
|
||||
'Couche d’authentification et d’autorisation (SSO, 2FA, politiques d’accè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',
|
||||
title: 'Jellyfin',
|
||||
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',
|
||||
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.',
|
||||
@@ -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 = [
|
||||
'jellyfin',
|
||||
'authelia',
|
||||
'seafile',
|
||||
'gitea',
|
||||
'immich',
|
||||
'wiki-documentation',
|
||||
'bookstack',
|
||||
]
|
||||
|
||||
const projetById = Object.fromEntries(PROJETS.map((p) => [p.id, p]))
|
||||
|
||||
@@ -13,9 +13,9 @@ export function Projets() {
|
||||
</section>
|
||||
<section
|
||||
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} />
|
||||
</section>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user