Planet Fedora-Fr

fedora-fr fedora-fr

Aller au contenu | Aller au menu | Aller à la recherche

mercredi, mai 7 2008

 
 

php-5.2.6-1

English RPM of the new version php 5.2.6 for Fedora, Enterprise Linux (RHEL, CentOS) are available (with most extensions, including oci8, mssql, sqlite...) in remi repository.

Français Les RPM de la nouvelle version php 5.2.6 sont disponibles pour Fedora et Enterprise Linux (RHEL, CentOS) (avec la plupart des extensions, dont oci8, mssql, sqlite...) dans le dépôt remi.

A noter que ces nouveaux RPM ont été construit avec : MySQL version 5.0.51a disponible ici (pour php-mysql) FreeTDS version 0.64 disponible ici ou chez Livna (pour php-mssql) Oracle Instant Client version 10.2.0.3 (pour php-oci8). Voir la fiche sur Oracle Instant Client 10.2.0.3 on x86_64 pour l'explication sur la construction des RPM.... Lire

Billet original sur Les RPM de Remi

 
 

mercredi, avril 30 2008

Hier était pour moi un jour particulier puisqu'il s'agissait de mon dernier jour au sein de la société Kaliop. Une société et des collaborateurs avec qui j'ai pris plaisir à travailler pendant près de 2 ans & demi, et où je pense avoir beaucoup appris.

Lundi commencera pour moi un nouveau défi puisque j'intègre la société Logica, la 7e société de conseil, de services informatiques et outsourcing en Europe (sources Wikipédia) qui est plus connu en France sous son ancien nom : Unilog (Mais où est passé Unilog). Mon titre y est décrit comme "Ingénieur en technologies de l'information" et j'y ferais principalement du php5/MySQL/eZ Publish; bref, je m'aventure en terrain connu ;-).

Autre changement en prévision : un nouveau déménagement ! Ce coup si je n'emménage pas seul vu que je déménage pour habiter avec ma copine ;-).

Petit message à mes anciens collaborateurs : Vengeance ;-) : Dark Tyranus | Kakia la coquineTouche les tétous :-)

Billet original sur Le blog de llaumgui

 
 

lundi, avril 28 2008

English RPM of suhosin, an advanced protection system for PHP installations are available in remi repository for Fedora and EL (RHEL, CentOS).

