Toute l'actualité francophone sur PHP en un seul flux

Janvier 2008 – Apprendre-PHP.com: Bonne Année 2008

Bonjour à tous,

Janvier 2008 – Arnaud Limbourg: Remplir des champs dates de façon aléatoire dans MySQL

Il arrive souvent d'avoir besoin de données présentes dans la base. Il est tout aussi courant de ne pas avoir de données à disposition (ou pas assez).

Basé sur ce billet, les deux requêtes suivantes vous permettent de remplir un champ de type "date" avec des dates a peu près aléatoire pour autant d'enregistrement que vous voulez. Il vous suffit de créer plus de vues ou d'ajouter la même vue dans le "from" avec des alias pour augmenter le nombre d'enregistrement (c'est un produit cartésien).

Le code suivant génère des dates pour 9 enregistrements sur le plus petit dénominateur commun, à savoir un mois de 28 jours. L'année est mise en dur dans la requête, vous pouvez aisément la remplacer.


CREATE VIEW v3 AS SELECT NULL union ALL SELECT NULL union ALL SELECT NULL;
INSERT INTO t1 (date) SELECT concat('2007-', FLOOR(1  + RAND() * (12 - 1)), '-', FLOOR(1  + RAND() * (28 - 1))) FROM v3 a,v3 b;
 

Note: ce n'est pas la façon la plus élégante ni la plus efficace pour les dates mais ça fonctionne :-)

Janvier 2008 – Arnaud Limbourg: Remplir des champs dates de façon aléatoire dans MySQL

Il arrive souvent d'avoir besoin de données présentes dans la base. Il est tout aussi courant de ne pas avoir de données à disposition (ou pas assez).

Basé sur ce billet, les deux requêtes suivantes vous permettent de remplir un champ de type "date" avec des dates a peu près aléatoire pour autant d'enregistrement que vous voulez. Il vous suffit de créer plus de vues ou d'ajouter la même vue dans le "from" avec des alias pour augmenter le nombre d'enregistrement (c'est un produit cartésien).

Le code suivant génère des dates pour 9 enregistrements sur le plus petit dénominateur commun, à savoir un mois de 28 jours. L'année est mise en dur dans la requête, vous pouvez aisément la remplacer.


CREATE VIEW v3 AS SELECT NULL union ALL SELECT NULL union ALL SELECT NULL;
INSERT INTO t1 (date) SELECT concat('2007-', FLOOR(1  + RAND() * (12 - 1)), '-', FLOOR(1  + RAND() * (28 - 1))) FROM v3 a,v3 b;
 

Note: ce n'est pas la façon la plus élégante ni la plus efficace pour les dates mais ça fonctionne :-)

Janvier 2008 – PHP Index: PHP 4.4.8

Le support de PHP4 est désormais arrêté avec la publication aujourd'hui de sa dernière version, la 4.4.8.

Cette nouvelle version, qui parait près de 8 mois après la précédente version, n'apporte pas de corrections majeures (corrections de bugs divers). A compter de ce jour, et ce jusqu'au 8 août 2008, seules des mises à jour de sécurité seront faites.

Nous vous invitons donc à migrer vos applications vers PHP5 si cela n'est pas encore fait. Vous avez pour cela à votre disposition le guide de migration de PHP4 vers PHP5.

Proposé par Fabien LACHAUD

Janvier 2008 – Apprendre-PHP.com: PHP 4 est mort ! Longue vie à PHP 5 et 6 !

Cette nouvelle année marque un tournant décisif dans l'histoire de PHP. Depuis le 01 janvier 2008, le développement de PHP 4 est abandonné au profit de PHP 5.3 et PHP 6. Rappelons-nous que la première version publique bêta de PHP4 date du 19 juillet 1999, soit 8 ans de bons et loyaux services. L'heure est venue de tourner la page et de laisser place aux nouvelles technologies.

Janvier 2008 – PHP Index: CakePHP 1.2 beta

CakePHP 1.2 vient de sortir en version beta après être resté un long moment en prebeta. Cette version inclut de nombreuses fonctionnalités : enrichissement des méthodes de validation, pagination et tri sur l'affichage des enregistrements, meilleur gestion de l'authentification des utilisateurs, système de cache...

En ce qui concerne la branche stable, une nouvelle version 1.1.19 est également disponible. En voici le changelog : https://trac.cakephp.org/wiki/changelog/1.1.x.x

Retrouvez toutes ces informations sur le nouveau site de CakePHP

Janvier 2008 – Dur Comme Faire: Présentation de FirePHP aux rencontres de PHP Québec

J'aurai la chance d'être au Canada pour deux semaines de vacances début février. En plus de la découverte de ce pays qui s'annonce très beau (et froid), je participerai à la rencontre mensuelle de PHP Québec qui aura lieu le 7 février 2008 de 19h à 22h à l'École de technologie supérieure...

Janvier 2008 – Kamelot Blog: Apéro PHP

C'est bientot le premier apéro php Belgique 2008 le 25 janvier.

J'ai retrouvé les photos du premier apéro php que j'ai fait à Annecy en mars 2001

Janvier 2008 – Arnaud Limbourg: Comment ca froid ?!?

Entendu aux infos, un quebecois parle de "la grande odyssée "un parcours de 1000 km dans les alpes.

Moins 30 c'est pas froid ! J'suis nue-mains... Ca va être la plus grosse difficulté difficulté pour nous: "la chaleur"

J'ai souri (bon ok j'ai pleuré de rire)

Janvier 2008 – Arnaud Limbourg: Comment ca froid ?!?

Entendu aux infos, un quebecois parle de "la grande odyssée "un parcours de 1000 km dans les alpes.

Moins 30 c'est pas froid ! J'suis nue-mains... Ca va être la plus grosse difficulté difficulté pour nous: "la chaleur"

J'ai souri (bon ok j'ai pleuré de rire)

Janvier 2008 – z-f.fr: Zend_Form dans la prochaine "minor release"

Forum: Brèves
Auteur: philippe
Écrit le: Wed, 09 Jan 2008 09:29:36 +0100
Dernier message: Mon, 17 Mar 2008 20:16:37 +0100

Janvier 2008 – PHP Index: Developer Tutorials - Créer un application Facebook avec PHP

Le site Developer Tutorials vient de publier un tutorial expliquant comment créer sa propre application Facebook grâce à PHP.

Ce tutorial présente, à l'aide d'un exemple concret, tout ce dont vous aurez besoin pour vous lancer dans l'écriture d'une application.

