Blog de Geeek, le blog geek par excellence par Ludovic Toinel ...

dimanche 6 janvier 2008

Astuce PHP : La fonction register_shutdown_function

php_logo

Rares sont les personnes qui connaissent la fonction register_shutdown_function, et pourtant, elle est très utile.

http://fr2.php.net/register_shutdown_function

Elle permet de réaliser des traitements hors transaction HTTP.

Voici un exemple plus parlant :

Le navigateur demande une page PHP au serveur Web, celui réalise l'appel à deux fonctions PHP pour produire la page demandée par le navigateur.

  • La fonction 1 finit son traitement en 100 ms
  • La fonction 2 finit son traitement en 200 ms

php_register_shutdown_function_uml1.gif

<?php

function fonction1()
{
     // TODO
}

function fonction2()
{
     // TODO
}

fonction1();
fonction2();

?>

La page sera alors délivrée au client en 300 ms.


Voici un exemple d'utilisation de la fonction register_shutdown_function :

  • La fonction 1 finit son traitement en 100 ms
  • La page est retournée au client
  • La fonction 2 finit son traitement en 200 ms après que la page ait été retournée au client.

php_register_shutdown_function_uml2.gif

<?php

function fonction1()
{
     // TODO
}

function fonction2()
{
     // TODO
}

register_shutdown_function("fonction2");
fonction1();

?>

La page sera alors délivrée au client en 100 ms.


L'avantage de cette fonction est de pouvoir exécuter un traitement lorsque le script PHP s'arrête suite à un exit() ou un die(). Ceci permet d'éviter de faire attendre un client sur des traitements qui n'auront aucun effet sur le résultat de sa demande.

Cette fonction est donc très utile pour :

  • La suppression de ressources temporaires
  • La fermeture de socket ou de connexion à la base.
  • Le logging

Remarque : cette fonction ne fonctionne pas sous Windows.

mercredi 2 janvier 2008

Zend Framework : Le framework PHP soutenu par Zend

zend_framework,php

Zend Framework est un Framework que l'on devrait de plus en plus rencontrer dans les applications PHP d'ici les prochains mois.

Ce framework est est un Framework très complet développé par Zend, le papa de PHP. Il comporte des librairies Ajax, des librairies de recherche, de syndication et de Web services. C'est aussi un framework MVC, capable d'être embarqué dans des applications Php complexes. Et pour couronner le tout il inclut les API de nombreux services : Google, Amazon, Yahoo! et Flickr.

Pour utiliser ce framework dans votre application, il suffit de le télécharger et de modifier le "include_path" de php pour qu'il pointe vers le répertoire d'installation du framework.

On peut trouver sur Internet un exemple d'application assez complet et très bien écrit qui met en avant différentes fonctionnalités de Zend Framework, il s'agit du lecteur de Feed RSS d'Andries Seutens :

http://andries.systray.be/zf-demos/feed-reader/

Zend Framework comble certaines des lacunes de Php vis à vis de Java. Je commence à penser que le langage idéal sera un mix de ces deux langages, Php pour sa souplesse, sa simplicité et Java pour ses nombreuses librairies, sa robustesse et ses composants industrialisés. Ruby on Rails est très certainement une alternative très intéressante, cependant RoR n'est peut être pas encore assez mature pour de gros projets Web ayant comme objectifs plusieurs milliers de hits par secondes.

Remarque : Notez qu'il est possible d'exécuter du Php depuis du Java et du Java depuis du Php.

samedi 8 décembre 2007

De retour du BarCamp Paris 15

Je suis de retour du BarCamp Paris 15 organisé dans les très beaux locaux de Sun. Le choix des conférences parmi toutes celles proposées n'a pas été facile ! J'ai assisté à 4 conférences très intéressantes au cours de la journée.

Ajax : GWT / DWR

gwt,ajax,barcamp dwr,ajax,barcamp