This extension is waiting for Fedora approval (see Bug #426985) for quite a long time (not proposed by me, and I'm not a sponsor).

Français Les RPM de suhosin, un système de protection avancée des installations PHP, sont disponible dans le dépôt remi pour Fedora and EL (RHEL, CentOS).

Cette extension attend son approvation pour Fedora (voir Bug #426985) depuis un bon moment (elle n'est pas proposée par moi, et je ne suis pas un sponsor).

Documentation : Configuration Comme d'habitude, l'installation se fait par yum : yum --enable remi install php-suhosin Et pour ceux qui préfèrent le téléchargement : le dépôt Les fonctionnalités sont très nombreuses et importantes et peuvent bloquer beaucoup de comportements potentiellement dangereux. Il est donc sans doute préférable... Lire

Billet original sur Les RPM de Remi

 
 

jeudi, avril 24 2008

English RPM of imagick, another PHP extension to create and modify images using the ImageMagick API, is available in remi repository for Fedora >= 7 and EL = 5 (RHEL, CentOS).

If feedbacks are good, i will propose it for official Fedora and EPEL repositories.

Français Les RPM de imagick, une autre extension PHP pour créer et modifier des images en utilisant l'API de ImageMagick, sont disponibles dans le dépôt remi pour Fedora >= 7 et EL = 5 (RHEL, CentOS).

Si les retours sont bons, je la proposerais pour les dépôts officiels Fedora et EPEL

Documentation : http://php.net/imagick

Comme d'habitude, l'installation se fait par yum :

yum --enable remi install php-pecl-imagick

Et pour ceux qui préfèrent le téléchargement : le dépôt

On m'a demandé cette extension qui est un pré-requis à l'installation de Mahara.

Et je suis probablement trop bon d'avoir répondu si vite à cette demande...

Billet original sur Les RPM de Remi

 
 

samedi, avril 12 2008

English RPM of the new version php 5.2.6 RC5 for Fedora 8 (with most extensions, including oci8, mssql, sqlite...) in remi-test repository.

Français Les RPM de la nouvelle version php 5.2.6 RC 5 sont disponibles pour Fedora 8 (avec la plupart des extensions, dont oci8, mssql, sqlite...) dans le dépôt remi-test.

Utilisez YUM pour les installer :

yum --enable remi-test update php-\*

Cette version de test doit vous permettre de tester la version 5.2.6 qui ne devrait pas tarder à sortir.

Billet original sur Les RPM de Remi

 
 

samedi, mars 15 2008

English RPM of the new version of this extension is available on remi and livna repo. It is buid with php-5.2.5-1 and pdflib-lite-7.0.2p8-1.

Français Le RPM de la nouvelle version de cette extension est disponible dans les dépôts remi et livna. Elle a été construite avec php-5.2.5-1 et pdflib-lite-7.0.2p8-1.

Pour ceux qui préfère le téléchargement :

Si vous souhaitez utiliser cette extension sous Fedora 7 ou 8 avec la version standard de PHP, utilisez le dépôt Livna.

Billet original sur Les RPM de Remi

 
 

mercredi, février 13 2008

English RPM of new version of the PHP extension to work with the Memcached caching daemon are available. Memcache can be used as a PHP session handler.

Français Les RPM de la nouvelle version de l'extension PHP pour utiliser le service de cache Memcached sont disponibles. Memcache peut être utilisé comme gestionnaire pour les sessions PHP.

Sites :

Les RPM sont disponibles dans les dépôts Fedora pour Fedora >= 7 et EPEL 5 (updates-testing actuellement).

Ils sont aussi disponibles dans le dépôt remi pour fonctionner avec php-5.2.5-1 pour Fedora Core 3 à 6, Enterprise Linux 4 et 5 (RHEL ou CentOS).

Utilisez YUM pour l'installer :

yum --enable remi install php-pecl-memcache

Le billet explicatif memcached PHP Sessions vous guidera pour la configuration du gestionnaire de sessions PHP.

Billet original sur Les RPM de Remi

 
 

English RPM of new version of the PHP extension to work with the Memcached caching daemon are available. Memcache can be used as a PHP session handler.

Français Les RPM de la nouvelle version de l'extension PHP pour utiliser le service de cache Memcached sont disponibles. Memcache peut être utilisé comme gestionnaire pour les sessions PHP.

Sites :

Les RPM sont disponibles dans les dépôts Fedora pour Fedora >= 7 et EPEL 5 (updates-testing actuellement).

Ils sont aussi disponibles dans le dépôt remi pour fonctionner avec php-5.2.5-1 pour Fedora Core 3 à 6, Enterprise Linux 4 et 5 (RHEL ou CentOS).

Utilisez YUM pour l'installer :

yum --enable remi install php-pecl-memcache

Le billet explicatif memcached PHP Sessions vous guidera pour la configuration du gestionnaire de sessions PHP.

Billet original sur Les RPM de Remi

 
 

dimanche, février 3 2008

English RPM of new version 1.7.1 of php-pear are available in Fedora Rawhide, and in remi repository (for Fedora <= 8, RHEL and CentOS).

PHP extension mainteners should test this new version (build / install / uninstall / use).

Français Les RPM de la nouvelle version 1.7.1 de php-pear sont disponibles dans la branche développement (Rawhide) de Fedora et dans le dépôt remi (pour Fedora <= 8, RHEL and CentOS)..

Les mainteneurs d'extensions PHP sont invités à tester cette version (construction / installation / utilisation).

Site officiel : http://pear.php.net/

L'installation se fait simplement avec YUM :

yum --enablerepo=remi update php-pear

Voici les RPM pour Fedora :

et ceux pour Enterprise Linux (RHEL ou CentOS) :

Pour plus d'informations sur cette nouvelle version, lisez le Changelog ou la documentation.

Billet original sur Les RPM de Remi

 
 

samedi, février 2 2008

English A lot of users are misleaded by the output of phpinfo function. The "configure command" give informations about the build options but nothing valuable about the available modules.

Français Beaucoup d'utilisateurs sont trompés par la sortie de la fonction phpinfo.

Le problème revient très (trop) régulièrement sur les forums et les autres sources d'aide : "dois-je recompiler php pour avoir l'option mysql car il est construit avec l'option--without-mysql ?". (pour diverses extensions)

Un peu d'explications : la partie "Configure command" correspond exactement à son nom, c'est à dire aux options passées à configure lors de la compilation de l'application.

Dans le cas des RPM de Fedora / RHEL / CentOS / Remi, php est construit plusieurs fois :

  • Une première fois sans aucune extension pour le module apache.
  • Une deuxième fois avec beaucoup d'extensions pour la commande php. Les extensions sont construite en mode partagé (shared) de manière à pouvoir être distribuées séparément.
  • Une troisième fois pour la bibliothèque php (utilisation embarquée du langage)

Donc dans le cas du module apache, la sortie contient :

'./configure' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--without-mime-magic' '--with-libxml-dir=/usr' '--with-xml' '--with-apxs2=/usr/sbin/apxs' '--without-mysql' '--without-gd' '--without-odbc' '--disable-dom' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--disable-xmlreader' '--disable-xmlwriter' '--without-sqlite' '--disable-json'

Même si un module n'était pas activé lors de la construction il peut être installé et apparait alors plus bas dans la page.

Tandis qu'en ligne de commande, on obtient (php --info) :

Configure Command => './configure' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--without-mime-magic' '--with-libxml-dir=/usr' '--with-xml' '--enable-force-cgi-redirect' '--enable-pcntl' '--with-imap=shared' '--with-imap-ssl' '--enable-mbstring=shared' '--enable-mbstr-enc-trans' '--enable-mbregex' '--with-ncurses=shared' '--with-gd=shared' '--enable-bcmath=shared' '--enable-dba=shared' '--with-db4=/usr' '--with-xmlrpc=shared' '--with-ldap=shared' '--with-ldap-sasl' '--with-mysql=shared,/usr' '--with-mysqli=shared,/usr/bin/mysql_config' '--with-oci8=shared,instantclient,/usr/lib64/oracle/10.2.0.3/client/lib,10.2.0.3' '--with-pdo-oci=shared,instantclient,/usr,10.2.0.3' '--enable-dom=shared' '--with-dom-xslt=/usr' '--with-dom-exslt=/usr' '--with-pgsql=shared' '--with-snmp=shared,/usr' '--enable-soap=shared' '--with-xsl=shared,/usr' '--enable-xmlreader=shared' '--enable-xmlwriter=shared' '--enable-fastcgi' '--enable-pdo=shared' '--with-pdo-odbc=shared,unixODBC,/usr' '--with-pdo-mysql=shared,/usr' '--with-pdo-pgsql=shared,/usr' '--with-pdo-sqlite=shared,/usr' '--with-sqlite=shared,/usr' '--enable-json=shared' '--enable-zip=shared' '--with-readline' '--enable-dbase=shared' '--with-mcrypt=shared,/usr' '--with-mhash=shared,/usr' '--with-tidy=shared,/usr' '--with-mssql=shared,/usr'

Même si un module est activé lors de la construction, il n'est pas forcément installé s'il n'apparait pas plus loin dans la liste.

Donc, les seules sources fiables de renseignement sont :

$ rpm -qa php\* $ php --modules

Voila, alors, à votre avis, BUG ou PEBKAC ?

Et pour finir, ne pas oublier de relancer le serveur apache après l'installation d'un nouveau module.

Documentations sur fedora-fr.org :

Billet original sur Les RPM de Remi

 
 

English RPM of new version 1.7.0 of php-pear are available in Fedora Rawhide, and in remi repository (for Fedora <= 8, RHEL and CentOS).

Français Les RPM de la nouvelle version 1.7.0 de php-pear sont disponibles dans la branche développement (Rawhide) de Fedora et dans le dépôt remi (pour Fedora <= 8, RHEL and CentOS)..

Site officiel : http://pear.php.net/

L'installation se fait simplement avec YUM :

yum --enablerepo=remi update php-pear

Voici les RPM pour Fedora :

  • F-8 : php-pear-1.7.0-1.fc8.remi.noarch.rpm (420 Ko)
  • F-7 : php-pear-1.7.0-1.fc7.remi.noarch.rpm (420 Ko)
  • FC6 : php-pear-1.7.0-1.fc6.remi.noarch.rpm (415 Ko)
  • FC5 : php-pear-1.7.0-1.fc5.remi.noarch.rpm (414 Ko)
  • FC4 : php-pear-1.7.0-1.fc4.remi.noarch.rpm (414 Ko)
  • FC3 : php-pear-1.7.0-1.fc3.remi.noarch.rpm (400 Ko)

et ceux pour Enterprise Linux (RHEL ou CentOS) :

  • EL5 : php-pear-1.7.0-1.el5.remi.noarch.rpm (415 Ko)
  • EL4 : php-pear-1.7.0-1.el4.remi.noarch.rpm (400 Ko)

Pour plus d'informations sur cette nouvelle version, lisez le Changelog ou la documentation.

Billet original sur Les RPM de Remi

 
 

vendredi, février 1 2008

English RPM of this extension is available on remi repo for F-7 and F-8..

Français Le RPM de cette extension est disponible dans le dépôt remi pour F-7, et F-8.

Site : http://pecl.php.net/package/ssh2

Documentation : Shell sécurisé

Utilisez YUM pour l'installer :

yum --enable remi install php-pecl-ssh2

Et si vous préférez le téléchargement :

Cette extension semble à l'abandon, la dernière version 0.10 n'est qu'une béta sans aucune mise à jour depuis 2005. De plus il y a actuellement un grand nombre de bugs déclarés sans réponse du mainteneur.

Je l'ai juste construit pour rendre service, mais elle sera probablement pas proposée pour les dépôts officiels.

Les versions pour les anciennes versions de Fedora ou pour EPEL ne sont pas disponibles car libssh2 n'est pas dans les dépôts.

Billet original sur Les RPM de Remi

 
 

dimanche, janvier 27 2008

English RPM of new version of the PHP extension to work with the Memcached caching daemon are available. Memcache can be used as a PHP session handler.

Français Les RPM de la nouvelle version de l'extension PHP pour utiliser le service de cache Memcached sont disponibles. Memcache peut être utilisé comme gestionnaire pour les sessions PHP.

Sites :

Les RPM sont disponibles dans les dépôts Fedora pour Fedora >= 7 et EPEL 5 (EPEL 4 reste en version 2.1.2).

Ils sont aussi disponibles dans le dépôt remi pour fonctionner avec php-5.2.5-1 pour Fedora Core 3 à 6, Enterprise Linux 4 et 5 (RHEL ou CentOS).

Utilisez YUM pour l'installer :

yum --enable remi install php-pecl-memcache

Le billet explicatif memcached PHP Sessions vous guidera pour la configuration du gestionnaire de sessions PHP.

Billet original sur Les RPM de Remi

 
 

dimanche, janvier 20 2008

Devant la coupure de service, surement due à une monté en charge de Borsalino, et devant les failles récentes révélées pour php : j'ai décidé de basculer Borsalino sur le dépôt de l'ami Remi Collet qui maintient toujours les packages php et MySQL pour Fedora 6 alias Zod !

On install le dépôt :

root@borsalino ~> wget http://remi.collet.free.fr/rpms/remi-release-6.rpm
root@borsalino ~> rpm -Uvh remi-release-6.rpm

On active le dépôt en passant enabled à 1 :

root@borsalino ~> vim /etc/yum.repos.d/remi.repo

Et on mets à jour :

root@borsalino ~> yum clean all; yum update
[...]
Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Updating:
 mysql                   i386       5.0.45-1.fc6.remi  remi              2.1 M
 mysql-server            i386       5.0.45-1.fc6.remi  remi               10 M
 php                     i386       5.2.5-1.fc6.remi  remi              1.3 M
 php-cli                 i386       5.2.5-1.fc6.remi  remi              2.5 M
 php-common              i386       5.2.5-1.fc6.remi  remi              226 k
 php-eaccelerator        i386       1:0.9.5.2-1.fc6.remi  remi              136 k
 php-gd                  i386       5.2.5-1.fc6.remi  remi              115 k
 php-ldap                i386       5.2.5-1.fc6.remi  remi               33 k
 php-mbstring            i386       5.2.5-1.fc6.remi  remi              1.1 M
 php-mcrypt              i386       5.2.5-1.fc6.remi  remi               28 k
 php-mysql               i386       5.2.5-1.fc6.remi  remi               83 k
 php-pdo                 i386       5.2.5-1.fc6.remi  remi               89 k
 php-pear                noarch     1:1.6.2-1.fc6.remi  remi              400 k
 php-xml                 i386       5.2.5-1.fc6.remi  remi               97 k
Installing for dependencies:
 mysql-libs              i386       5.0.45-1.fc6.remi  remi              1.5 M
 sqlite2                 i386       2.8.17-1.fc6     extras            170 k

Transaction Summary
=============================================================================
Install      2 Package(s)        
Update      14 Package(s)        
Remove       0 Package(s)        

Total download size: 20 M

Pour finir, on peut utiliser mon script pour notifier des mises à jour via yum...

Billet original sur Le blog de LLaumgui

 
 

lundi, janvier 7 2008

Dans mon billet précédent, je parlais du livre "Bien développer pour le Web 2.0". Dans ce livre sont donnés quelques exemples illustrant les possibilités du web 2.0, mais sont codés en ruby. Comme exercice perso, et pour ceux qui préferent, j'ai donc repris quasiement tous les exemples et les ai portés en PHP. J'en fait le descriptif dans ce billet et donne les sources de chaque exemple en pièce jointe du billet. L'url directe de tous les exemples est : http://nicoleau.fabien.free.fr/web2-0/

  • hi_timed, exemple basique. Cliquer sur le bouton "Bonjour" affiche le contenu d'un fichier coté serveur, alors que le bouton "Quelle heure est il?" appelle un script PHP retournant l'heure
  • sauvegarde est aussi un exemple basique. Il suffit d'entrer un mot puis de quitter la zone avec la souris (cliquer ailleurs). Un script ajax sauvegarde alors la valeur dans une session PHP, et si on recharge la page, cette valeur est affichée
  • highlight est lui un exemple utilisant aculo. Cliquer dans la zone permet de la faire flasher
  • opacity est encore un exempel aculo, y'a qu'à lire et faire :)
  • scale, l'effet aculo
  • parallel, une combinaison de opacity et sacle
  • progressbar est un retour à ajax. ne vous y trompez pas, il y a bien un dialogue client/serveur. Dans cet exemple, la valeur de progression est en fait en permanance renvoyée par le serveur, qui la fait évoluer aléatoirement, et le script js en fait ensuite l'affichage dans al progressbar. Idéal pour suivre un traitement
  • sortable_one_list mets en pratique l'utilisation du trie de list par aculo
  • sortable_two_lists, la meme chose, mais avec deux listes
  • draggable, aculo et sapuissance :). Exemple inutile
  • droppable, beaucoup plus sympa! Exemple idéeal pour une boutique, il faut ici bien aussi comprendre ce qui se passe. Lorsque vous faites glisser un élément dans votre pannier, ou que vous le faite glisser dans la corbeille, un script PHP est appellé coté serveur pour faire le compte ou le décompte. De la à remplir un bon de commande virtuel, il n'y a qu'un pas
  • Enfin, autocompleter, couple aculo et ajax afin de géré l'autocompletion. Entrez quelques lettres d'une variable PHP $_SERVER, et le script vous propose de la completer. Enfin, sélectionnez la, et il vous en donne la valeur. Entrez "REMOTE_ADDR" pour voir votre adresse IP

