1

Hello,

Dans ce message j'évoquais un remplacement du moteur de template de yAronet, que je viens de prendre le temps de publier sur GitHub. Sa principale caractéristique est de pouvoir injecter des variables pré-compilation, c'est à dire avant que le template ne soit compilé en code PHP et mis en cache, pour économiser du temps de calcul. De cette façon toutes les variables qui changent peu fréquemment voire jamais (racine de l'URL, langue du site et texte dans ces différentes langues, paramètres de configuration, etc.) peuvent être utilisées pour évaluer un maximum d'expressions de façon statique et ne laisser dans le code généré que celles qui varient réellement.

En pratique le gain n'est pas si intéressant que je l'aurais espéré, pour yAronet j'ai constaté une amélioration d'environ 10% sur le temps d'affichage des pages sachant que j'essayais auparavant de faire les mêmes optimisations à la main avec le moteur précédent, ce qui donnait un code relativement efficace mais particulièrement illisible : le gain se situe surtout là en ce qui me concerne.

La documentation est disponible sur Read the Docs : http://deval.readthedocs.io/
Et le code est chez GitHub : https://github.com/r3c/deval

Ce projet était également l'occasion de découvrir l'excellent générateur de parseur PEG.js, très facile à utiliser, et dont l'auteur a eu la bonne idée de découper la grammaire et la génération de code, permettant à d'autres développeurs de proposer des plugins pour d'autres langages (dont PHP, utilisé ici via phpegjs).

Bon, après, je suis pas sûr qu'il y ait beaucoup de gens qui développent encore en PHP par ici... hehe
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2

Developper en PHP, quel beau pleonasme grin

3

!slap Warpten
• Nil slaps Warpten around a bit with a large trout !


Je ne te permets pas embarrassed (mais je n'ai pas de besoin à ce niveau sad )
avatar

4

Malgré mon opinion sur le PHP, je salue l'initiative ^^
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

5

Pour les gros trucs objets je ne me prononce pas mais pour les ptits scripts web d'une page, perso je ne trouve pas de meilleurs candidats que le PHP embarrassed

Sinon belle initiative Zeph! smile
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

6

Desole je pouvais pas resister... J'en ai fait aussi, t'inquietes grin Ca me manque juste pas cheeky

7

Donc au moins une partie de yN est libre maintenant. smile Reste les autres 90%. tongue
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

8

Pour ça il faudrait l'accord de yAro, et pour commencer il faut déjà lui mettre la main dessus. Bon courage !
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

9

Ou bien que j'arrive à remplacer les 10% de code restants sur lesquels je n'ai aucun droit, pas totalement exclu que ça arrive un jour smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)