fetchAll( "SELECT * FROM available_models WHERE active = TRUE ORDER BY provider, recommended DESC, display_name" ); foreach ($all_models as $model) { $models_by_provider[$model['provider']][] = $model; } // Récupérer les statistiques d'utilisation (requête directe) $stats = $db->fetchOne( "SELECT COUNT(DISTINCT cc.id) as total_conversations, COUNT(cm.id) as total_messages, cc.provider, cc.model_used FROM chat_conversations cc LEFT JOIN chat_messages cm ON cm.id_conversation = cc.id WHERE cc.id_enseignant = ? GROUP BY cc.provider, cc.model_used ORDER BY total_conversations DESC LIMIT 1", [$user['id_utilisateur']] ); $stats_detail = $db->fetchAll( "SELECT cc.provider, cc.model_used, COUNT(DISTINCT cc.id) as conversations, COUNT(cm.id) as messages, DATE_FORMAT(cc.date_debut, '%Y-%m') as month FROM chat_conversations cc LEFT JOIN chat_messages cm ON cm.id_conversation = cc.id WHERE cc.id_enseignant = ? GROUP BY cc.provider, cc.model_used, month ORDER BY month DESC, conversations DESC", [$user['id_utilisateur']] ); ?>
Gérez vos clés API et choisissez les modèles pour vos évaluations
Aucune clé configurée pour = $provider_name ?>
| Mois | Provider | Modèle | Conversations | Messages |
|---|---|---|---|---|
| = date('M Y', strtotime($stat['month'] . '-01')) ?> | = $provider_icons[$stat['provider']] ?? '🤖' ?> = ucfirst($stat['provider']) ?> | = htmlspecialchars($stat['model_used']) ?> | = number_format($stat['conversations']) ?> | = number_format($stat['messages']) ?> |