Connexion

php

railto framework ajax

Mardi 5 décembre 2006

je viens de découvrir Railto, un framework ajax qui permet de faire de très jolies choses (allez voir la section demo).

Ce framework est compatible uniquement IE 6.x/7.x et FF 1.x, comptez pas y allez avec opera…
Il fournie un code JS ainsi qu’un code serveur en PHP JSP Python .Net … bref beaucoup d’implémentations serveur.
Tout ça à l’air super! on dirait que c’est entièrement géré par coordonnée à l’écran, vous placez vos fenètre vos composant etc comme vous voulez!
Assez de widgets son implémentés pour en faire presque ce que vous voulez, et vous pouvez toujours changer les skins par défaut si vous les trouvés laid.

Seulement… allez pas piochez dans le code… illisible. c’est bourré de tab qui sont pas au bonne endroit, des fonctions à X paramètres inconnus, c’est lourd c’est gros.
D’ailleurs rien que le core javascript fait 500 Ko… 1/2 Mo à charger par vos visiteurs avant de voir apparaitre quoi que se soit… sans compter se que vous avez ajouté… si encore il y avait une bonne doc mais euh… où elle est ?? 500 Ko de code et 5 tuto tous aussi sombre que mon troue de balle!

Allez hop, à la corbeille, j’irai le rechercher quand tout ça aura évolué en doc et diminué en taille, autrement dire, j’ai peur que je puisse y recycler direct.

–EDIT–
allez je rectifie, en fait il le disent eux même que c’est trop lourd pour être exploité dans un site web entier :
FAQ Rialto

compilateur-encoder php : alternative à zend guard ?

Vendredi 1 décembre 2006

En voyant le prix de la version de Zend Guard anciennement Zend Encoder qui avoisinne les 1000$ certain ce sont lancé dans un projet open-source permettant une alternative gratuit pour interdire la lecture du code source dans des fichier php mais en fait surtout pour accélérer l’éxécution des script.

E-Accelerator a les même fonctions que zend guard. Et pour dire, anciennement cela s’appelait Turck MMCache seulement son fondateur s’est fait embaucher par zend :)
A l’époque ce freeware créait des opcode : non pas des bytecode mais pas loin. En gros ça évite au moteur de zend dans php de reparser le code mais il le compil quand même. On peut dire que c’est une pré-compilation.Toujours à l’époque, c’était encore plus optimisé que zend encoder.

Maintenant le projet a été repris par 2 dévellopeurs (Bart Vanbrabrant (belge), Hans Rakers (Allemand)). Leur principale pré-occupation est l’accélération de code malheureusement.
Je dis malheureusement parce que j’aurais bien aimé trouver un encodeur fiable et pas non plus avec un prix exorbitant. Il y a des codes-source qu’on aimerait cacher parce qu’on à pas envie que quelqu’un d’autre s’attribut la découverte d’une méthode mais qu’on aimerait quand même diffuser sans frais. Et on a donc pas l’ambition de se payer la licence zend guard…

