2025-09-14 23:05:30 -04:00
2025-09-14 23:05:30 -04:00
2025-09-14 23:05:30 -04:00
2025-09-14 23:05:30 -04:00
2025-09-14 23:05:30 -04:00
2025-09-14 23:05:30 -04:00
2025-09-14 23:05:30 -04:00
2025-09-14 23:05:30 -04:00
2025-09-14 23:05:30 -04:00
2025-09-14 23:05:30 -04:00
2025-09-14 23:05:30 -04:00
2025-09-14 23:05:30 -04:00
2025-09-14 23:05:30 -04:00
2025-09-14 23:05:30 -04:00

NewTube — Agrégateur multiplateformes (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 🔧

  1. Installer Node.js (LTS). :node:
  2. Exécuter npm install pour les dépendances. 📦
  3. Copier et configurer assets/config.local.example.js en assets/config.local.js. 🔑
  4. 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.
Description
Site Web permettant de centraliser les accès à plusieurs platformes de streaming.
Readme 15 MiB
Languages
TypeScript 54%
JavaScript 21.5%
HTML 20.5%
Shell 2%
CSS 1.1%
Other 0.9%