Import initial de Vivier depuis l'hebergement OVH

This commit is contained in:
Yann PILLA committed 2026-10-16 21:52:44 +02:00
commit 839e5e57c5
126 files changed
+22447

No files matched your search

+39
View File
@@ -0,0 +1,39 @@
<?php
declare(strict_types=1);
// Sauvegarde hebdomadaire de la base, envoyée par email, puis vidage de la corbeille des profils.
// À déclarer dans l'espace client OVH, onglet « Plus », « Planificateur de tâches » :
// commande : vivier/cron/sauvegarde.php langage : PHP 8.3 fréquence : chaque dimanche à 6 h
// Ce dossier est hors de la racine web : le script ne peut pas être appelé par une adresse.
require __DIR__ . '/../src/bootstrap.php';
$resultat = Sauvegarde::executer('planifiee', true);
// Ce texte arrive dans le rapport d'exécution d'OVH
echo date('Y-m-d H:i') . ' Vivier, sauvegarde : '
. ($resultat['reussie']
? 'faite, ' . $resultat['fichier'] . ' (' . Sauvegarde::taille((int) $resultat['taille']) . '), email : ' . $resultat['envoi']
: 'ECHEC, ' . $resultat['detail'])
. ($resultat['reussie'] && $resultat['detail'] !== '' ? ' ' . $resultat['detail'] : '') . "\n";
// La corbeille des profils se vide au même moment : les profils supprimés depuis plus de 30 jours sont effacés
try {
$effaces = purger_corbeille();
echo date('Y-m-d H:i') . ' Vivier, corbeille : ' . $effaces . " profil(s) efface(s)\n";
} catch (Throwable $ex) {
echo date('Y-m-d H:i') . ' Vivier, corbeille : ECHEC, ' . $ex->getMessage() . "\n";
}
// Le journal des connexions garde 12 mois ; les liens d'invitation, 12 mois après leur création
try {
purger_connexions();
db()->exec('DELETE FROM invitations WHERE cree_le < DATE_SUB(NOW(), INTERVAL ' . CONNEXIONS_MOIS . ' MONTH)');
echo date('Y-m-d H:i') . " Vivier, journal des connexions : purge faite\n";
} catch (Throwable $ex) {
echo date('Y-m-d H:i') . ' Vivier, journal des connexions : ECHEC, ' . $ex->getMessage() . "\n";
}
// Toujours 0 : OVH désactive une tâche après 10 échecs, ce qui arrêterait aussi les sauvegardes suivantes.
// Un échec est signalé par l'email d'alerte et par le tableau de bord de Vivier.
exit(0);