Pas de chargement des css sur mon hote virtuel

Résolu
Gutt-V Messages postés 22 Date d'inscription mercredi 26 juin 2024 Statut Membre Dernière intervention 17 septembre 2024 - 16 sept. 2024 à 16:54
Gutt-V Messages postés 22 Date d'inscription mercredi 26 juin 2024 Statut Membre Dernière intervention 17 septembre 2024 - 17 sept. 2024 à 14:21

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 :

copie

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 !

A voir également:

5 réponses

jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 4 688
16 sept. 2024 à 17:06

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 ) ?


0
Gutt-V Messages postés 22 Date d'inscription mercredi 26 juin 2024 Statut Membre Dernière intervention 17 septembre 2024
16 sept. 2024 à 17:17

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

0
jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 4 688
16 sept. 2024 à 20:00

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)

0
Gutt-V Messages postés 22 Date d'inscription mercredi 26 juin 2024 Statut Membre Dernière intervention 17 septembre 2024
16 sept. 2024 à 21:47

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.

0
jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 4 688
17 sept. 2024 à 09:32

Si dans ton navigateur, tu entres l'url 

[URL DE TON SITE]/ App/views/layouts/style.css 

est-ce qu'il s'affiche ?

A noter que tu sembles avoir défini ton ROOT dans le dossier 

cmat/public/

Ton CSS devrait se trouver donc dans cette arborescence..

Tu  sembles utiliser un FRAMEWORK ...   lequel ?

0
yg_be Messages postés 23191 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 septembre 2024 Ambassadeur 1 533
Modifié le 17 sept. 2024 à 12:03

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"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gutt-V Messages postés 22 Date d'inscription mercredi 26 juin 2024 Statut Membre Dernière intervention 17 septembre 2024
17 sept. 2024 à 14:21

Merci 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 !

0