Apparement et remalheureusement, en lisant un ticket sur le site de E-Accelerator, on dirait bien qu’ils vont totalement retirer la fonction d’encodage du programme pour l’instant… :(

Eclipse et PHP

Mardi 10 octobre 2006

Depuis que le projet Eclipse a démarré, il a fait du chemin.
A la base devellopper pour créer des applications java, sa protabilité fut tel qu’une multitude de plug-ins se sont créer permettant de develloper sous divers languages avec des assistants utilisateurs qui vont parfois bien au-dela de certain éditeurs payant.

Et parmis ses plug-ins on retrouve bien entendu PHPEclipse, permettant l’intégration du PHP. Celui-ci inclus:
- la coloration du code (paramètrable)
- la gestion des class, des variables, en tenant compte des fichiers inclut (via include ou require par exemple)
- un débugger syntaxique avancé (avec reconnaissance des variables)
- l’implémentaion des définitions/commentaires de type PEAR
- la reconnaissance du système de template smarty
- les bulles d’aides des fonctions natives php ET de vos fonctions avec votre définition si il y a.
- l’implémentaion d’un navigateur DANS l’envirronnement Eclipse afin de générer les page via votre serveur (local ou internet)

La synchronisation CVS est inclu dans Eclipse. Seul point noir en cour de develloppement, la synchronisation FTP se fait à l’aide d’un autre plug-in (FTP & WebDAV) mais j’ai des erreurs de connection 4 fois sur 5 sur la plupart des serveurs.. J’attend avec impatience la mise à jour.

En complément de ceci, et comme si ça ne suffisait pas, IBM a soumis un plug-in permettant l’implémentaion total d’AJAX basé sur des framework existants (Dojo, Open Rico) et implémentant des adaptations pour les environnements J2EE/JSP et Apache/PHP: L’ATF (AJAX Toolkit Framework) est encore en cour develloppement mais vous pouvez déjà vous procurer les versions beta. Imaginer le bonheur de pouvoir débugger ses codes javascript correctement, regardez les vidéos pour baver un peu.

Eclipse est donc très prometteur et deviendra surement l’éditeur favoris de nombreux develloppeur dans un avenir proche.
Ai-je besion de vous rapeler sa gratuité ?
Dreamweaver n’a qu’a bien se tenir.

– EDIT –
Finalement la synchronisation FTP marche très bien! Je suppose que l’erreur était du à la récente installation du plug-in… cela dit ne compter pas vous connecter sur les serveur FTP de free vu leur timeout exessivement bas :(
Pour effectuer une synchronisation affichez la vue “synchronisation de l’équipe”, ça vous paraitra plus clair :)
Allez quelques fonctionnalités de plus pour vous faire baver :
- visualisation des fichiers modifiés seulement (sur ftp ou sur local)
- comparaison diff avec éditeur intégré (vous savez, celui que dreamweaver n’intègre pas)
- intégration d’un mode de conflit si une nouvel version du fichier à été up sur le serveur pendant que vous travailler sur l’ancienne
Bon ben voila les autre éditeur peuvent tous allez se cacher, s’enterrer même.
Eclipse c’est de la balle :D

comparer les différences entre fichiers

Jeudi 5 octobre 2006

En créant un projet de subversion en php, je me suis rendu compte qu’il était assez dure d’afficher clairement les différences entre 2 fichiers sous php…

Quelques sources de class php sont fournies sur la toile seulement elle sont bien souvent trop gourmande et possèdent trop de bug pour pouvoir les utilisées correctement.

C’est pourquoi la commande diff sous linux existe et vous permet de faire cela dans un shell via la functioon php shell_exec ou encore grace aux guillemets obliques.

Vous n’aurez alors qu’a exécuté la commande suivante:

diff -u fichier1 fichier2

qui vous retournera quelque chose comme :

— fichier1   2006-10-05 01:19:52.000000000 +0200
+++ fichier2   2006-10-05 01:14:20.000000000 +0200
@@ -1,7 +1,12 @@
 ablabla
+ablablaablablaabla
 ablablaablabla
-www
-ablablaablablaablabla
-abb
+ablablaablablaabla
+ablablaablablaabla
+ablablaablablaabla
+ablablaablablaabla
+ablabl
+ablablaablablaabla
+ablablaablablaabla
 ablabla
 test
\ Pas de fin de ligne à la fin du fichier.

Il ne restera plus qu’a parser le résultat.
Plusieurs options pour diff son disponibles: man diff
Voyez aussi diff3 qui permet de comparer 3 fichiers en même temps, et sdiff pour une représentation ligne-à-ligne (side-by-side).

template php

Lundi 18 septembre 2006

Comme beaucoup de webmaster, vous serez un jour amené à vouloir utilisé un système de template pour votre site, non seulement pour permettre la portabilité mais aussi pour le système de cache que beaucoup d’entre eux intègre.

Et comme moi, un jour, vous chercherez un comparatifs des différents systèmes de templates existant. :)

En voici un, certainement incomplet car le monde libre est infini : comparatif template php

Pour ma part j’ai adopté smarty pour des utilisations poussé. Mais vous n’aurez certainement pas besoin de toutes ses fonctions, si tel est le cas, penchez vous sur PHPlib, système simple mais rapide.

OVH *.php -> php5

Lundi 31 juillet 2006

enfin OVH propose du php5 pour tout les scripts inscrit en *.php depuis peu de temps.

Pour cela, il suffit juste d’inclure un .htaccess avec à l’intérieur :
SetEnv PHP_VER 5
(source)

Je rectifie donc ma critique, OVH devient vient donc en concurrence avec 1and1 surtout que OVH fournie un espace sécurisé en https pour votre site (sous la forme “https://sllx.ovh.net/~votresite/”) ce qui est non-négligeable.

Pour arriver à doubler 1&1 il faut encore qu’ils évitent les coupures de serveurs produites dernièrement et tout sera parfait.

1and1 .php -> php5

Vendredi 7 juillet 2006

Et oui qui n’a jamais eut le problème de script avec des fichier .php qui ne s’execute pas avec la version php que l’on voudrait…

Et bien 1and1 nous offre la solution :
rajouté simplement cette ligne dans un .htacces à la racine :
AddType x-mapp-php5 .php
Ceci permettra au script de s’exécuter en php5 au lieu du php4 habituel chez 1and1.

Ayant éssayé pas mal d’hébergeur ( online, OVH … ) et même si je n’aime pas le trust, j’avoue que 1and1 est bien le meilleur.

Pour info chez OVH quand la question “comment faire pour éxécuter ses fichiers .php en php5 ?” est posé, ils répondent “c’est pas possible” (source, source, et re-source à l’appui) sans parler des intempéries qui se sont abattu sur leurs serveurs ses derniers temps… et sans parler aussi que dès que vous avez un fichiers qui leur plait pas CouïK sans rien dire!.

ok chez 1&1 c’est du CGI, mais au fond, si chez OVH on ne peut pas modifier l’environnement via le htaccess à quoi ça sert de tourner en mode normal pour avoir des contrainte comme ça?

Non pour moi même si 1&1 n’est pas communautaire contrairement à OVH ils sont fiable et on peut apeler ça de l’hebergement professionnel. Mais faut pas croire ils ont quelques petits défauts eux aussi.

php -> dom xml

Jeudi 6 juillet 2006

Il y a une petite semaine que je pense a crypter mes historiques de conversation MSN et comme la portabilité est mon principal soucis, je me suis dit “fait une petite appli”. Alors comme je kiff php et que j’ai pas encore éssayer les compilateur php->exe tel que PriadoBlender, j’ai décidé de m’y mettre.

Les conversation MSN son stocké dans des fichiers xml qui, couplé avec un xsl merdique, vous permettent tout de même de les visualiser via votre navigateur. XML c’est bien. Donc je me suis dit, restons dans cette optique, et créont des fichiers xml pour stocké tout ce beau monde en crypté.
C’est partie je vois qu’il y a une lib DOM dans php parfait! arf les fonctions DOM on l’air obsolète, je me met à DOM XML. mince c’est une extension… soit un pompage de dll, une ligne dans le php.ini, un redémarrage du serveur et mon extension DOM XML est prète. Je regarde la doc… ouais… bon ils auraient rien marqué ça serait pareil quoi… c’est pas grave ya des exemples! (je pars optimiste) allez un petit bout de code, $doc = domxml_open_file(),; echo $doc->dump_mem(); youhou j’ai affiché un fichier xml !!! …. ouais ya pa de quoi s’emballer quoi.

Je cherche à tirer les tout les dans n’importe quoi pour pouvoir les inclures ailleurs. Jje fouine… tiens on peut selectionné un noeud nommé!… encore heureux… DomNode et une classe parent de DomDocument parfait dump_prep doit marcher. Je selectionne mes message avec get_elements_by_tagname() sur mon $doc, je liste la NodeList. $node->dump_mem()… ah ben non… plantage du serveur net, précis. ça commence bien j’ai écrit 5 lignes. Alor on va test $node->owner_document()->dump_mem()… ça marche! ah ben nan… owner_document représente tout le document donc je l’ai listé plusieur fois… mais alors comment je fais pour just affiché mon noeud ?

Après des recherches un peu plus poussé j’ai décidé d’abandonné DOM XML, j’arrive pas à afficher un noeud, alors réussir à les déplacer dans un autre doc xml !!! Je lache. La moitié des fonctions sont pas documentée et sans exemple. Je préfère me démerder avec mes expréssions régulières, peut-être pas aussi fiable mais moins prise de tête inutile. La lib SimpleXML me parraissait alléchante jusqu’à se que je me rende compte qu’il n’y avait pas de fonctions pour écrire….

Bref le XML c’est bien, mais alors sous PHP, seulement à la main…