Elasticsearch interne (jamais exposé, sécurité x-pack désactivée, cohérent avec le reste des services internes de ce serveur), tas JVM fixé à 512 Mo plutôt que le calcul automatique (jusqu'à 50 % de la RAM système, désastreux sur ce serveur à 31 Go réels). Appels HTTP directs depuis Laravel, pas de bibliothèque cliente pour un besoin aussi simple. Index reconstruit après chaque synchronisation du catalogue, page de recherche commune aux profs et aux élèves. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
25 lines
670 B
PHP
25 lines
670 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Services\Recherche\IndexRecherche;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\View\View;
|
|
|
|
/**
|
|
* Recherche plein texte dans les cours et labs (bloc C, CLAUDE.md), commune
|
|
* aux profs et aux élèves — pas de donnée sensible dans le catalogue.
|
|
*/
|
|
class RechercheController extends Controller
|
|
{
|
|
public function chercher(Request $request): View
|
|
{
|
|
$texte = trim((string) $request->query('q', ''));
|
|
|
|
return view('recherche', [
|
|
'texte' => $texte,
|
|
'resultats' => IndexRecherche::chercher($texte),
|
|
'disponible' => IndexRecherche::disponible(),
|
|
]);
|
|
}
|
|
}
|