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

Mai 2008 – Hello Design: Elephpants Nouvelle Portée

Les représentants des ElePHPants PHP écoutent avec grande attention cette annonce.

Ils viennent d'apprendre une annonce merveilleuse :

 

"La famille va s'agrandir"

 

L'adoption pourra se faire sans douleur dès leur naissance par les grands et les petits

Pour en savoir plus, le site Nexen.net explique comment effectuer l'adoption... Cliquez ici

Mai 2008 – PHP Index: PHP 5.2.6

L'équipe de développement de PHP a annoncé le 01 mai 2008 la sortie de PHP 5.2.6. Cette version a pour but d'améliorer la stabilité de la branche 5.2.x avec la correction de 120 bugs dont plusieurs concernant la sécurité.

Parmi les correctifs de sécurité, on notera :

- Correction d'une possibilité de stack buffer overflow dans FastCGI SAPI.
- Correction d'une possibilité d'overflow des entiers dans la fonction printf().
- Correction d'un contournement du safe_mode dans cURL.
- Correction de la gestion des séquences incomplètes dans la fonction escapeshellcmd().
- Mise à niveau de PCRE à la version 7.6

Les corrections importantes concernent entre autres :

- Correction de possibles crashs dans l'extension POSIX.
- Diminution de l'utilisation de mémoire de la concaténation avec "." au lieu de ".=".
- Correction de la possibilité d'appeller un constructeur privé dans une fonction statique.
- Correction d'une possibilité de boucle infinie dans bz2_filter.c.
- Correction de fuites de mémoire dans quelques fonctions lors de l'appel de __toString().
- Correction de crashs lors de l'utilisation de __get et __set.
- Correction de crashs dans pdo_pgsql.
- Correction de l'utilisation de la méthode __call() lorsque elle est appelée sur un parent d'une classe enfant.
- Correction de crashs dans la méthode xmlrpc_server_call_method().
- Correction de fuites de mémoire lors de conversion implicite.
- Correction de problèmes de mémoire dans SimpleXML.

La liste complète des modifications apportées par PHP 5.2.6 est disponible dans le changelog.

PHP 5.2.6 Release Announcement
Télécharger PHP 5.2.6

Mai 2008 – PHP Index: 01net : Interview d'Harold Goldberg, PDG de Zend

01net a publié fin avril une interview d'Harold Goldberg, PDG de Zend, où il fait le point sur la concurrence et parle de l'avenir de l'entreprise.

Après avoir fait un point sur les activités actuelles de Zend (Zend Core, Zend Framework, Zend Studio, etc), Harold Goldberg nous apprend qu'il n'est pas impossible que Zend passe un jour à un modèle 100% open source même si c'est encore loin d'être une priorité.

Le reste de l'article se résume à une comparaison du langage PHP avec quelques-uns de ses plus célébres concurrents que sont Ruby, Python ou encore Java. On y apprend entre autres, que PHP serait utilisé par 30 millions de sites soit 30% du Web actuel.

Lien vers l'article : Zend (PHP) envisage de basculer vers le tout open source

Mai 2008 – PHPortail: Un panier d'achats avec PHP et Prototype (05/05/08)

« Dans le dernier volet de cette série, je vous montrerai comment réaliser un panier d'achats en utilisant PHP, les sessions, et la bibliothèque JavaScript Prototype. Le panier permet aux...

Mai 2008 – PHPortail: Appel à conférencier pour le forum PHP 2008 de l'AFUP (05/05/08)

L'AFUP (Association Française des Utilisateurs de PHP) annonce l'appel à conférenciers pour le Forum PHP 2008.

Pour cet évènement unique en France, nous recherchons les experts francophones...

Mai 2008 – PHPortail: Le mois de la variable MySQL (05/05/08)

Parvesh Garg a lancé le mois de la variable MySQL : une fois par jour, il braque les projecteurs sur une variable MySQL, son utilisation et ses fonctionnalités. Un bon moyen d'en savoir un peu plus...

Mai 2008 – PHPortail: Php ArrayIterator (05/05/08)

«Grosso modo, je partage la question que je me pose au sujet de la qualité du code OO en PHP. Comment améliorer la qualité de mon code, comment le normaliser pour minimiser le bloat code ? Au fur...

Mai 2008 – PHPortail: Pourquoi avoir choisi PHP : appel à contribution (05/05/08)

Le journal du net lance un appel à contribution pour savoir pourquoi vous avez choisi PHP comme langage de script côté serveur.

« Pour réaliser vos projets de site Web dynamique, vous avez...

Mai 2008 – PHPortail: PHP 5.2.6 disponible (05/05/08)

L'équipe de développement PHP publie la version 5.2.6. Cette version se concentre sur la stabilité de la branche 5.2.x, avec plus de 120 corrections de bogues, donc plusieurs concernent la...

Mai 2008 – PHPortail: Lancement du mois des tests PHP (05/05/08)

Le mois des tests PHP est lancé. Il s'agit d'un mois durant lequel le groupe PHP veut augmenter significativement le nombre de tests unitaires qui encadrent PHP.

Le but est donc d'écrire de...

Mai 2008 – PHPortail: Joomla 1.5.3 (05/05/08)

Une nouvelle version de Joomla est sortie. Cette version 1.5.3 intervient seulement 1 mois après la sortie de la version 1.5.2 et confirme les engagements de l'équipe de Joomla qui souhaite fournir...

Mai 2008 – PHPortail: Remplir du texte avec une image (05/05/08)

Mikko Koppanen nous apprend comment utiliser une image pour remplir un texte, à la place d'une couleur unie.

« L'exemple que j'ai posté récemment utilise une image comme motif de remplissage...

Mai 2008 – Hello Design: Forum PHP 2008

Pour rappel l'appel à conférenciers pour le forum PHP 2008 est en cours, n'hésitez pas à envoyer vos propositions de sessions !

http://afup.org/pages/forumphp2008/appel-a-conferenciers.php

Mai 2008 – Hello Design: Interview du Trésorier de l'AFUP

PHP Solution dans le numéro 03/2008 qui vient de paraître, propose une interview du Trésorier de l'AFUP "Christophe Villeneuve".

Il a répondu à certains nombres de questions qui ont été posé par la rédaction du magazine. Par ailleurs, il fut aussi interroger sur son ouvrage : Construisez votre application "PHP & MySQL - MySQLi - PDO" édité par les éditions ENI.

A numéro à découvrir

Mai 2008 – Rom's blog: PHP5.2.6 et MySQL 5.0.51b pour WampServer2

Tout est dans le titre :

Sous forme d’addons (si vous avez déjà installé WampServer 2.0) :

http://www.wampserver.com/addons_php.php
http://www.wampserver.com/addons_mysql.php

Sous forme de package complet :
http://www.wampserver.com/download.php

Mai 2008 – Hello Design: Le nouveau sport des elePHPants

Avec le beau temps qui est présent, le soleil au rendez-vous, nos amis "Les ElePHPants PHP" ont voulus montrer leurs pleines formes...

ils ont décidés d'effectuer un nouveau sport...

 

UNE PYRAMIDE en 3 Dimensions (3D)

 

Le pari était de réaliser une pyramide en 3D avec un maxium d'éléPHPants... Et ils ont réaliser l'exploit avec 39 ElePHPants.

 

