242 lines
11 KiB
JavaScript
242 lines
11 KiB
JavaScript
/** Cartes projet (page Projets) : titre, compétences, visuel, texte, lien externe. */
|
||
export const PROJETS = [
|
||
{
|
||
id: 'androidpayload',
|
||
title: 'androidpayload',
|
||
skills: ['Linux', 'Bash', 'Java', 'Hardware'],
|
||
imageSrc: 'https://picsum.photos/seed/pacmanc/640/360',
|
||
imageAlt: 'Visuel du projet androidpayload',
|
||
description:
|
||
'Application pour récupérer tous les droits sur un appareil Android (ROOT).',
|
||
link: 'https://github.com/topjohnwu/Magisk',
|
||
linkLabel: 'Magisk sur GitHub',
|
||
},
|
||
{
|
||
id: 'wikicyber',
|
||
title: 'WIKICYBER',
|
||
skills: ['Web', 'OSINT', 'Cybersécurité', 'Documentation'],
|
||
imageSrc: '/images/wikicyber-preview.png',
|
||
imageAlt: 'Aperçu du projet WIKICYBER',
|
||
description:
|
||
'Wiki informatique, réseau social anonyme WIKICYBER.\nSite web regroupant des outils informatiques / réseau social anonyme.\nCyber sécurité, OSINT, documentation…\nProjet perso — GitHub.',
|
||
link: 'https://github.com/Foufure13/wiki.cyber',
|
||
linkLabel: 'wiki.cyber sur GitHub',
|
||
},
|
||
{
|
||
id: 'lk-find-post',
|
||
title: 'LK-Find-Post',
|
||
skills: ['Scraping', 'API', 'Base de données', 'Python'],
|
||
imageSrc: '/images/lk-find-post-preview.png',
|
||
imageAlt: 'Aperçu du projet LK-Find-Post',
|
||
description:
|
||
'Outil de scraping de posts et de filtrage pour récupérer un thème spécifique.\nEnvoi par API vers la base de données.\nProjet perso — GitHub.',
|
||
link: 'https://github.com/Foufure13/Linkedin-find-post',
|
||
linkLabel: 'Linkedin-find-post sur GitHub',
|
||
},
|
||
{
|
||
id: 'rotmg-like',
|
||
title: 'ROTMG-LIKE',
|
||
skills: ['C#', 'Multijoueur', 'Jeu vidéo'],
|
||
imageSrc: '/images/rotmglike-preview.png',
|
||
imageAlt: 'Aperçu du jeu ROTMG-LIKE',
|
||
description:
|
||
'Jeu vidéo en C# multijoueur / solo.\nGraphisme et gameplay inspirés du jeu d’origine, avec les fonctionnalités de base : 1 type de classe, niveau max 20.\nStuff : arme, collier, armure, anneau — 4 types par catégorie.\n4 types d’ennemis : à leur mort, gain d’XP et 1 drop d’arme par ennemi.\nProjet scolaire personnel — GitHub.',
|
||
link: 'https://github.com/Foufure13/ROTMG-LIKE-Csharp',
|
||
linkLabel: 'ROTMG-LIKE sur GitHub',
|
||
},
|
||
{
|
||
id: 'twitch-bot-interactif',
|
||
title: 'Twitch Bot Interactif',
|
||
skills: ['Twitch', 'API', 'STT', 'Bot'],
|
||
imageSrc: '/images/twitch-bot-preview.png',
|
||
imageAlt: 'Aperçu du bot Twitch',
|
||
description:
|
||
'Bot connecté au flux de chat et au streaming d’un live Twitch.\nFonctionnalité 1 : écouter le chat et répondre quand il est mentionné.\nFonctionnalité 2 : enregistrer les voix du flux, traduire en texte et interagir selon les détections.\nProjet personnel — GitHub.',
|
||
link: 'https://github.com/Foufure13/twitchBot-intelligent',
|
||
linkLabel: 'twitchBot-intelligent sur GitHub',
|
||
},
|
||
{
|
||
id: 'billeterie-cinema',
|
||
title: 'Billeterie cinéma',
|
||
skills: ['Web', 'E-mail', 'Base de données'],
|
||
imageSrc: '/images/billeterie-cinema-preview.png',
|
||
imageAlt: 'Aperçu de la billetterie cinéma',
|
||
description:
|
||
'Site web de réservation de places avec choix du siège dans la salle.\nConfirmation par e-mail.\nProjet scolaire en groupe — GitHub.',
|
||
link: 'https://github.com/Foufure13/Billetterie-en-ligne',
|
||
linkLabel: 'Billetterie-en-ligne sur GitHub',
|
||
},
|
||
{
|
||
id: 'realmaster',
|
||
title: 'RealMaster',
|
||
skills: ['Web', 'Social', 'Stats'],
|
||
imageSrc: 'https://picsum.photos/seed/lkfindpost/640/360',
|
||
imageAlt: 'Aperçu du projet RealMaster',
|
||
description:
|
||
'Réseau social sécurisé sur le thème du jeu vidéo ROTMG.\nOutils pour le jeu : prévisualisation avatar, statistiques stuff.\nProjet scolaire personnel — GitHub.',
|
||
link: 'https://github.com/Foufure13/realmaster',
|
||
linkLabel: 'realmaster sur GitHub',
|
||
},
|
||
{
|
||
id: 'pacman-c',
|
||
title: 'Pacman C',
|
||
skills: ['C', 'Jeux vidéo', 'Procédural', 'Carte'],
|
||
imageSrc: '/images/pacman-c-preview.png',
|
||
imageAlt: 'Aperçu du Pacman en C',
|
||
description:
|
||
'Pacman codé en C avec modifications.\nGénération procédurale de la carte, choix de la taille de la carte.\nProjet scolaire personnel — GitHub.',
|
||
link: 'https://github.com/Foufure13/Pacman_C',
|
||
linkLabel: 'Pacman_C sur GitHub',
|
||
},
|
||
{
|
||
id: 'airsoft-vitrine',
|
||
title: 'Airsoft vitrine',
|
||
skills: ['Web', 'Association', 'Vitrine'],
|
||
imageSrc: '/images/airsoft-vitrine-preview.png',
|
||
imageAlt: 'Aperçu du site Airsoft',
|
||
description:
|
||
'Site web créé pour une association.\nProjet personnel — GitHub.',
|
||
link: 'https://github.com/Foufure13/Airsoft',
|
||
linkLabel: 'Airsoft sur GitHub',
|
||
},
|
||
{
|
||
id: 'cryptobot',
|
||
title: 'CryptoBot',
|
||
skills: ['API', 'Dashboard', 'Crypto', 'Trading'],
|
||
imageSrc: '/images/cryptobot-preview.png',
|
||
imageAlt: 'Aperçu du projet CryptoBot',
|
||
description:
|
||
'Outil complet de gestion de comptes crypto par API.\nSite web dashboard, sécurité compte / base de données.\nRécupération des flux marché (API), aide à la décision d’investissement, trading sur portefeuille (API).\nDépôt GitHub privé.',
|
||
link: 'https://github.com/Foufure13',
|
||
linkLabel: 'Profil GitHub (dépôt privé)',
|
||
},
|
||
{
|
||
id: 'bot-instagram',
|
||
title: 'Bot autonome Instagram',
|
||
skills: ['Social', 'IA', 'API', 'Génération'],
|
||
imageSrc: 'https://www.thispersondoesnotexist.com',
|
||
imageAlt: 'Aperçu du bot Instagram',
|
||
description:
|
||
'Outils pour générer du contenu pour les réseaux sociaux et publier (yoloGenerator, Controler_prompt).\nGénération d’images générique dans un même style ou thème ; API pour communiquer avec un outil de génération d’image et l’administrer.\nProjet personnel — GitHub privé.',
|
||
link: 'https://github.com/Foufure13',
|
||
linkLabel: 'Profil GitHub (dépôt privé)',
|
||
},
|
||
{
|
||
id: 'site-partage-info',
|
||
title: 'Site web de partage d’information',
|
||
skills: ['Web', 'Forum', 'Light'],
|
||
imageSrc: '/images/site-partage-preview.png',
|
||
imageAlt: 'Aperçu du site de partage',
|
||
description:
|
||
'Forum léger : possibilité d’ajouter du contenu pour tout utilisateur.\nProjet webjoke — GitHub privé.',
|
||
link: 'https://github.com/Foufure13',
|
||
linkLabel: 'Profil GitHub (dépôt privé)',
|
||
},
|
||
{
|
||
id: 'mecafollow',
|
||
title: 'mecaFollow',
|
||
skills: ['Web', 'Suivi', 'E-mail'],
|
||
imageSrc: '/images/mecafollow-preview.png',
|
||
imageAlt: 'Aperçu du projet mecaFollow',
|
||
description:
|
||
'Site web personnel ou professionnel : enregistrement et suivi d’une voiture ou autre véhicule pour faciliter le suivi des entretiens (un ou plusieurs véhicules).\nNotifications par e-mail lorsqu’une intervention est nécessaire.\nProjet personnel et professionnel — GitHub sécurisé.',
|
||
link: 'https://github.com/Foufure13',
|
||
linkLabel: 'Profil GitHub (dépôt sécurisé)',
|
||
},
|
||
{
|
||
id: 'clipautocs2',
|
||
title: 'clipAutoCS2',
|
||
skills: ['Vidéo', 'YouTube'],
|
||
imageSrc: 'https://picsum.photos/seed/billeterie/640/360',
|
||
imageAlt: 'Aperçu du projet clipAutoCS2',
|
||
description:
|
||
'Création de clips highlight pro sur CS2.\nRécupération d’un match e-sport et traitement des données.\nEnregistrement automatisé des meilleurs moments, montage vidéo, publication sur YouTube.\nProjet personnel — GitHub perso.',
|
||
link: 'https://github.com/Foufure13',
|
||
linkLabel: 'Profil GitHub',
|
||
},
|
||
{
|
||
id: 'wiki-documentation',
|
||
title: 'Wiki Documentation',
|
||
skills: ['Documentation', 'Docker', 'BookStack', 'Web'],
|
||
imageSrc: 'https://picsum.photos/seed/wiki-mira-ceti/640/360',
|
||
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.',
|
||
link: 'https://wiki.mira-ceti.ovh',
|
||
linkLabel: 'wiki.mira-ceti.ovh',
|
||
},
|
||
{
|
||
id: 'seafile',
|
||
title: 'Seafile',
|
||
skills: ['Docker', 'Stockage', 'Web', 'API'],
|
||
imageSrc: 'https://picsum.photos/seed/seafile-stack/640/360',
|
||
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.',
|
||
link: 'https://www.seafile.com/',
|
||
linkLabel: 'Seafile — site officiel',
|
||
},
|
||
{
|
||
id: 'gitea',
|
||
title: 'Gitea',
|
||
skills: ['Docker', 'Git', 'Web', 'API'],
|
||
imageSrc: 'https://picsum.photos/seed/gitea-selfhosted/640/360',
|
||
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.',
|
||
link: 'https://gitea.io/',
|
||
linkLabel: 'Gitea — site officiel',
|
||
},
|
||
{
|
||
id: 'immich',
|
||
title: 'Immich',
|
||
skills: ['Docker', 'Photos', 'Web', 'Stockage'],
|
||
imageSrc: 'https://picsum.photos/seed/immich-gallery/640/360',
|
||
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.',
|
||
link: 'https://immich.app/',
|
||
linkLabel: 'Immich — site officiel',
|
||
},
|
||
{
|
||
id: 'authelia',
|
||
title: 'Authelia',
|
||
skills: ['Docker', 'Authentification', 'Cybersécurité', 'Web'],
|
||
imageSrc: 'https://picsum.photos/seed/authelia-sso/640/360',
|
||
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.',
|
||
link: 'https://www.authelia.com/',
|
||
linkLabel: 'Authelia — site officiel',
|
||
},
|
||
{
|
||
id: 'jellyfin',
|
||
title: 'Jellyfin',
|
||
skills: ['Docker', 'Vidéo', 'Streaming', 'Web'],
|
||
imageSrc: 'https://picsum.photos/seed/jellyfin-media/640/360',
|
||
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.',
|
||
link: 'https://jellyfin.org/',
|
||
linkLabel: 'Jellyfin — site officiel',
|
||
},
|
||
]
|
||
|
||
/** Projets Docker auto-hébergés : section « Ecosystem Docker » sur la page Projets. */
|
||
export const ECOSYSTEM_DOCKER_IDS = [
|
||
'jellyfin',
|
||
'authelia',
|
||
'seafile',
|
||
'gitea',
|
||
'immich',
|
||
'wiki-documentation',
|
||
]
|
||
|
||
const projetById = Object.fromEntries(PROJETS.map((p) => [p.id, p]))
|
||
|
||
export const PROJETS_ECOSYSTEM_DOCKER = ECOSYSTEM_DOCKER_IDS.map((id) => projetById[id]).filter(
|
||
Boolean,
|
||
)
|
||
|
||
export const PROJETS_MAIN = PROJETS.filter((p) => !ECOSYSTEM_DOCKER_IDS.includes(p.id))
|