J'ai assisté, au début de ma journée à une conférence sur GWT et DWR qui présentait le fonctionnement de ces deux frameworks Ajax pour Java et qui comparait brièvement ces deux librairies. Deux applications Web d'exemple ont été présentés :

  • Web VNC, une application qui joue le rôle de pont entre un serveur VNC et un navigateur Web. Cette application met dans un buffer les informations reçues par le serveur VNC et envoie des screenshots de l'écran du navigateur à intervalle régulier. Le concept est intéressant et met bien en avant les possibilités qu'offrent GWT sur la gestion des exceptions, des entrées clavier et souris. L'avantage GWT est qu'un développeur Java est capable de générer une interface Web Ajax très rapidement sans connaître le HTML ni le Javascript. L'inconvénient est que cette tâche ne peut pas être exécutée par un Web designer.
  • Tudu List, une application de gestion de tâches et qui met en oeuvre DWR. Cet outil permet très simplement d'appeler des méthodes Java depuis le code Javascript et du JSON. DWR enrobe de manière transparente l'ensemble des appels vers la méthode Java et gère la couche RPC de communication client / serveur. Le concept est très intéressant. Un développement Javascript côté client est cependant indispensable pour gérer le traitement des données récupérées.

http://app.ess.ch/tudu/


RunMyProcess

runmyprocess.png

J'ai ensuite assisté à une conférence sur RunMyProcess, une plate-forme d'intégration Web 2.0 permettant d'automatiser les échanges entre votre système d'information interne, vos partenaires extérieurs ou vos logiciels SaaS, de manière performante et évolutive. Techniquement, il s'agit d'un BPM en ligne, développé en Flex/Java et hébergé sur des serveurs d'applications sur Internet qui permet de modéliser des processus de manière graphique via l'interface riche de l'application. L'avantage est que l'outil est en ligne et donc vous n'avez pas d'infrastructure système à gérer. L'autre avantage est que l'outil semble être simple à prendre en main et offre une liberté totale du client sur les processus de son BPM.

J'attends avec impatience de pouvoir tester le trial ....

http://www.runmyprocess.com/


Webservices

Puis j'ai participé à une table ronde sur les Webservices: à quoi servent-ils ? à quoi doivent-ils ressembler ? pourquoi existent-ils et pourquoi aimons-nous les utiliser? Je m'attendais à une discussion très technique sur les performances, l'intéropératibilité et les librairies de binding Java, mais la discussion est restée très High Level.


Mobile Distillery

http://www.mobile-distillery.com/

J'ai terminé ma journée par une conférence par Mobile Distillery, une jeune société innovante qui propose un produit permettant à des applications J2ME de fonctionner sur 650 téléphones sans devoir réaliser de développement spécifique par terminal et sans devoir tester l'application sur l'ensemble de ces téléphones. C'est génial, et ça permet surtout aux éditeurs de jeux pour mobiles d'économiser beaucoup d'argent.

Cette application se nomme Celsius et gère de manière transparente les complexités d'adaptabilité et de performance.


(Photo de musigny)

J'ai passé une très bonne journée, le BarCamp était très bien organisé. Merci à Sun Microsystems, Silicin Sentier, OSSGTP, Ruby France et SupInfo et aux conférenciers pour ce BarCamp très réussi !

Demain au Barcamp Paris 15ème

barcamp,paris,15

Je serai présent toute la journée de demain au Barcamp qui se déroulera demain dans le 15ème arrondissement de Paris.

Les sujets sont très intéressants :

1. Oyez, Oyez : Mobile 2.0: quel format en contenu mobile après J2ME, leader de fait? Phil Jeudy

2. Solipsis : un territoire public virtuel pour tous: des mondes virtuels interconnectés sans serveurs centraux, ouverts et autoproduits. Tool 3.0 ou vaporware? Piegay Romain.

3. Webjam : essayer de répondre au thème principal du barcamp en permettant aux néophytes de créer, aggreger et surtout contrôle ses activités en ligne. Cedric Motte

4. RunMyProcess Tools 2.0 pour l'entreprise: Un Internet Service Bus en mode SaaS -- Matthieu Hug - (Français/Anglais)

5. xWidglets une autre idée de l'outillage client riche XML UI ? -- Pierre Dezon - Français

6. Portabilité du Réseau Social : Emmenez vos amis dans les réseaux sociaux. Réflexion sur l'interopérabilité des données pour des réseaux sociaux ouverts. OpenID et Microformats.

7. Programmation AJAX : Table ronde autour des frameworks AJAX : DWR, GWT, script.aculo.us, etc -- Julien Dubois - (Français/Anglais)

