From 3b369122645b07b290f7fcc7bccb4787745cd5ea Mon Sep 17 00:00:00 2001 From: polo Date: Tue, 24 Mar 2026 22:39:29 +0100 Subject: =?UTF-8?q?mode=20maintenance,=20optimisation=20moins=20de=20contr?= =?UTF-8?q?=C3=B4les=20en=20mode=20run,=20dossier=20service=20et=20d=C3=A9?= =?UTF-8?q?placement=20fichiers,=20sessions=20et=20entit=C3=A9=20User=20pr?= =?UTF-8?q?=C3=A9par=C3=A9es=20=C3=A0=20l'impl=C3=A9mentation=20hypoth?= =?UTF-8?q?=C3=A9tique=20des=20r=C3=B4les,=20entit=C3=A9=20AppMetadata,=20?= =?UTF-8?q?meilleure=20s=C3=A9curit=C3=A9=20de=20fillStartingDatabase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installation.php | 161 --------------------------------------------------- 1 file changed, 161 deletions(-) delete mode 100644 src/installation.php (limited to 'src/installation.php') diff --git a/src/installation.php b/src/installation.php deleted file mode 100644 index 2bef8e5..0000000 --- a/src/installation.php +++ /dev/null @@ -1,161 +0,0 @@ -l'extension " . $extension . ' est manquante

'); - $flag = true; - } - } - if(!extension_loaded('imagick') && !extension_loaded('gd')){ - echo("

il manque une de ces extensions au choix pour le traitement des images: imagick (de préférence) ou gd.

"); - $flag = true; - } - if($flag){ - echo '

Réalisez les actions nécéssaires sur le serveur ou contactez l\'administrateur du site.
- Quand le problème sera résolu, il vous suffira de recharger la page.

'; - die; - } -} - -function installation(): void -{ - // -- droits des fichiers et dossiers -- - $droits_dossiers = 0700; - $droits_fichiers = 0600; - - if(!file_exists('user_data')){ - // créer le dossier user_data - mkdir('user_data/'); - chmod('user_data/', $droits_dossiers); - echo '

Le dossier public/user_data introuvable et le serveur n\'a pas la permission de le créer.
- Pour faire ça bien:
sudo -u "serveur web" mkdir /chemin/du/site/public/user_data

-

Aide: "serveur web" se nomme "www-data" sur debian et ubuntu, il s\'appelera "http" sur d\'autres distributions.

'; - die; - } - - if(!file_exists('../config/config.ini')){ - // aide à la création du config.ini - echo '

Ce fichier contient les codes de la base de données et quelques paramètres utilisés pour créer les liens internes.
- Un modèle est disponible, il s\'agit du fichier config/config-template.ini

-

Quand vous aurez terminé votre config.ini, donnez-lui si possible des droits 600.

'; - die; - } -} - -/* - // droits du config.ini - if(substr(sprintf('%o', fileperms('../config/config.ini')), -4) != 600){ - chmod('../config/config.ini', $droits_fichiers); - } - - // création de data et sous-dossiers - if(!file_exists('../data')){ - mkdir('../data/'); - chmod('../data/', $droits_dossiers); - } - if(!touch('../data')){ - echo("dossier data non autorisé en écriture"); - die; - } - $sous_dossiers = array('images', 'images-mini', 'videos'); - foreach ($sous_dossiers as $sous_dossier){ - if(!file_exists('../data/' . $sous_dossier)){ - mkdir('../data/' . $sous_dossier); - chmod('../data/' . $sous_dossier, $droits_dossiers); - } - if(!touch('../data/' . $sous_dossier)){ - echo("dossier data non autorisé en écriture"); - die; - } - } -*/ - -// création d'un site minimal avec une page d'accueil à la toute 1ère visite du site -// fonctiona appelée après la première requête envoyée en BDD, -// en l'occurence dans Menu parce que count($bulk_data) === 0 -function fillStartingDatabase(EntityManager $entityManager){ - /* -- table page -- */ - // paramètres: name_page, end_of_path, reachable, in_menu, hidden, position, parent - $accueil = new Page('Accueil', 'accueil', "Page d'accueil", true, true, false, 1, NULL); - $article = new Page('Article', 'article', "", true, false, false, NULL, NULL); - $connection = new Page('Connexion', 'connection', "Connexion", true, false, false, NULL, NULL); - $my_account = new Page('Mon compte', 'user_edit', "Mon compte", true, false, false, NULL, NULL); - $menu_paths = new Page("Menu et chemins", 'menu_paths', "Menu et chemins", true, false, false, NULL, NULL); - $menu_paths->addCSS('menu'); - $menu_paths->addJS('menu'); - $new_page = new Page('Nouvelle page', 'new_page', "Nouvelle page", true, false, false, NULL, NULL); - $new_page->addCSS('new_page'); - $new_page->addJS('new_page'); - $emails = new Page("Courriels", 'emails', "Consulter les courriels en base de données", true, false, false, NULL, NULL); - $emails->addCSS('show_emails'); - $emails->addJS('form'); - - /* -- table node -- */ - // paramètres: name_node, article_timestamp, attributes, position, parent, page, article - $head = new Node('head', 1, NULL, NULL, NULL); - $header = new Node('header', 2, NULL, NULL, NULL); - $nav = new Node('nav', 1, $header, NULL, NULL); - $main = new Node('main', 3, NULL, NULL, NULL); - $footer = new Node('footer', 4, NULL, NULL, NULL); - $breadcrumb = new Node('breadcrumb', 2, $header, NULL, NULL); - $login = new Node('login', 1, $main, $connection, NULL); - $user_edit = new Node('user_edit', 1, $main, $my_account, NULL); - $bloc_edit_menu = new Node('menu', 1, $main, $menu_paths, NULL); - $bloc_new_page = new Node('new_page', 1, $main, $new_page, NULL); - $bloc_emails = new Node('show_emails', 1, $main, $emails, NULL); - - /* -- table node_data -- */ - // paramètres: data, node, images - $head_data = new NodeData([], $head); - $header_data = new NodeData([], $header); - $footer_data = new NodeData([], $footer); - $emails_data = new NodeData([], $bloc_emails); - - /* -- table page -- */ - $entityManager->persist($accueil); - $entityManager->persist($article); - $entityManager->persist($connection); - $entityManager->persist($my_account); - $entityManager->persist($menu_paths); - $entityManager->persist($new_page); - $entityManager->persist($emails); - - /* -- table node -- */ - $entityManager->persist($head); - $entityManager->persist($header); - $entityManager->persist($nav); - $entityManager->persist($main); - $entityManager->persist($footer); - $entityManager->persist($breadcrumb); - $entityManager->persist($login); - $entityManager->persist($user_edit); - $entityManager->persist($bloc_edit_menu); - $entityManager->persist($bloc_new_page); - $entityManager->persist($bloc_emails); - - /* -- table node_data -- */ - $entityManager->persist($head_data); - $entityManager->persist($header_data); - $entityManager->persist($footer_data); - $entityManager->persist($emails_data); - - $entityManager->flush(); - header('Location: ' . new URL); - die; -} \ No newline at end of file -- cgit v1.2.3