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

Symfony PHP Discussion :

problème avec assetics en PROD [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut problème avec assetics en PROD
    Bonsoir les amis,

    en _DEV je n'ai aucun soucis
    en PROD, les fichiers .css sont chargés mais pas les fichiers .js

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ...
    {% block javascripts %}
        {{ parent() }}
     
        {% javascripts  '@CtxHomeBundle/Resources/public/jquery-box-slider/spec/box-slider.js'
        '@CtxHomeBundle/Resources/public/jquery-box-slider/jasmine-1.2.0/jasmine.js'
        '@CtxHomeBundle/Resources/public/jquery-box-slider/jasmine-1.2.0/jasmine-html.js'
        '@CtxHomeBundle/Resources/public/jquery-box-slider/js/box-slider-all.jquery.min.js'
        %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}

    ensuite je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    php app/console assets:install
    j'ai bien tous mes fichiers .js voulus dans : \web\bundles\ctxhome\*********jquery-box-slider etc...


    j'accède donc en local pour tester :
    en dev :
    http://monsite/app_dev.php/index // tout fonctionne nickel .css et .js

    en prod
    http://monsite/index // mes fichiers .css c'es ok mais les fichiers .js ne sont pas chargés


    WTF ?

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2015
    Messages : 20
    Points : 26
    Points
    26
    Par défaut
    php app/console assets:install web --symlink
    php app/console assetic:dump --env=prod --no-debug
    php app/console cache:clear --env=prod

    et des fois les navigateurs gardent le js trop longtemps, efface le cache navigateur peut être ?

  3. #3
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    merci pour ta réponse. la suppression de cache PROD et celui du navigateur déjà testé.

    avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    php app/console assets:install web --symlink
    et toujours pas

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2015
    Messages : 20
    Points : 26
    Points
    26
    Par défaut
    Oui ça veut dire que tu es sur un environnement windows
    il ne faut donc pas mettre l'option --symlink

  5. #5
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    avec ou sans --symlink ça donne pas de résultat

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2015
    Messages : 20
    Points : 26
    Points
    26
    Par défaut
    Tu fais un extends d'un template twig qui a déjà un block javascript ?

    Dans le twig parent tu as :
    {% block javascripts %}
    ....
    {% endblock %}

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2015
    Messages : 20
    Points : 26
    Points
    26
    Par défaut
    {% endjavascripts %} -> {% endblock %}

    bizard qu'il ne te pette une erreur en dev d'ailleurs ...

  8. #8
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    j'ai 3 niveaux :

    1er niveau : base -> jquery.1.11
    2eme niveau : layout -> bootstrap3.0
    3eme niveau : la vue -> des fichiers .js spécifique à la vue


    pour reprendre les déclarations javascript du parent j'utilise {{ parent() }}

    donc dans ma vue j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    {% block javascripts %}
        {{ parent() }}           // je recupere les déclarations de layout et base (jquery et bootstrap donc) 
     
     
    et j'ajoute ici mes declarations .js spécifique à la vue
    .....

    ça fonctionne parfaitement en DEV et d'ailleurs pour le CSS je fais cette méthode de hierarchie de niveau et aucun soucis

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2015
    Messages : 20
    Points : 26
    Points
    26
    Par défaut
    Et tu n'as pas d'erreur avec
    {% endjavascripts %} {% endblock %} ?

  10. #10
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    non. pour une question de lisibilité, twig permet de terminer par endblock ou endblockXXXXX (pour ceux qui veulent savoir à quel block le endblock appartient)

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2015
    Messages : 20
    Points : 26
    Points
    26
    Par défaut
    Ok, je vois pas alors

    Tu n'as aucun js même pas le jquery sur ton base.html.twig ?

    ton premier block js est bien dans le block body ? avant </body> ?

    Enfin ... si ça marche en dev et pas en prod c'est autre chose ...

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2015
    Messages : 20
    Points : 26
    Points
    26
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    {% block javascripts %}
        {{ parent() }}
     
        {% javascripts 
     
            '@CtxHomeBundle/Resources/public/jquery-box-slider/spec/box-slider.js'
            '@CtxHomeBundle/Resources/public/jquery-box-slider/jasmine-1.2.0/jasmine.js'
            '@CtxHomeBundle/Resources/public/jquery-box-slider/jasmine-1.2.0/jasmine-html.js'
            '@CtxHomeBundle/Resources/public/jquery-box-slider/js/box-slider-all.jquery.min.js'
     
            %}
            <script type="text/javascript" src="{{ asset_url }}"></script>
        {% endjavascripts %}
     
    {% endblock %}

  13. #13
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    oui il est bien dans <body>

    merci d'avoir cherché. ma question reste ouverte ...

  14. #14
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    restart apache ?
    Pb de cache APC ?

  15. #15
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    cache supprimé , restart apache mais rien n'y fait

  16. #16
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    Peux tu nous copier la section assetic de ton fichier config_prod et config_dev ?
    N'as tu pas d'erreur dans prod.log ? J'ai eu dce genre de chsoes quand assetic ne pouvait pas compresser certains fichiers par exemple.

  17. #17
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    "http://projet27.dev/index")" at D:\_dev_sf2\_work\projet27\app\cache\prod\classes.php line 2494 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): No route found for \"GET /js/2a1502c.js\" (from \"http://projet27.dev/index\") at D:\\_dev_sf2\\_work\\projet27\\app\\cache\\prod\\classes.php:2494, Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException(code: 0): at D:\\_dev_sf2\\_work\\projet27\\app\\cache\\prod\\appProdUrlMatcher.php:1353)"} []

  18. #18
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    as tu fais un assetic dump ?

    Asstic s'attend a ce que tu ai un fichier unique contenant tous les fichiers JS ensemble... mais ce fichier ne semble pas créé dans ton cas.

    En dev, je pense que tes noms JS ont changé pour ressembler à :
    2a1502c_nom_de_ton_fichier_js.js

  19. #19
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    aah yes ! j'ai zappé cette indication dans la doc !!

    MERCI


    avec ça, mes problèmes ont été résolue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     php app/console assetic:dump --env=prod --no-debug

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/04/2015, 09h17
  2. [2.x] Assetic en mode prod
    Par MarronSuisse dans le forum Symfony
    Réponses: 2
    Dernier message: 08/03/2012, 10h44
  3. [En PROD] Les Blog's de la rédaction
    Par Marc Lussac dans le forum Evolutions du club
    Réponses: 15
    Dernier message: 09/12/2004, 10h46

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