ils ont commencés par une structure solide

 


 

et un deuxieme niveau de renfort

 

Mai 2008 – z-f.fr: Hebergements 'certifiés' ZF

Forum: Brèves
Auteur: Julien
Écrit le: Tue, 06 May 2008 22:10:52 +0200
Dernier message: Tue, 06 May 2008 22:10:52 +0200

Mai 2008 – Apprendre-PHP.com: Afficher le gravatar en fonction d'un e-mail

Ce script permet d'afficher le gravatar associé à une adresse e-mail. Un gravatar est un petite image vous représentant et qui est affichée au côtés des commentaires que vous déposez sur des blogs par exemple. Bien entendu, l'avatar n'est affiché que si l'utilisateur est inscrit au site Gravatar.com et qu'il a uploadé son gravatar sur ce site. Dans le cas contraire, un gravatar par défaut sera affiché à la place.

Mai 2008 – Prendre un Café: No, really, symfony doesn't scale!

Well, err... Really?


Ce billet intitulé No, really, symfony doesn't scale! a été rédigé par Nicolas Perriault et publié sur le blog Prendre un Café sous licence Creative Commons BY-NC-SA.

Mai 2008 – PHP News: Concours Appli’Challenge Altran

Je participe actuellement en duo au concours Appli’Challenge organisé par le groupe Altran

Le principe de ce concours est de proposer la meilleure idée d’application, la développer puis la promouvoir sur Facebook (plus d’infos sur le groupe Facebook concernant le concours)

Pour les lauréats, les prix sont les suivants, du premier au troisième :

  • un MacBook Air (deux si en duo)
  • un iPod Touch (deux si en duo)
  • un iPod Nano (deux si en duo)

Les inscriptions se sont terminées au 5 mai. Voiçi les prochaines dates importantes :

  • 19 mai 2008 : Arrêt des statistiques des téléchargements des applications
  • 27 mai 2008 : Publication de la liste des 10 meilleures applications
  • 29 mai 2008 : Remise des prix au siège d’Altran à Levallois-Perret

C’est une très bonne initiative qui peut motiver à découvrir l’API Facebook (disponible officiellement en PHP4/5) et les particularité du développement sur cette plateforme.

Je participe donc en duo avec un ami designer. Nous avons développé une application en PHP5, FBML et FBJS (mode canvas pour les connaisseurs) qui connait depuis son lancement récent un succès plutôt encourageant.

En dehors du concours, nous avons bon espoir que celle-ci soit à moyen terme un des succès d’applications locales présente sur Facebook (nous visons actuellement avec cette application uniquement la communauté française)

Rendez-vous le 27 mai pour les résultats, et peut être le 29 pour les photos de mon nouveau portable ! ;)

Mai 2008 – tigrou/pwet.fr: Les nouveautés de PHP6

Vu sur l'IBM Developer Works un court et synthétique article sur les nouveautés attendues dans PHP6 , encore plus en bref :

Il est dommage que ce passage ne soit pas l'occasion de refondre l'API pour y apporter une cohérence regrettée ...

Mai 2008 – PHP News: Le passé, le présent et l’avenir de PHP

Aujourd’hui encore, PHP est de loin un langage de choix dans le développement web.

Cependant, celui-ci n’a pas évolué en profondeur depuis de nombreuses versions, et de nouveaux arrivants, tel que le framework Ruby on Rails (langage Ruby) ou encore le langage Python (qui n’a pourtant pas été conçu à l’origine pour le web) voient leur popularité croître de plus en plus.

Dernier exemple en date, la plateforme d’hébergement et de développement RoR heroku.com a levé $3 millions d’un fond d’investissement, Redpoint Ventures il y a de cela quelques jours (consultez l’article techcrunch à ce sujet).

Ces nouveaux arrivants sont objectivement bien plus structurés en interne que PHP, qui se traîne entre autres depuis des années son système de nommage de fonctions anarchique :

(Plus de détails sur cet article de PHP Index : Et si PHP était audité demain ?)

Mais PHP, c’est aussi des aspects de fonctionnement qui ont été souvent au centre de nombreuses polémiques, avec parmi ces bad practices :

  • magic_quotes, ou l’échappement automatique des caractères, créant de nombreux problèmes de portabilité d’une configuration à l’autre, de performance et de compréhension du code.
  • register_global, désactivée par défaut depuis PHP 4.2. Les trous de sécurité créés par certains développeurs utilisant cette option ne compensait pas la fausse facilité de programmation qui semblait offerte.

PHP5, c’est encore des lacunes dans le traitement des chaînes de caractères multi-octets. Les fonctions internes de PHP4 ou 5 ne sont pas capables de traiter des chaînes multi-octets (en UTF8 par exemple), il faut passer par des extensions tels que mb_string, et utiliser les fonctions correspondantes : mb_strlen, mb_strpos, mb_strtolower … Sans cela, des problèmes importants sont à craindre. Exemple simple :

  • echo strlen(utf8_encode(’ééé’)); –> 6
  • echo mb_strlen(utf8_encode(’ééé’));–> 3

Sur l’internet de nos jours, les vrais projets se font dans une perspective multi-langues. Le jeu de caractère généralement choisi est l’UTF8, et il est alors nécessaire de respecter une chaîne d’encodage identique de la source vers la destination. Il faut alors être rigoureux, connaitre les good practices afin d’éviter les erreurs :

  • La vérification des chaînes de caractères doit utiliser les fonctions mb_* ou utiliser des fonctions telles que utf8_encode ou ut8_decode, ce qui ne facilitent pas forcément le code et sa performance.
  • Le type d’encodage doit être respecté entre le format d’entrée, le format de sortie, l’écriture des fichiers PHP, eux même en UTF8 si ils contiennent des chaînes destinées à être affichées. Sinon il ne faut pas oublier de passer tous textes destinés à être affichés par utf8_encode, mais en contrepartie d’un traitement supplémentaire qui aurait pu être économisé
  • De même, la liaison à une éventuelle base de donnée doit se faire dans le jeu de caractères utilisé “nativement” (en MySQL, le très pratique SET NAMES ‘UTF8′ en début de connexion par exemple).

Bref, vous l’aurez compris, savoir bien développer aujourd’hui en PHP n’est plus aussi facile que dans l’internet d’il y a 5 ans, où les sites développés n’ont jamais été aussi complexes que maintenant. Les contraintes de développement des projets du web 2 imposent un ensemble de good practices qu’il est nécessaire de maitriser.

Le PHP est t’il devenu inadapté et dépassé ?

PHP6

En développement depuis au moins 2 ans, la version finale n’est toujours pas disponible mais ça arrive. Le planning de développement est fixé, et les nouveautés sont là (je vous invite à lire cet article paru sur l’IBM Developper Works il y a quelques jours).

Quelles sont donc ces avancées ?

  • Un bon nettoyage pour tuer définitivement les bad practices rémanente chez certains. On peut donc dire adieu sans regrets aux fonctions découlant de l’activation des magic_quotes, register_globals, et autres register_long_arrays.
  • Ensuite, un support natif de l’unicode. Ca tient sur une ligne dans le changelog, mais c’est probablement la partie qui a été la plus consommatrice de temps, car il a fallut réécrire tout le moteur Zend. Résultat : on pourra utiliser les fonctions classique strlen, substr, strpos … avec des chaînes formatées en UTF-8. Adieu donc les extensions iconv et mb_string qu’il fallait se trainer ou alors le switch entre utf8_decode/encode.
  • Fin de la dualité entre les expressions régulières POSIX (ereg*) et PCRE (preg_*). Tant mieux, les PCRE étant plus complètes et performantes.

