Panel Administration
Gestion complete de la plateforme : utilisateurs, KYC/KYB, organisations, abonnements, monitoring et exports. 18 endpoints securises, 100% rate-limited.
Overview
Le panel Administration offre une vue d'ensemble complete de la plateforme YaniPay. Les administrateurs peuvent gerer les utilisateurs, revoir les dossiers KYC/KYB, surveiller les metriques systeme et superviser l'ensemble des operations financieres et programmes de fidelite.
15
Pages
6
Groupes Nav
18
API Endpoints
5
Etats KYC
Acces Restreint
L'acces au panel Administration necessite le role ADMIN. Toutes les actions effectuees dans le panel sont auditees et enregistrees dans les logs avec l'identite de l'administrateur, l'horodatage et les details de chaque operation.
Groupes de Navigation
Le panel est organise en 6 groupes de navigation couvrant tous les aspects de la gestion de la plateforme.
Vue Globale
Page d'accueil admin et dashboard de monitoring en temps reel.
Admin Home
/admin
Monitoring Dashboard
/admin/monitoring
Utilisateurs
Gestion complete de tous les utilisateurs de la plateforme.
Tous les utilisateurs
/admin/users
Particuliers
/admin/users/particuliers
Professionnels
/admin/users/professionnels
Banking
Supervision des transactions, paiements et portefeuilles.
Transactions
/admin/transactions
Paiements
/admin/payments
Wallets
/admin/wallets
Fidelite
Supervision des programmes de fidelite et recompenses globales.
Programmes
/admin/loyalty/programs
Recompenses
/admin/loyalty/rewards
Statistiques
/admin/loyalty/stats
Identite
Revue KYC/KYB : dossiers en attente, approuves et refuses.
En attente
/admin/kyc/pending
Approuves
/admin/kyc/approved
Refuses
/admin/kyc/rejected
Systeme
Parametres globaux de la plateforme.
Parametres
/admin/settings
APIs Administration
Les endpoints admin sont proteges par le role ADMIN et offrent un controle complet sur les ressources de la plateforme.
/api/admin/users
Liste paginee de tous les utilisateurs avec filtres
/api/admin/stats
Statistiques globales de la plateforme
/api/admin/monitoring
Metriques systeme et sante des services
/api/admin/kyc
Dossiers KYC/KYB avec filtres par statut
/api/admin/kyc/:id
Approuver ou rejeter un dossier KYC/KYB
/api/admin/users/:id/role
Modifier le role d'un utilisateur
/api/admin/users/:id
Desactiver un compte utilisateur (soft delete)
/api/admin/settings
Parametres globaux de la plateforme
/api/admin/settings
Modifier les parametres plateforme (ADMIN)
/api/admin/billing/subscriptions
Liste des abonnements (ADMIN + EMPLOYE)
/api/admin/billing/subscriptions
Modifier un abonnement (ADMIN uniquement)
/api/admin/organizations
Liste de toutes les organisations
/api/admin/organizations
Creer une organisation
/api/admin/export/full
Export JSON complet (marchands, transactions, loyalty)
/api/admin/prospects
Liste des prospects avec filtres
/api/admin/prospects
Creer un prospect
/api/admin/kyb/:proId
Detail du dossier KYB d'un professionnel
/api/admin/kyb/:proId
Mettre a jour le statut KYB
// Lister les utilisateurs avec filtres
const users = await fetch('/api/admin/users?' + new URLSearchParams({
role: 'PARTICULIER',
status: 'ACTIVE',
search: 'dupont',
page: '1',
limit: '20',
sortBy: 'createdAt',
sortOrder: 'desc',
}), {
headers: { 'Authorization': 'Bearer ${adminToken}' },
});
// Response: { users: [...], total: 1250, page: 1, totalPages: 63 }
// Modifier le role d'un utilisateur
await fetch('/api/admin/users/usr_abc123/role', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ${adminToken}',
},
body: JSON.stringify({
role: 'PROFESSIONNEL',
reason: 'KYB valide - activation compte pro',
}),
});
// Action auditee automatiquementMonitoring
Le dashboard de monitoring offre une vue temps reel sur la sante du systeme, les metriques de performance et le statut des agents Y.A.N.I.
Agent Monitoring
Surveillance en temps reel des agents Y.A.N.I. : statut, nombre de requetes traitees, temps de reponse moyen et taux d'erreur.
Metriques Systeme
CPU, memoire, disque, latence API, taux d'erreur, requetes par seconde et sante de la base de donnees Prisma.
Statistiques Globales
Volume de transactions, nombre d'utilisateurs actifs, taux de conversion KYC et metriques de croissance.
Alertes & Incidents
Systeme d'alertes configurable pour les anomalies : pics de trafic, erreurs recurrentes, tentatives de fraude.
// Recuperer les metriques de monitoring
const metrics = await fetch('/api/admin/monitoring', {
headers: { 'Authorization': 'Bearer ${adminToken}' },
});
// Response
{
"system": {
"uptime": "99.98%",
"cpu": "23%",
"memory": "4.2GB / 8GB",
"latency_p50": "12ms",
"latency_p99": "89ms"
},
"agents": {
"yani_core": { "status": "healthy", "requests_1h": 1247 },
"fraud_detector": { "status": "healthy", "alerts_24h": 3 },
"kyc_processor": { "status": "healthy", "pending": 12 }
},
"business": {
"active_users_24h": 8421,
"transactions_24h": 15893,
"volume_24h": "€2,847,391.00",
"kyc_completion_rate": "87.3%"
}
}Securite & Audit
Toutes les actions administratives sont tracees et auditables. Le systeme de logs capture l'identite de l'administrateur, le timestamp, l'action effectuee et les donnees modifiees.
Acces ADMIN Only
Verification stricte du role ADMIN sur chaque route et chaque endpoint API.
Audit Trail Complet
Chaque action est logguee avec admin ID, timestamp ISO 8601 et payload detaille.
Sessions Limitees
Sessions admin avec expiration courte (4h) et re-authentification obligatoire.
// Structure d'un log d'audit admin
interface AdminAuditLog {
id: string;
adminId: string;
adminEmail: string;
action: 'USER_ROLE_CHANGE' | 'KYC_APPROVE' | 'KYC_REJECT'
| 'USER_DISABLE' | 'SETTINGS_UPDATE' | 'DATA_EXPORT';
target: {
type: 'user' | 'kyc' | 'program' | 'settings';
id: string;
};
payload: Record<string, unknown>;
ip: string;
userAgent: string;
timestamp: string; // ISO 8601
}
// Example log entry
{
"id": "audit_xyz789",
"adminId": "usr_admin001",
"adminEmail": "admin@yanipay.com",
"action": "KYC_APPROVE",
"target": { "type": "kyc", "id": "kyc_abc123" },
"payload": { "previousStatus": "PENDING", "newStatus": "APPROVED" },
"ip": "192.168.1.1",
"userAgent": "Mozilla/5.0...",
"timestamp": "2026-02-20T14:30:00.000Z"
}Retention des Logs
Les logs d'audit sont conserves pendant 7 ans conformement aux exigences reglementaires. Ils sont stockes dans un format immutable avec rotation quotidienne et sont accessibles via l'API admin ou le dashboard de monitoring.
Rate Limiting
Toutes les routes admin sont protegees par rate limiting HTTP pour prevenir les abus et les attaques par force brute.
| Route | Limiter | Limite |
|---|---|---|
| GET /api/admin/* | apiRateLimit | 100 req / 15 min |
| PATCH /api/admin/* | apiRateLimit | 100 req / 15 min |
| DELETE /api/admin/* | apiRateLimit | 100 req / 15 min |
Structured Logging
Depuis ORC It.12, toutes les erreurs API utilisent le logger structure (lib/logger.ts) au lieu de console.error. Les logs sont au format JSON avec horodatage ISO 8601 et auto-sanitisation des donnees sensibles.