83 lines
3.8 KiB
Markdown
83 lines
3.8 KiB
Markdown
---
|
|
title: Materialious
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, front-end, youtube, material, svelte]
|
|
confidence: medium
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?q=materialious]
|
|
---
|
|
|
|
# Materialious
|
|
|
|
> Front-end YouTube moderne avec interface Material You 3, compatible avec Invidious et Piped.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | https://materialious.telebyte.cloud |
|
|
| **GitHub** | https://github.com/WardPearce/Materialious |
|
|
| **License** | AGPL-3.0 |
|
|
| **Langage principal** | SvelteKit (TypeScript) |
|
|
| **Étoiles GitHub** | 60 |
|
|
| **Dernière MAJ** | 2026 |
|
|
| **Catégorie** | [[cat-front-end]] |
|
|
|
|
## Description
|
|
Materialious est un front-end YouTube qui se distingue par son interface inspirée de **Material You 3**, le système de design dynamique de Google/Android 14+. C'est un "méta-front-end" : il peut fonctionner comme un client autonome en appelant directement l'API YouTube, ou se connecter à une instance existante de [[app-invidious]] ou [[app-piped]] pour bénéficier de leur anonymisation.
|
|
|
|
L'interface propose un système de thèmes dynamiques (couleurs dérivées de l'artwork de la vidéo), un mini-lecteur flottant (Picture-in-Picture), le support de **SponsorBlock** intégré, le téléchargement de vidéos, les playlists, les sous-titres, les chapitres, et un mode "Commentaires désactivés par défaut" pour réduire la toxicité.
|
|
|
|
L'authentification est entièrement locale (comptes en IndexedDB) avec chiffrement AES-GCM côté client. Materialious peut être installé comme PWA sur mobile, supporte le mode hors-ligne pour le contenu déjà visionné, et dispose d'un client **MPV** intégré pour le visionnage desktop avec décodage matériel.
|
|
|
|
## Installation
|
|
### Via Docker (recommandé)
|
|
```yaml
|
|
services:
|
|
materialious:
|
|
image: ghcr.io/wardpearce/materialious:latest
|
|
container_name: materialious
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3001:3001"
|
|
environment:
|
|
PUBLIC_API_URL: https://invidious.example.com/api/v1
|
|
PUBLIC_INSTANCE_TYPE: invidious
|
|
ORIGIN: https://materialious.example.com
|
|
```
|
|
|
|
### Installation manuelle
|
|
Cloner le dépôt, `pnpm install`, `pnpm build`. Servir le dossier `build/` via un serveur statique (Caddy, Nginx) configuré pour le SSR SvelteKit. Node 18+ et pnpm 8+ requis.
|
|
|
|
## Configuration
|
|
Les options principales sont définies au build via variables d'environnement : `PUBLIC_API_URL` (URL de l'instance Invidious/Piped), `PUBLIC_INSTANCE_TYPE` (`invidious` ou `piped`), `PUBLIC_SPONSORBLOCK_URL` (instance SponsorBlock, par défaut sponsor.ajay.app). Le mode autonome utilise l'API YouTube non-officielle via le proxy Piper.
|
|
|
|
## Alternatives
|
|
### Open source
|
|
- [[app-invidious]] — Front-end YouTube historique
|
|
- [[app-piped]] — Front-end YouTube en Java
|
|
- [[app-beatbump]] — Variante pour YouTube Music
|
|
- [[app-freetube]] — Client desktop Electron
|
|
|
|
### Propriétaires
|
|
- YouTube — Plateforme officielle
|
|
- YouTube Vanced (déprécié) — Client Android modifié
|
|
- ReVanced — Projet open source de patching, équivalent moderne
|
|
|
|
## Sécurité
|
|
- Préférer une instance auto-hébergée d'Invidious/Piped pour ne pas exposer ses habitudes de visionnage
|
|
- Activer HTTPS strict sur l'instance Materialious
|
|
- Chiffrer la base IndexedDB locale (le mot de passe est stocké sous forme chiffrée, mais choisir un mot de passe fort)
|
|
- Mettre à jour régulièrement pour suivre les changements d'API
|
|
- Activer le mode privé sur le reverse proxy si exposé publiquement
|
|
|
|
## Ressources
|
|
- Site officiel : https://materialious.telebyte.cloud
|
|
- Code source : https://github.com/WardPearce/Materialious
|
|
- Documentation : https://github.com/WardPearce/Materialious#readme
|
|
- Releases : https://github.com/WardPearce/Materialious/releases
|
|
|
|
## Pages Liées
|
|
- [[cat-front-end]]
|
|
- [[recettes-docker-compose]]
|