Mais finalement, que reste t’il de nouveau pour les bons développeurs respectant déjà les bonnes pratiques et n’étant quasiment pas concernés par tout ces changements ?

Pas grand chose, hormis les namespaces, qui vont être aussi portés en PHP 5.3, donc ne sont plus vraiment un privilège de PHP6 ;o.

On n’aura malheureusement pas encore droit à une meilleure consistance dans le système de nommages des fonctions internes. Je pense qu’il aurait été judicieux dans PHP6 de revoir toutes ces incohérences, quitte à attendre plus longtemps, car PHP6 est résolument une version introduisant de nouvelles fondations bien plus propres et solides, et ça fait un peu tâche de se traîner ce système anarchique.

La question finale sera concernant l’adoption de PHP6 chez les hébergeurs mutualisés. Beaucoup trop sont toujours en PHP4, alors que sa fin a sonné.

PHP6 est une version importante qui va sans aucun doute améliorer la qualité et la sécurité du code pour beaucoup, ainsi qu’offrir de nouvelles performances.

Mais combien de temps avant que PHP6 ne soit réellement adopté ?

Graphique nexen.net


Mai 2008 – Rom's blog: Tutoriel Video sur WampServer

Merci à Damien (http://www.nexen.net) pour ce lien :

http://www.dailymotion.com/search/MySQL/video/x5d2ka_tutoriel-video-wamp_creation?from=rss

Mai 2008 – PHP Québec: codeFest PHP Québec 2.1 : Optimiser & Tester les logiciels libres

L'équipe de PHP Québec est fier de vous invitez au codeFest 2.1 qui aura lieu le 16-18 Mai 2008 à Montréal & Sherbrooke.
Le codeFest est une bonne opportunité pour rencontrer d'autres membres de la communauté OpenSource de PHP, Python, Ruby, Java et échanger sur divers techniques de développement.

Nous invitons les développeurs Juniors & Senior à ce joindre à nous pour deux jours d'optimisation & d'écriture de test unitaire pour votre projet OpenSource préféré.

Les projets proposés sont:
* MediaWiki
* Drupal
* WordPress
* TikiWiki CMS/Groupware
* BeWelcome
* Habari
* Anne G. wikigraphe
* PHP Quebec Employment section
* Votre projet (contactez nous, contact@codefest.com)

Les objectif du codeFest sont:
* Écrire des tests unitaires afin d'augmenter la qualité des applications OpenSource
* Optimiser les applications proposé

Nous sommes présentement à la recherche de:
* 1-2 commanditaires afin de fournir la nourriture et consommations (500$) contacter ylarrivee@phpquebec.com
* Une personne pour prendre en charge le développement sur Drupal
* Une personne pour prendre en charge le développement sur Typo3
* Une personne pour prendre en charge le développement sur WordPress

Date & Lieu:

À Montréal
Vendredi 16 19:00-22:00 (social)
Samedi 17 9:00-18:00 (codeFest)
Dimanche 18 9:00-18:00 (codeFest)
Lieu : Pub sans génie @ École de technologie supérieure
Address: 530, rue Peel (corner Notre-Dame Ouest), Montréal
Metro: Bonaventure
Map : http://tinyurl.com/5pjwwn

À Sherbrooke:
Date : 16-18 Mai 2008
Heure : 9:00am-6:00pm
Lieu : 975-3, rue Perry, Sherbrooke, Qc
Map : http://tinyurl.com/4vt8wx
Voir : http://blog.autre-chose.org/2008/05/11/troisieme-codefest/

Confirmez votre présence sur:
* On UpComing : http://upcoming.yahoo.com/event/319522/
* On Facebook http://www.facebook.com/event.php?eid=6086277831

================================================
The PHP Quebec team is pleased to invite you to the codeFest PHP Quebec 2.1 that will be held in Montreal & Sherbrooke on May16th-18th 2008.

The codeFest is a great opportunity to meet with peers PHP, Python, Ruby, Java developers and share knowledge and participate in the development of OpenSource software.

Senior & Junior developers from the PHP, Python, Ruby, Java community are invited to join us for 2 days of optimization & Unit Testing of your favorite OpenSource project.

Proposed Projects in 2.1:
* MediaWiki
* Drupal
* WordPress
* TikiWiki CMS/Groupware
* BeWelcome
* Habari
* Anne G. wikigraphe
* PHP Quebec Employment section
* Your project! (Contact us contact@codefest.wscontact at codefest.ws

Goal:

* Improve the performance of OpenSource projects
* Improve code quality of OpenSource projects by writing UnitTest

We are currently looking for:
* 1-2 Sponsor to help cover expenses such has food and drinks (500$) contact ylarrivee@phpquebec.com
* Project leader for Drupal
* Project leader for WordPress
* Project leader for Typo3

In Montreal
Date & Time
Friday 16th 19:00-22:00 (social/casual/unofficial warm-up)
Saturday 17th 9:00-18:00 (codeFest)
Sunday 18th 9:00-18:00 (codeFest)
Location : Pub sans génie @ École de technologie supérieure
Address: 530, rue Peel (corner Notre-Dame Ouest), Montréal
Metro: Bonaventure
Map : http://tinyurl.com/5pjwwn

In Sherbrooke:
Date : May 16th-18th 2008
Time : 9:00am-6:00pm
Location : 975-3, rue Perry, Sherbrooke, Qc
Metro : N/A
Map : http://tinyurl.com/4vt8wx
See : http://blog.autre-chose.org/2008/05/11/troisieme-codefest/

Also on:

* On UpComing : http://upcoming.yahoo.com/event/319522/
* On Facebook http://www.facebook.com/event.php?eid=6086277831

Mai 2008 – PHP Index: Nouvelle édition des webinars de Zend Technologies axés PHP

3 nouveaux rendez-vous Webinar sont organisés pour le mois de Mai :

WEBINAR : "Créez et déboguez vos applications PHP avec Zend Studio for Eclipse"

Jeudi 22 mai 2008 – 14h30 : Votre ordinateur - via Webex

Zend Studio for Eclipse est notre IDE PHP de nouvelle génération basé sur Zend Studio "Classique" et l'environnement Eclipse. Studio possède de nombreuses nouvelles fonctionnalités telles que le Code coverage, le test unitaire, le profiling...
L'objectif de ce webinar est de mettre en rapport les fonctionnalités de Studio for Eclipse avec les problématiques quotidiennes de développement.
Nous vous montrerons donc comment créer et déboguer une application PHP en utilisant les outils Zend Studio for Eclipse.
Nous aborderons de manière pratique la gestion de projets, les fonctionnalités de base (édition, complétion, templates), les fonctionnalités avancées (génération de code, débogage, profiling, test unitaire).
Notre expert répondra à l'ensemble de vos questions tout au long de cette présentation.

Durée : 50 minutes
Public : développeurs, chefs de projet...
Intervenant : Gauthier Delamarre, Consultant Zend Technologies
https://zend.webex.com/zend-fr/onstage/g.php?t=a&d=578382773

--------------------------------------------------------------------


Webinar : "Migration PHP4 vers PHP5, quels enjeux et problématiques ?"

Mardi 20 mai 2008 – 14h30 : Votre ordinateur - via Webex

Le PHP Group annoncé la fin du support de PHP4 par la communauté le 8 août 2008. Cet arrêt impose aux entreprises qui possèdent des serveurs PHP4 de considérer la problématique d'une migration vers PHP5 non seulement de vos serveurs, mais aussi de vos applications.
Pourquoi envisager la migration, même celle d'un système fonctionnel ?
Quels sont les avantages de PHP 5 par rapport à PHP 4 ?
Quels sont les risques ?
Quel est le processus de migration ?
C'est aussi l’occasion de poser toutes vos questions à un expert Zend en direct.

Durée : 40 minutes environ
Public : développeurs, administrateurs, responsables informatiques
Intervenant : Gauthier Delamarre, Consultant Zend Technologies
https://zend.webex.com/zend-fr/onstage/g.php?t=a&d=575744185

---------------------------------------------------------------------


WEBINAR : "Optimisez et supervisez vos applications PHP avec Zend Platform"

Mardi 27 mai 2008 – 14h30 : Votre ordinateur - via Webex

Durant cette présentation, vous découvrirez comment la Zend Platform vous permet d'accélérer vos développements et réduire vos coûts de maintenance grâce à un système de supervision complet de vos applications. Lors d'une phase de démonstration, un consultant vous montrera comment il est possible de déboguer d'un clic un incident passé, et enregistré par la Platform, directement en mode débogage pas-à-pas. Seront également présentées les fonctionnalités d'amélioration de performances au travers de différents mécanismes de cache.

Durée : 50 minutes / 1 heure (dont Questions/réponses)
Public : développeurs, administrateurs, responsables informatiques
Intervenant : Gauthier Delamarre, Consultant Zend Technologies

https://zend.webex.com/zend-fr/onstage/g.php?t=a&d=570899126

Proposé par Hello

Mai 2008 – PHP Index: Frameworks PHP pour l'entreprise : un livre blanc

Clever Age a publié récemment un livre blanc au sujet des frameworks PHP pour l'entreprise.

Le document présente les différents aspects de l'évaluation d'un framework : aspects techniques, évidemment, mais également aspects fonctionnels et stratégiques. Quatre frameworks, parmi les plus populaires, ont été passés au crible : Cake PHP, Code Igniter, Symfony et le Zend Framework.

Chacun d'entre eux a été analysé suivant la méthode QSOS, et le résultat de l'étude est résumé sous la forme de graphiques radar.

Ce livre blanc est disponible gratuitement, sur simple demande.

Proposé par Xavier Lacot

Mai 2008 – PHP Index: Typo3 : multiples bulletins de sécurité

Plusieurs extensions sont actuellement corrigées car sensibles entre autres aux Cross site scripting (XSS)

Extension WT Gallery (wt_gallery)

Versions concernées : 2.6.2 et versions précédentes.

Lors de l'upload d'une image, l'arborescence du serveur peut apparaître. Cette extension est également sensible aux XSS.
Télécharger la mise à jour

Extension Questionaire (pbsurvey)

Versions concernées : 1.2.0 et versions précédentes.

L'extension est sensible aux XSS et ne filtre pas les données javascript.
Télécharger la mise à jour

Extension Event Database (rlmp_eventdb)

Versions concernées : 1.1.1 et versions précédentes.

L'extension est sensible aux XSS et ne filtre pas les données javascript.
Télécharger la mise à jour

Extension Statistics (ke_stats)

Versions concernées : 0.1.2 et versions précédentes.

L'extension est sensible aux injections SQL et aux XSS.
Télécharger la mise à jour

Extension Frontend User Registration (sr_feuser_register)

Versions concernées : toutes

L'extension est sensible aux XSS et ne filtre pas les données javascript. De plus, l'exécution d'une commande à distance peut effacer certains fichiers du serveur.
Pour les utilisateurs des versions de Typo3 3.x : Télécharger cette mise à jour
Pour les utilisateurs des versions de Typo3 4.x : Télécharger cette mise à jour

Extension Frontend Filemanager (air_filemanager)

Versions concernées : 0.6.0 et versions précédentes

L'extension est sensible aux XSS et ne filtre pas les données javascript. Du code PHP peut également être inséré dans les pages.
Télécharger la mise à jour


Pour toutes les extensions citées ci-dessus, Typo3 conseille de suivre les recommandations données dans le livre de sécurité.
Lire la liste des bulletins de sécurité

Mai 2008 – Apprendre-PHP.com: Actualité PHP / MySQL en vrac

De nombreuses informations PHP / MySQL ont circulé ces derniers jours dans les aggrégateurs du Planète-PHP francophone et de Galaxie-PHP. On commence tout d'abord par le framework Symfony qui a subi beaucoup de chargement en l'espace de quelques jours. On note par exemple la sortie de la...

Mai 2008 – PHP Index: Faille symfony et mise à jour 1.0.16

L'équipe de symfony, le framework pour php5, vient de corriger une importante faille de sécurité.

Cette correction est l'unique changement entre cette version et la précédente, mais elle justifiait à elle seule la mise à jour. Vous trouverez plus d'informations à propos de la procédure l'exploitant sur le ticket #1617. Brièvement, avant la correction de cette brèche de sécurité, un attaquant pouvait outrepasser le processus de validation en changeant la casse d’un nom de fichier appelé.

Le patch de cette faille a provoqué quelques soubresauts du fait que l'auteur de la découverte l'avait faite remonter il y a plus d'un an.

Concernant la faille, tout le monde n'est pas forcément touché, il faut que votre application utilise :action comme paramètre de règle de routage, ce qui est le cas par défaut.
Pour le savoir, allez à l'emplacement "data/skeleton/app/app/config/" puis regardez dans le fichier "routing.yml".
Si vous trouvez la mention :
default:
url: /:module/:action/*
alors vous êtes affecté par cette faille et l'équipe de symfony vous encourage vivement à mettre à jour le plus rapidement votre version.

Pour la mise à jour :
- Si vous êtes en version 1.0 : vous pouvez patcher directement le fichier sfExecutionFilter.class.php comme indiqué sur le changeset #8922, ou utiliser PEAR (pear upgrade symfony/symfony-1.0.16) ou bien encore le paquet Debian.
- Si vous êtes en version 1.1 : vous pouvez patcher directement le fichier sfExecutionFilter.class.php comme indiqué sur le changeset #8925.
Le patch sera inclus dans la version 1.1RC.

PS : Un peu hors sujet, mais restant sur les failles critiques, si vous utilisez SSH, que vous êtes sous Debian (ou ses dérivées) et que ce n'est pas déjà fait, pensez à mettre à jour aussi si vous ne voulez que l'on puisse prédire" vos clefs.

Proposé par Hourdeaux Christophe

Mai 2008 – PHPortail: Gestion des changements avec MySQL Workbench (16/05/08)

« Vous pensiez peut-être que la conception était la seule mission que MySQL Workbench pouvait remplir, et c'est certainement le coeur de son travail. Mais une des raisons qui font que j'utilise un...

Mai 2008 – PHPortail: Élections PEAR 2008 (16/05/08)

« C'est le moment de l'année où le groupe PEAR lance les nominations PEAR. Les personnes nominées seront soumises aux votes de la communauté et 7 heureux désignés seront élus pour être le...

Mai 2008 – PHPortail: Statistiques PHP pour avril 2008 (16/05/08)

Nexen.net vient de publier les statistiques PHP pour le mois d'avril

« De bonnes nouvelles sur le front des versions PHP : avec la publication début mai de PHP 5.2.6, PHP 5.2.5 a eu le temps...

Mai 2008 – PHPortail: Afficher le gravatar en fonction d'un e-mail (16/05/08)

« Ce script permet d'afficher le gravatar associé à une adresse e-mail. Un gravatar est un petite image vous représentant et qui est affichée au côtés des commentaires que vous déposez sur...

Mai 2008 – PHPortail: Publier vos trucs d'expert peut-il gêner vos affaires? (16/05/08)

Peter Zaitsev publie un blogue où il répond à une question brûlante : comment arrive-t-il à publier tous ses trucs d'expert MySQL et InnoDB, sans couper la branche sur laquelle il est...

Mai 2008 – PHPortail: 12 méthodes de défilement avec JavaScript (16/05/08)

C'est la mode des défilements, ces animations de site Web où le contenu glisse d'un point à l'autre, d'une page à l'autre, d'une image à l'autre sans rechargement. Cela donne une impression de...

Mai 2008 – PHPortail: codeFest 2.1 (16/05/08)

L'équipe de PHP Québec est fière de vous inviter au codeFest 2.1 qui aura lieu le 16-18 mai 2008 à Montréal & Sherbrooke.
Le codeFest est une bonne opportunité pour rencontrer d'autres membres...

Mai 2008 – Glagla.org: Frameworks php pour l’entreprise

Un peu de pub pour un livre blanc Clever Age auquel j’ai contribué. Les frameworks suivants sont abordés : CakePHP, CodeIgniter, Symfony, Zend Framewok. Avec en fin de chaque chapitre un court paragraphe indiquant dans quels cas métier utiliser ce framework et, en fin de document, un magnifique tableau QSOS permettant leur comparaison aisée. Article original publié [...]

Article original publié sur Glagla Dot Org. Tous droits réservés.

Frameworks php pour l’entreprise

Mai 2008 – Hello Design: PDO prochainement ici

Le format PDO (Programming Data objet) se trouve un format que j'ai découvert en 2007 part différents conseils...  Cependant connaître le format, c'est bien, mais il faut en faire profiter la communauté PHP...

 Suite à la réalisation de mon ouvrage "PHP & MySQL-MySQLi-PDO, construisez votre application" aux Editions ENI et certaines personnes me sollicitent pour connâitre les autres projets touchant l'univers du PDO.

 Comme à mon habitude, j'ai souvent tendance à être en retard sur mes propres projets, mais ils prennent une voix.

Ces projets sont variés et différents :

- Application

- Tutoriaux

- Articles (dont 1 déjà planifié pour le prochain numéro de PHP Solution)

et beaucoup d'autres choses...

Donc patienté un tout peu, et vous pourrez découvrir et utiliser ce format sans probleme

 

 

 

Mai 2008 – Rom's blog: Premier PhpCamp & TestFest à La Cantine le 07 juin!

Voici la description officielle de l’AFUP :

Une première en France, un BarCamp exclusivement orienté autour de PHP. Une occasion rêvé de participer activement au développement du langage lui-même (à travers la TestFest), de présenter des sujets qui vous tiennent à coeur et de participer à des échanges nombreux.
Un BarCamp est avant tout une rencontre fruit du désir des uns et des autres de partager et d’apprendre : un évènement intense avec des démos, des présentations et de l’interaction entre participants.

La subtilité du PhpCamp tient juste au fait que PHP sera la techno de référence.

TestFest en cours au niveau mondial, on y parlera forcément des tests si nécessaires pour le bon fonctionnement du PHP Core. Pour le reste c’est tout ouvert : outils, techniques, astuces, Open Source, communautés… Tous les tags sont permis.

Infos pratiques :

- Date : 07/06/2008
- Horaire : 10h00 - 20h00
- Capacité : 80 places
- Tarif : gratuit
- Lieu : La Cantine
- Adresse : 151 rue Montmartre / Passage des Panoramas / 12 Galerie Montmartre / 75002 Paris
- Métro : “Grands Boulevards” et “Bourse”

Pour vous inscrire : http://www.afup.org/pages/rendezvous/?id=5

Mai 2008 – PHP News: MySQL 4/5 : Attention à la clause IN et les sous-requêtes

Un des éléments les plus déterminants de la performance d’un site web est sans conteste son interaction avec sa base de donnée. Il suffit en effet d’une seule requête mal conçue ou mal indexée pour qu’advienne une dégradation de performance parfois extrème (temps d’exécution de la requête en seconde), figeant l’affichage de la page pour votre visiteur, et mettant à genoux votre serveur.

De manière générale, vous devez faire très attention à vos requêtes SQL. Cela se traduit notamment par le placement d’index adéquats sur les champs utilisés dans les clauses “WHERE” et sur les pivots de jointures.

Je vous relate ici une mésaventure obtenue sur une requête qui à la base me semblait tout à fait normale.

Situation :

Nous avons les deux tables suivantes :


table_feeds (
`id_feed` int(10) unsigned NOT NULL auto_increment,
`id_user` bigint(20) unsigned NOT NULL,
`group_key` char(32) NOT NULL
PRIMARY KEY  (`id_feed`),
KEY `group_key` (`group_key`),
KEY `id_user` (`id_user`)

) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


Cette table contient des actions (feed) d’utilisateurs donnés (id_user) qui ont été effectuées dans des groupes donnés (group_key)


table_assoc (
`id_user` bigint(20) unsigned NOT NULL,
`group_key` char(32) NOT NULL,
KEY `group_key` (`group_key`),
KEY `id_user` (`id_user`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Cette table contient l’association des utilisateurs avec les groupes. Je ne détaille pas le pourquoi de la structure ici :)

Je souhaite récupérer les feeds de tous les groupes dans lequel se trouve l’utilisateur 10.

Je peux donc choisir (inutilement) de faire deux requêtes :

  • Récupérer les groupes dans lequel se trouve l’utilisateur 10

SELECT group_key FROM table_assoc WHERE id_user=10
  • Puis récupérer les “feeds” des groupes qui ont été retournés par ma première requête (ici les groupes ‘ABC …’, ‘DEF …’, ‘HIJ …’)

SELECT id_feed FROM table_feeds WHERE group_key IN('ABC ...', 'DEF ...', 'HIJ ...')

Ces deux requêtes ne posent aucun problème de performance car elles utilisent chacune un index.

Intéressons nous quand même plus précisemment à la deuxième requête :

Aucun soucis. La clause IN utilise l’index “group_key”, MySQL n’a besoin de parcourir que les 5 enregistrements existants pointés par cet index (à noter que la table table_feeds contient en tout 250k enregistrements)

Mais pourquoi effectuer deux requêtes dans ce cas ?

J’avais en effet directement effectué la requête suivante :


SELECT id_feed FROM table_feeds WHERE group_key IN(SELECT group_key FROM table_assoc WHERE id_user=10)

La table table_feeds ne contenait au départ que quelques enregistrements, je n’avais donc pas noté un problème de performance pouvant être causé à l’avenir par cette requête qui s’exécutait alors en seulement quelques millièmes de secondes et pensais-je, en utilisant les mêmes index que les deux requêtes séparées.

Erreur. Quelques jours plus tard, la table table_feeds atteint les 250k enregistrements, et cette requête est passé de quelques millièmes à plus de 5 secondes d’exécution. Quand on atteint une telle différence de temps d’exécution, cela ne peut pas s’expliquer par le fait que la table possède plus d’enregistrements, mais par un problème d’indexation.

Analysons donc ce qui se passe pour cette requête :

Nous avons bien la confirmation de l’erreur : MySQL doit parcourir les 250000 enregistrements de la table table_feeds et n’utilise plus aucun index

Que se passe t’il ?

Après quelques recherches, il s’agirait d’un bug déclaré dans MySQL 4 et 5. D’après la dernière réponse (bien que maintenant “ancienne”) , celui-ci est corrigé dans MySQL 6 (que je n’ai pas encore testé).

Quelles solutions ?

  • La première solution est d’exécuter ce type de requête en deux opérations distinctes:

On utilise les résultats de la première requête (que l’on formate avec un implode en php par exemple) dans le IN de la deuxième requête. Cette solution a l’inconvénient d’augmenter la longueur textuelle de vos requêtes (plus la première requête va retourner de résultats, plus la deuxième sera longue) et d’imposer un traitement supplémentaire à votre script.

  • La deuxième solution, plus sympathique, est d’utiliser une jointure nous permettant d’obtenir les mêmes résultats qu’avec la clause IN, mais cette fois-ci de nouveau en quelques millièmes de secondes :

SELECT id_feed FROM table_feeds f
INNER JOIN table_assoc a ON a.group_key = f.group_key AND a.id_user =10

J’ai ensuite crée un index multicolonnes (user_and_group) sur (groupe_key+id_user) qui sera utilisé par ma jointure :

Résultats

Avec un nombre de visiteurs supérieur à la veille et donc un nombre de requêtes plus élevé, (cf. graph) la correction de cette seule requête divise la consommation du processeur jusqu’à un facteur 4. Ci-dessous les statistiques affichant de haut en bas la consommation CPU, la charge du serveur et le nombre de requête SQL par minute, le trait rouge de droite indiquant l’heure de correction de la requête.

Mai 2008 – Apprendre-PHP.com: Récupérer le nom de domaine dans une URL

Cette fonction se charge de récupérer le nom de domaine dans une URL. Si le domaine n'est pas composé d'une extension, alors elle retourne le nom du serveur, sinon elle retourne le nom du serveur concaténée à l'extension.

Mai 2008 – PHP Index: Redo The Web : Is symfony 1.1 too verbose?

A travers son blog Redo The Web, François Zaninotto nous fait un petit tour d'horizon de la future version 1.1 du framework Symfony.

Le redacteur de la documentation de Symfony insiste tout d'abord sur le fait que cette nouvelle version du framework s'accompagne d'une nouvelle philosophie : Si la version 1.0 devait permettre d'écrire du code rapidement, la version 1.1 vise elle à rendre les applications plus facilement extensibles.

Puis pour appuyer son propos sur cette nouvelle philosohie, l'auteur nous présente deux nouveautés de ce Symfony 1.1: Le système de tâches, qui facilite l'écriture des scripts en ligne de commande, et le système d'évènements permettant la modification des classes pendant l'exécution du script.

François Zaninotto, conclu en admettant qu'il n'approuve pas forcement ce changement de philosophie, et regrette que la documentation actuelle, particulièrement le livre The Definitve Guide To Symfony risque de se transformer en pur documentation technique.

Rappelons d'ailleurs que si cette version 1.1 n'est pas à l'heure actuelle sortie en version stable, la première release-candidate est néanmoins disponible depuis deux semaines.

L'article sur Redo The Web

Mai 2008 – PHP Index: BarCamps et TestFest à Paris.

Pour emboiter le pas au DrupalCamp du mois dernier, samedi 7 juin, pour la première fois en France, seront organisés un PHPCamp est une TestFest exclusivement orienté autour de PHP. Une occasion de participer à des échanges (BarCamp) et développement du langage (via la TestFest).
Côté informations pratiques, ces réunions se dérouleront à La Cantine (qui permet d'accueillir 80 places, alors inscrivez vous vite !) de 10h à 20h. Bien entendu l'accès à ces évènements est gratuit.

PS : Pour rafraichir quelques notions chez certains, Wikipedia nous apprend qu'un BarCamp est "une non-conférence ouverte qui prend la forme d'ateliers-événements participatifs où le contenu est fourni par les participants. C'est le principe "pas de spectateur", "tous participants". Une TestFest, quant à elle, est un évènement dont le but est d'améliorer la couverture de code d'une suite de test.

Proposé par Hourdeaux Christophe

Mai 2008 – PHP Index: IBM : Process and integrate Google Notebook data with PHP

La plateforme developperWorks d'IBM nous propose un nouveau tutoriel sur l'utilisation des API Google Bloc-note dans une application PHP.

Le service Google Bloc-note (Google Notebook en anglais) vous permet de stocker en ligne vos notes, textes, liens, et images, et de pouvoir ensuite y accéder de partout à l'aide de votre compte Google.
Ce tutoriel nous explique comment utiliser les API fournies par Google pour lister vos blocs-notes, et récupérer leurs contenus dans vos scripts PHP. De plus, et comme souvent avec IBM, l'explication est agrémentée de nombreux exemples de codes.

Il est à noter que ces API ne permettent pas, à l'heure actuelle, d'effectuer des modifications sur vos blocs-notes, ni sur leurs contenus.

L'article sur IBM developperWorks

Mai 2008 – PHP Index: Asbru Adds More Ready-to-Use Applications to CMS

Version 6.8 of the Asbru Web Content Management system for PHP, ASP and JSP/Java has been released.

Version 6.8 of the Asbru Web Content Management system is a major upgrade with focus on supplying a number of ready-to-use applications, which makes it easy for organizations to add a variety of functions to their websites. Version 6.8 also adds Landing Page Optimization (LPO) capabilities.

Stores and Branches Directory
Among the new applications in the latest version 6.8 is a Stores and Branches Directory application. This application enables non-technical users to add searchable lists of stores and branches to their website in just three steps. When a website visitor selects a store a map and details about the store is displayed.

Careers and Jobs Directory
The new version also includes a Careers and Jobs Directory, that when added to a website enables visitors to search for jobs and submit their job applications. New jobs are easily added by website administrators.

Other Directory Applications
Other applications include an Organizational Plan Directory, which displays subsidiaries, divisions, roles and responsibilities of organizations and a Classifieds Directory. There is also a General Directory application that can be adapted to suit individual needs.

All the applications are built upon the Custom Databases Add-On Module and demonstrate the power and versatility of the Asbru Web Content Management system's Custom Databases Add-On Module.

Landing Page Optimization
Finally the new version 6.8 of the Asbru Web Content Management system adds Landing Page Optimization functionality that enables web sites managed by the Asbru Web Content Management system to display different landing pages depending on which websites visitors came from and which search queries website visitors used to find the website.

For an online trial of the new version of the Asbru Web Content Management system: http://wcm.asbrusoft.com.

About Asbru Web Content Management
The Asbru Web Content Management system is a full-featured and ready to use out-of-the-box enterprise level solution. It is available for PHP, ASP and JSP/Java and runs on Microsoft Windows, Linux, Unix and Mac OS X. The system enables users to update web content through Internet Explorer, Mozilla/Firefox and Safari web browsers. For more information about Asbru Web Content Management: http://wcm.asbrusoft.com.

Proposé par David Fisher

Mai 2008 – PHP Index: Zend et Dojo marient PHP et AJAX

Les deux concepteurs viennent d'annoncer un partenariat sous licence BSD.

Bien connu des développeurs PHP, Zend inclura à l'avenir Dojo Toolkit, un framework AJAX contenant entre autres :

  • Outils d'internationalisation (formatage des dates, monnaies..)
  • Librairies graphiques et génération de graphes
  • Effets et transitions
  • Événements de type AOP
  • Requête XML / Json et transfert de fichiers
  • Documentation/API généré à partir du code source similaire aux JavaDocs
  • Compression du code Javascript
  • Analyse et optimisation du code source
Andi Gutmans, cofondateur et directeur technique de Zend, précise toutefois que ce « partenariat stratégique » n'a rien d'exclusif, et que chaque projet, Zend et Dojo, restera agnostique et utilisable avec une autre solution.

Mai 2008 – PHP Index: Artisan Numérique : Créer son premier module Drupal.

Aujourd'hui Ulhume nous propose sur son "non blog" Artisan Numérique un tutoriel pour créer son premier module pour Drupal.
Le module se contentera d'afficher des statistiques (nombre d'articles, de pages, de commentaires, ...) mais vous l'aurez compris son but premier est l'aspect pédagogique.

Tout d'abord, il faut structurer l'arborescence de l'application pour y loger notre futur module. Pour des soucis de maintenabilité, l'auteur nous conseille de créer le répertoire "mes_modules" dans le répertoire "sites/all/modules" et non directement dans "modules" à la racine. De ce fait, en cas de changement de version de Drupal, l'importation du répertoire "sites" se chargera d'importer aussi nos modules.
Une fois ce dossier "mes_modules" crée, nous allons aussi y ajouter un répertoire "statistiques" dans lequel nous créerons au minimum deux fichiers "statistiques.info" et "statistiques.module".
Nous avons un répertoire "statistiques" qui sera le nom parent du module, les fichiers contenus dans ce répertoire devrons porter son nom en plus de leur extensions.
Drupal, quand il trouve un répertoire de module, va regarder à l'intérieur s'il trouve un fichier .info du même nom, le fichier de configuration du module. C'est un fichier texte contenant des informations sur le module comme son nom, sa description, la version de Drupal avec lequel il est compatible,... Après avoir trouvé ce fichier .info, Drupal va chercher un fichier .module qui lui contient le code PHP du module.
Libre à vous bien-sûr d'appeler d'autres fichiers depuis votre .module.
Voici les fichiers .info et .module de notre module de statistiques :

* statistiques.info

name = "Statistiques"
description = "Statistiques sur les contenus"
package = karma-lab
project = "statistiques"
version = "6.x-2.0"
core = 6.x

* statistiques.module

<?
function statistiques_init() {
}

/**
* Implémentation du hook_block
*
* @param $op opération demandée (list, configure, save, view)
* @param $delta id du bloc (op==view)
* @param $edit données modifiées par le formulaire (op==save)
*/
function statistiques_block($op = 'list', $delta = 0, $edit = array()) {
$blocks=array();

// Enumeration des blocs disponibles
if ($op == 'list') {
$blocks[] = array(
'info' => t('Affichage des statistiques'),
'weight' => 0,
'status' => 1);
return $blocks;
}

// Génération du formulaire de configuration
else if ($op == 'configure' && $delta == 0) {
$form['statistiques_commentaires'] = array(
'#type' => 'checkbox',
'#title' => t('Afficher les commentaires ?'),
'#default_value' => variable_get('statistiques_commentaires', 0),
);
return $form;
}

// Sauvegarde du formulaire de configuration
else if ($op == 'save' && $delta == 0) {
variable_set('statistiques_commentaires', $edit['statistiques_commentaires']);
}

// Génération du contenu à afficher pour le block
else if ($op == 'view') {
switch($delta) {
case 0:
$block = array(
'subject' => t('Statistiques'),
'content' => statistiques_contenu());
break;
}
return $block;
}
}

function statistiques_contenu() {
$result="<ul>";
$cursor = db_query("SELECT type,count(type) as count FROM {node} GROUP BY type");
while ($statistique=db_fetch_object($cursor)) {
$result.="<li>".t($statistique->type).' : '.$statistique->count."";
}
if (variable_get('statistiques_commentaires', 0)) {
$comments = db_result(db_query("SELECT count(*) as count FROM {comments}"));
$result.="<li>".t("commentaires").' : '.$comments."";
}
$result.="</ul>";
return $result;
}
?>

Bien entendu vous trouverez bien plus d'explication sur ce premier module chez son auteur, d'ailleurs durant la rédaction de cette actualité Ulhume a mis en ligne la suite de ce tutoriel : créer un module "type de contenu".

Merci encore à lui pour ces contributions.

Proposé par Hourdeaux Christophe

Mai 2008 – PHP Index: PHP::Impact : Open-source PHP applications that changed the world

L'auteur du blog PHP::Impact a pris la peine de lister les applications PHP open-source qui, selon lui, ont marquées les 10 dernières années.

Dans ce récapitulatif classé par année, l'auteur nous liste tous les projets importants, peu importe leur domaine d'application, et regroupant ainsi des applications liées à la gestion de contenu, de mails, de forums, de bases de données, et bien d'autre encore. Même si ces applications sont, pour la plupart, très connues, l'auteur a néanmoins ajouté un petit descriptif à chacune d'elles.

En parcourant la liste on retrouve des projets désormais historiques comme phpMyAdmin sorti en 1998, phpBB apparu en 2000, ou MediaWiki en 2002, mais aussi les deux principaux frameworks PHP du moment: Symfony et le Zend Framework, sortis respectivements en 2005 et 2006.

L'article de PHP::Impact

Mai 2008 – Kamelot Blog: apéroPHP Belgique la suite.

Pour continuer les apéroPHP de 2008, je propose de nous rencontrer

  • le samedi 28 juin Grand-Place à Mons
  • Le 18 juillet place de la monnaie à Bruxelles
  • Le 22 août à Bruxelles à définir
  • fin septembre à Gand café "de ploeg"

Chaque fois vers 19h.

Des lieux calmes à proposer ? n'hésitez pas ! Vous connaissez des espaces propice à l'annonce de ces rencontres ? n'hésitez pas ?

Si vous connaissez un lieu tranquille, dans ces villes ou ailleurs, laissez moi un commentaire. Si la date ne convient pas, et que vous avez une proche à proposer, celle que je propose sont des références d'espacement. Il n'y a aucun problème de proposer une autre date dans les alentours.

Les conditions à remplir pour un apéro PHP réussi.

  • Un espace pour 5 à 25 personnes
  • Un fond sonore modéré
  • Une disposition permettant un minimum de mobilité (généralement les meilleurs discussions sont dans des sous groupes de 4-5 personnes.)
  • Une ville un peu centrale : sorry pour Arlon , De Panne, Tournai et Antwerpen.
  • Un organisateur local (pour pouvoir bouger après avec ceux qui le veulent)
  • Pas d'ordinateur.
  • De la bière et du coca.
  • Des participants de tout niveau de compétence. (J'ai connu de très bon apéro php avec des gens qui touchait a peine au langages mais qui étaient intéressé par les discussion car ils bossent avec des codeurs)

Mai 2008 – Kamelot Blog: phpbelgium on Twitter

phpbelgium à un compte sur Twitter

Mai 2008 – Hello Design: Mes Photos ElePHPants chez El Roubio

Le site EL Roubio, le créateur du symbol de l'ElePHPant PHP, signale mes explois de pyramide dont je le remercie.

Par ailleurs, La communcauté de l'ElePHPant possède aussi son groupe sur flick'r

Et bien sur, mon blog en cours de refonte, va consacrer une partie pure de l'ElePHPAnt.

Si vous voulez rejoindre cette communauté, il est toujours possible d'en adopter 1 directement sur le site de Nexen en cliquant ici

 

Mai 2008 – Hello Design: Mes Photos ElePHPants chez El Roubio

Le site EL Roubio, le créateur du symbol de l'ElePHPant PHP, signale mes explois de pyramide dont je le remercie.

Par ailleurs, La communcauté de l'ElePHPant possède aussi son groupe sur flick'r

Et bien sur, mon blog en cours de refonte, va consacrer une partie pure de l'ElePHPAnt.

Si vous voulez rejoindre cette communauté, il est toujours possible d'en adopter 1 directement sur le site de Nexen en cliquant ici

 

Mai 2008 – PHP Index: Affaires à suivre chez Zend

Suite à quelques mouvements de personnel dans la R&D de Zend, John Coggeshall donne son point de vue sur ce qui pourrait se passer au sein de l'entreprise

Le site TechCrunch a publié il y a un peu plus d'une semaine un article évoquant une réduction de la masse salariale parmis l'équipe de R&D chez Zend. Cette opération qui place la balance commerciale de la compagnie dans le positif est interprêtée comme une action permettant de faciliter un achat éventuel.
Les acheteurs potentiels cités sont alors Oracle, ayant déjà approché Zend dans le passé mais aussi IBM et Microsoft avec qui Zend a développé un partenariat actif ces derniers temps.
A ce sujet John Coggeshall a donné son avis qui pencherait pour Microsoft et ce pour diverses raisons, il évoque également les rumeurs sur les récentes visites des co-fondateurs de Zend Zeev et Andi à Seattle.

Source

Mai 2008 – Apprendre-PHP.com: Extraire les adresses e-mail d'une chaine de caractères

Cette fonction permet d'extraire les adresses e-mails éparpillées ici et là dans un texte. Elle retourne un tableau contenant toutes les adresses e-mails uniques, c'est-à-dire que les adresses en double dans le texte ne sont enregistrées qu'une fois dans le tableau final. C'est ce genre de fonctions qu'utilisent les groupes de hackers / spammers pour développer des bots qui parcourent les pages Internet pour en récolter des listes d'adresses e-mail. Je mets cette fonction à disposition dans un but purement éducatif pour présenter le principe et pour vous inviter à l'utiliser dans un contexte légal. En revanche, je ne peux être tenu responsable d'une quelconque utilisation illégale, malhonnête ou de quelconque dommage subit suite à son emploi.

Mai 2008 – PHP Index: Typo3: bulletins de sécurité pour les extensions kj_imagelightbox2 et sg_zfelib

Extension KJ: Image Lightbox v2 (kj_imagelightbox2)

Versions concernées : 1.4.2 et versions précédentes

Cette extension est sensible aux Cross site scripting (XSS) et ne filtre pas les données javascript.
Télécharger la mise à jour 1.4.3

Les utilisateurs de l'extension kj_imagelightbox (le prédécesseur de kj_imagelightbox2) doivent également télécharger la mise à jour.

Extension Library for Frontend plugins (sg_zfelib)

Versions concernées : 1.5.512 et versions précédentes

Cette extension est sensible aux injections SQL et rend possible les accès à la base de données.
Télécharger la mise à jour

Lire la liste des bulletins de sécurité

Mai 2008 – PHP News: L’application Cursus remporte le concours Altran Appli’Challenge

J’ai le plaisir de vous annoncer que l’application Cursus, que j’ai développée en duo avec mon partenaire designer Thomas Guenoux, a remporté hier le concours Appli’Challenge organisé par le groupe Altran en partenariat avec 20minutes.

Me voici donc en compagnie d’un superbe MacBook AIR ;)

Cursus

Cursus est une application Facebook développée en PHP5/MySQL5/FBML/FBJS (la surcouche HTML et Javascript de la plateforme Facebook). Elle permet de retracer de manière innovante son parcours scolaire, de la maternelle aux études supérieures.

Une fois son parcours retracé, les anciennes classes sont reformées dans des groupes où l’on peut uploader ses photos de classe et poster des commentaires via le wall. Outre le fait de pouvoir retrouver les personnes d’un même classe, l’application permet aussi de retrouver les personnes ayant fréquenté à la même période le même établissement et de consulter le cursus de ses amis.

Les plus values de l’application

  • Le premier d’entre eux, l’assistant :

Auto complétion sur la ville => recherche des établissements disponibles => recherche des libellés de classe déjà proposés => validation puis pré remplissage des champs sur l’année-1 (l’assistant est antéchronologique : on commence à remplir son cursus depuis la première année d’étude jusqu’à la maternelle, celui se chargeant de décrémenter les années et le passage aux classes inférieures est généré automatiquement)

  • La deuxième, le feed de la page d’accueil

Sur la page d’accueil se trouve le feed Cursus, fonctionnalité phare de Facebook adapté à l’application :

Celui-ci indique les nouveaux commentaires dans les classes, les nouveaux cursus de nos amis, les dernières photos de classe uploadées concernant nos amis ou nous-mêmes etc …

Au lieu d’un long discours, jugez plutôt par vous même ;)

  • La dernière, la profile box

Une des dernières fonctionnalités plébiscitées par les fans de l’application, c’est son intégration totale dans le “Look and Feel” Facebook. La profile box, disponible sur la page profile de l’utilisateur, témoigne de cette intégration totalement réussie par Thomas (ici la profile box d’un des fans de l’application) :

Les chiffres ;)

Cursus a été développé en une quinzaine de jours et lancé fin mars 2008. Aujourd’hui, deux mois plus tard, elle possède plus de 60 000 utilisateurs, un total d’un million d’années scolaire et plus de 7000 photos ;)

Merci donc au groupe Altran et à 20minutes de nous avoir donné la motivation pour développer cette application, de son accueil de qualité au sein de son siège social à Levallois, et bien sûr de leurs très beaux prix : )

Edit : Retrouvez Cursus ce samedi matin sur Techcrunch France ;)

Mai 2008 – Apprendre-PHP.com: Blogmarks PHP / MySQL du mois de mai 2008

Ces deux dernières semaines ont encore été très dynamiques dans la communauté PHP francophone et internationnale. Les différents aggrégateurs de contenu des différents planètes PHP ont rassembler tout un tas d'informations aussi intéressantes les unes que les autres. On commence...