Pas de chargement des css sur mon hote virtuel
RésoluGutt-V Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un peu honte de poster pour ça, je suis sûr de passer à côté d'un truc évident, mais ça fait deux jours que je suis en boucle sur ce problème.
Mon code PhP fonctionne bien, mais je n'arrive pas a charger mon fichier .css.. Et ça va me rendre fou !
Le fichier HTML qui me pose problème. Le fichier .css est dans le même dossier.
<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-iYQeCzEYFbKjA/T2uDLTpkwGzCiq6soy8tYaI1GyVh/UjpbCx/TYkiZhlZB6+fzT" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-u1OknCvxWvY5kfmNBILK2hRnQC3Pr17a+RTT6rIHI7NnikvbZlHgTPOOmMi466C8" crossorigin="anonymous"></script> <title><?= CmaT::getInstance()->getTitle(); ?></title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body class="d-flex flex-column h-100"> <nav class="navbar topbar"> <div class="container-fluid"> <span class="navbar-brand mb-0 h1">Navbar</span> <a href="?logout" title="Se déconnecter"> <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" fill="currentcolor" class="icone svg_sombre" viewBox="0 0 16 16"> <path d="M7.5 1v7h1V1z" /> <path d="M3 8.812a5 5 0 0 1 2.578-4.375l-.485-.874A6 6 0 1 0 11 3.616l-.501.865A5 5 0 1 1 3 8.812" /> </svg></a> </div> </nav> <div class="container mt-4"> <?php if (Session::getInstance()->hasFlashes()): ?> <?php foreach (Session::getInstance()->getFlashes() as $type => $message): ?> <div class="alert alert-<?= $type; ?>"> <?= $message; ?> </div> <?php endforeach; ?> <?php endif ?> <?= $content ?> </div> <footer class="py-4 footer mt-auto"> </footer> </body> </html>
Ce fichier est rendu depuis un controller :
protected function render($view, $datas = [], bool $isConnected = false) { ob_start(); extract($datas); require($this->viewpath . $view . '.php'); $content = ob_get_clean(); require($this->viewpath . 'layouts/default.php'); }
J'ai, je crois, a peu près tout essayer comme possibilité de chemin (relatif, absolu en récupérant les données de $_SERVER...
Rien !
D'ailleurs voici une copie de mon $_SERVER :
Surtout n'hésitez pas à me dire ce que je rate !
En espérant qu'un oeil neuf y voit plus clair .
D'avance merci !
- Pas de chargement des css sur mon hote virtuel
- Metre virtuel - Guide
- Bureau virtuel windows 10 - Guide
- Clavier virtuel arabe - Télécharger - Divers Web & Internet
- Ami virtuel - Guide
- Pc virtuel - Guide
5 réponses
Bonjour,
1 - As tu bien vidé le cache de ton navigateur ?
2 - Si tu affiches la page puis que tu inspecte son code source dans ton navigateur, vois tu bien la ligne qui fait appel à ton fichier css ?
Puis si tu cliques dessus ( ou control + click) est-ce que ça l'ouvre ?
3 - As tu bien respecté la casse ( Majuscule / Minuscule dans le nom du fichier ) ?
Tout d'abord, merci de prendre la peine de me répondre.
1 - Oui, plusieurs fois j'ai même tout rebooter.
2 - oui
Quand je ctrl + click dessus il m'ouvre un style.css avec 0 règle.
C'est un css qui a été généré à partir de SaSS. Ca peut jouer ? a mon avis, non...
Mais bon, pas si sûr.
J'ai essayé de coller au même endroit mon fichier .sass et le css.map : toujours pareil
3 oui
Quand je ctrl + click dessus il m'ouvre un style.css avec 0 règle.
C'est donc que tu ne pointes pas sur le bon chemin...
Il se trouve où ce fichier par rapport à la racine de ton site ?
Ou alors.. ton fichier est bel et bien vide .. ? Tu l'as ouvert pour voir ce qu'il contenait ? (depuis ton explorateur de fichier)
Le fichier .css est dans le même dossier que le default.php
Dans App/views/layouts.
J'ai essayé de nombreuses combinaisons pour les chemins mais rien ne change.
Le fichier CSS est bon: je l'utilise depuis longtemps dans plusieurs projets : jamais de soucis à ce jour.
bonjour,
quand tu as
href="style.css"
c'est le navigateur qui va aller chercher le fichier css, en utilisant l'url de la page en cours.
Si j'en crois ton $_SERVER (ce serait plus sympa de partager du texte, plutôt qu'une image), l'url de la page en cours est
http://cmat.local/index.php
Donc le navigateur va chercher le fichier css dans
http://cmat.local/style.css
Je pense que tu devrais modifier la page html, pour avoir
href="/App/views/layouts/style.css"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionMerci pour vos réponses.
Grâce a vos pistes, j'y suis arrivé !
Effectivement, j'ai tout mis dans le même dossier que mon index.php, plutôt que dans celui des layouts.
Du coup, ça marche.
Le pire c'est que j'étais persuadé l'avoir testé... Ce n'est pas beau de vieillir !
Encore merci pour le coup de main !