Vous verrez notamment les librairies spécifiques à installer ainsi qu'une brève présentation du FBML (Facebook Markup Language), le langage de mise en page standard sur Facebook.

Créer une application Facebook avec PHP (en anglais)

Proposé par Fabien LACHAUD

Janvier 2008 – PHP Index: Porter des fonctions PHP en JavaScript

Retrouvez en JavaScript vos fonctions PHP usuelles.

Kevin van Zonneveld a lancé un projet visant à porter des fonctions PHP en langage JavaScript. Le but étant pour un développeur PHP de retrouver en JS des fonctions usuelles telles que "trim", "str_replace", "implode" n'ayant pas d'équivalents. Même si l'utilité de ces fonctions peut paraître contestable pour des gens à l'aise en JS, les développeurs ayant plus de difficultés les trouveront certainement utiles.

Le projet compte actuellement 36 fonctions et Kevin van Zonneveld invite toute personne intéressée à contribuer en portant d'autres fonctions.

Source Zend Developper

Janvier 2008 – PHP Index: Ecrire des applications Silverlight avec PHP et Phalanger

Un article sur le site de Tomas Petricek et relayé récemment sur la Developer Zone de Zend explique comment utiliser PHP et Phalanger, compilateur permettant d'utiliser des scripts PHP avec le framework .Net, pour écrire des applications Silverlight.

Dans un premier temps, l'auteur introduit l'écriture des fichiers XAML en énumérant les modifications à apporter pour le bon fonctionnement des scripts PHP.

Ensuite il montre comment utiliser PHP pour dynamiser l'interface XAML avec comme exemple l'écriture d'évenements onclick et onload.

Enfin il nous montre comment compiler et exécuter l'application.

L'auteur fournit, en guise d'exemple, un mini jeu reprenant l'ensemble des explications abordées dans l'article et quelques notions supplémentaires pour ceux qui voudraient appronfondir le sujet.

Janvier 2008 – PHP Index: Jelix 1.0

Après deux ans de développement et quelques versions intermédiaires, la première version officielle stable de Jelix est disponible. Jelix est un framework libre (LGPL), extensible et modulaire pour PHP 5. Il a déjà fait preuve de robustesse et de performances intéressantes. En effet, il est utilisé depuis de nombreux mois sur plusieurs sites en production, dont certains gros sites français à très forte charge.

Ce framework entièrement orienté objet propose nombre aspects techniques modernes :

* une logique MVC
* une bibliothèque de mapping objet-base relationnelle (ORM)
* authentification
* gestion de droits
* localisation
* un moteur de template léger et performant
* un framework de tests unitaires
* la prise en charge de nombreux formats en sortie et de différents types de services web
* etc.

Son originalité tient en particulier dans :

* son système de formulaire simple et puissant
* son système d'urls automatiques
* son système d'évènements inter-modules
* sa gestion robuste des erreurs techniques
* la possibilité de "surcharger" des fichiers de module existants.

Toutefois, bien qu’offrant de nombreuses possibilités, Jelix est conçu avec à l’esprit le soucis constant de simplicité et de performance.

Jelix est disponible en trois éditions (gratuites et libres bien sûr) : "developer", "optimized" et "gold". La première est très utile pour la phase développement de vos projets, les deux autres sont optimisées pour les serveurs en production. Il est également possible de se construire une édition optimisée en fonction de la configuration de son propre serveur, de sa version de PHP.

Découvrez et téléchargez Jelix sur http://jelix.org. Rejoignez une communauté ouverte et réactive !

Proposé par Laurent Jouanneau

Janvier 2008 – PHP Index: Utiliser les Yahoo! Web Services avec PHP 5

On parle beaucoup des API de Google, qui permettent de faire intéragir une application avec celles de Google. Yahoo! a également développé des API pour utiliser, entre autre, la recherche d'images et de videos. Le site devshed.com vient de publier un article qui donne les bases sur l'utilisation des web services de Yahoo!.

Après une petite introduction, ce tutoriel explique le fonctionnement des API de Yahoo puis vous propose deux exemples d'utilisation, la recherche d'images et de videos. Ziff Davis va proposer d'autre tutoriel sur ce sujet dans quelques temps.


Article

Janvier 2008 – PHP Québec: Conférence PHPQuébec 2008 : fin des tarifs de prévente

L'équipe de conférence PHP Québec est fière de vous dévoiler le
programme de la conférence PHP Québec 2008 qui aura lieu les 12,13 et 14 mars
au prestigieux Hôtel Sofitel à Montréal.

La sixième édition de la conférence PHP Québec, prendra son envol sous le
thème PHP: fait le avec PHP. Cette année, l'objectif de la conférence est de
fournir des solutions pratiques aux problèmes liés au développement
d'applications ainsi qu'à la gestion de projets.

Mercredi 12 mars, se tiendra le PHPLab, une journée d'ateliers pratiques sur
les techniques de sécurité Web, des trucs et astuces sur le développement de
services Web avec SOAP, comment développer un framework avec Symfonie,
comprendre et automatiser les tests unitaires, les dix erreurs d'optimisation
les plus fréquentes et comprendre les dernières évolutions de PHP. Deux
sessions spéciales seront également présentées lors de cette journée :
une session de questions et réponses sur la sécurité ainsi qu'une
présentation des diverses solutions de base de données disponibles sur le
marché (Oracle, MySQL, DB2, PGSQL) qui sera suivie d'une période de questions
réponses. Les ateliers, donnés en groupe de 20 personnes au maximum, vous
donnent une opportunité unique d'exposer vos problématiques et obtenir des
réponses pratiques. De plus, lorsque vous assistez au PHPlab vous obtiendrez
l'accès au salon de l'emploi et au cocktail gratuitement.

La conférence se poursuivra le jeudi 13 mars et le vendredi 14 mars. Avec plus
de 30 présentations sur les techniques avancées et les dernières nouveautés
de PHP, l'accessibilité des données ainsi que la résolution de problèmes
liés au développement Web, la conférence est un bon moyen pour mettre à jour
vos connaissances.

Pour plus d'information concernant la conférence, consultez le site Web de la
conférence.
Enregistrez vous avant le 18 janvier et économisez 195$.

Le tarif de pré-vente se termine le 18 janvier.
http://conf.phpquebec.com/

Janvier 2008 – PHP Index: IBM : Maîtriser les expressions régulières en PHP, partie 1

Tutorial sur les expressions régulières en PHP

Martin Streicher a publié en ce début d'année la première partie de son tutorial consacré aux expressions régulières en PHP.

