Paillasse/portail/tests/Reels/preparer-visio.php

33 lines
1.8 KiB
PHP
Raw Normal View History

<?php
// Données de test de la visio (étape 15), sur le serveur :
// sudo -u www-data HOME=/tmp php8.3 artisan tinker tests/Reels/preparer-visio.php
// Identifiants dans un fichier 600, jamais affichés. À supprimer après le test.
use App\Models\Classe;
use App\Models\Eleve;
use App\Models\Etablissement;
use App\Models\Lab;
use App\Models\Seance;
use App\Models\User;
use App\Support\CodeLisible;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
$etablissement = Etablissement::create(['nom' => 'Lycée Test Visio', 'ville' => 'Test']);
$motDePasse = Str::password(24, symbols: false);
$prof = User::create(['name' => 'Prof Visio', 'email' => 'prof-visio@syllabus.test', 'password' => $motDePasse, 'etablissement_id' => $etablissement->id]);
$classe = Classe::create(['etablissement_id' => $etablissement->id, 'user_id' => $prof->id, 'nom' => 'Classe Test Visio', 'formation' => 'Test']);
$eleves = [];
foreach ([['Lea', 'Martin', 'lea.visio'], ['Yanis', 'Bernard', 'yanis.visio']] as [$prenom, $nom, $identifiant]) {
$code = CodeLisible::genere(6);
Eleve::create(['classe_id' => $classe->id, 'prenom' => $prenom, 'nom' => $nom, 'identifiant' => $identifiant, 'code_secret' => Hash::make($code), 'jeton_qr' => Str::random(32)]);
$eleves[] = ['identifiant' => $identifiant, 'code' => $code];
}
$seance = Seance::create(['classe_id' => $classe->id, 'lab_id' => Lab::where('identifiant', '08-deux-lan-routeur')->value('id'), 'statut' => Seance::SALLE_ATTENTE, 'demarree_a' => now()]);
$fichier = '/tmp/visio-identifiants.json';
file_put_contents($fichier, json_encode(['prof' => ['email' => $prof->email, 'mot_de_passe' => $motDePasse], 'eleves' => $eleves, 'seance_id' => $seance->id]));
chmod($fichier, 0600);
echo "données de test prêtes (séance {$seance->id})\n";