IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Laravel PHP Discussion :

asset path dans Laravel


Sujet :

Laravel PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 68
    Points : 44
    Points
    44
    Par défaut asset path dans Laravel
    Hello !

    J'ai installé la dernière version de Laravel (en mars 2021) sur mon ubuntu 20.04 avec docker et sail. Je suis un noob absolu en Laravel, et desireux de me former.
    J'ai créé une appli (laratest) avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl -s https://laravel.build/laratest | bash
    Ensuite , j'ai suivi un tuto pour créer une page un peu plus sophistiquée en copiant un exemple BootStrap 4.0, page qui utilise des resources css et js.
    J'ai donc créé des répertoires "css", "js" et "img" dans mon répertoire "laratest/storage/app/public" et j'y ai placé les fichiers css et js nécessaires. J'ai fait des liens symboliques de "laratest/public" vers "laratest/storage/app/public".
    je les utilise dans la vue par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href="{{asset('css/bootstrap.min.css')}}" rel="stylesheet">
    (j'ai aussi essayé d'ajouter public/ dans le path, sans succès)
    Ma page se charge, mais sans aucun formatage. Les outils de developpement de chrome m'indiquent que les fichiers css et js ne sont pas trouvés.
    Le chemin généré dans le code source de la page sur chrome est "http://localhost/css/bootstrap.min.css". Si j'essaye de le copier dans le navigateur, j'obtiens un 404.

    Comment faire pour que Laravel me génère les bons chemins pour mes css et js ??

  2. #2
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2021
    Messages : 1
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    les fichiers doivent être dans le dossier public à la racine du site et pas dans le storage !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 68
    Points : 44
    Points
    44
    Par défaut
    Merci pour ta réponse,

    Oui, c'est pareil si je fait un lien comme indiqué dans la doc de Laravel 8 (je copie un extrait ci-dessous
    --
    The Public Disk

    The public disk included in your application's filesystems configuration file is intended for files that are going to be publicly accessible. By default, the public disk uses the local driver and stores its files in storage/app/public.

    To make these files accessible from the web, you should create a symbolic link from public/storage to storage/app/public. Utilizing this folder convention will keep your publicly accessible files in one directory that can be easily shared across deployments when using zero down-time deployment systems like Envoyer.
    --
    quand je clique sur mon lien dans root/public, j'accède bien à mes fichiers. C'est curieux que ça ne marche pas.

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    et ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <link href="{{asset('public/css/bootstrap.min.css')}}" rel="stylesheet">

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 68
    Points : 44
    Points
    44
    Par défaut
    J'ai trouvé mon erreur. J'avais fait des liens symbolique de laravel/public vers laravel/storage/app/public avec des liens absolus... En remplaçant par des liens relatifs, ça marche parfaitement.
    Merci pour vos réponses et les infos utiles.

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2023
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2023
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    bonjours, vous pouvez me bien expliquer la solution que tu as trouver

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème path dans fichier zip
    Par jpastier dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 20/05/2006, 16h06
  2. [Débutant] Problème de Build Path dans Eclipse
    Par Invité dans le forum Eclipse Java
    Réponses: 15
    Dernier message: 13/11/2005, 18h03
  3. Réponses: 3
    Dernier message: 05/08/2005, 19h34
  4. [JAR]Class-Path dans le fichier Manifest
    Par Kleb dans le forum Général Java
    Réponses: 5
    Dernier message: 08/01/2005, 08h51
  5. Réponses: 5
    Dernier message: 27/07/2004, 17h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo