@extends('layouts.app') @section('title','Invités (Yggdra-Guest)') @section('content')
Invités & présentateurs
Connexion à Yggdra-Guest (l'ERP des invités) pour préparer les fiches des invités et présentateurs : identité de scène, catégories, bio officielle et photo créditée. Préparation : les fiches sont importées et prêtes ici ; le site public ne les affiche pas encore (on branchera la page Invités plus tard). Aucune donnée privée ne sort de Yggdra-Guest (jamais de coordonnées).

Connexion : {{ $configured ? 'configurée' : 'manquante (GUEST_API_KEY et GUEST_BASE_URL dans le .env)' }}

@csrf @method('PUT') @if(count($events))

Liste chargée depuis Yggdra-Guest : sélectionnez l'édition en cours.

@else @if(!empty($eventsError))

Liste des événements indisponible : {{ $eventsError }}

@else

Liste des événements indisponible : saisissez l'UUID manuellement.

@endif @endif
@csrf
@csrf

En cache : {{ $profiles->count() }} fiche(s){{ $lastSync ? ' · dernière synchro '.\Illuminate\Support\Carbon::parse($lastSync)->diffForHumans() : '' }}. L'import automatique (cron) rafraîchit aussi les fiches toutes les heures. La clé doit avoir les scopes read:events, read:participations, read:persons, read:media (photos copiées localement, la clé ne va jamais dans le navigateur).

@if(session('guests_summary')) @php($s = session('guests_summary'))
Résultat du test
{{ $s['count'] }}
Participations
{{ $s['presentateurs'] }}
Présentateur(s) / animateur(s)
@if(!empty($s['categories']))

Par catégorie : {{ collect($s['categories'])->map(fn ($n, $c) => "$c ($n)")->implode(' · ') }}

@endif @if(array_key_exists('bios_ok', $s) && ! $s['bios_ok'])

Bios officielles inaccessibles : la clé API n'a pas le scope read:persons. Les fiches s'importent sans résumé. Créez une nouvelle clé dans Yggdra-Guest (Administration › API & Webhooks) avec les 4 scopes de lecture, collez-la dans Configuration (.env), puis ré-importez.

@endif
@endif @if($profiles->count())
Fiches importées

Décochez celles qui ne devront pas apparaître le jour où la page Invités sera branchée. Le choix survit aux ré-imports.

@csrf
@foreach($profiles as $g) @endforeach
@endif @endsection