8. WebVNC : Exemple d'utilisation de GWT. WebVNC est un client VNC AJAX réalisé spécialement pour le BarCamp. Démo du projet et discussion autour des points forts et des points faibles de GWT -- Alexandre de Pellegrin / Victor Freches - (Français/Anglais)

9. FundCamp France 2008 : le premier FundCamp, un financement proposé à 5+ projets à l'issue d'une semaine d'échanges et de coaching, le FundCamp France 2008 c'est en mars 2008 -- Louis van Proosdij, JeanChristopheCapelli - (Français/Anglais)

10. Mashup Web avec XWiki Comment utiliser http://www.xwiki.org, un wiki open source applicatif pour programmer des mashups -- LudovicDubost, JeanVincentDrean

11. Docxa Corus - Document 2.0 ? : Une plate-forme industrielle de NG de production de documents personnalisés - Open Office, GWT, Mule, JCR -- Luis Arias


Je croiserai peut-être quelques-uns d'entre vous ... Quelqu'un s'y est inscrit ?

http://barcamp.org/BarCampParis15

mercredi 21 novembre 2007

BarCamp Paris 15 : 8 Décembre prochain

barcamp.jpg

Le BarCampParis15 se déroulera chez Sun Microsystems au 42 avenue d'Iéna 75016 Paris, il démarrera le 8 décembre à 9h00 et se terminera à 19h30..

Dépechez-vous il ne reste plus que 39 places !

http://barcamp.org/BarCampParis15

mercredi 14 novembre 2007

Paris on Rails, édition 2007 : La première conférence de Rails en France

paris_on_rails

Venez découvrir Ruby on Rails, un framework open-source qui révolutionne le développement d’applications Web.

La conférence est organisée le 10 Décembre à la Cité de la Villette et le coût de l'inscription est de 70 euros.

Le planning des conférences se trouve ici :

http://paris.onrails.info/pdf/planning_por_2007.pdf

Toutes les facettes de RoR y seront présentées. Les inscriptions se font en ligne sur le site officiel de Paris on Rails :

http://paris.onrails.info/

mardi 2 octobre 2007

Créer des applications composites et développer avec Orange

widgets,bubletop

Un "code camp" Orange est proposé les 27 & 28 novembre à Paris. Ce séminaire sera étalé sur deux jours et sera orienté "applications composites" et "Web 2.0".

Au programme : présentation des API Orange disponibles, présentation de BubleTop Foundry et des API Pikeo.

Pour plus d'info sur ce "code camp" rendez vous vite sur le site OrangePartner

Attention, le nombre de places est limité !

mardi 4 septembre 2007

Le Web 2.0 et MySQL

mysql,webminaire

Un webminaire est organisé par MySQL le 12 septembre prochain à 10h00.

Le thème de ce Webminaire est :

Comment améliorer la performance, la montée en charge et la disponibilité d’une architecture Web 2.0 avec MySQL et MySQL Cluster.

Un sujet qui devrait intéresser beaucoup de lecteurs de ce blog je pense. L'inscription à ce webminaire se fait sur le site de MySQL via cette URL :

http://www.mysql.com/news-and-events/web-seminars/display-47.html

Pour assister à ce Webminaire, vous avez juste besoin d'un PC et d'une connexion Internet.

samedi 25 août 2007

Avancement du projet Piiks.com

L'aventure continue ....

piiks.png

Je n'ai pas beaucoup avancé cette semaine, j'ai été pas mal occupé tous les soirs, mais le projet suit son cours.

Il va falloir ruser pour afficher toutes les informations que l'on souhaite afficher sur la première page.

Le modèle de données est quand à lui est ouvert à toute critique, il est documenté sur le Wiki.

Le projet a plusieurs ambitions :

  • Permettre à des amateurs de photo de trouver un endroit idéal pour communiquer, échanger.
  • Fédérer des personnes passionnées par l'informatique et les nouvelles technologies sur un projet intéressant et ouvert.

jeudi 16 août 2007

Re : Avancement du projet Piiks.com

Le projet continu son petit chemin :

Le projet vous intéresse ?

Postez un commentaire ou passez sur l'IRC !

- page 2 de 8 -