Enormément utilisé dans tout type d'applications, les expressions régulières permettent en particulier de vérifier le format d'une chaîne de caractères, que ce soit simplement une adresse mail, une url, une date ou bien un format précis que vous définissez vous même.

La première partie de ce tutorial introduit le concept des expressions régulières et présente les utilisations de base des fonctions offertes par PHP.

Lire l'article

Janvier 2008 – Kamelot Blog: Apéro PHP Vendredi 25 Janvier à Bruxelles : délocalisation

La bécasse Petit changement pour ce premier apéro php Belgique 2008 ce 25 janvier , nous irons à la Bécasse du centre ville (pas au cimetière d'Ixelles)

Ca ne change rien pour ceux qui viennent en train. Mais les feux d'artifices seront interdits.

11 rue Tabora | Taborastraat
1000 Brussel (Vijfhoek) | Bruxelles (Pentagone)

Si vous comptez venir, Inscrivez vous sur l'event facebook, ou laissez un commentaire sur ce post
View Larger Map

Janvier 2008 – Prendre un Café: Symfony, une redirection 302 et une exception sont dans un bateau

Ah la la. C'est assez rare pour être souligné, mais je viens de me battre avec Symfony pendant près de deux heures avec un problème assez déroutant de prime abord : lorsque dans une action vous faites quelque chose d'aussi anodin que ceci :

public function executeBar()
  {
    try
    {
      // Some stuff here, if successful redirect user to somewhere else
      $this->setFlash('notice', 'Action was successful');
      $this->redirect('@whatever_route');
    }
    catch (Exception $e)
    {
       $this->getRequest()->setError('errors', 'Something has failed somewhere, sorry dude');
       $this->logMessage('Big boo boo occured: '.$e->getMessage(), 'err');
       return sfView::SUCCESS;
    }
  }

Et bien dans ce cas là, la redirection s'opère MAIS l'ensemble du rendu sera tout de même produit et envoyé au navigateur [1] - ce qui peut s'avérer très couteux sur un site internet au final [2]. La raison en est très simple, la méthode redirect() de la classe sfActions met fin à l'execution par ce moyen que l'on peut qualifier de hardi :

public function redirect($url, $statusCode = 302)
  {
    $url = $this->getController()->genUrl($url, true);
    if (sfConfig::get('sf_logging_enabled'))
    {
      $this->getContext()->getLogger()->info('{sfAction} redirect to "'.$url.'"');
    }
    $this->getController()->redirect($url, 0, $statusCode);
    throw new sfStopException();
  }

Oui, vous avez bien lu, on interrompt le script en levant une exception, ici de type sfStopException. Le problème, c'est que dans mon exemple précédent, la méthode redirect() est appellée dans un bloc try { } catch { }, et donc l'exception levée est interceptée et l'action n'est au final pas stoppée. Vicieux, hein ?

Pour régler le problème, on peut par exemple toujours effectuer ses appels à la méthode redirect() en dehors d'un block try { } catch { } [3], ou encore tester le type de l'exception levée. Dans notre exemple, cette dernière solution ressemblerait à ça :

public function executeFoo()
  {
    try
    {
      // Some stuff here, if successful redirect user to somewhere else
      /// ...
      $this->setFlash('notice', 'Action was successful');
      $this->redirect('@whatever_route');
    }
    catch (sfStopException $e)
    {
      return sfView::HEADER_ONLY;
    }
    catch (Exception $e)
    {
      $this->getRequest()->setError('errors', 'Something has failed somewhere, sorry dude');
      $this->logMessage('Big boo boo occured: '.$e->getMessage(), 'err');
      return sfView::SUCCESS;
    }
  }

C'est pas super sexy, mais ça fonctionne, et ça a le mérite de m'inspirer deux morales à cette histoire :

  1. tester le type des exceptions que l'on catche, c'est bien
  2. lever une exception pour arrêter un script, c'est super cracra et mériterait éventuellement d'être patché ;)

Edit: Je m'exprime mal, c'est pas super cracra, c'est juste que ça introduit une petite complexité supplémentaire. Mais l'utilité de la chose est bien entendu totalement avérée si on a besoin d'effectuer des opérations particulières avant la fin du script ( ce qui est rarement le cas, enfin chez moi).

Notes

[1] Avec tout ce que ça comporte de requête SQL et de templates calculés pour rien

[2] Et oui bien sûr, faire un redirect() dans un bloc try catch c'est pas forcément le meilleur endroit, mais c'est teeeellement pratique :p

[3] Qui sera donc exécuté de toute façon si aucune exception n'est levée.

Janvier 2008 – Apprendre-PHP.com: Sécuriser les mots passe avec les hashs et les salts

Comme nous le savons tous, le but d'un mot de passe est avant tout de rester connu d'une personne ou d'un groupe de personne. Sa divulgation entraine alors la perte complète de son efficacité et de sa sécurité. Lorsque le mot de passe devient connu d'une personne tierce, alors cette dernière peut par exemple s'approprier des droits sur une application et compromettre son fonctionnement normal. Un mot de passe est une donnée extrêmement sensible et convoitée par des pirates, quelle que soit l'application qui l'utilise.

Janvier 2008 – tigrou/pwet.fr: Video FLV Datatype extension version 0.2 for eZ Publish 4 and PHP5

Today, I released the second version of eZVideoFLV Datatype extension . This is the first version compatible with eZ Publish 4 and PHP5 . I would like to thank Kåre Køhler Høvik from eZ Systems who initiated the portage to PHP5. This version also brings some small bugfixes and a better debug output to the cronjob script. Information about this extension can be found on the project page and in the announce of the first version . Bug report and comments are welcome.

Janvier 2008 – Glagla.org: Léopard est livré avec PHP5

Encore une bonne raison de passer à Léopard ! Je n'ai pas pu tester (tristesse) mais il semble bien que Léopard soit livré avec PHP5. Sous réserve de quelques manipulations (Working with PHP 5 in Mac OS X 10.5 - en anglais), il est possible d'avoir une magnifique installation (incluant PHP5, ...

Janvier 2008 – Glagla.org: Installer Symfony sous Mac OS X avec MAMP

Symfony est un framework RAD PHP vraiment interessant. Voici un rapide tutoriel pour l'utilisez sous OS X avec MAMP.

Janvier 2008 – Glagla.org: Pourquoi utiliser Zend Framework quand on peut utiliser Symfony ?

Connaisseur averti de Symfony (que j'ai pratiqué sur de nombreux projets) je m'intéresse vivement aux frameworks PHP. J'ai utilisé d'autres frameworks ; par exemple, Code Igniter qui est quand même pas mal, (surtout si on est coincé avec PHP4) mais qui reste pour moi valable uniquement pour des petits ...

Janvier 2008 – Glagla.org: Installer la librairie GD pour php5 sous Léopard, 2eme essai !

Ma première tentative a bien fonctionnée mais pose un problème assez important. Il semble que la version de php5 fournie par Apple soit incapable de charger un module dynamiquement depuis la ligne de commande. C'est ainsi que j'interprètre l'erreur systématique que l'on a lorsque l'on lance php via le terminal après ...

Janvier 2008 – Glagla.org: Installer la librairie GD pour php5 sous Léopard

Attention, cette recette ne donne pas tout à fait satisfaction (casse le binaire php lancé en ligne de commande). Consultez plutôt cet article pour quelque chose d'efficace. Suite à un commentaire pertinent de Niko je me lance dans l'opération consistant à l'installation de la librairie GD pour la version de php5 ...

Janvier 2008 – Glagla.org: Léopard est livré avec php5

Quelle bonne surprise de fin d'année ! En fait, je m'y attendais un peu. Ce qui est sympa c'est la version relativement à jour de php qui est fournie : Les fichiers de configuration sont standards (a ceci près qu'il faut renommer le fichier /etc/php.ini.default en /etc/php.ini si vous voulez changer ...

Janvier 2008 – Glagla.org: Astuce symfony : ne pas charger une colonne lors de “l’hydratation” d’un objet

En fait c'est plutôt une astuce Propel ;-). Quand vous chargez des données depuis la base (avec doSelect ou retrieveByPk) vous récupérez des objets complètement "hydratés". C'est à dire que chaque objet représente une ligne de votre base de donnée avec autant de variables membres que de colonnes. Un problème évident ...

Janvier 2008 – Glagla.org: Astuce symfony : mesurer le temps d’exécution d’un bout de code

Voici le code permettant d'ajouter une entrée dans la liste des timers de Symfony. On peut écrire ce code dans une libraire, une classe de modèle etc .... $timer = sfTimerManager::getTimer('hardwork !!!!'); myClass::workHardPlease(); $timer->addTime(); Les développeurs , en utilisant la barre de débogage de symfony, verront alors le temps consommé lors de l'exécution de ...

Janvier 2008 – Glagla.org: Utilisation de eval() avec PHP5

La fonction eval() permet d'évaluer une chaine de caractère comme du code PHP. Elle peut être utile dans certains cas mais pose des problèmes : le code est plus dur à maintenir et à déboguer, l'execution de cette fonction ralenti votre script. C'est particulièrement vrai pour les eval appelés dans une boucle ...

Janvier 2008 – Glagla.org: Programmer un démon en PHP

Un démon (ou daemon en anglais) est un programme fonctionnant en permanence en arrière plan et qui n'est pas contrôlé par l'utilisateur. PHP étant un langage de script, on ne peut pas lancer des tâches de fond depuis les requêtes faites sur le serveur http. Quand un processus nécessite des ...

Janvier 2008 – Hello Design: PHP Apero a Paris

PHP Apero

Le 1er rendez-vous de l'année "PHP Apero" avec la participation des membres de AFUP.

Un rendez-vous à ne pas manquer sur Paris 20e

Pour plus d'informations... http://www.aperophp.net/apero.php?id=193

Janvier 2008 – PHP News: Bonjour et bienvenue sur phpnews.fr !

Phpnews.fr vient d’ouvrir ses portes en ce début d’année 2008 afin d’offrir à tous les développeurs, administrateurs web ou curieux une page d’accueil autour des actualités des technologies Open Source dédiées au web.

Phpnews.fr vous proposera ainsi des actualités mais aussi des tutoriaux, des liens et toutes sortes d’astuces et d’idées que chacun pourra soumettre.

Pourquoi un site sur les technologies Open Source du web et en particulier sur PHP ?

A travers la blogosphère, qu’elle soit francophone ou internationale, tout le monde peut découvrir les dernières tendances et nouveauté du WEB 2.0 : Un nouveau service par ici, une nouvelle de Facebook par là, nous retenons de l’explosion des sites WEB 2.0 une nouvelle façon d’appréhender le web via de nouvelles interfaces et de nouvelles habitudes de consommation du contenu.

Cependant, on ne parle jamais de ce qui a permis l’avènement de ce nouveau web et des coulisses de tous ces services dont beaucoup ont choisit de travailler avec des technologies issues du logiciel libre tel que PHP, Apache, MySQL, GNU/Linux …

Quelles problématiques peuvent rencontrer ces entreprises et que peuvent leur offrir les technologies Open Source ? Comment alors les utiliser et y contribuer ?

Ce blog sera donc celui du PHP et des technologies Open Source 2.0.

Janvier 2008 – Rom's blog: Un elePHPant en voyage…

Un repos bien mérité en Guadeloupe pour l’elePHPant qui a eu une fin d’année 2007 très mouvementée.

elephpant

elephpant

Je vous vois venir…non, ce n’est pas moi qui ai pris les photos, c’est Loïc d’Anaska qui, lui, peut prendre plusieurs semaines de vacances en plein hiver!

Janvier 2008 – PHP News: [DEV] Vérifier qu’une chaîne est uniquement en majuscule

Comment détecter en PHP qu’une chaîne n’est composée que de majuscules

La méthode la moins élégante

On parcourt notre chaine grâce à sa forme indexée (avec $str[$i], $str{$i} étant dépréciée en PHP6) en comparant à chaque passage si le caractère parcouru est bien un caractère majuscule. Pour cela :

  • soit on initialise un tableau contenant les lettres majuscules de A à Z et on utilise la fonction in_array (qui est case-sensitive) pour vérifier la présence de la lettre parcourue dans ce tableau.
  •  soit on utilise la fonction ord($str[$i]) pour vérifier que la valeur décimal du caractère appartient bien à celle des majuscules (65-90), cf. http://www.asciitable.com/

Une méthode plus élégante

Avec une expression rationnelle. Afin d’obtenir l’expression la plus simple, il faut non pas chercher à savoir si tous les caractères sont en majuscule mais rechercher s’il existe un caractère qui n’est pas une majuscule.

Une fois que l’on a effectué ce raisonnement, la solution vient très naturellement :

if(preg_match('#[^A-Z]#', $foo) === 0)
{
/*
Aucune occurrence d'un caractère n'étant pas A-Z
n'a été trouvé, la chaine est donc en MAJ
*/
}

On peut compléter ainsi facilement la liste des caractères autorisés, par exemple pour prendre en compte les chiffres on pourra utiliser le motif #[^A-Z0-9]#

Janvier 2008 – PHP Index: IBM : Maîtriser les expressions régulières en PHP, partie 2

Deuxième partie du tutorial sur les expressions régulières en PHP

Dans cette deuxième partie, Martin Streicher aborde les éléments suivants :

  • Les sous-masques
  • Les modificateurs
  • Le formattage des données
  • Les assertions
  • Les classes de charactères
Au rythme d'une partie chaque semaine, la troisième ne saurait tarder.

Lire l'article

Janvier 2008 – Rom's blog: SUN rachète MySQL!

Après de nombreux mois de buzz autour de son introduction en bourse , on apprend finalement aujourd’hui que SUN devrait racheter MySQL AB, la société qui gère les produits MySQL :

http://blogs.mysql.com/kaj/2008/01/16/sun-acquires-mysql/

Ainsi SUN affirme encore un peu plus son positionnement dans l’univers Open Source en faisant l’acquisition de l’un des produits les plus répandus et les actifs. Espérons que cela permettra à MySQL de continuer sa progression actuelle.

Janvier 2008 – PHP News: [NEWS] Sun rachète MySQL

 

MySQL, la base de donnée Open Source la plus populaire du WEB 2.0, utilisée entre autre par Google, MySpace et Facebook se fait racheter par Sun MicroSystems pour un montant estimé de $800 millions en cash contre toutes les actions de l’entreprise.

Il manquait clairement dans le panel des technologies Sun (qui est entre autre le troisième fabricant mondial de serveurs pour entreprises) une base de données capable d’occuper le marché des bases de données pour entreprises estimé à 15 milliards de dollars.

Cette acquisition pourrait aussi permettre à SUN de consolider sa position sur les technologies du WEB en lui permettant de promouvoir son langage Java en conjugaison à une base de donnée MySQL.

Le couple Java/MySQL supplantera t’il le couple PHP/MySQL dans quelques années ?

Source de l’infos : Reuters France et MySQL AB

Janvier 2008 – PHP Index: Rachat de MySQL AB par Sun: revue de web

L'information selon laquelle Sun rachetait MySQL AB n'a pas pu vous échapper. Depuis hier après-midi, le communiqué est repris et largement commenté sur un très grand nombre de supports.

Petite revue de web de cet évènement majeur de la vie du logiciel libre:

Les communiqués officiels:

La presse:

Janvier 2008 – PHP News: [DEV] Performance de la fonction in_array()

Nexen.net a publié récemment une brève sur quelques conseils de performances PHP/MySQL notamment sur la fonction PHP in_array();

Le code original utilisé par le testeur s’apparente à :

$time_start = microtime(true);
$data = array('a', 'b', 'c', 'd', 'e', 'f' ... 'zzz');

for ($i=0; $i < 1000; $i++)
if(in_array('c', $data)){};

echo (microtime(true) - $time_start);

Temps d’exécution moyen pour un tableau de ‘a’ à ‘zzz’ sur ma machine de test :

0.26708 sec

On obtient une exécution bien plus rapide en utilisant le code suivant :

$time_start = microtime(true);
$data = array('a', 'b', 'c', 'd', 'e', 'f' ... 'zzz');
$a_data = array();
foreach ($data as $point) {$a_data[$point] = true;}
for ($i=0; $i < 1000; $i++)
if(isset($a_data['c'])){};

echo (microtime(true) - $time_start);

Temps d’exécution moyen :

0.01059 sec. (Donc environ 25 fois plus rapide que d’utiliser la fonction in_array())

Une autre méthode serait d’utiliser la fonction array_flip() (qui permet de remplacer les clés par les valeurs, et les valeurs par les clés). On pourra ainsi tester la présence de la valeur devenue clé :


$time_start = microtime(true);

$data = array('a', 'b', 'c', 'd', 'e', 'f' ... 'zzz');

$a_data = array_flip($data);

for ($i=0; $i < 1000; $i++)
if(isset($a_data['c'])){};

echo (microtime(true) - $time_start);

Temps d’exécution moyen :

0.01038 sec. Le résultat est sensiblement identique à la version précédente.

Il y a cependant encore plus rapide pour transformer nos valeurs en clés, c’est en utilisant la fonction array_fill_keys()

$time_start = microtime(true);
$data = array('a', 'b', 'c', 'd', 'e', 'f' ... 'zzz');
$a_data = array_fill_keys($data, ''); //Ne pas remplir de null car isset() retournerai FALSE même si la clé existe
for ($i=0; $i < 1000; $i++)
if(isset($a_data['c'])){};

echo (microtime(true) - $time_start);

Temps d’exécution moyen :

0.00524 sec. C’est pratiquement 2 fois plus rapide que précédemment et 50x plus que in_array().

Si vous souhaitez reproduire ces tests chez vous et essayer de trouver une méthode encore plus rapide, voici la fonction vous permettant de générer un grand tableau :


<?php

$buffer = 'array(';
$str = 'abcdefghijklmnopqrstuvwxyz';
$str_len = strlen($str);

for($i = 0; $i < $str_len; $i++)
{
$buffer .= "'".$str[$i]."’,";
for($j = 0; $j < $str_len; $j++)
{
$buffer .= "’".$str[$i].$str[$j]."’,";
for($k = 0; $k < $str_len; $k++)
{
$buffer .= "’".$str[$i].$str[$j].$str[$k]."’,";
}
}
}

$buffer .= ‘1);’;

echo $buffer;

?>

Janvier 2008 – PHP Index: IBM: Enterprise Search avec PHP et Apache Solr

Article sur la mise en place d'un moteur d'Enterprise Search avec Apache Solr et PHP.

L'Enterprise Search ou comme on pourrait l'appeller "recherche en entreprise", permet l'identification et l'indexation de contenu au sein du domaine de l'entreprise ainsi que la recherche et l'affichage de ce contenu.
Bien que destinés à une recherche "locale", ces moteurs de recherches sont utilisés également dans le domaine du web pour des sites à forte fréquentation et disposant d'un contenu conséquent.

Solr est un de ces serveurs, développé à partir de de la librairie Java Lucene par CNET Network avant d'être donné à la fondation Apache. Parmi les fonctionnalités, on trouve :

  • Utilisation de la librairie Lucene pour la recherche full-text
  • Format de sorties supportés : JSON, XML, PHP, Ruby et Python
  • Interface d'administration Web
  • Replication
  • Possibilité d'ajout de plugins
Netflix, Digg, CNET's News.com et CNET Reviews sont parmi les sites de références ayant déployés Solr.

L'article de Martin Streicher vous indique comment mettre en place le serveur Solr, de l'étape de l'installation, à celles de création de l'index et de requêtage de celui-ci en PHP.

Lire l'article
Apache Solr

Janvier 2008 – PHP Index: Zend Studio pour Eclipse

Zend Studio pour Eclipse est pour bientôt.

Yossi Leon communique sur le Zend Blog que le ZSfE (Zend Studio for Eclipse) serait en bonne voie de disponibilité d'ici peu. Suite à plusieurs béta et de nombreux retours, l'application devrait être nettoyée de ses bugs et contenir de nouvelles fonctionalités non encore dévoilées.
Basé sur la technologie du Zend Studio ainsi que sur le projet PDT (PHP developers tools) d'Eclipse, le ZSfE s'annonce comme l'un des IDE PHP les plus complets.

Lire l'article
Comparaison des fonctionnalités ZSfE et PDT

Mise à jour du 23 janvier 2008 :
C'est fait, Zend Studio pour Eclipse est disponible depuis hier sur la partie marchande du site de Zend. Il ne vous en coûtera pas moins de 299$ pour en acquérir une licence, les détenteurs d'une licence Zend Studio Professional quant à eux pourront l'obtenir gratuitement. Parmis les évolutions à venir Zend prévoit :

  • Intégration du Zend Framework
  • Editeur HTML WYSIWYG
  • Support de Subversion

Lire l'article

Janvier 2008 – Kamelot Blog: Christian Durel à la tête de zend France.

Christian Durel : Unisys -> Oracle -> SAP -> Zend

Janvier 2008 – Glagla.org: Installer xdebug et KCachegrind sous Leopard

Cet article fait suite au deux premiers écrits au sujet de l'installation de PHP5 et MySQL5 sous Léopard. L'idée est de faire du profiling d'application PHP en utilisant xdebug et KCachegrind. Installation de xdebug Si vous avez correctement installé PHP aucun problème pour xdebug : # sudo pecl install xdebug Ajouter "zend_extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so" à la fin du ...

Janvier 2008 – PHP News: Sortie de Apache 2.0.63 et 2.2.8

 Apache 2.0.63

La branche 2.0 d’Apache continue d’être maintenue avec la version 2.0.63. A noter que la version 2.0.62 n’a pas été publiée et qu’un saut a été directement effectué à la version .63 pour marquer les changements significatifs depuis la version .61.

Au niveau sécurité, deux corrections ont été apportées au niveau des modules mod_status et mod_imagemap, toutes les deux concernant de possibles failles XSS.

Au niveau de la correction de bug (6 corrections), vous trouverez le changelog en suivant ce lien

Apache 2.2.8

Concernant la dernière branche 2.2, nous retrouvons les deux corrections de sécurité décrites ci-dessus, ainsi qu’une autre faille XSS dans le module mod_proxy_balancer et une possibilité de DoS entrainant un crash possible, toujours via ce module.

Le changelog concernant la résolution de bug est assez conséquent, à la fois concerant le coeur d’Apache et ses modules ”built-in” :

http://www.apache.org/dist/httpd/CHANGES_2.2.8 

Janvier 2008 – Prendre un Café: The Symfonians Project

It's been a long time that I and some people I know were looking after a place on the web to publish a Symfony developer profile, post a job offer, share contacts and/or project opportunities. There's been some initiatives here and here, but nothing has really convinced me so far. So I've decided to write something on my own.

The name of the project is Symfonians. It's available in a beta state and only in english language for now.

There must exist a lot of bugs, so feel free to report them if you use the service :)

Ah, last but not least, I imagine that the site won't display nice on IE6 (maybe on IE7 too), but for now I don't care as I don't have much time to loose on this kind of fascinating CSS hacking challenges :p

Janvier 2008 – Hello Design: Différentes sortes ElePHPants

Différentes sortes ElePHPants

Suite à un problème de serveurs, voici l'ensemble des nouvelles photos des ElePHPants qui ont découverts qui n'étaient pas les seuls au monde...



Les Elephants sont disponibles sur le site de Nexen, à l'adresse suivante : cliquez ici

 

Janvier 2008 – PHP Index: Joomla 1.5

Après plus de deux ans et demi de travail, l'équipe de Joomla vient d'annoncer la sortie de la version stable de Joomla 1.5.

Cette nouvelle version est basée sur trois maîtres mots : l'extensibilité, l'internationalisation et la convivialité. En effet, grâce à la nouvelle API, la création d'extension devient plus facile et leur gestion est simplifié grâce à un installeur unique quelques soit le types d'extension.

L'interface d'administration à été simplifiée : nouvelle méthode de sélection d'image, gestion des archives directement dans la gestion des articles, aperçu en "live" sans enregistrement, etc. Le support des jeux de caractères étendus et de l'écriture de ela droite vers la gauche font de Joomla un CMS complet et international.


L'annonce sur Joomla.fr
Téléchargement
Liste des nouveautés

Janvier 2008 – Apprendre-PHP.com: Classe de contrôle et de validation de RIB français

Ce court tutoriel vous présente une classe qui permet de créer des objets encapsulant les données d'un numéro de RIB. Elle peut s'utiliser de deux manières différentes : soit créer des objets RIB ou bien servir comme système de validation des informations bancaires grâce à ses méthodes statiques. Bien que très peu extraordinaire en soit, cette source s'avère particulièrement pratique et efficace dans lors du développement d'applications de comptabilité par exemple.

Janvier 2008 – jp.fox: Stocker du texte UTF-8 correctement dans une base MySQL

De nombreux projets PHP (moteur de blog, CMS...) gèrent les données au format UTF-8. Malheureusement, beaucoup ne le font pas correctement : les tables MySQL sont créées avec l'encodage latin1 par défaut et le texte encodé en UTF-8 par l'application y est stocké tel quel.

Lorsque l'on regarde le contenu de ces tables avec phpmyadmin, on voit alors les lettres accentuées remplacées par deux caractères sans rapport. Il devient difficile d'exploiter efficacement ces données.

L'erreur généralement commise est double :

  • table créée en latin1 pour stocker de l'utf-8
  • utilisation des fonctions mysql_* en latin1 avec des données utf8

Pour utilisation optimale de MySQL il suffit pourtant de peu de chose :

  • ajouter DEFAULT CHARSET=utf8 à la fin des requêtes de création de table
  • appeler la fonction mysql_set_charset("utf8") juste après la connexion pour indiquer à MySQL que le client échangent les données avec le serveur avec l'encodage UTF-8. On peut aussi exécuter une requête SQL (si on utilise un framework ou PHP<5.2.3 ou MySQL<5.0.7) qui a le même résultat : $db->query("SET NAMES UTF8");

Voici un petit exemple complet :

[php]
<?php
// Affichage de la page en UTF-8
header("Content-type: text/html; charset=UTF-8");
?>
<html>
	<body>
		<form method="POST" action="<?=$_SERVER['REQUEST_URI']?>">
			Entrez du texte accentu&eacute; : <input name="texte" />
			<br/>
			<input type="submit" value="Enregistrer dans la base" />
		</form>

<?php

	// Connexion et sélection de la base
	$lnk = mysql_connect("localhost", "root", "fox") or die("Impossible de se connecter au serveur");
	
	mysql_select_db("test", $lnk) or die("Connexion &agrave; la base impossible");
	
	// Indiquer à mysql que l'on va communiquer avec lui en utf8
	mysql_set_charset("utf8", $lnk);
	
	// Il est aussi possible de changer l'encodage à l'aide d'une requête SQL
	// si les fonctions mysql_* sont encapsulés dans un framework
	// ou si PHP<5.2.3 ou MySQL<5.0.7
	// ex : mysql_query("SET NAMES UTF8");
	// ou   $db->query("SET NAMES UTF8");
	
	// Création de la table encodée en UTF8
	$sqlCreate = "CREATE TABLE IF NOT EXISTS tableA (
	  champsA int(11) NOT NULL auto_increment,
	  champsB text NOT NULL,
	  PRIMARY KEY  (champsA)
	) ENGINE=MyISAM DEFAULT CHARSET=utf8";
	
	if(mysql_query($sqlCreate))
	{
		echo "Cr&eacute;ation de la table OK.<br/>\n";
	}
	
	// Insertion du texte saisie dans le formulaire
	if(isset($_POST['texte']))
	{
		$sqlInsert = sprintf("INSERT INTO tableA(champsB) VALUES('%s')",
					 mysql_real_escape_string($_POST['texte']));
		if(!mysql_query($sqlInsert))
		{
			echo "Insertion dans la table impossible.<br/>\n";
		}
	}
	
	$sqlSelect = "SELECT * FROM tableA";
	// Lecture des données
	$result = mysql_query($sqlSelect) or die("Requ&ecirc;te impossible sur la table.");
	
	// Afficher des résultats en HTML
	echo "<table>\n";
	while ($line = mysql_fetch_assoc($result)) {
	    echo "\t<tr>\n";
	    foreach ($line as $col_value) {
	        echo "\t\t<td>$col_value</td>\n";
	    }
	    echo "\t</tr>\n";
	}
	echo "</table>\n";
	
	// Libération des résultats 
	mysql_free_result($result);
	
	// Fermeture de la connexion 
	mysql_close($lnk);
?>

	</body>
</html>

Janvier 2008 – PHP Index: Recherche développeurs !

Vous l'avez peut-être remarqué, GLOBALIS, éditeur de ce site, recherche plusieurs développeurs. Si vous êtes intéressés par le langage PHP, si vous souhaitez apprendre, participer à l'enrichissement du contenu PHPIndex et travailler sur des projets variés, venez rejoindre notre équipe.

Seuls impératifs: avoir un diplôme informatique de niveau Bac+2 à Bac+4, et une expérience, même courte, de développement PHP. Les jeunes diplômés sont les bienvenus.

Janvier 2008 – Hello Design: Salon "Solution Linux"

Le Salon "Solution Linux" ouvre ses portes les 29-30-31 janvier 2008.

Avec l'annonce de la sortie de mon ouvrage

 

PHP et MySQL - MySQLi - PDO

Construisez votre application

 

 

Les Editions ENI, éditeur de l'ouvrage propose :

"Rencontrez l´auteur de ce livre Christophe VILLENEUVE, qui répondra à toutes vos questions,

le Mardi 29 Janvier de 15h à 16h

sur le salon Solutions Linux 2008 -

Stand Editions ENI n°E38

(CNIT - Paris la défense)"

 

Pour plus d'informations... cliquez ici

Janvier 2008 – Kamelot Blog: Apéro php Belgique 2008 #1: un album photos sur Flickr

Apero-PHP Bruxelles 2008 Apero-PHP Bruxelles 2008 Apero-PHP Bruxelles 2008 Apero-PHP Bruxelles 2008 a la becasse Apero-PHP Bruxelles 2008 Apero-PHP Bruxelles 2008 Apero-PHP Bruxelles 2008 Apero-PHP Bruxelles 2008 Apero-PHP Bruxelles 2008 Apero-PHP Bruxelles 2008 Apero-PHP Bruxelles 2008 elephpant Apero-PHP Bruxelles 2008 elephpant Apero-PHP Bruxelles 2008 elephpant Apero-PHP Bruxelles 2008 Apero-PHP Bruxelles 2008 Apero-PHP Bruxelles 2008 Apero-PHP Bruxelles 2008 Apero-PHP Bruxelles 2008 elephpant Apero-PHP Bruxelles 2008 Apero-PHP Bruxelles 2008 Apero-PHP Bruxelles 2008

Apéro php Belgique 2008 #1: un album photos sur Flickr

21 photos

Une bonne petite soirée, avec des participants d'horizons divers.

Bon j'avoue, je suis un peu déçu des désistements mais c'est pas aussi grave que le premier en 2002 où j'avais eu 3 personnes pour 15 inscrits (et dans les 3 un ne s'était pas inscrit).

Ici nous auront été 9, même si Patrick, parti assez tôt n'a vu que 3 personnes ne travaillant pas avec lui.

On a eu 2 paranos, 2 Claroline, 2 ausy, 1 B-Holding, 1 Belgacom, et un king of blogs

Donc voilà le prochain de la serie se fera en wallonie ou en flandre, j'attends des propositions (et prépare une roue de secours)

PS pour les présents: maître capello a vérifié : bibi = Ghislain Seguy et pas Benoît

Janvier 2008 – PHP Index: NetEco: itw de Harold Goldberd et Christian Durel de Zend

NetEco vient de publier une interview de Harold Goldberg, CEO et Christian Durel, nouveau directeur général de Zend France.
Lire l'interview

Janvier 2008 – PHP Index: Zend Framework 1.5.0 Preview Release

Une préversion du framework de Zend est disponible au téléchargement. En plus de corriger certains bugs et d'améliorer quelques services offerts par Zend Framework, cette version permet d'avoir un aperçu des nouvelles fonctionnalités qui seront incluses dans la version 1.5 finale.

Les principales nouveautés :

  • Un nouveau composant Zend_Form pour la création de formulaire avec le support de l'Ajax
  • Nouveaux adaptateurs Infocard, OpenId et LDAP
  • Support des recherches Lucene complexes et du format Lucene 2.1
  • Nouveaux conteneurs Partial, Placeholder, Action, et Header pour des vues complexes
  • Un nouveau composant Zend_Layout
  • Le support de l'UTF-8 pour la création de document PDF
  • Nouveaux webservices pris en charge : Technorati, SlideShare et Remember the Milk

Article sur zend.com
Téléchargement

Janvier 2008 – z-f.fr: Zend Framework 1.5 Preview release

Forum: Brèves
Auteur: philippe
Écrit le: Tue, 29 Jan 2008 08:31:35 +0100
Dernier message: Tue, 29 Jan 2008 08:31:35 +0100

Janvier 2008 – Prendre un Café: Un client de geolocalisation en cinq lignes de PHP avec l'API Google Maps

Google propose des choses vraiment intéressantes au travers de ses API, comme par exemple son méconnu (car planqué dans la doc) webservice HTTP de géolocalisation. L'idée ici est de récupérer la lattitude et la longitude d'un endroit géographique à partir de sa description, par exemple Paris, France ou encore 3 allée des allouettes, 35000 Rennes, France.

Il vous faut posséder au préalable une clé d'API Google, que vous pouvez obtenir gratuitement par là.

<?php
define('GOOGLE_API_KEY', 'your_google_api_key_here');
$wsurl = 'http://maps.google.com/maps/geo?q=%s&output=csv&key=%s';
$location = 'Paris, France';
$data = explode(',', file_get_contents(sprintf($wsurl, urlencode($location), GOOGLE_API_KEY)));
$coord = 200 === (int)$data[0] ? array((float)$data[2], (float)$data[3]) : null;
var_dump($coord);

Ce qui nous donne :

array(2) {
  [0]=>
  float(48.856667)
  [1]=>
  float(2.350987)
}

On prendra soin de cacher autant que faire se peut les résultats renvoyés par le webservice, afin de soulager les serveurs de Google et accessoirement de pas fusiller le crédit-requête associé à sa clé d'API.

Disclaimer : Ce billet n'est pas un appel au troll, je me doute qu'on peut faire la même chose en 3 lignes de Ruby, 2 lignes de Python et -10 lignes de Fotran77. C'est juste pour dire que les services Google, ça déchire quand même un petit peu.

Janvier 2008 – PHP Index: SPIP 1.9.2d

Mise à jour mineure de SPIP 1.9.2

Pour nous faire patienter jusqu'à la prochaine version majeure de SPIP, les développeurs de SPIP publient la version 1.9.2d.

Cette mise à jour porte principalement sur la correction de diverses anomalies mais aussi des modifications et améliorations pour les développeurs de plugins telles que :
- l'amélioration de la purge du cache dans le CRON,
- la correction d’un include manquant qui pouvait faire échouer la fonction autoriser_voir_dist ,
- l'appel de 'url_de_base' depuis mes_options...

Changelog
Téléchargement

Proposé par Clément Péronneaud

Janvier 2008 – Apprendre-PHP.com: Concours de tutoriels parrainé par Nexen.net

J'ai le plaisir et la joie de vous présenter le tout premier concours du site Apprendre-PHP.com. Peut-être le savez-vous déjà si vous suivez le site depuis sa création mais la première bougie pointe le bout de sa flamme. C'est donc à cette occasion que j'ai décidé de mettre en place ce concours afin de fêter comme il se doit cette première bonne année, et aussi remercier toutes les personnes qui y contribuent.

Janvier 2008 – Hello Design: Elephpant au salon Linux 2008

Elephpant au salon Linux 2008

Les Elephpant PHP sont présents au salon "Solution Linux" 2008, et pour montrer leur joie... ont réalisé une petite figure pour le plaisir de tous.

 

Beaucoup de visiteurs ont réclamé d'en adopter un.. Alors pourquoi pas vous, en venant directement sur le Stand de AFUP. Ils seront encore présent aujourd'hui et demain jeudi.

 

Janvier 2008 – Hello Design: Un auteur PHP sur le stand ENI

Un auteur PHP sur le stand ENI

 L'auteur du livre "PHP et MySQL - MySQLi - PDO, Construisez votre application" était présent hier mardi sur le stand de la societe "Editions ENI" pour parler de son ouvrage qui sortira le 11 fevrier prochain.

L'auteur sera présent les après-midi de mercredi et jeudi au salon "Solution Linux", vous pouvez aussi le rencontrer sur le stand de l'AFUP (Association Francaise des utilisateurs de PHP)

Pour plus d'informations, sur ce livre.. cliquez ici 

 

Janvier 2008 – z-f.fr: Tutos "officiels" Zend_Layout et Zend_Form

Forum: Brèves
Auteur: philippe
Écrit le: Wed, 30 Jan 2008 10:01:32 +0100
Dernier message: Sun, 03 Feb 2008 22:16:49 +0100

Janvier 2008 – Glagla.org: Utilisation des filtres avec Symfony

Voila encore une fonctionnalité peu connu qui me fait aimer ce framework. Dans Symfony, quand le système reçoit une requête il exécute une série de filtre permettant un découpage logique efficace des actions à traiter. Ce qui est intéressant, c'est que l'on peut facilement intégrer ses propres filtres afin de ...

Janvier 2008 – Hello Design: 2eme jour sur le salon Linux

2eme jour sur le salon Linux

 Lors de la deuxième journée au salon linux, les visiteurs sont nombreux pour voir et revoir les elePHPants effectués leur Show sur le Stand de AFUP.

 

 

Cependant L'auteur de PHP & MySQL - MySQLi - PDO, et publicateur de News pour le site de Nexen.net, était aussi présent pour montrer l'exemplaire de son ouvrage à ces collègues Nexen du groupe  Alter Way, son ouvrage qui sortira prochainement en librairie.

 

 

Pour Le dernier jour du salon "Solution Linux", vous pourrez discuter toujours avec son auteur