Voilà, en espérant que ca donne des idées à certains. N'oubiez pas les pièces jointes pour avoir les sources.

Fabien

Billet original sur All you need is blog - eponyme's blog

 
 

dimanche, décembre 23 2007

English Here is a very small guide to perform a PHP code profiling.

Français Voici un petit guide pour réaliser le pofil d'un programme PHP.

Lorsqu'un script PHP est trop long à l'exécution, il peut-être utile d'établir son profil afin de déterminer les fonctions nécessitant une optimisation.

Source : Profiling PHP Scripts sur http://xdebug.org/

Installation des outils

Il faut commencer par installer l'extension xdebug disponible dans les dépôts Fedora :

yum install php-pecl-xdebug

Puis installer l'outil d'analyse graphique des traces : KCacheGrind

yum install kdesdk

Configurer et activer l'outil d'enregistrement des traces

Après son installation, l'extension est activé dans le fichier /etc/php.d/xdebug.ini. On pourra modifier ce fichier.

; Activation de l'extension xdebug zend_extension=/usr/lib64/php/modules/xdebug.so ; Activation de l'enregistrement des traces xdebug.profiler_enable=1 ; Dossier d'enregistrement xdebug.profiler_output_dir=/tmp

A l'issu des tests, il est préférable de désactiver ces options qui pénalisent très sensiblement les performances.

