Sublime Text

Sublime Text - Javascript/Node.js - Programmation

Marsh Posté le 15-12-2020 à 15:33:20    

Bonjour,
Pour développer des applications à partir de HTML, PHP et Javascript, j'utilise l'éditeur Sublime text version 3,3,2 avec une licence sur MAC.
Or, l'enregistrement des fichiers ne fonctionne pas toujours. La version modifiée est bien présente sur le dossier d'enregistrement mais c'est la version non modifiée qui s'applique à l'exécution dans le serveur local MAMP.
Le débugger de Firefox montre clairement que la modification n'a pas été prise en compte.
Pour résoudre ce problème je suis obligé de réenregistrer le fichier en changeant son nom ce qui est pénalisant surtout lorsqu'il est appelé à plusieurs endroits dans l'arborescence de mon site.
Quelqu'un a-t-il une solution à ce problème qui semble spécifique de Sublime Text.
Merci de votre aide

Reply

Marsh Posté le 15-12-2020 à 15:33:20   

Reply

Marsh Posté le 15-12-2020 à 17:24:28    

Ca serait pas un soucis de Cache dans Firefox plutôt? Fait donc un Ctrl+F5 pour forcer le rechargement de la page.

Reply

Marsh Posté le 16-12-2020 à 10:25:58    

J'ai pensé la même chose mais debugger ouvert normalement le cache il prend cher, surtout sur la page html et qu'elle a changé.
Ou alors le serveur apache du MAMP est ptet tout pourris et envoie pas les bons header...
 
Ton fichier est bien enregistré dans un dossier sur le serveur Mamp si tu redémarres celui-ci, est ce que le fichier est bien actualisé ?
Ça le fait aussi avec des pages purement statiques (en html quoi) ?


---------------
D3
Reply

Marsh Posté le 16-12-2020 à 17:15:46    

Merci rat de combat et mechkurt pour vos réponses.
Je constate que vos suggestions tournent autour de la même idée : conservation et activation du fichier non modifié dans le cache du navigateur. Pour l'instant je n'ai pas revu le défaut. Dès qu'il réapparaît je fais les manips que vous me suggérez et bvous tiens au courant.

Reply

Marsh Posté le 16-12-2020 à 20:55:22    

mechkurt, je réponds à ta dernière question.
Ce défaut n'apparaît pas avec des pages HTML. Il semblerait que ce soit l'appel au fichier js par la balise  
<script type="text/javascript" src="ljs1.js"></script>
qui soit à l'origine du problème...

Reply

Marsh Posté le 17-12-2020 à 10:03:18    

Tu veux dire que ce fichier la a du mal a être mis à jour (un cache plus persistant quoi) ?
Si oui c'est assez normal, les fichiers css et js ne sont pas sensé changer d'une page à l'autre donc le paramétrage du cache pour ces fichiers est souvent plus fort au niveau du navigateur, si ce n'est que pour du développement, ouvre ton débogueur (clic droit examiner/inspecter l’élément puis onglet réseau/network) et coche la case de désactivation du cache, ça devrait suffire.


---------------
D3
Reply

Marsh Posté le 17-12-2020 à 10:11:52    

Merci mechkurt pour ces explications.
Je vais essayer dès que le problème se reproduit.
Pour l'instant il me laisse tranquille.

Reply

Marsh Posté le 17-12-2020 à 10:21:44    

Globalement développer en local sur un mamp, je doutes que tu ai des soucis de bande passante donc tu peux désactiver le cache, c'est plutôt une bonne pratique et ça t'évitera pas mal de problème je penses...


---------------
D3
Reply

Marsh Posté le 21-12-2020 à 10:10:29    

Salut
 
dans ta balise js, rajoute un param bidon qui fera croire au serveur http qu'il s'agit d'un nouveau fichier.
Si tu generes ta page en PHP tu peux faire :

Code :
  1. <script src="tonScript.js?_<?= echo rand (); ?>"></script>


 
Il est possible aussi que ton PHP soit "caché" aussi, regarde du coté des params d'OPcache (pour tester c'est simple, il suffit de voir si ton fichier change immediatement entre 2 modifs dans ton éditeur).
https://www.php.net/manual/fr/opcache.configuration.php
 
A noter que pour les soucis de cache lié au browser, active simplement les outils de dev dans ton browser (touche F12) et vérifies que la case suivante soit cochée (Firefox ou Chrome) :
https://i.imgur.com/zfyPsr0.png


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 21-12-2020 à 11:08:16    

Merci à tous, vous m'avez donné LA solution. Il s'agit bien d'un problème de cache. Le phénomène vient de se reproduire avec un fichier CSS : modification non prise en compte, exécution du fichier avant modif. Je vide le cache et hop miracle ! la nouvelle version s'exécute.  
Et moi qui pensais que Sublime Text était pourri !

Reply

Marsh Posté le 21-12-2020 à 11:08:16   

Reply

Marsh Posté le 21-12-2020 à 14:11:13    

Le coup du param aleatoire fonctionne bien sinon, ca évite généralement les soucis de cache, sans devoir passer par des ctrl+f5 ou la console de dev.
 
Sinon VScode est encore mieux, et gratuit ;)
(et PHPstorm/Webstorm est ENCORE ENCORE mieux, mais pas gratuit :D )


---------------
We deserve everything that's coming...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed