À propos du projet

Void Presence Web sert de hub central pour l'écosystème Void Presence, un gestionnaire de Discord Rich Presence pour Windows. Construit avec Next.js 16 (App Router), React 19, TypeScript et SCSS, l'application offre une interface soignée permettant aux utilisateurs finaux de découvrir et gérer des personnalisations de présence sans écrire de code. Les principales fonctionnalités destinées aux utilisateurs incluent : - Navigateur de configurations avec recherche, filtres, cartes d'aperçu en direct et téléchargement JSON en un clic ou copie dans le presse-papiers - Navigateur de statuts pour les cycles de statuts Discord personnalisés avec aperçus - Registre de plugins offrant une installation en un clic via des liens profonds (`voidpresence://install-plugin?url=…`) - Documentation complète de développement de plugins à `/plugins/docs` - Pages de profil affichant les configurations téléchargées et les identifiants d'auteur pour la synchronisation cloud - Authentification OAuth Discord et Steam via next-auth v5 - API REST publique (v0 et v1) pour les configurations, auteurs et analyses - Page de calendrier des versions avec graphiques de statistiques de téléchargement propulsés par Recharts La pile technique met l'accent sur les pratiques frontend modernes : Firebase pour le stockage des configurations et profils, Upstash Redis pour le stockage de session, Vercel pour l'hébergement et les analyses, et un système de design SCSS personnalisé sans framework UI. Un script automatisé de génération de manifeste (`npm run build:manifest`) agrège les métadonnées des plugins du répertoire `plugins/` dans un fichier JSON consommable. Côté sécurité, la plateforme stocke uniquement les données de configuration de présence (paires de boutons, cycles de statuts/images, titres, descriptions, horodatages, compteurs de téléchargement et noms d'affichage des auteurs) et évite explicitement de stocker les jetons Discord, mots de passe, clés OAuth, messages personnels ou données système. Les développeurs peuvent exécuter le projet localement avec `npm install && npm run dev`. Le pipeline de build (`npm run build`) régénère le manifeste des plugins avant le build de production Next.js. Les variables d'environnement pour Firebase, Redis, NextAuth et Steam sont configurées via `.env.local`. La publication de plugins suit un flux de travail simple par pull request : ajoutez un fichier `.js` ou un dossier sous `plugins/` avec les métadonnées requises (`author`, `description`, `tags`, `preview.slides`), ouvrez une pull request, et après fusion, le manifeste se reconstruit automatiquement, affichant le plugin sur `/plugins` avec un bouton d'installation.