Enregistrer des traces

Dans le cas d'un script en ligne de commande, il suffit de le lancer.

Dans le cas d'une application web, il est préférable d'exécuter apache en mode debug pour éviter la création de processus multiples qui auront chacun leur fichier de traces.

service httpd stop httpd -X

Après avoir utiliser l'application, il suffira d'arreter apache en le tuant (Ctrl-C).

Les traces sont collectées dans le fichier /tmp/cachegrind.out.####, (ou #### est le numéro du processus).

Analyse des traces

Il suffit de lancer l'application KCacheGrind (menu Applications / Programmation) et d'ouvrir le fichier créé.

Le premier état permet de connaitre rapidement les fonctions qui consomme le plus de temps d'exécution :

Qu'il est possible de visualiser graphiquement :

Un autre graphique permet de voir les enchainements d'appels de manière simple, avec la consommation de temps très lisible :

A noter qu'il est aussi possible de consulter directement les sources du script depuis l'application.

Conclusion

Il ne s'agit que d'un petit guide pour vous mettre sur la voie. A vous de découvrir maintenant plus en détail les possibilités de ces outils.

Ils m'ont permis de découvrir plusieurs points d'optimisation et de réaliser des gains de performances significatifs dans mes développements.

Billet original sur Les RPM de Remi

 
 

