Skip to content

Repository files navigation

Arcade

Tous tes jeux en ligne, dans une seule app. Une application de bureau qui rassemble les jeux navigateur, les plateformes vidéo et tes amis au même endroit — sans onglet, sans pub, sans quitter la fenêtre.

Windows · macOS · Linux — télécharger la dernière version


Ce que ça fait

  • Une boutique de jeux — catalogue de jeux navigateur (skribbl.io, Gartic Phone, les .io, CrazyGames, Poki…), bibliothèque personnelle et favoris.
  • Tout se lance dans la fenêtre — les jeux s'ouvrent dans une webview intégrée, pas dans un navigateur externe.
  • Bloqueur de publicité intégré — moteur @ghostery/adblocker avec les listes EasyList / EasyPrivacy / uBO, réglable dans les paramètres : traqueurs, nuisances, filtrage cosmétique, sites autorisés.
  • Jeux maison — Le Pendu (solo, contre un bot, ou multijoueur tour par tour) et TierMaker (solo ou en duo, avec comparaison des classements).
  • Amis et messagerie — demandes d'amis, conversations privées.
  • Médias — YouTube, Twitch, TikTok en format téléphone, et Anime-Sama avec historique des épisodes, reprise de lecture et chat en direct par épisode.
  • 5 langues — français, anglais, allemand, espagnol, italien.

Installation

Récupère l'installeur de ta plateforme sur la page des releases :

Plateforme Fichier
Windows .msi ou .exe
macOS .dmg (Apple Silicon ou Intel)
Linux .AppImage, .deb ou .rpm

Les binaires ne sont pas signés : Windows SmartScreen et macOS Gatekeeper afficheront un avertissement au premier lancement.

Développement

Prérequis : Node.js 20+, Rust stable, et les dépendances système Tauri de ta plateforme.

npm install
npm run tauri dev

Pour produire un build local :

npm run tauri build

Le bloqueur de publicité est un bundle généré (npm run build:adblocksrc-tauri/src/adblock.bundle.js). Il est versionné parce que le crate Rust l'inclut à la compilation via include_str! ; relance la commande après avoir modifié src/adblock/content.ts.

Organisation

src/          interface React — pages, composants, contextes
src-tauri/    backend Rust — SQLite, comptes, webviews des jeux
server/       serveur de chat en direct (Node, une seule dépendance)
web/          site public — téléchargement, connexion, inscription

Serveur de chat

Le chat par épisode d'Anime-Sama s'appuie sur un petit serveur WebSocket fourni dans server/, avec sa propre documentation. Comptes, jetons et persistance reposent sur node:sqlite et node:crypto : aucun module natif à compiler.

cd server && npm install && npm start

L'application le vise via une constante de build ; pour pointer vers un serveur déployé, compile avec VITE_CHAT_SERVER=wss://ton-serveur.

Ajouter un jeu

Ajoute une entrée dans src/lib/games.ts : identifiant, titre, URL, catégorie, vignette. Un jeu interne se déclare avec internal: "/route" et apparaît comme n'importe quelle autre tuile de la boutique.

Pile technique

Tauri 2 · React 19 · TypeScript · Vite · Tailwind CSS 4 · SQLite (rusqlite) · Argon2

L'habillage suit un système de design inspiré de Spotify, décrit dans DESIGN.md.

À propos du contenu

Arcade est un lanceur : il affiche des sites tiers dans une webview et n'héberge, ne stocke ni ne distribue aucun contenu. Chaque service reste soumis à ses propres conditions d'utilisation.

Les comptes de l'application sont locaux à la machine (base arcadia.db dans le dossier de données de l'app). Seul le chat utilise un serveur.

Licence

MIT © 2026 Louis Delez

About

Tous tes jeux en ligne, dans une seule app. Lanceur de bureau pour jeux navigateur, médias et amis — Tauri 2 + React.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages