dimanche 2 décembre 2012

[Ubuntu 12.10] erreur d'installation Mysql Workbench

L'installation habituelle de Mysql workbench sur une install fraiche d'une Ubuntu 12.10 n'a pas correctement fonctionné. Pour ce faire :

- télécharger la librairie libctemplate0 sur https://launchpad.net/ubuntu/quantal/+package/libctemplate0

- faire un  (cf http://launchpadlibrarian.net/83494312/libctemplate0_1.0-1_amd64.deb)
sudo dpkg -i libctemplate0_1.0-1_amd64.deb 
- puis
sudo dpkg -i libgtkmm-2.4-1c2a libzip2 python-paramiko python-pysqlite2    
- puis
sudo dpkg -i mysql-workbench-gpl-5.2.44-1ubu1204-amd64.deb 
voilà !

PS : si jamais l'install demande des dépendances comme toujours faire un :
sudo apt-get -f install 

samedi 25 août 2012

[RaspberryPi + Nexus7] Google Cloud Print

Ce matin, je cherchais un moyen d'imprimer à partir de ma tablette N7 sur l'imprimante connectée à ma Raspi. J'ai googlé comme à mon habitude et j'ai trouvé la solution.

1- Sur la tablette installer l'application https://play.google.com/store/apps/details?id=com.pauloslf.cloudprint

2- Sur la Raspi faire un :
sudo su
apt-get install python-pip python-cups
pip install daemon
pip install cloudprint

créér le fichier /etc/init.d.cloudprint contenant :
#!/bin/bash
# /etc/rc.d/cloudprint
# Description: Starts the Google Cloud Print script on startup
# ----------------
#
### BEGIN INIT INFO
# Provides: Cloud-Print
# Required-Start: $cups $network $local_fs $syslog
# Required-Stop: $local_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Start Google Cloud Print
### END INIT INFO
USER="myuser"
PIDFILE="/var/run/cloudprint/pid"
case $1 in
 start)
  echo -n "Starting Google Cloud Print: "
  sudo -u $USER cloudprint -d -p $PIDFILE
 ;;
 stop)
  echo -n "Stopping Google Cloud Print: "
  killall cloudprint
 ;;
 restart)
  echo -n "Restarting Google Cloud Print: "
  killall cloudprint
  sudo -u $USER cloudprint -d -p $PIDFILE
 ;;
 *)
  echo "Usage: cloudprint {start|stop|restart}"
 ;;
esac

pour finir faire un :
chmod +x /etc/init.d/cloudprint
mkdir /var/run/cloudprint
chmod 777 /var/run/cloudprint
insserv cloudprint

puis un : 
/etc/init.d/cloudprint start


Entrer votre login et mot de passe gmail, ensuite passer sur la tablette puis paramétrer l'application Cloud Print et hop voilà c'est tout chaud tout beau !! 


enjoy ^^




cf. https://github.com/armooo/cloudprint/


lundi 20 août 2012

[Nexus7] On the road !!

çà y est la Nexus7 en précommande à la fnac avec 5% avec carte fnac ahahah !!

http://www.fnac.com/Asus-Nexus-ASUS-1B013A-7-LED-16-Go/a4424996/w-4?Origin=zanox1223451

il n'y a plus qu'à attendre ^^

wait and see !


[EDIT] Tablette reçue le 24/08/2012 alors que je n'y croyais pas !! Merveilleuse Nexus7 !! rien à dire !!

:p

dimanche 19 août 2012

[HTC Desire] Installer Ice Cream Sandwich (4.0.4) - AOKP

NB : Ne faites ces manipulations qu'en connaissance de cause, je ne peux être tenu responsable si vous ne savez pas ce que vous faites et/ou si votre HTC Desire rend l'âme... Ces manipulations comportent des risques !

Cela faisait un petit moment que je me disais "tiens faudrait que je change de ROM un de ces quatre..." . Je suis donc allé faire un tour sur le forum xda comme à mon habitude il y a quelques mois...
J'ai donc voulu tester une version d'Android sous Ice Cream Sandwich (4.0.4), les versions de Jelly Bean étant encore pas assez stables pour une utilisation normale.
J'ai donc pioché dans la liste des ROM disponibles http://forum.xda-developers.com/showthread.php?t=809328 , la version qui m'a paru la plus aboutie, la version AOKP se trouvant ici http://forum.xda-developers.com/showthread.php?t=1484648
Avant toute chose, il faut avoir un HTC desire rooté (voir unrevoked), disposer du clockworkmod en version 2.5.0.7.

1- avant tout il faut un HBOOT data++ (180m dispo pour le /system). Ce HBOOT est dispo ici http://forum.xda-developers.com/showthread.php?t=1147184 (choisir data++HBOOT.zip ). Redémarrer en recovery, sélectionner le fichier zip et attendre la fin de l'install.

2- télécharger ensuite la rom aokp_bravo_build-40
.zip ici http://minus.com/mbTSqS0sK/

3- Rédémarrer en recovery, sélectionner le fichier zip et attendre la fin de l'install (30 secondes environ)

4- Télécharger ensuite les packages google ici, faites de même recovery > .zip > install ...

5- vous voilà avec l'une des dernières versions d'Android sur un téléphone qui a déjà presque 3 ans. J'avoue vraiment avoir été bluffé par cette version, je note rapidité, fluidité, stabilité. Je l'utilise depuis 48h et c'est un vrai bonheur et n'a vraiment rien à voir avec les précédentes versions d'Android ! La version AOKP est de + très pratique : plusieurs tweaks intégrés, gestion de l'énergie géniale, et apps en tout genre évitant donc d'installer des apps supplémentaires. Bref que du bonheur ;) ! Je crois n'avoir jamais été aussi comblé par une ROM comme celle là auparavant !

En gros super boulot de la part de la team AOKP !!

Aller faire un tour ici : http://aokp.co/index.php/news






vendredi 20 juillet 2012

[Raspberry Pi & Autre] Lancer une commande distante

Je donne juste une astuce pour lancer une commande distante en exploitant l'affichage de l'hôte distant, pratique quand on veut par exemple lancer xbmc sur le RasPi sans devoir utiliser de clavier (filaire ou non) et en ayant l'avantage de pouvoir le lancer avec un smartphone (avec connectbot pour Android) ou autre bien sur...
Ah oui j'oubliai tout çà se passe avec la commande ssh :
ssh [nom_utilisateur]@[ip_distant] "export DISPLAY=:0.0 ; [commande]"
exemple, de mon canapé avec mon smartphone j’exécute la commande que j'ai enregistrée :
ssh pi@192.168.0.17 "export DISPLAY=:0.0 ; xbmc"
et hop en avant...

^^

[Raspberry Pi] install de Chromium Beta

Hexxeh a publié ce jour la beta de Chromium pour notre Raspi ici http://hexxeh.net/
Pour tester exécuter la commande :
sh <(curl -sL http://goo.gl/5vuJI
puis pour lancer chrome :
chrome –disable-ipv6
wazaaa !

mercredi 18 juillet 2012

[Raspberry Pi] Test Raspbian

Suite à la sortie de la release de la prometteuse distribution Raspbian http://www.raspberrypi.org/archives/1605 basée sur la debian wheezy (bien que la version ne soit pas encore passée en stable http://www.debian.org/releases/wheezy/ , mais bon on va tester la bête). 

1- Télécharger l'image http://downloads.raspberrypi.org/images/raspbian/2012-07-15-wheezy-raspbian/2012-07-15-wheezy-raspbian.zip 

2- Insérer votre carte SD, formater la, puis déplacer votre image sur la SD (avec Win32DiskImager pour window par exemple ou bien suivre la méthode ).

3- La distribution possède au démarrage d'un auto installer pour tous les paramètres de bases : keyboard, locales, ssh, modification mot de passe, update, extension de l'espace non utilisé...
Vraiment plaisant d'avoir çà sous la main au démarrage... :)
J'ai déjà envie de dire un grand bravo à l'équipe Raspbian... !!

4- Avant d'installer ma TODO-list habituelle, j'ai voulu tester XBMC, j'ai donc tenté l'install grâce au super tuto http://www.raspbian.org/RaspbianXBMC .
je me suis quand même créer un petit script sh avec toutes les commandes : http://pastebin.com/yUZrJDmy

5- Lancer les commandes (ou le script) et attendre bien 2-3h le temps que tout s'installe ^^ !

6- Le script va rebooter le raspi tout seul

7- Lorsque le Raspi a démarré, lancer XBMC par la commande :
sudo /usr/lib/xbmc/xbmc.bin

jeudi 14 juin 2012

[Titanium Studio] erreur emulateur android dans /builder.py

si à la compilation du projet, avant le test dans l'émulateur android, vous avez une erreur du type :

builder.py", line 1587, in s.build_and_run(False,avd_id) File "/home/****/.titanium/mobilesdk/linux/1.6.0/android/builder.py", line 1480, in build_and_run launched, launch_failed = self.package_and_deploy() File "/home/***/.titanium/mobilesdk/linux/1.6.0/android/builder.py", line 1112, in package_and_deploy output = run.run([self.jarsigner, '-storepass', self.keystore_pass, '-keystore', self.keystore, '-signedjar', app_apk, unsigned_apk, self.keystore_alias]) File "/home/***/.titanium/mobilesdk/linux/1.6.0/android/run.py", line 36, in run (so,se) = subprocess.Popen(args, stderr=subprocess.PIPE, stdout=subprocess.PIPE).communicate() File "/usr/lib/python2.6/subprocess.py", line 633, in init errread, errwrite) File "/usr/lib/python2.6/subprocess.py", line 1139, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory


faites :
cd /usr/bin

localiser le fichier jarsigned correspondant au java jdk 1.6.0.31 puis :
ln -s /usr/lib/jvm/jdk1.6.0_31/bin/jarsigner jarsigner

voilà ...

[Titanium Studio] Installer Titanium Studio sur Ubuntu

1- enregistrez vous sur https://my.appcelerator.com/auth/signup

2- installez la version 1.6.0.32 du SDK de java :
http://www.oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html
puis :

cd /usr/lib/jvm
sudo tar xvzf ~/jdk1.6.0_31-linux-*.tar.gz
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_31/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_31/bin/javac 1
sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.6.0_31/bin/javaws 1
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javaws

3-
sudo apt-get install libjpeg62

4-
wget http://titanium-studio.s3.amazonaws.com/latest/titanium.linux.gtk.x86_64.zip

5- 
unzip titanium.linux.gtk.x86_64.zip

6- 
cd Titanium_Studio
./TitaniumStudio

7-
entrez votre login et mot de passe et enjoy !



mercredi 13 juin 2012

[Raspberry Pi] HOW TO - Installation perso sur Debian6

Choix de la debian6 http://downloads.raspberrypi.org/images/debian/6/debian6-19-04-2012/debian6-19-04-2012.zip

1- installation de l'image dans la SD :
http://code-esperluette.blogspot.fr/2012/06/raspberry-pi-preparation-de-la-sd.html
* soit en utilisant Win32DiskImager http://elinux.org/RPi_Easy_SD_Card_Setup

2- enclencher la SD dans la Raspi et "start your engine !!"

3- entrer le login pi et mot de passe raspberry (attention au "a" - clavier qwerty inside :p !! )

4- premier boot... attendre le prompt puis :
(je reprend rapidement ici le starting guide proposé par http://elinux.org/RPi_Beginners)
* changer les paramètres de localisation car par défaut tout est "US" (donc qwerty, fuseau horaire etc...)
 sudo dpkg-reconfigure locales

puis configuration du clavier :
sudo dpkg-reconfigure keyboard-configuration

de la timezone :
  sudo dpkg-reconfigure tzdata

5- Création d'un nouvel utilisateur :
sudo adduser username
sudo visudo

ajouter dans le fichier à la suite des utilisateurs :
nom_utilisateur ALL=(ALL) ALL

puis CTRL+K, CTRL+X

6- Par mesure de sécurité modifier le mot de passe de base de l'utilisateur pi :
passwd

7- retailler les partitions de la SD (par défaut 2GB):
* soit utiliser http://mitchtech.net/easy-gui-install-re-partition-raspberry-pi-on-ubuntu/
* soit utiliser http://elinux.org/RPi_Easy_SD_Card_Setup#Manually_resizing_the_SD_card_on_Linux

8- lancer ensuite les commandes de mises à jour :
sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade

puis attendre un petit moment.

9- activer ssh (si pas activé)
sudo service ssh start

10- installer apache2 (v2.2.16)
groupadd www-data
usermod -a -G www-data www-data
apt-get install apache2

11- installer php5.3.3-7
sudo apt-get install libapache2-mod-php5 php5 php5-cli php5-common php5-curl php5-dev php5-gd php5-mysql php5-pear

12- installer mysql 5.1.49
sudo apt-get install mysql-server mysql-client php5-mysql

13- installer phpmyadmin
sudo apt-get install phpmyadmin

14- installer webmin
sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions pythonmkdir webmin

cd webmin

wget http://prdownloads.sourceforge.net/webadmin/webmin-1.580.tar.gz
gunzip webmin-1.580.tar.gz
tar xf webmin-1.580.tar

cd webmin-1.580
sudo ./setup.sh /usr/local/webmin

NB: utiliser https:// au passage puis tester https://[votre_ip]:10000

15- installer rpi-update (mise à jour auto du firmware de la Raspi)
cf. https://github.com/Hexxeh/rpi-update
wget http://goo.gl/1BOfJ -O rpi-update
sudo cp rpi-update /usr/bin/.
sudo chmod +x /usr/bin/rpi-update
sudo apt-get install git-core ca-certificates
sudo rpi-update







vendredi 8 juin 2012

[Raspberry Pi] Préparation de la SD - Raspbmc

La SD : Lexar 4gb class 6

1- repérer l'emplacement de la sd
df -h
/dev/sdb1        3,8G   44M  3,7G   2% /media/A6A1-AB87
ici /dev/sdb1

2- Télécharger Raspbmc RC2
wget http://download.raspbmc.com/downloads/bin/ramdistribution/installer-testing.img.gz

3- Décompresser puis 
sudo dd bs=1M if=/home/julien/Bureau/img-test.img of=/dev/sdb1

4- sudo sync

5- retirer la SD puis insérer la dans la RasPi

vendredi 27 avril 2012

Raspberry Pi en approche ^^ !!

Raspberry Pi en approche
il n'y a plus qu'à ! wait and see...

En attendant les prochains tests ...







EDIT - 31/05/2012
le joujou arrive officiellement !!

mardi 3 avril 2012

[Rappel] Installation rapide de Magento

Ce billet constitue un rapide petit rappel sur l'install de Magento en local :

Install classique (comme tous les CMS en général) :
1- télécharger et décompacter l'archive dans votre /var/www
2- créer votre virtual host (en général dans /etc/apache2/sites-enabled ) exemple : magento.local
3- redémarrer apache
4- définir votre nouveau hosts dans /etc/hosts
5- créer votre base de donnée
6- Entrer l'url http://magento.local

Si vous rencontrez l'erreur suivante : "Exception printing is disabled" (notamment dans la version 1.6.2.0), essayez cette méthode :
http://support.hostgator.com/articles/specialized-help/technical/magento-install-error-exception-printing-is-disabled

voilà rien de bien compliqué...

;)

samedi 31 mars 2012

[Bash] Gestion de processus asynchrones

Lors d'une de mes formations "Unix et Programmation Shell", je me suis retrouvé devant une problématique d'un de mes élèves que je n'avais jamais rencontré auparavant. En effet son soucis était de pouvoir gérer correctement au sein d'un processus général le lancement de 4 processus en parallèle n'ayant pas les même temps d’exécution et de pouvoir continuer la suite de l’exécution générale tout en étant sûr que les 4 processus se soient terminés.

Je m'explique :
Soit le processus global contenant 4 processus indépendants :
- soit le processus 1 devant s’exécuter pendant 20 secondes
- soit le processus 2 devant s’exécuter pendant 30 secondes
- soit le processus 3 devant s’exécuter pendant 40 secondes
- soit le processus 4 devant s’exécuter pendant 10 secondes
Ces 4 processus sont lancés en même temps, et du fait que chaque processus ne va pas se terminer au même moment, il faut attendre que chaque script soit terminé pour continuer la suite d'un processus global

Pour résoudre ce problème, je vais créer un script qui va simuler ce temps d’exécution soit :

[ time.sh ]
#!/bin/bash
# JN - 2012
# script de simulation
# $1 : numéro du travail
# $2 : nombre d'itérations à effectuer (correspond à la durée d'exécution du processus secondes)

# Exemple : sh time.sh 2 30 - création du processus 2 pendant 30 secondes

i=0
touch Z$1
while [ $i -lt $2 ]
do
   echo `date` >> Z$1
   i=`expr $i + 1`
   sleep 1
done
echo $1" terminé !"

exit 0


Exécution des 4 processus en parallèle :

sh time.sh 1 20 & sh time.sh 2 30 & sh time.sh 3 40 & sh time.sh 4 10

NB : ces processus créént 4 fichiers Z1, Z2, Z3, Z4.
Pour ce faire nous allons utiliser à la fois la récupération des processus (PID) lancés en arrière plan soit la variable $! et la commande wait

Processus global :

[ global.sh ]
#!/bin/bash
# script global

# exécution des 4 processus 
sh time.sh 1 20 & var1="$!" & sh time.sh 2 10 & var2="$!" & sh time.sh 3 40 & var3="$!" & sh time.sh 4 30 & var4="$!"

# gestion de la synchronicité des processus
wait $var1 && wait $var2 && wait $var3 && wait $var4

# suite du processus général
echo "Tous les processus sont terminés ;) "


En ouvrant par exemple 4 fenêtres d'invite de commande pour  voir le déroulement des 4 processus (soit en utilisant par exemple la commande tail -f Z1, tail -f Z2, etc... ), et en lançant le processus général dans une 5ème fenêtre soit :


sh global.sh


 on obtient :




well done !!! ;)


Outil de capture vidéo utilisé :
http://doc.ubuntu-fr.org/capture



lundi 12 mars 2012

[OpenERP-PHP] XML-RPC

Objet : Faire communiquer une plateforme PHP et un serveur OpenERP via XML-RPC

OpenERP : http://www.openerp.com/downloads

XML-RPC ? http://xmlrpc.scripting.com/spec.html

XML-RPC pour PHP ? est une extension php, accessible depuis PHP 4
pour l'activer ;extension=php_xmlrpc.dll dans le php.ini
La doc se situe ici : http://phpxmlrpc.sourceforge.net/doc-2/

OpenERP && XML-RPC ? http://doc.openerp.com/v6.0/developer/6_22_XML-RPC_web_services/index.html

Ce post permet de rassembler les points importants et de synthétiser l'utilisation que j'ai faite de  XML-RPC au travers de la communication avec une plateforme OpenERP.

[à venir]





dimanche 4 mars 2012

php 5.3 + Apache 2.2 VS php 5.4 + Apache 2.4

Environnement de test :
Dell XPS 15z L511
i7-2640M
8 192Mo DDR3
SSD 256Go

Ubuntu 11.10
Apache 2.2.20
PHP 5.3.10


Installation Apache 2.4.2 et PHP 5.4.1

sudo su -
cd /usr/local/


Installer quelques librairies
apt-get install libedit-dev libtidy-dev libxslt1-dev libmcrypt-dev libcurl4-gnutls-dev libaprutil1-dev


Installer Apache 2.4.2
wget http://apache.petsads.us//httpd/httpd-2.4.2.tar.gz 
# [edit - 25/04/12] version 2.4.2
tar -xvzf httpd-2.4.2.tar.gz 
cd httpd-2.4.2 
./configure --enable-file-cache --enable-cache --enable-disk-cache --enable-mem-cache --enable-deflate --enable-expires --enable-headers --enable-usertrack --enable-ssl --enable-cgi --enable-vhost-alias --enable-rewrite --enable-so   
make 
make install

Installer PHP 5.4.1

cd .. 
wget http://downloads.php.net/stas/php-5.4.1.tar.gz
# [edit - 25/04/12] version 5.4.1
tar -xvzf php-5.4.1.tar.gz 
cd php-5.4.1 
'./configure' '--disable-debug' '--enable-inline-optimization' '--disable-all' '--enable-libxml' '--enable-session' '--enable-xml' '--enable-hash' '--with-pear' '--with-apxs2=/usr/local/apache2/bin/apxs' '--with-layout=GNU' '--enable-filter' '--with-pcre-regex' '--with-zlib' '--enable-simplexml' '--enable-xmlwriter' '--enable-dom' '--with-openssl' '--enable-pdo' '--with-pdo-sqlite' '--with-readline' '--with-sqlite3' '--with-iconv' '--disable-phar' '--with-libedit' '--enable-exif' '--with-bz2' '--with-gettext' '--with-mcrypt' '--with-mhash' '--with-gd' '--with-jpeg-dir' '--with-png-dir' '--with-zlib-dir' '--with-xsl' '--with-tidy' '--with-freetype-dir' '--enable-gd-native-ttf' '--enable-mbstring' '--enable-sockets' '--enable-dom' '--enable-xml' '--enable-soap' '--enable-libxml' '--enable-session' '--enable-simplexml' --with-kerberos --with-curl '--with-mysql-sock' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-config-file-path=/usr/local/etc' '--with-libdir=lib64'
make 
make install
cp php.ini-development /usr/local/etc/php.ini

Puis :
 gedit /usr/local/apache2/conf/httpd.conf
Modification du port d'écoute d'Apache :
Listen 88
et du répertoire de travail :
DocumentRoot "/var/www"
et rajouter également (dans certain cas) :

<filesmatch "\.phps$"="">
    SetHandler application/x-httpd-php-source
</filesmatch>


Redémarrage d'Apache : /usr/local/apache2/bin/apachectl restart

Nous allons testé à la fois PHP5.3 + Apache2.2 sur  http://localhost
et PHP5.4 + Apache2.4 sur
http://localhost:88


Tester avec l'affichage d'un petit phpinfo() dans chaque cas et en avant !


php 5.4.1 + Apache 2.4.2 sur localhost:88
php 5.4.1 + Apache 2.4.2 sur localhost:88

php 5.3.1 + Apache 2.2.22 sur localhost:80
php 5.3.1 + Apache 2.2.22 sur localhost:80




cf. 
Marche à suivre officielle pour l'install d'Apache et php :
http://www.php.net/manual/fr/install.unix.apache2.php
Différents messages d'erreur que l'on peut trouver lors des compilations :
http://www.litespeedtech.com/support/wiki/doku.php?id=litespeed_wiki:php:lsapi:troubleshoot




1/ Bench#1 - http://phpbench.net/ :

cd /var/www/
wget http://phpbench.net/download/0.1.0/phpbench.php

tester :  http://localhost/phpbench.php 
Résultats :

Test #1 54 ms
Test #2 64 ms
Test #3 52 ms
Test #4 64 ms
Test #5 60 ms
Average of all 5 times: 59 ms

puis http://localhost:88/phpbench.php 
Résultats :

Test #1 47 ms
Test #2 54 ms
Test #3 48 ms
Test #4 50 ms
Test #5 47 ms
Average of all 5 times: 49 ms

le test a été réalisé 5 fois de suite et on note un gain d'environ 20% en faveur du couple PHP5.4 + Apache 2.4.

2/ Bench#2 - http://php-benchmark-script.com/ :

wget http://php-benchmark-script.com/bench.zip
unzip bench.zip


tester :  http://localhost/bench.php 
Résultats :
--------------------------------------
|        PHP BENCHMARK SCRIPT        |
--------------------------------------
Start : 2012-03-04 18:27:31
Server : localhost@127.0.0.1
PHP version : 5.3.10-1~dotdeb.1
Platform : Linux
--------------------------------------
test_math                 : 1.618 sec.
test_stringmanipulation   : 1.554 sec.
test_loops                : 1.046 sec.
test_ifelse               : 0.758 sec.
--------------------------------------
Total time:               : 4.976 sec.

puis http://localhost:88/bench.php 
Résultats :
--------------------------------------
|        PHP BENCHMARK SCRIPT        |
--------------------------------------
Start : 2012-03-04 17:27:15
Server : localhost@127.0.0.1
PHP version : 5.4.0
Platform : Linux
--------------------------------------
test_math                 : 1.492 sec.
test_stringmanipulation   : 1.484 sec.
test_loops                : 0.689 sec.
test_ifelse               : 0.574 sec.
--------------------------------------
Total time:               : 4.239 sec.

le test a été réalisé 5 fois de suite et on note un gain d'environ 15% en faveur du couple PHP5.4 + Apache 2.4.


3/ Bench#3 - http://www.free-webhosts.com/php-hosting-comparison.php

Aller sur http://www.free-webhosts.com/php-benchmark-script.php et récupérer le script.

tester :  http://localhost/php-benchmark.php 
Résultats :

Test #1 completed in 28 ms. 
Test #2 completed in 29 ms.
 Test #3 completed in 41 ms. 
Test #4 completed in 26 ms. 
Test #5 completed in 38 ms. 
Test #6 completed in 29 ms. 
Test #7 completed in 33 ms. 
Test #8 completed in 26 ms. 
Test #9 completed in 22 ms. 
Test #10 completed in 29 ms. 
Test #11 completed in 26 ms. 
Test #12 completed in 36 ms. 
 Lowest time: 22 ms , Highest time : 41 ms 
Average of all 12 times: 30 ms 
Average of middle 10 times: 30 ms

puis http://localhost:88/php-benchmark.php 
Résultats :

Test #1 completed in 30 ms. 
Test #2 completed in 33 ms. 
Test #3 completed in 28 ms. 
Test #4 completed in 25 ms. 
Test #5 completed in 26 ms. 
Test #6 completed in 33 ms. 
Test #7 completed in 29 ms. 
Test #8 completed in 24 ms. 
Test #9 completed in 34 ms. 
Test #10 completed in 26 ms. 
Test #11 completed in 30 ms. 
Test #12 completed in 29 ms. 
 Lowest time: 24 ms , Highest time : 34 ms 
Average of all 12 times: 29 ms 
Average of middle 10 times: 29 ms

le test montre une différence de performance assez négligeable...


[edit du 25/04/12] - ajout de quelques précisions

[PHP] Voir sur quel fichier d'un projet il y a une erreur de syntaxe - PHP Parse error: syntax error, unexpected

Voici une commande utile pour vérifier une erreur de syntaxe php dans votre projet. La commande ci dessous scrute dans le répertoire src t...