samedi, octobre 6 2007

Que du beau monde dans un seul billet...

A la lecture du très instructif commentaire de Paul Borgermans laissé à la suite de mon billet sur la première alpha d'eZ Publish 4.0; et l'annonce qu'eZ 4.0 ainsi qu'eZ Components iraient plus vers un compatibilité php 5.2 que 5.1 : j'ai décidé de mettre à jour la version de php de la spb-box.

Pour cela, j'ai fait confiance à l'ami Remi (Attention prononcer Remi et surtout pas Rémi) et à son dépôt. Pour ceux qui ne connaisse pas Remi, surnommé dans le milieu "Serial Builder", il propose les dernières versions php/MySQL pour Fedora mais aussi pour les RHEL 4 & 5.

Une petite ligne de commande :

root@spb-box ~> wget http://remi.collet.free.fr/rpms/el5.i386/remi-release-5-2.el5.remi.noarch.rpm \
rpm -Uvh remi-release-5*.rpm \
yum --enablerepo=remi update php

Et me voila en php 5.

root@spb-box ~> rpm -qa php
php-5.2.4-1.el5.remi

Tenant à activer le dépôt de Remi par défaut (il est très réactif au niveau des mises à jour) mais ne tenant pas à mettre à jour mon serveur MySQL, j'ai configuré le dépôt de la sorte.

