javascript Article

PHPJS – Fonction PHP en Javascript

PHPJS – Fonction PHP en Javascript

Ça fait un petit moment que j’utilise ceci dans mes différents projets. Je me suis dis que le moment était venu de le partager avec vous. Je vais donc vous révéler le secret … Mais de quoi il parle ?

PHPJS c’est quoi ?

Il s’agit d’une bande de tarré qui se sont lancé dans l’écriture référencée des fonctions PHP en language Javascript. Je ne sais pas si vous me suivez mais en gros ça permet de faire un « array_key_exists »  ou un « array_search » en Javascript avec 1 ligne de code. C’est un projet trop peu connu à mon goût mais pourtant très utile à la communauté et aux développeurs Javascript.

Pourquoi utiliser PHPJS ?

PHPJS est très utile pour vous simplifier la vie (surtout pour travailler avec les array). Certaines fonctions PHP sont très puissantes et permettent des traitements rapide avec les array ou avec les strings que Javascript ne possède pas nativement. Avec PHPJS on a tout ça sous la main et ça peut parfois éviter un bon nombre de ligne de code.

Comment utiliser PHPJS?

Je dirais qu’il existe 3 manières d’utiliser PHPJS.

La façon manuelle :

Il suffit d’utiliser dans un fichier de fonction (par exemple nommé utils.js) les fonctions PHPJS dont vous aurez besoin pour votre projet. Voici la page qui référence les fonctions. Il suffit de copier / coller les fonctions que vous avez besoin pour votre projet. C’est très simple à faire et surtout on optimise ici le temps de traitement des pages, la librairie complète de PHPJS est un peu lourde tout de même. (+ de 100 ko)

Les packages de fonctions :

Il existe différents packages de la librarie que l’on peut télécharger et utiliser gratuitement sur cette page. Vous aurez donc un fichier contenant toutes les fonctions PHPJS. C’est très pratique car on a pas de question à se poser, savoir si cette fonction est déjà dans son fichier de fonction ou non. (A conseiller pour les applications web plus que pour les sites web).

Les packages objet :

Ces packages permettent d’utiliser toutes les fonctions (comme dans les packages de fonctions) mais celles-ci sont encapsulées dans un objet. Ceci évite les conflits de nom avec des fonctions déjà existantes dans un projets. (A conseiller pour les applications web plus que pour les sites web).

 

Conclusion :

Je vous conseille donc d’aller faire un tour sur le site de PHPJS. C’est une librairie vraiment interessante qui vaut le coup d’être étudiée. Le code est très propre. J’ai aussi appris beaucoup en ouvrant les fichiers et en regardant la construction de certaines fonctions.

Ressources :

Fini les problèmes de cache navigateur avec filemtime

Marre d’avoir des problèmes de cache lors de vos développements ? Marre de recevoir des appels de vos clients mécontents car ils ne voient pas les changements que vous venez de mettre en place ? Vous souhaitez maîtriser le cache du navigateur pour les fichiers de style (css), javascript, images (png, jpg …) ?

Le problème

Les navigateurs (tous confondus) utilisent un système de cache local qui permet d’afficher plus rapidement une page une fois que celle-ci a déjà été affichée. Le problème c’est que si vous poussez une mise à jour d’un fichier javascript ou un fichier de style, les visiteurs qui auront déjà ce fichier en cache ne verront aucun changement sur le site car leur navigateur sortira le fichier en cache.

La solution

Pour éviter ce problème très frustrant à la longue, il existe une pratique qui utilise une fonction PHP pour permettre de dater le fichier. Cette fonction s’appelle filemtime et va renvoyer la date de dernière modification du fichier au format timestamp.

Voici comment l’utiliser :

il suffit donc de mettre un paramètre GET (ici « date ») avec comme valeur le timestamp de la date de dernière modification de votre fichier (donné par la fonction filemtime) pour que le navigateur pense qu’il s’agit d’un nouveau fichier et aille le chercher sur le serveur.

Procédez comme cela pour chaque fichier javascript et css mais aussi pour les images si besoin.

Attention au chemin (path) que vous allez utiliser pour filemtime. Un chemin peut être relatif ou absolue. Si vous avez une erreur PHP contenant le terme « stat failed« , ceci veut dire que PHP n’a pas réussit à récupérer les infos du fichier, ce qui le plus probablement sera une erreur de chemin. Alors relatif ? ou absolue ? Ceci va dépendre de votre configuration PHP, mais le plus souvent le chemin relatif fonctionnera.

Conclusion

J’espère que ce petit tutoriel vous aura aidé à comprendre une méthode simple pour vous éviter bien des problèmes de cache. J’utilise maintenant cette méthode dans tous les projets que j’entreprends, c’est vraiment une « best practice » comme on dit dans le métier.

Highcharts une librairie javascript pour les graphs – 1/3 – Présentation

Highcharts une librairie javascript pour les graphs – 1/3 – Présentation

Je vais vous parler d’Highcharts, une librairie Javascript vraiment bonne pour faire des graphiques. Cette librairie a été construite et est maintenu par la compagnie Norvégienne Highslide Software. Elle est gratuite pour des projets personnels et coûte quelques deniers pour un usage commercial.

(suite…)