API réception alertes chute (SmartEye/YOLO), analyse IA (Gemini 2.5 Flash), gestion alertes avec escalade (watchdog), notifications Firebase, dashboard web, documentation MkDocs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
59 lines
1.9 KiB
PHP
59 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* GÉNÉRATEUR DE MOT DE PASSE CLIENT
|
|
*
|
|
* Usage : php generate_password.php <client_id>
|
|
* Génère un mot de passe aléatoire, le hash, et met à jour database.json
|
|
*/
|
|
|
|
if (php_sapi_name() !== 'cli') {
|
|
die("Ce script doit être exécuté en ligne de commande.\n");
|
|
}
|
|
|
|
if ($argc < 2) {
|
|
echo "Usage : php generate_password.php <client_id>\n";
|
|
echo "Exemple : php generate_password.php Demo_01\n";
|
|
exit(1);
|
|
}
|
|
|
|
$client_id = $argv[1];
|
|
$json_file = dirname(__DIR__) . '/database.json';
|
|
|
|
if (!file_exists($json_file)) {
|
|
die("Erreur : database.json introuvable\n");
|
|
}
|
|
|
|
$db = json_decode(file_get_contents($json_file), true);
|
|
|
|
// Recherche du client
|
|
$client_index = -1;
|
|
if (isset($db['clients'])) {
|
|
foreach ($db['clients'] as $index => $c) {
|
|
if (strcasecmp($c['name'], $client_id) == 0) {
|
|
$client_index = $index;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($client_index === -1) {
|
|
die("Erreur : Client '$client_id' introuvable dans la base de données\n");
|
|
}
|
|
|
|
// Génération mot de passe aléatoire (12 caractères : lettres + chiffres)
|
|
$password = bin2hex(random_bytes(6)); // 12 caractères hexadécimaux
|
|
$password_hash = password_hash($password, PASSWORD_BCRYPT);
|
|
|
|
// Mise à jour de la base
|
|
$db['clients'][$client_index]['password_hash'] = $password_hash;
|
|
file_put_contents($json_file, json_encode($db, JSON_PRETTY_PRINT));
|
|
|
|
// Affichage
|
|
echo "✅ Mot de passe généré avec succès pour '$client_id'\n";
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n";
|
|
echo "📱 Mot de passe : $password\n";
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n";
|
|
echo "\n⚠️ Communiquez ce mot de passe au client de manière sécurisée.\n";
|
|
echo " Le hash bcrypt a été enregistré dans database.json\n\n";
|
|
?>
|