[remi]
name=Les RPM de remi pour Enterprise Linux 5 - $basearch
baseurl=http://remi.collet.free.fr/rpms/el5.$basearch/
    http://iut-info.univ-reims.fr/remirpms/el5.$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
exclude=mysql mysql-server mysql-libs

A force de mettre des clauses exclude dans mes fichiers repo, j'en fini par croire qu'il faudrait inventer un clause include...

Billet original sur Le blog de LLaumgui

 
 

dimanche, septembre 2 2007

eLors d'un précédent billet, j'avais parlé de la refonte de SPB et de mon projet d'extension ezipb pour permettre à eZ Publish et IPB de communiquer. J'ai bien avancé, voila ce que fait mon extension pour le moment :

  • Initialise les classes d'IPB strictement nécessaires (j'ai pompé et allégé l'index.php d'IPB).
  • Initialise des drivers MySQL modifiés à la place des drivers d'IPB.
    Ces derniers utilisent la connections ouverte par eZ. Comme eZ est orienté php4, mon extension force MySQL à la place de MySQLi qui est normalement automatiquement déclenché par la présence de php5. Cette fonctionnalité est désactivable si vous n'avez pas vos données eZ et IPB sur la même base.
  • Divers opérateurs eZ publish afin de récupérer les informations sur les membres.
  • Divers templates (1 pour le moment) afin d'avoir les éléments principaux d'IPB dans eZ publish.

Première version d'ezipb

Bref actuellement, le cout de mon extension est de 3 requêtes et j'ai pas encore entamé la chasse aux requêtes inutiles !

Comme je veux proposer cette extension ainsi que le portage vers IPB 2.3.x de la plupart de mes mods et task IPB, j'ai monté un Trac et un SVN afin d'assurer le support et de proposer un téléchargement via Subversion... IPB, je suis de retours !

Plus d'infos, documentation et téléchargment sur le Trac.

Remarque : J'utilise la version 3.9 communautaire compatible php5 d'eZ publish. Mon extension est donc en php5. Elle est donc incompatible avec la plupart des versions d'eZ publish... C'est ballot :-).

Billet original sur Le blog de LLaumgui

 
 

jeudi, août 30 2007

