3.0 KiB
3.0 KiB
NewTube — Agrégateur multi‑plateformes (Angular) 🌐
NewTube est un agrégateur de vidéos multi-plateformes, conçu pour une expérience unifiée et personnalisable. 🚀
Objectifs Principaux 🎯
- Fournir une recherche et des tendances unifiées sans changer d'onglet. 🔍
- Gérer les clés API et configurations pour éviter les erreurs. 🔒
- Offrir une UX fluide avec thèmes, recherche avancée et gestion des préférences. 🎨
Providers Supportés 📹
- YouTube 🔴
- Dailymotion 🔵
- Twitch 🟣
- PeerTube (instances configurables) 🟢
- Odysee 🟡
- Rumble 🟠
Nouveautés Récentes ✨
- Barre de recherche sur la page 'Liked videos' avec filtrage côté serveur. :search:
- Améliorations de l'affichage des badges fournisseurs dans le header. 🏷
Stack Technique et Patterns 🛠
Technologies Utilisées 💻
- Framework: Angular 20 avec composants standalone et mode strict. :angular:
- Réactivité: Signals pour une gestion d’état réactive. 📶
- HTTP & Observables: RxJS pour les appels asynchrones. 🚀
- Styling: Tailwind CSS via CDN pour un design rapide et réactif. 🖌
- Proxy: Configuration pour gérer le CORS en développement. 🌐
Patterns de Développement ⚙️
- Contrôle centralisé de la readiness des providers.
- Mappers pour normaliser les réponses des APIs.
- Effets Angular pour des mises à jour réactives. 🔁
- Recherche côté serveur pour les pages comme 'Liked videos'. 🔍
Prérequis :checklist:
Étapes d'Installation 🔧
- Installer Node.js (LTS). :node:
- Exécuter
npm install
pour les dépendances. 📦 - Copier et configurer
assets/config.local.example.js
enassets/config.local.js
. 🔑 - Lancer avec
npm run dev
. :play_button:
Lancement en Développement 💻
npm run dev
pour démarrer le serveur Angular. :play_button:
Build de Production 📦
npm run build
pour compiler l'app. 🔨
Déploiement avec Docker 🐳
- Construire l'image:
docker build -t newtube:latest .
. - Lancer:
docker compose up -d
.
Variables d'Environnement ⚙️
PORT
,NODE_ENV
,TWITCH_CLIENT_ID
, etc. 🔒
Proxies pour le Développement 🌐
- Configurés dans
proxy.conf.json
pour contourner le CORS. 🛡
Utilisation Rapide 🚀
- Sélectionnez un provider et recherchez. 🔍
- Explorez les tendances ou vos vidéos aimées. ❤️
État des Fonctionnalités :checklist:
- Readiness des providers. :check_mark_button:
- Barre de recherche sur 'Liked videos'. :search:
- Tests unitaires. 🧪
Roadmap et TODO 🎯
Prochaines Étapes ▶️
- Ajouter un bandeau pour les providers non configurés. ⚠️
- Implémenter des tests unitaires. 🧪
Priorités 🔥
- Améliorer les intégrations provider. 🌐
- Ajouter des fonctionnalités avancées. 🚀
Scripts NPM 📦
Notes de Sécurité et Bonnes Pratiques 🔒
- Ne pas versionner les clés API. ⛔️
- Restreindre les clés par referer. 🛡
- Gérer les erreurs avec des messages clairs. ℹ️