Needlz Dashboard / Content intelligenceDonnées réelles
← Connexions
PREMIÈRE CONNEXION

Configurer YouTube

Ces étapes se font une seule fois. Ne partagez pas les secrets dans une conversation.

1. Créer la base PostgreSQL

Créez un projet sur Neon. Copiez l’URL PostgreSQL de connexion poolée dans DATABASE_URL, puis l’URL directe dans DIRECT_URL pour les migrations. Supabase convient aussi.

2. Préparer le fichier local

Dans le dossier needlz_dashboard, copiez .env.example vers .env. Laissez le mode démonstration actif pendant la configuration. Générez deux secrets distincts avec la commande ci-dessous, puis renseignez AUTH_SECRET et TOKEN_ENCRYPTION_KEY.

node -e "console.log(require('node:crypto').randomBytes(32).toString('base64'))"

Renseignez OWNER_EMAIL avec l’adresse exacte du compte Google que vous allez connecter. Utilisez AUTH_URL=http://localhost:3000 et ouvrez toujours cette même adresse pour OAuth.

3. Créer l’application Google

Dans Google Cloud Console, créez un projet. Activez YouTube Data API v3 et YouTube Analytics API dans la bibliothèque des API.

Configurez Google Auth Platform : nom Needlz Dashboard, adresse de contact et audience externe si vous utilisez un compte Gmail personnel. En mode test, ajoutez votre compte dans la liste des utilisateurs de test.

Dans l’accès aux données, demandez les autorisations de lecture youtube.readonly et yt-analytics.readonly, ainsi que l’identité Google (openid, email, profile).

4. Créer les identifiants OAuth

Créez un client OAuth de type « Application Web ». Ajoutez cette URI de redirection autorisée, à l’identique :

http://localhost:3000/api/auth/callback/google

Copiez l’identifiant et le secret du client dans AUTH_GOOGLE_ID et AUTH_GOOGLE_SECRET dans .env. Le serveur conserve ces secrets ; ils ne doivent pas avoir de préfixe NEXT_PUBLIC_.

5. Initialiser et lancer

npm install
npm run db:deploy
npm run dev

Redémarrez le serveur après modification de .env. Dans Connexions, cliquez sur « Connecter Google et YouTube ». Sélectionnez la bonne chaîne, puis accordez les deux permissions en lecture. Lancez ensuite « Synchroniser les vidéos », puis « Afficher mes données réelles ».

6. Construire l’historique

Une synchronisation récupère les compteurs actuels et les rapports Analytics des 90 derniers jours. Les statistiques des premières heures des anciennes vidéos ne sont pas reconstituées. Les données indisponibles restent vides.

Pour les relevés automatiques, un endpoint protégé est prêt. Il doit être appelé par un planificateur lorsque l’application est déployée, avec CRON_SECRET. Le guide du projet explique sa configuration. Aucun abonnement ni déploiement n’est créé automatiquement.

Si Google refuse la connexion

Vérifiez l’URI exacte, le compte utilisateur de test, OWNER_EMAIL et l’activation des deux API. En mode test, l’autorisation peut expirer après sept jours : utilisez « Renouveler l’autorisation ». Si vous avez plusieurs chaînes de marque, reconnectez celle sélectionnée au premier import.

Documentation : OAuth Google · YouTube Analytics · Connexion Neon