Après plusieurs années de bons et loyaux services, il est grand temps que la version 2 de Scénario-PaintBall tire sa révérence, pour donner naissance à une v3 ;-).
Pourquoi ?

  1. Le forums : L'une des raisons principales et la version d'IPB, la 2.1.x. Cette dernière n'est plus ou ne sera bientôt plus supportée. Il est donc grand temps de passer à la branche 2.3.x.
    Les autre points découlent de cette mise à jour.
  2. Le portail : Il utilise l'ipbSDK qui n'est plus développé depuis la version 2.1 d'IPB (déjà que la 1.6 beta 5 pour IPB 2.1 était « limite »). Si je veux récupérer mon portail il faut donc que je rende compatible la dernier version du sdk avec la version actuel du forum... Or, j'ai la flemme de récupérer du vieux code !
  3. Le design : le passage vers IPB 2.3 oblige à refaire la feuille de style (si on veut pas faire le porc). A remonter une page, autant en remonter une nouvelle.

Des pistes pour l'évolution

Pour la partie graphique, Radinus est en train de voir avec un designer.
Pour la techno, je pense utiliser eZ Publish 4.0 qui ne devrait plus tarder à sortir en version alpha voir peut être même bêta... Je rappel que la version du sdk utilisée actuellement est une bêta 2 ultra modifiée par moi même, donc on est plus à une bêta près.
En attendant la v4 d'eZ, je commence les tests sur la version 3.9 communautaire compatible php5.

Du coup, en utilisant IPB + eZ publish, je n'ai plus qu'une seule chose à développer : une extension eZ pour communiquer avec IPB (connections membres + requêtes de récupération d'informations diverses).

Des non pistes

Pourquoi pas le module forums pour eZ ?

La licence IPB est payée à vie et c'est un excellent forums ultra (trop?) complet.

Pourquoi pas un CMS autour d'IPB ?

Je pense qu'un forum est un forum et qu'un CMS est un CMS ! Vouloir absolument développer un CMS autour d'un forum est, selon moi, une erreur. Erreur que j'ai d'ailleurs commise lors de la v2 de spb ;-).
La solution est donc de coupler différents scripts via des bridges (ma future extension ou les bridges à la Coppermine) ou grâce à des systèmes du type SSO (pour SPB on en est pas encore là).

TODO

  1. Installer Eclipse Europa (3.3) avec les extensions qui vont bien (pdt, Smile eZ plugin). Je commence de loin, mais installer & configurer Eclipse c'est presque aussi long qu'installer un système complet.
  2. Configurer mon serveur apache local.
  3. Installer eZ 3.9 php5.
  4. Convertir la base IPB 2.1.x vers 2.3.1.
  5. Développer le plugins eZipb pour faire communiquer IPB et eZ publish (voir les différentes pistes offertes et voir aussi du côté de Converge).
  6. Découper le design (que j'attends toujours).
  7. Développer, dans la version eZ, les différentes fonctionnalités actuellement disponibles sur spb.
  8. Migrer le forums en UTF-8.
  9. etc...

Billet original sur Le blog de LLaumgui

 
 

samedi, août 4 2007

zenphoto.gif Disposer d'une galerie photos est maintenant monnaie courante et très pratique pour partager avec amis et famille les souvenirs et les meilleurs moments illustrés dans une photographie.

Plusieurs dizaines de galeries photos php/mysql sont disponibles, toutes avec des fonctionnalités différentes, des présentations différentes ...
Jusqu'à maintenant j'utilisais l'excellente Picsengine développée par le talentueux Michaël, mais nombre de personnes se sont plaint qu'il fallait posséder le plug-in Flash pour accéder à mes photos, j'ai donc changé de galerie pour me tourner vers Zenphoto.

Zenphoto est donc une galerie beaucoup plus simple d'accès qui à l'avantage d'être très maniable puisque le thème est très rapidement modifiable, et qui est simplement administrable grâce à un panneau d'administration permettant d'envoyer les photos ( un envoi dans un format archive comme .zip est tout à fait possible ), bien qu'il soit aussi possible d'utiliser le protocole FTP pour transférer les photos.

J'ai donc installé Zenphoto sur ma galerie, vous pouvez me dire ce que vous en pensez ?
Je l'ai aussi installé pour la nouvelle galerie de Sabrina !

En ce qui concerne le support et la documentation, le site officiel est très fourni avec un forum et un wiki, notons qu'il y a aussi une communauté francophone assez active sur le site www.zenbien.com.
Enfin quelques plugins sont disponibles en particulier pour Wordpress mais pas encore pour Dotclear (dommage !)

A+

Billet original sur TitaX

 
 

dimanche, septembre 17 2006

Quelques semaines après le lancement du débat et le début du projet, je viens de terminer mon script de migration de Xoops vers punBB. Ce script migre les données d'un site sous Xoops muni d'un forum CBB pour les transférer dans l'interface de punBB.

Pré requis :

  • php4 ou supérieur.
  • php-cli pour lancer le script en ligne de commande.
    Je n'ai pas testé avec un navigateur mais ça doit marcher quand même ;).
  • Quelques connaissances en php.

Licence :

Gnu/GPL, vous pouvez donc l'adapter au besoin, il est fait pour ça.

Concrètement ce script convertie :

  • Les groupes de membres : Les permissions seront les mêmes pour tous les groupes.
    Elles seront donc à modifier par la suite.
  • Les membres :
    • Xoops autorisant plusieurs groupes pour un seul membre, ce que punBB ne fais pas, les membres sont tous mis dans le même groupe, membres (id=4).
    • Autre petites subtilité de punBB, le membre à l'identifiant 1 est l'invité, il faut donc ne pas avoir de membre avec un uid=1 sous Xoops. Si c'est votre cas, vous devrez faire une petite moulinette en modifiant mon script.
    • Les avatars, il faut tous les mettre dans le bon dossiers (img/avatars).
  • Les catégories.
  • Les forums.
  • Les topics
  • Les postes : Ca c'est le gros morceau, il y a un traitement par lots pour les grosse bases.

Billet original sur Le blog de LLaumgui

 
 

samedi, septembre 2 2006

Depuis plusieurs années, Fedora-France tourne sous Xoops, un CMS ultra complet mais qui nous enferme dans son univers. Depuis que j'ai pris en charge la partie technique du site, je n'ai pas eu le courage de changer et, je l'avoue, j'ai même freiné ce changement.

A présent je m'interroge...
De par mon travail, j'ai énormément progressé et je suis capable de réaliser une migration de CBB (forum de Xoops) vers punBB sans problème (en fait, j'en étais capable avant, mais comme je n'avais rien fais de tel, j'avais un peu la flemme ;)).
Et, récemment, la réflexion de Damien Durant sur la liste de diffusion des ambassadeurs francophone m'a réconforté dans mon idée qu'il faut envisager le changement.

