/** 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))