L'hébergement :

Avant tout, le vrai problème de Fedora France demeure l'hébergement. De plus en plus une solution dédiée s'impose ! Elle permettrait de souffler et de mettre fin au erreur 500 et autre petit problème de l'hébergement communautaire. Mais surtout, elle permettrait au site de prendre son envol.

La question est quel hébergement pour Fedora-France ?

  • Apparemment le Projet Fedora est hébergé par Red Hat qui n'héberge que du statique ou du Python pour raisons de sécurité.
  • Avec le trafic actuel et de la publicité nous pourrions nous payer une Dedibox (solution dédiée de Free) sans trop de problème. Mais l'idée de la pub ne va-t-elle pas contre nos idées de liberté ?
  • La solution serait alors de se monter en association (c'est prévu), de démarcher des fournisseurs (Dedibox en premier) et de leurs faire profiter de notre image de libre en nous soutenant.

La structure de Fedora France et le choix d'un CMS

Damien propose de suivre le projet Fedora dans ses choix et de passer vers une solution Python, mais je pense que l'architecture php/MySQL offrirait beaucoup plus de souplesse, et en plus c'est ma spécialité.

Voici ma réflexion :

  • Forum : punBB (scripts CBB -> punBB par moi même).
  • Wiki : DokuWiki, intégré à punBB (étude de la faisabilité d'un script wiwimod -> DokuWiki qui soit correct).
  • Planet : DotClear 2 et son plugin planet visible ici.
  • Page d'accueil : Faites maison.

Je sais, certain dirons que cette structure ressemble pas mal à un autre site... Mais à problématique proche, solution proche.

Bref, le travail que j'aurais à faire pourrait être découpé en plusieurs étapes :

  1. Migration de Fedora France.
  2. Installation du planet.
  3. Migration du forum.
  4. Migration de la home page.
  5. Migration du wiki.

Cette réflexion n'engage que moi et nullement Fedora-francce. Elle est juste là pour aider un éventuel webmaster/administrateur qui se retrouverait face à une solution historique et serait effrayé par l'obstacle d'une migration.

Billet original sur Le blog de LLaumgui