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

Août 2007 – PHP Québec: Invitation BBQ du libre 2007

PHP Québec et LinuQ vous convient, le 12 août 2007 prochain, à sa troisième édition du BBQ du libre. Le BBQ du libre est une occasion pour tout ceux et celles qui s'intéressent, de près ou de loin, aux logiciels libres ainsi qu'à leur famille de se rencontrer afin de s'amuser dans un contexte informel et décontracté. Tournoi de ping pong et jam de musique autour du feux à ne pas manquer. Des prix de présence seront tirés au cours de la soirée.

Visitez notre site pour vous INSCRIRE (obligatoire pour le souper) ou pour obtenir plus d'informations !
www.bbqdulibre.org

Août 2007 – Narno.com: Migration PHP 5 : toujours les polémiques

Après le lancement du projet de migration à PHP 5 'Go PHP 5', les avis continuent de fuser de toutes parts.

Stuart Herbert prend le temps mesurer l'impact économique de rester à PHP 4 face à une migration complète.
Henry Bergius annonce la migration totale de Midgard vers PHP 5, facilitée par leurs choix techniques.

A la veille de produire les statistiques de Juillet pour PHP, les chiffres de juillet seront surement intéressants à voir, après plus d'un mois de campagne Go PHP 5.


[Nexen]

Août 2007 – PHP Index: Compatibilité avec register_globals à On ou à Off

Le journal du Net fournit un exemple pour qu'un programme ne fonctionnant qu'en register_globals=On soit compatible avec register_globals=Off.

La directive PHP register_globals, lorsqu'elle est activée, permet une déclaration automatique des variables issues des tableaux $_GET, $_POST, $COOKIE, $SESSION, ... En cas de mauvaise utilisation, register_globals favorise les trous de sécurité dans une application, ce qui explique sa désactivation par défaut à partir de la version 4.2.0 de PHP. Le journal du Net explique comment reproduire cette déclaration automatique quand register_globals est à Off en une seule ligne de code.

L'article
En savoir plus sur register_globals

Août 2007 – PHP Index: 01net: Gestion de contenu: vers plus de maturité

Le site 01net nous propose un dossier complet sur les différentes solutions de gestion de contenu, et nous indique quelques pistes pour bien choisir son CMS.

Les systèmes de gestion de contenu, ou CMS (Content Management System), sont de plus en plus nombreux et diversifiés. Mais au delà des avantages évidents d'une telle variété, vient la problèmatique du choix d'un outil.

Le dossier de 01net liste quatre points importants à vérifier lors de ce choix:

  1. Assurer la couverture des besoins, en vérifiant que le CMS choisi répond aux besoins, nativement ou à l'aide de plug-ins, sans qu'il soit nécessaire de le modifier.
  2. Valider la pérennité, en s'assurant que le CMS est entouré d'une communauté dynamique, et qu'il dispose de bonnes références.
  3. Maîtriser les coûts, en comptabilisant les dépenses liées à la mise en place du projet, à l'entretien, sans mettre de côté le coût de l'assistance technique, et des professionnels spécialisés.
  4. Simplifier la contribution, on choisissant un outil offrant une interface simple, conviviable, et éventuellement personnalisable.

Enfin, le dossier nous livre une sélection de cinq CMS, chacun accompagné d'un descriptif de l'outil, et d'une liste de ses caractéristiques importantes.

Le dossier de 01net

Août 2007 – Kamelot Blog: Zend Studio Neon

Des captures de Zend Studio Neon dans l'album photos Flickr de Sebastian Bergmann pour montrer l'integration de PHPUnit

Zend Studio Neon sera la version commerciale de PHP Development Tools (PDT) d'Eclipse .

New PHP Project New PHP Class Skeleton for the BankAccount Class The BankAccount Class New PHPUnit Test Case Skeleton for the BankAccountTest Class Running the BankAccountTest Tests

Août 2007 – PHP Index: Asbru Web Content Management 6.5

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

The new version of the Asbru Web Content Management system adds Google Sitemap functionality, several new add-ons, and a new user interface that enables non-technical website managers to add functionality packages to their websites in just 2 clicks.

The Asbru Web Content Management System already produces websites with search engine friendly page URLs. The new version 6.5 of the Asbru Web Content Management System improves search engine friendliness further by dynamically generating what are known as Google Sitemaps. The Asbru Web Content Management Google Sitemap solution is tightly integrated with the system so when a website administrator changes the structure of their website through the system’s drag & drop user interface the new website structure is automatically published to a sitemap XML file adhering to the Sitemap protocol supported by Google, Microsoft and Yahoo!. Making such sitemaps available to search engines makes website indexing more efficient for search engines and can provide an improved representation in search engines because it helps them discover and prioritize pages that may otherwise be difficult to find.

Other new features incorporated into Asbru Web Content Management version 6.5 include:

* Multi-level Navigation Menu Generator
The new Multi-level Menu Generator enables non-technical users to design their own horizontal or vertical multi-level navigation menus without any knowledge of HTML or CSS.

* CSS Page Grid Layout Template Generator
The new CSS Template Generator enables non-technical users to add CSS based templates without any knowledge of HTML or CSS.

* Photo Gallery Add-On
The photo gallery add-on presents photos in a lightbox slideshow. Photos can easily be added to or removed from the lightbox slideshow by non-technical users.

* Pluggable Calendar Add-On
The Pluggable Calendar can be used for display of any standard type of content such as news, events and blog entries and for any type of custom data containing dates.

Finally, Asbru Web Content Management 6.5 includes functionality that lets web hosting companies and web developers build industry solutions that can be added by non-technical website managers in just 2 clicks. A web hosting company may for example wish to provide website templates targeting florists and could make these available for non-technical users to select in just 2 clicks.

For an online trial of the system with its new features users can sign up here: http://wcm.asbrusoft.com.

Proposé par David Fisher

Août 2007 – Narno.com: PHPEdit 2.12 : screencast

Afin de présenter le fonctionnement et les possibilités de PHPEdit 2.12, Sébastien Hordeaux (le boss de Waterproof) à réalisé un screencast.

Celui-ci est découper en 5 parties :

  • présentation générale de l'IDE
  • utilisation du debogueur
  • intégration de PHPUnit
  • intéraction avec SQL
  • module FTP

Cette présentation de PHPEdit (en anglais) permet de mieux cerner les possibilités de l'outil et de le voir fonctionner dans les mains d'un utilisateur aguerri.

Pour ma part j'utilise PHPEdit pour mes projets persos et dans le cadre de mon travail. J'en suis très satisfait même si de petit problèmes de statbilité mon casser la tête quelque temps. PHPEdit à énormément évolué depuis plusieurs années et il est devenu un IDE très professionnel pour un coup de license plus que raisonnable !

Si vous ne l'avez pas encore essayé, je vous invite à télécharger PHPEdit sur le site officiel.

Août 2007 – Narno.com: PHPEdit 2.12 : screencast

Afin de présenter le fonctionnement et les possibilités de PHPEdit 2.12, Sébastien Hordeaux (le boss de Waterproof) à réalisé un screencast.

Celui-ci est découper en 5 parties :

  • présentation générale de l'IDE
  • utilisation du debogueur
  • intégration de PHPUnit
  • intéraction avec SQL
  • module FTP

Cette présentation de PHPEdit (en anglais) permet de mieux cerner les possibilités de l'outil et de le voir fonctionner dans les mains d'un utilisateur aguerri.

Pour ma part j'utilise PHPEdit pour mes projets persos et dans le cadre de mon travail. J'en suis très satisfait même si de petit problèmes de statbilité mon casser la tête quelque temps. PHPEdit à énormément évolué depuis plusieurs années et il est devenu un IDE très professionnel pour un coup de license plus que raisonnable !

Si vous ne l'avez pas encore essayé, je vous invite à télécharger PHPEdit sur le site officiel.

en lire plus

Août 2007 – PHP Index: PHP-Nuke 8.1

Libération de la dernière mouture de PHPNuke 8.1, précurseur des CMS et des systèmes de blogs.

PHP-Nuke vient de sortir ce jour en version 8.1.
Comme chaque nouvelle version, PHPNuke 8.1 n'est pas encore disponible gratuitement, il faudra débourser quelques dollars pour s'en acquitter.

Cette nouvelle version comprend:
- ajout de nombreux correctifs de sécurité
- ajout de nombreux contrôles de variables dans plusieurs modules
- ajout du forum phpBB ( BB2nuke en version 2.0.21 )
- ajout du script AutoTheme en version GPL ( il existe aussi une version payante )
- Correctifs appliqués dans le module Topics
- La gestion des préférences dans l'administration a été totalement revue et ré-organisée
- Amélioration de la gestion des référants
- ajout d'une possibilité offerte aux administrateurs de permettre ou non aux utilisateurs de changer de charte graphique ( theme ou template )
- et pas mal d'autres choses :)

Vous pouvez retrouver la version 8.1 sur www.phpnuke.org ( réservée au club ) ainsi que la version 8.0 originale sur www.php-nuke.fr ( la version 100% française est en cours de validation )

Proposé par Cyril Levert

Août 2007 – Nexen.net: Statistiques PHP de juillet 2007

phpversion.cumul
Les statistiques de diffusion PHP dans le monde pour juillet 2007 sont arrivées. PHP 5 passe la barre des 20% du marché PHP PHP 5.2 représente maintenant 10% PHP 4.4.7 est toujours très prisé des webmestres Et toujours beaucoup de détails sur Apache, IIS, les pays, les versions et leur évolution depuis Juin 2005, ainsi que des aides pour choisir les versions de PHP à supporter.

Août 2007 – Narno.com: Statistiques PHP de juillet 2007

"Les statistiques de diffusion PHP dans le monde pour juillet 2007 sont arrivées.
  • PHP 5 passe la barre des 20% du marché PHP
  • PHP 5.2 représente maintenant 10%
  • PHP 4.4.7 est toujours très prisé des webmestres
Et toujours beaucoup de détails sur Apache, IIS, les pays, les versions et leur évolution depuis Juin 2005, ainsi que des aides pour choisir les versions de PHP à supporter."

Source : Nexen

Août 2007 – Narno.com: Statistiques PHP de juillet 2007

"Les statistiques de diffusion PHP dans le monde pour juillet 2007 sont arrivées.
  • PHP 5 passe la barre des 20% du marché PHP
  • PHP 5.2 représente maintenant 10%
  • PHP 4.4.7 est toujours très prisé des webmestres
Et toujours beaucoup de détails sur Apache, IIS, les pays, les versions et leur évolution depuis Juin 2005, ainsi que des aides pour choisir les versions de PHP à supporter."

Source : Nexen

Août 2007 – Afup: La fin du support de PHP 4 est annoncé

Le PHPGroup annonce la fin programmée du support de PHP 4 au profit de PHP 5 et du futur PHP 6.

Août 2007 – Nexen.net: Actualité de développement PEAR, edition 150

pear
10 paquets ont été mis à jour cette semaine : : Génération d'images CAPTCHA : Classe de PingBack : Manipulations XPath/DOM XML : Bibliothèque client/serveur XML-RPC : Code source du site PEAR : Analyseur et moteur de rendu Creole pour Text_Wiki : Manipulations de fichiers .htaccess : Normalisateur Unicode : Interface avec l'API Shared book : Interface avec l'API compete PEAR est la bibliothèque de composants PHP.

Août 2007 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 155

securite
PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes : PHP 5.2.3 et 4.4.7; MySQL 5.0.45 (communauté) et 5.0.46 (entreprise), 4.1.22, ainsi que 5.1.20-beta. Les mises à jour sont recommandées vers ces versions. 8 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes : Drupal, Gallery, Joomla, PHP Nuke, SquirrelMail, WordPress, ez et vBulletin Drupal Multiple Cross-Site Scripting and Request Forger... Site : Pony Gallery Random Image for Joomla "catid" Remote SQL Inject... Site : Pony Gallery Random Image for Joomla "catid" Remote SQL Inject... Site : PHP-Nuke Search Module Cross-Site Scripting Vulnerability Site : SquirrelMail Compose.PHP Multiple Information Disclosure and Data Modification Vulnerabilities Site : WP-FeedStats Plugin for WordPress Script Insertion Vuln... Site : TIBCO Rendezvous RVD Daemon Unspecified Denial Of Service Vulnerability Site : RETIRED: vBulletin Multiple Remote File Include Vulnerabilities Site :

Août 2007 – Nexen.net: Développer un service Web avec PHP

serveurs
"Un service Web est constitué d'un serveur qui reçoit les rquêtes, et d'un client qui invoque les méthodes sur le serveur. La bibliothèque de classes PHP fournit les bases pour constituer un serveur SOAP et les clients associés, ainsi que l'extension XML-RPC, pour utiliser le protocole XML-RPC. Avant de plonger dans les détails du développement des services Web, je veut vous présenter rapidement les services eux-mêmes."

Août 2007 – Nexen.net: 400ème lettre hebdomadaire de nexen.net

nexen
Dimanche 5 juillet, le numéro 400 de la lettre hebdomadaire de nexen.net a été publiée. Cette lettre émise toutes les semaines, avec la totalité des informations de la semaine qui passe. En un coup d'oeil le lundi matin, vous pouvez passer en revue l'actualité de la semaine précédente, noter les faits importants et conserver le tout dans votre boîte aux lettres. Lorsque vous êtes en vacances, c'est aussi une bonne méthode pour ne rater aucune information. En termes de productivité, il est souvent plus rapide de parcourir la lettre que de lire les RSS ou même le site tous les jours. Vous lisez les titres, puis les articles s'ils vous intéressent, et enfin les URL si elles sont vraiment intéressantes. Le tout en une seule fois dans la semaine. L'inscription est gratuite, et nous aurons bientôt l'occasion de vous faire gagner les livres ainsi que des elephants en peluche PHP. Alors, inscrivez-vous vite pour être de la fête!

Août 2007 – Arnaud Limbourg: Manu Chao

Si vous aimez Manu Chao, un concert restransmis en live du festival Esperanzah va bientôt démarrer sur:

http://www.esperanzah.be/radio/direct/

Août 2007 – PHP Index: Copix 3 RC2 - Framework PHP

Copix est l'un des premiers framework PHP ayant vu le jour et profite aujourd'hui d'une mise à jour vers PHP5 qui, selon les premiers retours utilisateurs, est plus que réussie !

L'équipe de développement a axé ses efforts sur la simplicité de configuration et de prise en main de l'outils, sans oublier les performances et les fonctionnalités avancées comme les transactions multi-sources, un gestionnaire de droit interchangeable, une gestion des webservices aisée, l'utilisation de Mootools pour les applications web 2.0, un système de log pour les applications en production ou développement, des caches, thèmes graphiques, ....

Le site officiel vous proposera quelques tutoriaux (http://www.copix.org/index.php/wiki/Tutoriaux) pour commencer et s'y retrouver dans la grande liste des nouvelles fonctionnalités (http://www.copix.org/index.php/wiki/Presentation).

Bonne découverte !

Proposé par Gérald Croës

Août 2007 – Nexen.net: XML dans MySQL : exports

xml
MySQL disposent de fonctions destinées à manipuler du contenu XML directement dans la base, comme les fonctions ExtractValue et UpdateXML, pour rechercher et modifier une structure XML. Pour la production de code XML, il n'y a rien de prévu, mais un coup de procédure stockée vous donnera quelques outils bien pratiques. Erik Wetterberg vous en parle plus.

Août 2007 – Nexen.net: RPN en PHP

code.php
RPN est la Notation Polonaise Inverse : une manière de gérer la ligne de commande sous forme de pile. J'en garde un souvenir ému de mes années de HP 48 sx : c'était déroutant au début, mais finalement bien pratique et efficace. Nick Halstead nous reviens avec un tutoriel sur RPN, incluant la programmation en PHP d'un analyseur RPN.

Août 2007 – Nexen.net: Tutoriel PHP, MySQL, Flex et JSON

flex
"Pour faire suite à mon tutoriel PHP et Flex, j'ai pensé qu'il serait sympa de faire un tutoriel complet sur PHP, MySQL, Flex et JSON. Ce tutoriel va montrer comment envoyer des données dans une base MysQL en utilisant Flex, via JSON et PHP. Je vous explique tout cela et bien plus encore."

Août 2007 – Nexen.net: Normalisateur Unicode en PHP

unicode
La normalisation Unidocde est lié au concept de combinaison et décomposition des caractères en de nouveaux caractères composés, comme le n et le tilde, qui deviennent le caractère n+~. La décomposition est le processus inverse : décomposer un caractère composé en éléments de base. La normalisation est importante pour réaliser la comparaison des caractères, la recherche et le tri. I18N_UnicodeNormalizer est une classe PHP qui permet de réaliser 4 normalisations : NFD, NFC, NFKD, NFKC. Elle est compatible avec les tests de regression officiels Unicode.org. C'est une classe utile pour tous ceux qui doivent valider du code Unicode.

Août 2007 – Narno.com: Développer un service Web avec PHP

"Un service Web est constitué d'un serveur qui reçoit les rquêtes, et d'un client qui invoque les méthodes sur le serveur.
La bibliothèque de classes PHP fournit les bases pour constituer un serveur SOAP et les clients associés, ainsi que l'extension XML-RPC, pour utiliser le protocole XML-RPC.
Avant de plonger dans les détails du développement des services Web, je veut vous présenter rapidement les services eux-mêmes."

source : Nexen

Août 2007 – Narno.com: Développer un service Web avec PHP

"Un service Web est constitué d'un serveur qui reçoit les rquêtes, et d'un client qui invoque les méthodes sur le serveur.
La bibliothèque de classes PHP fournit les bases pour constituer un serveur SOAP et les clients associés, ainsi que l'extension XML-RPC, pour utiliser le protocole XML-RPC.
Avant de plonger dans les détails du développement des services Web, je veut vous présenter rapidement les services eux-mêmes."

source : Nexen

Août 2007 – Nexen.net: Attention aux scanners de sites

securite
Il existe des robots tapis dans l'ombre du Web et qui attendent leur heure pour massacrer votre site Web. Si vous n'y croyez pas, jetez simplement un oeil à vos logs de serveur Web, notamment le log d'erreur. Vous verrez alors quels sont les menaces qui planent sur votre site. Pour vous en donner une meilleure idée, nous avons analysé les logs de nexen.net, et découvert une ribambelles de robots. Venez donc vous faire peur...

Août 2007 – Nexen.net: Webinar Cluster MySQL

conference
"Durant ce webinar, nous apprendrons les concepts fondamentaux pour concevoir et sélectionner les bons composants pour réussir un Cluster MySQL et son évaluation. Nous allons analyser le matériel, le réseau et les pré-requis logiciels. Nous travaillerons à partir d'une installation de base, pour réaliser des tests fonctionnels. Finalement, nous terminerons les récents résultats de tests de performances réalisés avec Intel et Dolphin Interconnect Solutions." Il y a deux sessions : la première le 8 Aout, à 19h00, heure de Paris, et la seconde le 15 Aout, à 15h00, heure de Paris.

Août 2007 – Nexen.net: D'autre méthodes de représentations graphiques

trucs
Il n'y a pas que les graphiques ou les camemberts dans la vie : il y a de nombreuses méthodes de représentation des données de manières graphiques, adaptés à différentes situations : les cartes mentales (mind map), les cartes de chaleur, les arbres de relations, ou les diagrammes de connexions : Smashing Magazine en a recensé une pleine page pour le plaisir des yeux et l'inspiration.

Août 2007 – Nexen.net: Déboguez avec Xdebug

xdebug
"L'extension Xdebug de PHP vous aide à autopsier votre application quand une erreur ou un crash survient. Voyez comment Xdebug vous permet de retracer les appels de pile, analyser l'utilisation de la mémoire et faire le tri dans les arguments et les variables." Xdebug est récemment passé officiellement en version 2.

Août 2007 – Nexen.net: Multi-tâche en PHP avec stream_select

replication
"De nombreux développeurs PHP croient qu'à cause de l'absence de support des threads de PHP, il est impossible de réaliser une application PHP multi-tâche. Par exemple, si une application doit lire des informations sur un site Web, elle doit s'arrêter et attendre que la lecture distante se conclut. Ce n'est pas vrai! Découvrez le vrai visage du partage de tâche avec PHP, en utilisant les fonctions stream_select et stream_socket_client."

Août 2007 – Nexen.net: MDB2, pour simplifier les changements de serveurs

babel
"Changer de base de donée est une tâche complexe, qui requiert souvent du développeur la recréation manuelle de table et d'enregistrements avec des types SQL et des fonctions compatibles avec la nouvelle base. Le paquet PEAR MDB2_Schema rend cette tâche simple, en générant une représentation agnostique en XML, avec les outils pour importer cette information dans n'importe quelle base."

Août 2007 – PHP Index: Zend Technologies étend son partenariat avec IBM

Zend Technologies étend son partenariat avec IBM pour apporter un support des motées en charge des bases de données sans précédent pour la plateforme PHP

Le 8 août 2007, LinuxWorld San Francisco – Zend Technologies Inc, annonce le renforcement de son partenariat avec IBM avec l’objectif de favoriser la croissance des applications PHP prêtes pour la production dans l’entreprise. Grâce à une intégration plus étroite de Zend Core for IBM et IBM DB2, les entreprises pourront désormais déployer PHP et DB2 sur un grand choix de matériel et de systèmes d’exploitation, tout en bénéficiant d’un support de classe mondiale provenant d’une seule source.


Selon les termes de l’accord, cette initiative comprend :

• Des capacités Express-C d’IBM DB2 améliorées dans Zend Core for IBM, la solution PHP certifiée de Zend Technologies
• Un nouveau support pour la technologie DB2 Connect avec l’accès aux serveurs de données hautes-performances i5/OS et z/OS DB2
• Support unifié et provenant d’une seule source pour la distribution intégrée des solutions PHP et DB2
• Support des partitions System i Linux, du BladeCenter System i et des serveurs System x


Zend Core for IBM est une distribution PHP totalement certifiée et supportée pour le développement et le déploiement d’applications, et qui comprend Apache, PHP, le Zend Framework et DB2 Express-C. DB2 Express-C est le serveur de données hybride relationnel-XML d’IBM qui fournit un accès aux fonctionnalités telles que la réplication de données, le clustering en mode haute disponibilité et la récupération d’incident. Il en résulte une infrastructure pour applications web d’une grande extensibilité et fiabilité.

Afin de pouvoir supporter des charges de travail importantes, Zend Core for IBM comprend désormais la technologie DB2Connect, qui facilite la création d’applications PHP stratégiques utilisant la puissance et l’extensibilité de DB2 sur les serveurs IBM System z(z/OS) et System i (i5/OS).

«PHP et DB2 sont des technologies importantes pour le développement d’applications Web avec de gros volumes de données générées par l’utilisateur » déclare Bernie Spang, Directeur des Serveurs de Données IBM. « DB2 Express-C dans Zend Core for IBM fournit une solution puissante, abordable et extensible pour l’entreprise quelle que soit sa taille, aussi bien pour une PME que pour une entreprise Internet de taille importante. »
Zend Core for IBM fournit des fonctionnalités standardisées à travers une gamme importante de matériels et de systèmes d’exploitation d’IBM. Les gammes de produits complètes IBM System x sous Windows ou Linux et IBM System p sous Linux ou AIX sont supportées. Zend et IBM propose également Zend Core for i5/OS, une solution PHP i5/OS native, qui utilise les capacités de DB2 de ce système d’exploitation.
Zend continuera à développer son support pour System i en rajoutant le support pour les partitions Linux, celui pour le BladeCenter associé à System i et pour les serveurs System x. Les clients du System i pourront consolider de multiples serveurs d’applications PHP et des serveurs de données DB2 Express-C sur une seule plateforme avec une administration et une gestion unifiée.
«Zend Core for IBM est une solution formidable pour les clients qui prévoient une croissance future. » explique Mark de Visser, Chief Marketing Officer chez Zend. «On peut démarrer avec un système d’entrée de gamme System x et ensuite évoluer vers des systèmes plus puissants tels que System p, System i et même System z en bénéficiant de la cohérence inter-plateforme de la solution Zend Core ».
Les clients qui recherchent un support pour leurs applications stratégiques peuvent acheter des abonnements annuels au support Zend pour leur environnement PHP avec le serveur de données DB2 Express-C. Tous les services sont fournis par Zend avec le soutien des ressources techniques globales d’IBM.
Shaklee Corporation, l’entreprise numéro un aux Etats-Unis dans le domaine de l’alimentation bio est un exemple d’un client qui s’est tourné vers Zend et IBM pour le support de son infrastructure PHP. « Nous considérons Zend Core, Zend Platform et DB2 comme des technologies clés dans notre commerce qui est basé sur le Web » explique Chris Jones, Directeur des applications Web chez Shaklee. « C’est encourageant de voir une telle coopération entre Zend et IBM qui fournissent une offre comprenant une solution avec le support totalement intégrée»
Zend Core for IBM est disponible chez Zend www.zend.com/fr/core/ibm

Proposé par Zend Technologies

Août 2007 – Noplay: Traduction du Zend Framework

Désormais la traduction du manuel du Zend Framework auquel j'ai participé est disponible sur le site officiel du framework : http://framework.zend.com/manual/fr...

Août 2007 – Noplay: Traduction de la doc du module Zend_Pdf

J'ai traduit la partie de la documentation du Zend_Framework version 0.1.2 concernant le module Zend_Pdf. Ce travail sera intégré au reste de la traduction en français.

http://duponchelle.info/julien/zend...

Août 2007 – Noplay: Bonnes pratiques de développement en PHP

Le but de cet article est de lister un certains nombre de points important auxquels il faut songer lors du développement en PHP. PHP est tellement simple à apprendre que la majorité des développeurs sont autodidactes et ont parfois pris de (très) mauvaises habitudes.

Activez toutes les erreurs

Lors de la phase de développement il est préférable d'activer tous les warnings : cela vous permettra notamment de connaître les variables non déclarées (ca simplifera le développement).

Coupez les erreurs

Par contre sur un site en production il est recommandé de couper les Warnings afin de ne pas fournir aux pirates de précieuses informations : de plus cela est du plus mauvais effet pour les visiteurs.

Une bonne pratique peut-être de mettre en place un systèmes pour être alerté en cas de soucis. Comme par exemple une notification des erreurs par mail : Un exemple chez Zend

Les short tags

Lorsque vous voulez insérer du code php dans une page n'utilisez pas les short tags :

<?

mais

<?php

. Cela pourrait créer des conflits avec d'autres langages (comme le XML) et l'option est désactivée par défaut.

Les register globals

Avant la version 4.2 de PHP il était possible d'accéder directement aux variables de l'url ou d'un formulaire juste en utilisant leur nom. Pour des raisons de sécurité cette option est désormais coupée par défaut. Mais cette option est toujours activée chez de nombreux hébergeur afin de rester compatible avec les anciens scripts.

Ainsi pour accéder à la variable test de :


http://www.noplay.net/index.php?test=tata

Utilisez $_GET['test'] plutôt que $test.

Plus d'informations sur phpdebutant

Nommez les sessions

Lors de l'utilisation des sessions avant de faire un session_start utilisez session_name afin de mettre un nom de session propre à votre site ce qui vous évitera de mauvaises surprises sur certains serveur.

session_name

include_once et require_once

Lorsque vous incluez un fichier contenant des classes et des fonctions utilisez include_once si le fichier doit-être inclus de façon conditionnelle et require_once si il doit toujours être inclus.

La seul différence entre require et include est leur comportement en cas d'echec : require provoquera une FATAL ERROR alors que include affichera juste un WARNING.

Les versions once de include et require évite que le fichier soit inclus deux fois ce qui vous permet de ne pas redéfinir les fonctions.

L'explication sur PEAR

La sécurité

Les conseils qui suivent concernent la sécurité de vos scripts ; en effet en PHP l'apprentissage est tellement simple que l'aspect sécurité est souvent négligé.

Je vous recommande les articles de http://www.phpsecure.info (en français pour ne rien gacher :D).

Vous devez toujours garder à l'esprit qu'il ne faut jamais faire confiance à l'utilisateur.

N'utilisez jamais de variable utilisateur dans un include ou un fopen

Ne faites jamais :


include $_GET['page'];

En effet un pirate pourrait détourner votre inclusion vers un autre fichier sur votre serveur ou sur un autre. Pour faire ce genre chose, effectuez un controle auparavant comme par exemple :


if ($_GET['page'] == 'forum' || $_GET['page'] == 'news') {
include $_GET['page'];
}

Évidemment vous pouvez faire plus propre.

Protéger vos requêtes SQL

Afin de vous prémunir de l'injection SQL vous devez protéger les variables que vous utilisez dans vos requêtes SQL.

Il est possible d'utiliser pour cela addslashes mais si vous devez insérer des données binaires dans MySQL il vaut mieux utiliser : mysql_real_escape_string.

Note : il est possible que la directive magic_quote de PHP soit activée et protége automatiquement les variables utilisateurs, mais cette option est de plus en plus souvent désactivée pour des raisons de performance. Vous pouvez tester si cette option est activée avec get_magic_quotes_gpc.

Exemple d'utilisation de addslashes :


if (!get_magic_quotes_gpc()) {
$nom = addslashes($_POST['nom']);
}
else {
$nom = $_POST['nom'];
}

Échappez le HTML et le PHP

Comme pour les requêtes SQL pensez à supprimer le code PHP et HTML afin de vous prémunir contre le Cross Site Scripting, cela peut-être fait avec la fonction htmlspecialchars ou stript_tags. La différence entre stript_tags et htmlspecialchars vient du faite que la première supprime le contenu alors que la seconde le remplace par des caractères protégés.

Lorsque vous utilisez htmlspecialchars faite attention à utiliser le bon charset. Le charset par défaut étant iso-8859-1.

Faites un hash des mots de passes

Ne stockez jamais un mot de passe en clair, en effet si quelqu'un parvenait à s'introduire sur votre site web il aurait directement accés à tous les mots de passe des utilisateurs. Les utilisateurs utilisant bien souvent le même mot de passe partout, les conséquences pourraient être très graves.

Appliquez plutôt une fonction de hashage sur le mot de passe. Celle ci va calculer une chaine de taille fixe à partir du mot de passe avec laquelle il est impossible techniquement de revenir en arrière.

Lorsque l'utilisateur voudra se connecter vous n'aurez qu'à comparer le hash du mot de passe soumis avec celui que vous aviez stocké.

SHA1 MD5

Changer l'id de session

Utilisez la fonction session_regenerate_id afin de changer l'id de session lorsque un utilisateur se connecte. Cela permet de limiter le vol de session.

Vérifiez le retour des fonctions systèmes

Vérifiez toujours le retour de toutes les fonctions systèmes, notament fopen, obstart...

Style de dévellopement

Je vous recommande de lire sur les conventions de codage de PEAR afin d'écrire du code propre et lisible par le plus grand nombre.

http://pear.php.net/manual/fr/stand...

Remerciements

Je tiens à remercier Darzee, Snowcat et Stem pour leurs remarques sur cet article.

Août 2007 – Nexen.net: Top 50 des extensions PHP

checklist
Je reçois régulièrement des demandes d'auteurs d'applications pour calibrer les pré-requis d'une application qu'ils vont développer. Il faut faire un choix entre différentes extension, ou bien entre différentes versions de PHP. Faut-il supporter PHP 5.0.4 ou bien est-ce que 5.0.5 est suffisant? Est-ce que mysqli est bien adopté? mnogosearch est puissant, mais peut-on compter sur sa présence? Si vous êtes dans cette phase de votre projet, je vous conseille deux sources : les statistiques mensuelles de nexen.net, qui vous fournissent notamment le graphique de cumul des versions de PHP. Vous pourrez alors déterminer le point à partir duquel il n'est plus utile de supporter de vieilles version de PHP. Et les configurations de base de PHP 5.2.3, qui vous donne le niveau de popularité des extensions PHP pour PHP 5.2.3.

Août 2007 – Nexen.net: Architecture de YouTube

youtube
"YouTube a connu une croissance fulgurante, jusqu'à 100 millions de vidéos vues par jour, avec seulement une poignée de responsables pour assurer le développement du site. Comment ont-ils assuré la livraison des vidéos aux visiteurs? et comment ont-ils évolué depuis leur acquisition par Google? " Une revue détaillée de l'architecture de YouTube, avec ses essais, ses erreurs et ses réussites.

Août 2007 – Nexen.net: MySQL change sa politique pour la communauté

mysql.communaute
Kaj Arnö annonce par le biais de son blogue, un changement important dans la politique de publication du code source 'Entreprise' de MySQL. Les nouvelles fonctionnalités sont désormais envoyées directement dans les nouvelles versions. MySQL s'engage à faire au moins 2 mises à jour de la version de production (dite GA) par an, en fonction des alertes de sécurité qui seront identifiées. Les versions MySQL seront mises à jour tous les mois jusqu'à ce que la compagnie décide que cette version est mature : dans ce cas, le rythme de mise à jour baissera considérablement. Les sources de la version Entreprise ne sont plus publiées. Dans l'ensemble, le processus de publication se clarifie, ce qui est bon : les versions très stables n'ont plus que des corrections de bogues et sécurité. Les nouvelles fonctionnalités sont repoussées à la version de développement, et les versions de productions initiales, qui auront la plus forte charge de tests, seront mises à jour mensuellement. Deux points plus sensibles sont à relever. Les sources de la version Entreprise sont retirées. Cela ne fait qu'ajouter un obstacle sur la rue, puisque la GPL permet à n'importe quel client de publier ce code librement. Le code était déjà bien caché dans le ftp de MySQL, mais il est encore plus loin maintenant. Les nouvelles fonctionnalités et contributions de la communauté sont repoussées à la versions de développement actuelle. Nous sommes rendus à la version 5.0 en GA, et la version 5.1 (qui arrive sous peu), est en béta : en fait, les nouvelles contributions sont repoussées à la version 5.2/6.0, et n'apparaîtront pas avant ... longtemps. Tres longtemps. La communauté des contributeurs au code réagit fortement à ces annonces. Peter Zaitsev indique qu'il a un patch de micro-secondes pour les slow query qui attend encore, alors que Jeremy Cole a recu un traitement de faveur pour son SHOW profile. Tous ces contributeurs ayant pignon sur rue, montent au créneau pour défendre leur travail. En regardant de plus loin, il semble que la communauté soit incitée à travailler sur les versions récentes uniquement. Plus la version du serveur est stable (beta, GA, mature GA), plus les versions sont rares. Les versions payantes sont ainsi réservées à ceux qui ne connaissent pas bien MySQL : ce sont eux qui iront chercher les mature GA ou les versions entreprise, pour se prémunir d'un bug possible. La communauté ne paie pas cher, mais court les risques. Les clients paient peu cher, mais s'assure contre les bogues. Est-ce un modèle viable pour votre entreprise? Avec un rythme de mise à jour annuel des serveurs (qui donc utilise encore une version 4?), cette nouvelle politique devrait avoir un faible impact sur une installation en production. Les nouvelles fonctionnalités seront reportées à l'année d'après, et il ne reste que le cas des bogues teigneux à corriger : avoir besoin d'une correction spécifique va devenir compliqué, ou cher, ou les deux. Enfin, la disparition des codes sources entreprise sont surtout des sujets politiques : tant qu'on est pas impacté par un bogue, on va facilement en sauter quelques versions. Mais c'est dommage de voir ce point mis tout à la fin, et publié en pleines vacances : on dirait une vieille manipulation politique ou commerciale, alors que ça n'en est pas.

Août 2007 – Nexen.net: MySQL change sa politique pour la communauté

mysql.communaute
Kaj Arnö annonce par le biais de son blogue, un changement important dans la politique de publication du code source 'Entreprise' de MySQL. Les nouvelles fonctionnalités sont désormais envoyées directement dans les nouvelles versions. MySQL s'engage à faire au moins 2 mises à jour de la version de production (dite GA) par an, en fonction des alertes de sécurité qui seront identifiées. Les versions MySQL seront mises à jour tous les mois jusqu'à ce que la compagnie décide que cette version est mature : dans ce cas, le rythme de mise à jour baissera considérablement. Les sources de la version Entreprise ne sont plus publiées. Dans l'ensemble, le processus de publication se clarifie, ce qui est bon : les versions très stables n'ont plus que des corrections de bogues et sécurité. Les nouvelles fonctionnalités sont repoussées à la version de développement, et les versions de productions initiales, qui auront la plus forte charge de tests, seront mises à jour mensuellement. Deux points plus sensibles sont à relever. Les sources de la version Entreprise sont retirées. Cela ne fait qu'ajouter un obstacle sur la rue, puisque la GPL permet à n'importe quel client de publier ce code librement. Le code était déjà bien caché dans le ftp de MySQL, mais il est encore plus loin maintenant. Les nouvelles fonctionnalités et contributions de la communauté sont repoussées à la versions de développement actuelle. Nous sommes rendus à la version 5.0 en GA, et la version 5.1 (qui arrive sous peu), est en béta : en fait, les nouvelles contributions sont repoussées à la version 5.2/6.0, et n'apparaîtront pas avant ... longtemps. Tres longtemps. La communauté des contributeurs au code réagit fortement à ces annonces. Peter Zaitsev indique qu'il a un patch de micro-secondes pour les slow query qui attend encore, alors que Jeremy Cole a recu un traitement de faveur pour son SHOW profile. Tous ces contributeurs ayant pignon sur rue, montent au créneau pour défendre leur travail. En regardant de plus loin, il semble que la communauté soit incitée à travailler sur les versions récentes uniquement. Plus la version du serveur est stable (beta, GA, mature GA), plus les versions sont rares. Les versions payantes sont ainsi réservées à ceux qui ne connaissent pas bien MySQL : ce sont eux qui iront chercher les mature GA ou les versions entreprise, pour se prémunir d'un bug possible. La communauté ne paie pas cher, mais court les risques. Les clients paient peu cher, mais s'assure contre les bogues. Est-ce un modèle viable pour votre entreprise? Avec un rythme de mise à jour annuel des serveurs (qui donc utilise encore une version 4?), cette nouvelle politique devrait avoir un faible impact sur une installation en production. Les nouvelles fonctionnalités seront reportées à l'année d'après, et il ne reste que le cas des bogues teigneux à corriger : avoir besoin d'une correction spécifique va devenir compliqué, ou cher, ou les deux. Enfin, la disparition des codes sources entreprise sont surtout des sujets politiques : tant qu'on est pas impacté par un bogue, on va facilement en sauter quelques versions. Mais c'est dommage de voir ce point mis tout à la fin, et publié en pleines vacances : on dirait une vieille manipulation politique ou commerciale, alors que ça n'en est pas.

Août 2007 – Nexen.net: Actualité de développement PECL, edition 162

pecl
2 paquets ont été mis à jour cette semaine : : Pilote PDO pour les bases de données IBM : Interface Trivial DB PECL est la bibliothèque d'extensions C de PHP.

Août 2007 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 156

PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes : PHP 5.2.3 et 4.4.7; MySQL 5.0.45 (communauté) et 5.0.45 (entreprise), 4.1.22, ainsi que 5.1.20-beta. Les mises à jour sont recommandées vers ces versions. 4 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes : Gallery, Joomla, ez et vBulletin Gallery In A Box Index.ASP SQL Injection Vulnerability Site : PHP remote file inclusion vulnerability in langset.php in the J! Reactions (com_jreactions) component for Joomla! allows remote attackers to execute arbitrary PHP code via a URL in the comPath parameter. Site : TIBCO Rendezvous RVD Daemon Remote Denial Of Service Vulnerabilities Site : ** DISPUTED ** Multiple PHP remote file inclusion vulnerabilities in Jelsoft vBulletin 3.6.5 allow remote attackers to execute arbitrary PHP code via a URL in the (1) classfile parameter to includes/functions.php, the (2) nextitem parameter to includes/fu Site :

Août 2007 – Nexen.net: Les meilleurs validations pour votre site web

checklist
Les tests automatiques, vérifications, audits et analyses sont incontournables si vous recherchez des bogues et tentez de les éviter. Pour vous assurer que tout baigne dans l'huile, vous avez besoin de validateurs. Smashing Magazine en dresse la liste, point par point. 1. Connaît ton classement 2. Utilise la puissance des tests d'accessibilité 3. Suit ta progression en permanance 4. Assure-toi que ton site est prêt pour les moteurs 5. Détecte les points faibles et supprime les 6. Assure les meilleures performances 7. Assure la meilleure qualité de contenu 8. Surveille tes utilisateurs 9. Analyse ta population 10. Connaît toi toi-même

Août 2007 – Nexen.net: PHP répond aux problèmes d'entreprise

grue
"Quand vous choisissez un langage ou une plate-forme pour votre projet, vous devez vous poser quelques questions importantes: Est-ce que le langage est fiable? Est-ce que le langage a une communauté robuste? Est-il facile de trouver des programmeurs qui utilisent ce langage? Est-ce que le langage est productif? Toutes ces questions engendrent des coûts relatifs. En bref, si l'un de ces problèmes est particulièrement difficile à résoudre, cela va vous coûter plus d'argent : et parfois beaucoup plus."

Août 2007 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 156

PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes : PHP 5.2.3 et 4.4.7; MySQL 5.0.45 (communauté) et 5.0.45 (entreprise), 4.1.22, ainsi que 5.1.20-beta. Les mises à jour sont recommandées vers ces versions. 4 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes : Gallery, Joomla, ez et vBulletin Gallery In A Box Index.ASP SQL Injection Vulnerability Site : PHP remote file inclusion vulnerability in langset.php in the J! Reactions (com_jreactions) component for Joomla! allows remote attackers to execute arbitrary PHP code via a URL in the comPath parameter. Site : TIBCO Rendezvous RVD Daemon Remote Denial Of Service Vulnerabilities Site : ** DISPUTED ** Multiple PHP remote file inclusion vulnerabilities in Jelsoft vBulletin 3.6.5 allow remote attackers to execute arbitrary PHP code via a URL in the (1) classfile parameter to includes/functions.php, the (2) nextitem parameter to includes/fu Site :

Août 2007 – Nexen.net: Les meilleurs validations pour votre site web

checklist
Les tests automatiques, vérifications, audits et analyses sont incontournables si vous recherchez des bogues et tentez de les éviter. Pour vous assurer que tout baigne dans l'huile, vous avez besoin de validateurs. Smashing Magazine en dresse la liste, point par point. 1. Connaît ton classement 2. Utilise la puissance des tests d'accessibilité 3. Suit ta progression en permanance 4. Assure-toi que ton site est prêt pour les moteurs 5. Détecte les points faibles et supprime les 6. Assure les meilleures performances 7. Assure la meilleure qualité de contenu 8. Surveille tes utilisateurs 9. Analyse ta population 10. Connaît toi toi-même

Août 2007 – Nexen.net: PHP répond aux problèmes d'entreprise

grue
"Quand vous choisissez un langage ou une plate-forme pour votre projet, vous devez vous poser quelques questions importantes: Est-ce que le langage est fiable? Est-ce que le langage a une communauté robuste? Est-il facile de trouver des programmeurs qui utilisent ce langage? Est-ce que le langage est productif? Toutes ces questions engendrent des coûts relatifs. En bref, si l'un de ces problèmes est particulièrement difficile à résoudre, cela va vous coûter plus d'argent : et parfois beaucoup plus."

Août 2007 – Kamelot Blog: Manuel de PHP_codesniffer

Traduction en cours : php_codesniffer

Si ca vous intéresse, n'hésitez pas à me signaler les éventuelles probables erreurs.

Août 2007 – Digital Fashion: Stripping the logic: the Transfer Object

Sometimes you have to pass an object data to another object, or to another layer of your application (who said controller/view ?), while ensuring that the receiving entity will not be able to run business code encapsulated in your class. In the Zend Framework, several objects provide a toArray method, but that is not always sufficient as sometimes you'd like to keep with the $object->varname syntax.

That is where the Transfer Object arrives. While the preceding definition is not exact (that's not the real purpose of the Transfert Object in the J2EE spirit), This is the most common use that PHP Developers can make of it nowadays I think. So I came up with a very light implementation of a concept which I hope can prove useful for any folks getting by there.

See also:

Août 2007 – Nexen.net: Je suis certifié MySQL

mysql
Je ne sais pas si cela va surprendre beaucoup de monde, mais j'ai passé la certification de base MySQL. Si, si. Et contrairement à celle de PHP, je ne connaissais pas les questions avant de passer l'examen. :) Pour tout vous dire, Carsten Perdersen et Roland Bouman était en train de tester leur nouvel examen de certification pour les utilisateurs MySQL. C'est le 'MySQL certified exam' qui me donne le titre de 'MySQL certified associate'. Impressionnant, n'est-ce pas? L'examen était destiné à des utilisateurs de base de MySQL : il couvrait les aspects les plus importants pour une utilisation autonome et efficace de la base. Les requêtes, bien sûr, mais aussi quelques points de configuration, d'administration. Les questions du tests étaient très exhaustives, et couvraient une très large gamme de problème. Un développeur qui passe cet examen saura utiliser MySQL intelligemment, et ne rapportera que des problèmes intéressants à un administrateur.Enfin, j'ai été particulièrement surpris par la quantité de 'cadeaux' qui étaient livrés avec le diplome de certification. Je vous laisse juger par vous-même : 2 stylos MySQL, un ballon de plage, un boomrang....

Août 2007 – Nexen.net: Je suis certifié MySQL

mysql
Je ne sais pas si cela va surprendre beaucoup de monde, mais j'ai passé la certification de base MySQL. Si, si. Et contrairement à celle de PHP, je ne connaissais pas les questions avant de passer l'examen. :) Pour tout vous dire, Carsten Perdersen et Roland Bouman était en train de tester leur nouvel examen de certification pour les utilisateurs MySQL. C'est le 'MySQL certified exam' qui me donne le titre de 'MySQL certified associate'. Impressionnant, n'est-ce pas? L'examen était destiné à des utilisateurs de base de MySQL : il couvrait les aspects les plus importants pour une utilisation autonome et efficace de la base. Les requêtes, bien sûr, mais aussi quelques points de configuration, d'administration. Les questions du tests étaient très exhaustives, et couvraient une très large gamme de problème. Un développeur qui passe cet examen saura utiliser MySQL intelligemment, et ne rapportera que des problèmes intéressants à un administrateur.Enfin, j'ai été particulièrement surpris par la quantité de 'cadeaux' qui étaient livrés avec le diplome de certification. Je vous laisse juger par vous-même : 2 stylos MySQL, un ballon de plage, un boomrang....

Août 2007 – PHP Index: SV PHP-Nuke 8.1.02

Bonjour,

L'équipe du site Stefvar est heureuse de vous annoncer la mise à disposition de SV PHP-Nuke 8.1.02. Cette dernière est une évolution majeure de PHP-Nuke 8.1 conformément à la licence GNU/GPL troisième du nom.

Les principale évolutions sont :
- la mise à jour du forum en version 2.0.22
- la mise en place de système de cache en version 2.0.00
- la mise en place de divers correctifs de sécurité
- la mise en place d'un système de suivi de version et de mise à jour automatique
- L'étoffement de l'installeur automatique permettant le choix des préfixes des tables.

Cette version est disponible sur le site :
http://www.stefvar.com

Il est à noter que depuis le mois de juillet 2007, il est demandé un euro de contribution, reversé entièrement au profit de l'association SIDACTION, pour accéder aux ressources téléchargeables, merci.

Proposé par stefvar

Août 2007 – Nexen.net: Actualité de développement PEAR, edition 151

pear
5 paquets ont été mis à jour cette semaine : : Vérificateur DNSBL : Détection des violation de convention de codage : Gestion dynamique d'arbres, avec support des bases et XML : Implémentation de FIT : FIT: Framework for Integrated Test : Interface avec l'API Shared book PEAR est la bibliothèque de composants PHP.

Août 2007 – Nexen.net: Choisir parmi 5 framework

framework
TheCredence procède à une comparaison rapide de 5 frameworks : , , , et pour vous guider dans votre choix d'un framework PHP.

Août 2007 – Nexen.net: Choisir parmi 5 framework

framework
TheCredence procède à une comparaison rapide de 5 frameworks : , , , et pour vous guider dans votre choix d'un framework PHP.

Août 2007 – Nexen.net: Actualité de développement PEAR, edition 151

pear
5 paquets ont été mis à jour cette semaine : : Vérificateur DNSBL : Détection des violation de convention de codage : Gestion dynamique d'arbres, avec support des bases et XML : Implémentation de FIT : FIT: Framework for Integrated Test : Interface avec l'API Shared book PEAR est la bibliothèque de composants PHP.

Août 2007 – Kamelot Blog: Token

Je suis en train de traduire la documentation du package pear PHP_codeSniffer, et je me demandais comment traduire le terme "token" parce que la traduction que j'en connaissais (jeton) ne me semblait pas correspondre. J'ai jeté un oeil sur wikipedia et j'y ai trouvé la réponse : Lexème

Le lexème est le morphème lexical d'un lemme, c'est-à-dire une unité de sens et de son qui n'est pas fonctionnelle ou dérivationnelle. Le lexème renvoie à une notion abstraite ou concrète indépendante de la situation de communication.

C'est un synonyme de radical dans la plupart des cas, surtout utilisé dans le cadre de la lexicologie en synchronie. En effet, diachroniquement, radical et lexème peuvent ne pas coïncider.

Ceci étant fait, il me reste à traduire correctement "tokenizer"

Août 2007 – sahid.funraill.org: HTTPRequest, Gestion des requêtes en PHP

Une classe PHP5 pour gérer les requêtes passées notre application

Une classe outil qui peut être réutilisée et complétée pour gérer les requêtes POST et GET passées votre application.

Fonctionnement de la classe HttpRequest

La classe est assez simple et plutÎt utile, elle est complÚtement réutilisable (cela me fait penser que PHP6 et l’arrivée des espaces de nom (namespaces) sera une trÚs bonne nouvelle pour la communauté PHP. Car le manque de cette fonctionnalité commence réellement se faire sentir avec les multiples classes et frameworks qui voient le jour !), utilisée via un frontController elle permet d’intercepter les requêtes passées l’application sous toutes ses couches et les nettoie en fonction du type retourner.

Exemple d’utilisation

  1. <?php
  2.          $request = new HttpRequest;
  3.  
  4.          # RécupÚre la valeur d’un "module" alphabétique
  5.    $module = $request->getAlpha (‘module’);
  6.  
  7.    # RécupÚre les valeurs d’un formulaire
  8.          $nom = $request->getAlpha (‘nom’); // alphabétique
  9.          $mdp = $request->getAlnum (‘mdp’); // alphanumérique
  10.          $mnt = $request->getFloat (‘mnt’); // flottantes (ex : un montant)
  11.         
  12.          $usr_id = $request->getInt (‘usr_id’); // entier
  13.  
  14.          # RécupÚre les valeurs, sans les échapper (__get)
  15.          $mix = $request->mixedParam ();
  16. // HttpResquest, Gestion des requêtes en PHP
  17.    # Ajoute un nouveau paramÚtre (__set)
  18.    $request->newParam = “Hello World”;  
  19. ?>

A voir…

Au niveau du constructeur de la classe, j’utilise un array_merge pour récupérer les tableaux GET et POST, mais peut être que placer un paramÚtre au constructeur permettrait une meilleure souplesse de la classe.

  1. <?php
  2. class HttpRequest_2 {
  3.          private $_request;
  4.  
  5.          public function __construct ($array) {
  6.            $this->_request = $array;
  7.    }
  8.    // …
  9. }

Ainsi on peut choisir quels sont les types de variable qu’on souhaite récupérer…

  1. <?php
  2. # POST
  3. $request = new HttpRequest ($_POST);
  4.  
  5. # GET
  6. $request = new HttpRequest ($_GET);
  7.  
  8. # POST et GET
  9. $request = new HttpRequest (array_merge ($_POST, $_GET));
  10.  
  11. # POST, GET, COOKIE
  12. $request = new HttpRequest ($_REQUEST);
  13.  
  14. # ou toute autre variante …
  15. ?>

La classe HttpRequest complete

  1. <?php
  2.  
  3.         /**
  4.          * Ferdjaoui Sahid <sahid@funraill.org>
  5.          * http://sahid.funraill.org
  6.          *
  7.          * @copyright Copyright (c) 2007 Ferdjaoui Sahid
  8.          */
  9.  
  10. /**
  11. * HttpRequest, Gestion des requêtes passées   l’application
  12. *
  13. * @category HTTP
  14. * @package  HttpRequest
  15. */
  16. class HttpRequest
  17. {
  18.         private $_request;
  19.  
  20.         /**
  21.          */
  22.         public function __construct ()
  23.         {
  24.                 $this->_request = array_merge ($_POST, $_GET);
  25.         }
  26.  
  27.         /**
  28.          * Retourne la valeur d’un paramÚtre passé   l’appli
  29.          *
  30.          * @param mixed $key
  31.          * @return mixed
  32.          */
  33.         public function get ($key)
  34.         {
  35.                 return array_key_exists ($key, $this->_request)
  36.                         ? $this->_request[$key] : false;
  37.         }
  38.  
  39.         /**
  40.          * Ajoute un nouveau paramÚtre
  41.          *
  42.          * @param mixed $key
  43.          * @param mixed $val
  44.          */
  45.         public function set ($key, $val)
  46.         {
  47.                 $this->_request[$key] = $val;
  48.         }
  49.  
  50.         /**
  51.          * Mapping des méthodes get et set via l’utilisation de __get et __set
  52.          */
  53.         public function __get ($key) { return $this->get ($key); }
  54.         public function __set ($key, $val) { $this->set ($key, $val); }
  55.  
  56.         /**
  57.          * Retourne une chaîne de caractÚres alphabétiques
  58.          *
  59.          * @param mixed $key
  60.          * @return string
  61.          */
  62.         public function getAlpha ($key)
  63.         {
  64.                 return preg_replace (‘/[^[:alpha:]]/’, , $this->get ($key));
  65.         }
  66.  
  67.         /**
  68.          * Retourne une chaîne de caractÚres alphanumériques
  69.          *
  70.          * @param mixed $key
  71.          * @return string
  72.          */
  73.         public function getAlnum ($key)
  74.         {
  75.                 return preg_replace (‘/[^[:alnum:]]/’, , $this->get ($key));
  76.         }
  77.  
  78.         /**
  79.          * Retourne et convertit une chaîne en nombre   virgule flottante
  80.          *
  81.          * @param mixed $key
  82.          * @return integer
  83.          */
  84.         public function getInt ($key)
  85.         {
  86.                 return intval ($this->get ($key));
  87.         }
  88.  
  89.         /**
  90.          * Retourne une valeur   virgule flottante
  91.          *
  92.          * @param mixed $key
  93.          * @return float
  94.          */
  95.         public function getFloat ($key)
  96.         {
  97.                 return floatval ($this->get ($key));
  98.         }
  99.  
  100.         /**
  101.          * Retourne le nom du dossier qui contient le fichier ou dossier
  102.          *
  103.          * @param mixed $key
  104.          * @return mixed
  105.          */
  106.         public function getDir ($key)
  107.         {
  108.                 return dirname ($this->get ($key));
  109.         }
  110.  
  111.         /**
  112.          * Retourne le chemin canonique absolu
  113.          *
  114.          * @param mixed $key
  115.          * @return mixed
  116.          */
  117.         public function getPath ($key)
  118.         {
  119.                 return realpath ($this->get ($key));
  120.         }
  121.  
  122.         /**
  123.          * Retourne le tableur Requête
  124.          */
  125.         public function getRequest () { return $this->_request; }
  126. }

Août 2007 – Narno.com: Choisir parmi 5 framework PHP

"TheCredence procède à une comparaison rapide de 5 frameworks : Zend Framework, Symphony, Prado framework, CakePHP et CodeIgniter pour vous guider dans votre choix d'un framework PHP."

Source : Nexen

L'article de TheCredence : PHP frameworks - Which one is Most Suitable for you?

Août 2007 – Narno.com: Choisir parmi 5 framework PHP

"TheCredence procède à une comparaison rapide de 5 frameworks : Zend Framework, Symphony, Prado framework, CakePHP et CodeIgniter pour vous guider dans votre choix d'un framework PHP."

Source : Nexen

L'article de TheCredence : PHP frameworks - Which one is Most Suitable for you?

Août 2007 – Nexen.net: Protéger son code source PHP avec mod_security

code.php
Il arrive de découvrir parfois qu'un serveur Web a une fuite de code PHP : au lieu d'afficher de résultat du script PHP, il affiche carremment le code source, avec tous les problèmes de sécurité qui en découlent. Les sources de cette erreurs sont généralement un problème de configuration, où des fichiers n'ont pas d'extension adaptée : par exemple, un fichier .php.bak, comme en produisent certains éditeurs, ou bien les fichiers .inc, sont affichés par défaut comme des pages HTML par Apache. Une solution pour y remédier est d'utiliser mod_security, et d'interdire toutes les pages qui contiennent des balises PHP

Août 2007 – Nexen.net: La vie va changer avec MySQL 5.1

mysql.51
MySQL 5.1 devrait bientôt remplacer la version 5.0 comme version stable. Qu'est-ce que cette nouvelle version va apporter aux utilisateurs? Guiseppe Maxia nous rappelle les points forts : Partitions Réplication à la ligne Tables de log à la demande Programmeur d'événements Fonctions XML

Août 2007 – Nexen.net: Booster votre SQL avec les boucles du Proxy

accelerer
Parfois, il manque vraiment une structure de boucle en SQL. On aimerait bien pouvoir exécuter plusieurs fois la même requêtes, avec des changements incrémentaux sans avoir à passer par un éditeur ou un script PHP. C'est maintenant possible avec le proxy MySQL : le proxy dispose d'un langage de programmation, qui permet d'exécuter des scripts. Guiseppe Maxia a trouvé comment utiliser ces boucles pour des boucles numériques et même des boucles associatives.

Août 2007 – Nexen.net: Pense-bête MySQL

liste
Un pense-bête des commandes de MySQL, avec les mots-clés, les listes de paramètres et même quelques astuces de construction SQL.

Août 2007 – Nexen.net: Génération de XML depuis PHP et MySQL

unicode
Rolan Bouman s'intéresse à la publication de données textuelles depuis MySQL vers des documents externes, via PHP. Au départ, il y a une colonne de type MEDIUMTEXT en UTF8. Au final, il y a une multitude de documents en différents formats, RTF, HTML, text. Rolan a donc mis en place un script XSLT, qui assure la conversion de manière non-intrusive. Il lui reste donc à régler les problèmes de jeux de caractères, et c'est tout l'intérêt de cet article.

Août 2007 – Nexen.net: Accéder à une page Web avec PHP

Si la réponse la plus simple à la question ci-dessus est bien 'file_get_contents', il y a en fait beaucoup d'options comme les contextes (pour configurer la requête HTTP, incluant les méthodes, les cookies et les User-Agent), les flux (pour configurer les types d'accès), la gestion des erreurs et la reception du livrable. Un excellent article à garder sous le coude pour ne plus rien oublier.

Août 2007 – Nexen.net: GeekChat : chat PHP, MySQL et Ajax

"GeekChat Basic est un chat en ligne, basé sur PHP, MySQL pour donner un système puissant de communication, qui peut être intégré à n'importe quel site Web." GeekChat intègre ainsi jQuery pour la partie Ajax. Il dispose d'un système anti-flood, de canaux séparés, de canaux privés et d'un historique. Il est multi-plate-forme, et personnalisable.

Août 2007 – Digital Fashion: findBy{$Field} with Zend_Db_Table

A quick post to show how one can easily implement a findByField wrapper in Zend_Db_Table:

/**
         * Implements a simple findByField wrapper
         */


        public function __call($method, $args) {
                if (preg_match('/^findBy([a-zA-Z0-9]+)$/', $method, $parts)) {
                        $field = strtolower(preg_replace('/([a-z])([A-Z])/', '$1_$2', $parts[1]));
                        if (!in_array($field, $this->_cols)) {
                                throw new Zend_Db_Table_Exception(sprintf('\'%s\' field not in row', $field));
                        } else {
                                $db = $this->getAdapter();
                                $where = $db->quoteInto($db->quoteIdentifier($field).' = ?', $args[0]);
                                return $this->fetchAll($where);
                        }
                }
        }

What it does is basically trapping any non-existant method call and check if the corresponding field exists, after converting CamelCasing to underscore_notation (eg: FooBar becomes foo_bar).

Août 2007 – PHP Index: Galaxie PHP

Galaxie PHP est un site qui tente de regrouper en un seul flux RSS toute l'actualité francophone sur PHP, depuis les sites d'informations les plus connues aux blogs d'utilisateurs méconnues.

Si votre site parle de PHP n'hésitez pas à le proposer.

http://www.galaxie-php.info

Proposé par Julien Duponchelle

Août 2007 – Noplay: Lancement de Galaxie PHP

Tout comme planet-libre, Galaxie PHP est un planète pour PHP, c'est-à-dire un site qui agrège en un point toute l'actualité francophone sur PHP.

J'ai décidé de lancer ce site suite à l'ajout de mon blog à planet-libre (au passage bravo à tous les bloggeurs pour la qualités des articles publiés) et à ma lecture de nombreux planet anglophone (Planet PHP, Planet KDE...). J'ai donc eu envie de monter un planet francophone pour PHP et ainsi fournir une dose de drogue en plus pour les accros comme moi aux flux RSS.

N'hésitez pas me à proposer votre site si celui-ci parle de PHP.

http://www.galaxie-php.info

Août 2007 – Noplay: Intégration de PHPUnit dans Zend Studio

Sebastian Bergmann l'auteur de PHPUnit a posté des screenshoots de l'intégration de la suite de test unitaire PHPUnit dans la prochaine version de Zend Studio qui sera batis au dessus d'Eclipse.

http://www.phpunit.de/wiki/ZendStudio

Août 2007 – Nexen.net: JS Fuzzer et JS Lan Scan

scanner
Gareth Heyes propose deux outils en Open Source, après avoir blogué et testé en public leur utilité. Le premier est un Fuzzer : il s'agit d'un outil qui torture des balises HTML, pour les envoyer à un formulaire et tenter de passer outre les filtres qui ont été mis en place pour protéger le code HTML. A terme, le but est d'obtenir des vecteurs de XSS, avec une démarche totalement aléatoire, contrairement aux approches manuelles humaines, intuitive mais biaisée. Le rendement de ce type de recherche est faible, mais totalement automatisé, et sans idée préconçue sur les filtres de défenses. Le second est un script d'analyse d'un réseau LAN, à l'aide de JavaScript. Si vous exécutez le code de Gareth, vous obtiendrez quelques machines de votre réseau local. Si vous utilisez le même code sur une machine distante, pour pourriez découvrir la configuration de vos visiteurs. Une application pratique pour une XSS, trouvée ci-dessus.

Août 2007 – Nexen.net: Truc de réplication MySQL

trucs
La partie difficile dans une réplication est l'initialisation des données sur l'esclave. La récupération des données, qu'elle se fasse via le système ou bien directment en commande MySQL, impose un lourd travail d'exportation au maître. Keith Murphy vous propose une astuce, pour ajouter un second esclave à un maître : utilisez le second esclave pour prendre les données ET le point de réplication. Une fois les données lues sur cet esclave, reportez le nouvel esclave sur le maître, avec le point de réplication obtenu de l'autre esclave. Lisez le billet pour connaître toutes les commandes.

Août 2007 – Nexen.net: Enfin un moteur de gabarit en extension PHP

galerie
Blitz est une extension PHP, écrite en C, qui reproduit les fonctionnalités de la bibliothèque de gabarits (templates) php_templates, mais est devenu un projet à part entière au fil du temps. Blitz se concentre en particulier sur les performances d'exécution, et les graphiques indiquent des performances proches de PHP lui-même. Cela fait bien longtemps que Blitz apparaît dans les mises à jour d'extension, mais cela doit être le premier article de comparaison que je rencontre. Rob Peck publie un comparatif entre Blitz et Smarty, un des moteurs de gabarits de PHP les plus connus. Avoir un tel moteur de gabarits intégré à PHP me parait une excellente idée. Il y a un gain en performance notable, et une séparation des compétences plus marquée. Je verrai bien cette petite extension faire son chemin jusqu'à la distribution standard de PHP.

Août 2007 – Nexen.net: Le top 20 des modules Symfony

symfony
Une rapide analyse des statistiques du site de Symfony nous indique ce que les webmestres recherchent en plus du coeur de Symfony. Voici donc la liste des 20 modules les plus populaires, classés par nombre de pages vues durant les 30 derniers jours. 1. sfSimpleCMSPlugin 2. sfGuardPlugin 3. sfPropelActAsNestedSetBehaviorPlugin 4. sfMediaLibraryPlugin 5. sfSimpleBlogPlugin

Août 2007 – Nexen.net: Galaxie PHP

francais
Galaxie PHP est un planète pour PHP, c'est-à-dire un site qui agrège en un point toute l'actualité francophone sur PHP. Ce site ne remplace pas les sites de très grande qualités sur l'actualité de PHP, mais il fournit un point d'entrée unique à la communauté vers toute les publications francophone sur PHP et par ce biais offrir aux auteurs de blogs sur PHP une meilleur exposition et donc plus de motivation pour écrire des billets de qualités. Ce site s'inspire du planet-php anglophone qui est une excellente source d'informations avec des billets très pointus et l'humeur de la communauté.

Août 2007 – Nexen.net: Les objets prennent moins de place que les tableaux

observatoire
PHP 5 supporte beaucoup mieux les objets qu'auparavant, et surtout, ce sont maintenant des types de données spécifique, et non plus une version améliorée des tableaux. La preuve? Evert Pot mesure 24 fois moins de consommation de mémoire pour un objet que pour un tableau. Voila qui va faire réfléchir lors de la prochaine conception PHP....

Août 2007 – PHP Index: Distributions VAFEO

Une suite des distributions Linux composées des applications professionnelles parmi les plus réputées

Vafeo est le nom d'une suite de distributions Linux. Il a pour but de proposer des applications web intégrées dans un socle Debian - Etch. Ainsi plusieurs thèmes qui couvrent plus de 120 applications open source sont proposées dans cette suite.

La version actuelle de Vafeo propose 5 grands thèmes applicatifs suivants :

- va-business : applications CRM, eCommerce, ERP, marketing
- va_content : applications CMS, ECM, eLearning, Portails
- va_easy_eclipse : l'environnement de développement java
- va-manage : applications de surveillance systèmes et réseaux, Help Desk, WebMails, ...
- va-team : applications collaboratives, FAQs, Forums, Groupare, Blogs, Wikis, ...

Mise à part va-easy-eclipse, un grand nombre d'applications en PHP fait partie des distributions Vafeo.

Les distributions Vafeo existent sous plusieurs formes : LiveDvd ou images pour les outils de virtualisation les plus connus : KVM, Parallels, VirtualBox, ou VMWare.

Les amoureux des grandes applications PHP sont invités à faire un tour sur le site Vafeo pour se faire une idée des possibilités proposées par cette suite.

Franklin N.


Site officiel : http://www.vafeo.org
Downloads : http://www.vafeo.org/vsgimg-0.93/

Proposé par Franklin N.

Août 2007 – z-f.fr: Tutoriel sur smarty et le Zend Framework

Forum: Brèves
Auteur: philippe
Écrit le: Thu, 09 Aug 2007 18:40:55 +0200
Dernier message: Tue, 09 Oct 2007 08:23:58 +0200

Août 2007 – z-f.fr: Podcast de Bill Karwin

Forum: Brèves
Auteur: philippe
Écrit le: Thu, 02 Aug 2007 09:08:01 +0200
Dernier message: Thu, 02 Aug 2007 09:08:01 +0200

Août 2007 – z-f.fr: ZF 1.1.0 annoncée pour début septembre

Forum: Brèves
Auteur: philippe
Écrit le: Tue, 31 Jul 2007 11:02:34 +0200
Dernier message: Fri, 07 Sep 2007 18:04:16 +0200

Août 2007 – Nexen.net: Vidéo PHP et MySQL, édition 7

video
Voici les 5 dernières vidéos PHP et MySQL. Ces vidéos sont publiés sur les sites de partagent de vidéo. Ce sont des tutoriels enregistrés, des sessions de conférences, des screencast ou encore des slides de conférences. N'hésitez pas à nous contacter pour signaler tout media qui mérite d'être ajouté à cette liste.

Août 2007 – Nexen.net: Sharding : le nouveau must en architecture

construction
Le sharding est une pièce d'architecture à la mode pour MySQL. Le concept est de base est un couple de serveurs MySQL en réplication réciproque (chacun est le maître et l'esclave de l'autre). Cette simple configuration permet d'atteindre plusieurs buts : Haute disponibilité : chaque machine peut servir de backup immédiat à l'autre Plus de performances : les deux machines travaillent, au lieu d'en avoir une qui attent que l'autre tombe pour prendre le relais Plus d'écriture : les écritures sont réparties sur deux maîtres Flickr a porté le concept plus loin en appliquant un système de partitionnement : les données sont découpées en plusieurs partitions, et chaque partition va sur un shard. Un dernier shard sert alors à diriger les requêtes vers les bons shards.

Août 2007 – Kamelot Blog: Galaxie PHP - Planet PHP francophone

Tout est dans le titre

Août 2007 – PHP Québec: 12/6 19:00 PHP Quebec - Montreal

L'équipe de PHP Quebec de Montréal vous invite aux rencontres mensuelles qui ont lieu tout les premiers Jeudi du mois dans les locaux de l'ETS.

Evan Prodromou présentera comment créer des extensions pour MediaWiki.
Par la suite, Morgan Tocker donnera une présentation sur la gestion de base de donnée intitulée "Breaking the rules".

Notez que les deux présentations seront en anglais et des prix de présence seront distribués.

Confirmez votre présence sur upcoming.org
http://upcoming.yahoo.com/event/311686/

Date : 6 Decembre 2007
Heure : 19h00
Lieu : École de technologie supérieure
Salle : B1404
Metro: Bonaventure
Carte : http://www.etsmtl.ca/zone2/enbref/rendre.html
Ville : Montreal

Août 2007 – PHP Québec: 1/10 19:00 PHP Québec - Montréal

L'équipe de PHP Quebec de Montréal vous invite aux rencontres mensuelles qui ont lieu tout les premiers Jeudi du mois dans les locaux de l'ETS.

Robin Millette, présentera les avantages et technique d'intégration des standards ouverts telque les MicroFormats dans les applications web.

Yann larrivée, poursuivra avec un retour sur le codeFest 2.0 ainsi qu'une courte présentation sur la conférence PHP Québec 2008.

Vous aimeriez faire une présentation ou vous avez un sujet a proposer
pour cette rencontre, veuillez contacter les organisateurs
board@phpquebec.com

Confirmez votre présence sur:
FaceBook : http://www.facebook.com/event.php?eid=8162561423
Upcoming : http://upcoming.yahoo.com/event/396416

Date : 10 Janvier 2008
Heure : 19h00
Lieu : École de technologie supérieure
Salle : B3420
Metro: Bonaventure
Carte : http://www.etsmtl.ca/zone2/enbref/rendre.html
Ville : Montreal

Notez que la rencontre au lieu spécialement jeudi le 10 Janvier.

Août 2007 – PHP Québec: 2/7 19:00 PHP Québec - Montréal

L'équipe de PHP Québec de Montréal vous invite aux rencontres mensuelles qui
ont lieu tout les premiers Jeudi du mois dans les locaux de l'ETS.

Jean-Marc Fontaine présentera "Déboguer une application web avec FirePHP"

Déboguer une application web peut rapidement devenir fastidieux. L'utilisation
d'un débogueur simplifie ce processus mais il n'est pas toujours possible
d'en utiliser un. FirePHP est une extension Firefox qui permet de fournir des
informations de déboguage sans interférer avec l'affichage de l'application
web. Cela est particulièrement pratique pour déboguer de l'Ajax par exemple..

Benoit Marchand présentera "PHP dans la grande entreprise canadienne"

Cette session tentera de faire la lumière sur le statut actuel de PHP dans les
domaines gouvernementaux et de la grande entreprise canadienne, tout en
exposant les contraintes imposées par ces milieux-là aux fournisseurs de
solutions web et technologiques.

Vous aimeriez faire une présentation ou vous avez un sujet a proposer
pour cette rencontre, veuillez contacter les organisateurs
board@phpquebec.com

Confirmez votre présence sur:
Upcoming : http://upcoming.yahoo.com/event/396415
FaceBook : http://www.facebook.com/event.php?eid=8265172692

Des prix de présences seront distribués.

Date : 7 Février 2008
Heure : 19h00
Lieu : École de technologie supérieure
Salle : B3420
Metro: Bonaventure
Carte : http://www.etsmtl.ca/zone2/enbref/rendre.html
Ville : Montréal


Activité à venir:

- Salon de l'emplois OpenSource PHP Québec : 12 Mars 2008
http://conf.phpquebec.com/fr/emplois

- Conférence PHP Québec : 12-14 Mars 2008
http://conf.phpquebec.com/fr

- CodeFest PHP Québec 2.1 : Mai 2008
http://www.phpquebec.org/modules/piCal/index.php?cid=0&smode=Daily&action=View&event_id=0000000665&caldate=2008-5-16

Août 2007 – PHP Québec: 9/6 19:00 PHP Québec - Montréal

L'équipe de PHP Québec est fier de s'associer avec High-Touch Communications afin de vous présenter le codeFest PHP Québec 2007.

Le CodeFest PHP Québec:
À pour objectif principal est de faire participer les membres de la communauté PHP Québécoise au développement d'applications OpenSource, afin de démontrer le dynamisme de la communauté au Québec. Lors de cette première éditions, nous intégrerons le support OpenID.


OpenID :
Est un système d'authentification décentralisé qui permet l'authentification unique, ainsi que le partage d’attributs. Il permet à un utilisateur de s’authentifier auprès de plusieurs sites sans avoir à retenir un identifiant pour chacun d’eux mais en utilisant à chaque fois un unique identifiant OpenID. Le modèle OpenID se base sur des liens de confiance préalablement établis entre les fournisseurs de services (sites web utilisant OpenID par exemple) et les fournisseurs d’identité (OpenID providers).
Source : Wikipedia
http://fr.wikipedia.org/wiki/OpenID


Les Projets:

BeWelcome: lead Morgan Tucker
Habari: lead Andrew da Silva
TikiWiki: lead Marc Laporte
WifiDog: Evan Prodromou
Xoops : Lead Marc André Lanciault


Logis:
Nous invitons les gens de l'extérieur qui non pas d'endroit où rester pour la fin de semaine à visitez le site bewelcome.org
Avec ce site vous trouverez sans doute quelque personne qui vous laisseront faire du couch surfing à Montréal.


Lieu:
Le codeFest ce déroulera sur la terrasse du Pub 100 génie.

Lieu : École de technologie supérieure
Salle : B1510
Metro: Bonaventure
Carte : http://www.etsmtl.ca/zone2/enbref/rendre.html
Ville : Montreal


Horraire et Activité Connexes:

6 Septembre: Rencontre Mensuel PHP Québec:
En première parti, nous aurons une séance de questions réponses sur le développement web avec PHP. Apportez vos laptop et vos questions.

Nous poursuivrons avec une table ronde, afin d'identifier les solutions aux problèmes que nous risquons de rencontrer lors de l'intégration du support OpenID

Nous terminerons la soirée au 3 brasseurs sur St-Denis


Heure : 19h00
Lieu : École de technologie supérieure
Salle : B1510
Metro: Bonaventure
Carte : http://www.etsmtl.ca/zone2/enbref/rendre.html
Ville : Montreal


6 Septembre: À déterminer.


7 & 8 septembre:
Arrivé au Pub 100 génie à 9:00
5 à 7 (commandité par HighTouch Communication et Conférence PHP Québec)
Fin de la journée à 20:00

Heure : 9h00
Lieu : École de technologie supérieure
Salle : Pub 100 Génie
Metro: Bonaventure
Carte : http://www.etsmtl.ca/zone2/enbref/rendre.html
Ville : Montreal


Contact:
Vous faites partis de l'équipe de développement d'un outils qui bénéficierais du support OpenID? Vous aimeriez participer au développement de l'un des projet mentionner si haut?
Contactez nous
par email board@phpquebec.com
sur irc irc.freenode.net #codefest

Ceci est une bonne occasion pour venir découvrir Montréal!
Au plaisir de vous-y voir.

Août 2007 – PHP Québec: 9/7 9:00 codeFest PHP Quebec 2008

L'équipe de PHP Québec est fier de s'associer avec High-Touch Communications afin de vous présenter le codeFest PHP Québec 2007.

Le CodeFest PHP Québec:
À pour objectif principal est de faire participer les membres de la communauté PHP Québécoise au développement d'applications OpenSource, afin de démontrer le dynamisme de la communauté au Québec. Lors de cette première éditions, nous intégrerons le support OpenID.


OpenID :
Est un système d'authentification décentralisé qui permet l'authentification unique, ainsi que le partage d’attributs. Il permet à un utilisateur de s’authentifier auprès de plusieurs sites sans avoir à retenir un identifiant pour chacun d’eux mais en utilisant à chaque fois un unique identifiant OpenID. Le modèle OpenID se base sur des liens de confiance préalablement établis entre les fournisseurs de services (sites web utilisant OpenID par exemple) et les fournisseurs d’identité (OpenID providers).
Source : Wikipedia
http://fr.wikipedia.org/wiki/OpenID


Les Projets:

BeWelcome: lead Morgan Tucker
Habari: lead Andrew da Silva
TikiWiki: lead Marc Laporte
WifiDog: Evan Prodromou
Xoops : Lead Marc André Lanciault


Logis:
Nous invitons les gens de l'extérieur qui non pas d'endroit où rester pour la fin de semaine à visitez le site bewelcome.org
Avec ce site vous trouverez sans doute quelque personne qui vous laisseront faire du couch surfing à Montréal.


Lieu:
Le codeFest ce déroulera sur la terrasse du Pub 100 génie.

Lieu : École de technologie supérieure
Salle : B1510
Metro: Bonaventure
Carte : http://www.etsmtl.ca/zone2/enbref/rendre.html
Ville : Montreal


Horraire et Activité Connexes:

6 Septembre: Rencontre Mensuel PHP Québec:
En première parti, nous aurons une séance de questions réponses sur le développement web avec PHP. Apportez vos laptop et vos questions.

Nous poursuivrons avec une table ronde, afin d'identifier les solutions aux problèmes que nous risquons de rencontrer lors de l'intégration du support OpenID

Nous terminerons la soirée au 3 brasseurs sur St-Denis


Heure : 19h00
Lieu : École de technologie supérieure
Salle : B1510
Metro: Bonaventure
Carte : http://www.etsmtl.ca/zone2/enbref/rendre.html
Ville : Montreal


7 Septembre: À déterminer.
Pub Ste-Helisabeth vers 6:00.
Si vous nous cherchez, appelez le 514-581-8497

8 & 9 septembre:
Arrivé au Pub 100 génie à 9:00
5 à 7 (commandité par HighTouch Communication et Conférence PHP Québec)
Fin de la journée à 20:00

Heure : 9h00
Lieu : École de technologie supérieure
Salle : Pub 100 Génie
Metro: Bonaventure
Carte : http://www.etsmtl.ca/zone2/enbref/rendre.html
Ville : Montreal


Contact:
Vous faites partis de l'équipe de développement d'un outils qui bénéficierais du support OpenID? Vous aimeriez participer au développement de l'un des projet mentionner si haut?
Contactez nous
par email board@phpquebec.com
sur irc irc.freenode.net #codefest

Ceci est une bonne occasion pour venir découvrir Montréal!
Au plaisir de vous-y voir.

Août 2007 – PHP Québec: 9/7 19:00 PHPBeer - Montreal

L'équipe de PHP Québec de Montréal vous invite à une autre édition du légendaire PHP Beer.

Ce vendredi 7 Septembre, joignez vous à nous pour une autre légendaire édition de PHP Beer. Les PHP Beers sont un excellent moyen d'élargir votre réseaux et échanger sur divers sujet et peut être de PHP .

Venez nous y rejoindre vers 18:30 au Pub le Ste-Elisabeth. Si vous ne nous trouvez pas vous pouvez contacter Yann Larrivée au 514-581-8497

Au plaisir de vous y voir.

Date : 7 Septembre 2007
Heure : 18:30
Lieu : Le Ste-Elizabeth, 1412 Ste-Elizabeth
Ville : Montréal

=================================================

The Montreal PHP Quebec team is pleased to invite you to another legendary edition of the PHP Beer.

This friday, join us for another great PHP Beer. PHP Beers are a great way meet new people exchange on any topics and maybe talk about PHP.

Meet us at 6:30 at the Pub Ste-Elisabeth. If you can not find us you can contact Yann Larrivee at 514-581-8497

See you there!

Date : Septembre 07 2007
Time : 18:30
Location : Pub Le Ste-Elizabeth, 1412 Ste-Elizabeth
City : Montréal

Août 2007 – PHP Québec: 10/4 19:00 PHP Quebec - Montreal

The PHP Quebec Team is pleased to invite you to it's monthly meetings which are held every first Thursday's of each month at ETS.

Marc-Andre Lanciault will present Xoops and how to create modules for Xoops more efficiently by using the SmartObject framework.

The PHP Quebec team will then follow up with the presentation of the 2008 PHP Quebec conference program.

If time allows, we will answer attendees questions. So prepare your questions and bring your laptops.
You would like to give a talk or simply make a sugestion? Contact us by email board@phpquebec.com


Please RSVP for this event on Upcoming at the following url
http://upcoming.yahoo.com/event/235942/

Date : Octobre 4th 2007
Time : 19h00
Location : École de technologie supérieure
Room : B1404
Subway: Bonaventure
Map : http://www.etsmtl.ca/zone2/enbref/rendre.html
City : Montreal


=============================

L'équipe de PHP Québec de Montréal vous invite aux rencontres mensuelles qui
ont lieu tout les premiers Jeudi du mois dans les locaux de l'ETS.

En première parti Marc-André Lanciault présentera sur Xoops et le framework de
développement SmartObject. Celui-ci à pour objectif de facilité la
développement de module pour le CMS Xoops.

Damien Séguy poursuivra avec une présentation sur les architecture PHP &
MySQL.
"Pour maîtriser l'évolution d'une architecture PHP et MySQL, il faut
connaître les différentes topologies possibles, leur impact sur le
code, et leur manière d'évoluer : scale up ou scale out. Nous
passerons en revue les architectures les plus populaires, leurs degré
de maturité et l'impact sur le budget."

Si le temps le permet, apportés vos questions et vos laptop. Ils nous fera
plaisir de vous répondre.

Vous aimeriez faire une présentation ou vous avez un sujet a proposer
pour cette rencontre, veuillez contacter les organisateurs
board@phpquebec.com

Confirmez votre présence sur upcoming.org
http://upcoming.yahoo.com/event/235942/

Date : 4 Octobre 2007
Heure : 19h00
Lieu : École de technologie supérieure
Salle : B1404
Metro: Bonaventure
Carte : http://www.etsmtl.ca/zone2/enbref/rendre.html
Ville : Montréal

Août 2007 – PHP Québec: 11/1 19:00 PHP Quebec - Montreal

L'équipe de PHP Quebec de Montréal vous invite aux rencontres mensuelles qui ont lieu tout les premiers Jeudi du mois dans les locaux de l'ETS.

En première partie, Yann Larrivée présentera un sommaire de l'assemblée générale qui eu lieu samedi le 27 octobre. Puis, il enchainera avec la présentation du programme de la conférence PHP Québec 2008.

En deuxième parti, David Avenante présentera sur l'engin de recherche Lucene et comment l'intégrer à son site à l'aide de Zend Framework.

Vous aimeriez faire une presentation ou vous avez un sujet a proposer
pour cette rencontre, veuillez contacter les organisateurs
board@phpquebec.com

Confirmez votre présence sur Upcoming.
http://upcoming.yahoo.com/event/260671/

Date : 1 Novembre 2007
Heure : 19h00
Lieu : École de technologie supérieure
Salle : B1404
Metro: Bonaventure
Carte : http://www.etsmtl.ca/zone2/enbref/rendre.html
Ville : Montreal

Août 2007 – Narno.com: Galaxie PHP : l'aggrégateur des sites PHP francophones

Galaxie PHP est un aggrégateur de sites francophone traitant exlusivement de l'univers PHP.

Le site fonctionne à la manière de Planet PHP, c'est à dire qu'il sélectionne les articles provenant des sites référencés.

Galaxie PHP est une source d'informations intéressante pour la communauté PHP franophone, à tester donc : http://www.galaxie-php.info

Août 2007 – Narno.com: Galaxie PHP : l'aggrégateur des sites PHP francophones

Galaxie PHP est un aggrégateur de sites francophone traitant exlusivement de l'univers PHP.

Le site fonctionne à la manière de Planet PHP, c'est à dire qu'il sélectionne les articles provenant des sites référencés.

Galaxie PHP est une source d'informations intéressante pour la communauté PHP franophone, à tester donc : http://www.galaxie-php.info

Août 2007 – CreaOne: Fusionner deux champs d'une base de données

L'exemple suivant est un aide-mémoire pour moi seul, mais certains débutants pourront peut être y trouver leurs comptes ... Pour diverses raisons pratiques il est parfois nécessaire de fusionner deux champs d'une base de données vers un seul contenant l'ensemble des données. Le court programme (...)

Août 2007 – Nexen.net: Le coût des tables temporaires en SQL

accelerer
Lorsque certaines requêtes SQL ont de trop gros résultats, dépassant la taille de tmp_table_size, MySQL ouvre automatiquement une table temporaire sur le disque pour y stocker les données. C'est transparent pour l'utilisateur, hormis pour les performances : une table sur le disque est beaucoup plus lente qu'en mémoire. Peter Zaitsev compare alors une table temporaire sur le disque et en mémoire : la différence est un gain de l'ordre de 100 fois. Pour tirer partie des tables temporaires en mémoire, il faut régler deux variables : max_heap_table_size, qui indique la quantité de mémoire réservée aux opérations en mémoire pour MySQL, et tmp_table_size, qui mesure la taille maximale d'une table temporaire en mémoire avant de la passer sur le disque. Au passage, deux trucs intéressants à noter : SELECT * FROM table GROUP BY col ORDER BY NULL; Group by a la facheuse habitude de trier les résultats : avec order by NULL, on peut forcer GROUP BY a ne pas trier, ce qui fait gagner beaucoup de temps selon Peter. Quand on modifie une variable globale, la connexion courante n'est pas affectée. Seule les nouvelles connexions sont affectées...

Août 2007 – Nexen.net: Comparatif des API de cartographies

mapemonde
Les moteurs de cartes graphiques continuent de se faire une guerre enragée pour la suprémacie sur les applications Web. Depuis l'ouverture des API pour dialoguer de manière informatique avec ces outils, les services n'ont pas cessé d'évolué, paralellement aux informations délivrées. Niall Kennedy publie une comparaison entre les moteurs de Google, Yahoo et Microsoft. Open Street Maps, un moteur de carte libre, basé sur les contributions des utilisateurs, est encore en manque de données pour être fiable. Mais quand des millions de GPS se seront coordonnés pour couvrir le monde, le résultat sera splendide!

Août 2007 – Nexen.net: Actualité de développement PECL, edition 163

pecl
4 paquets ont été mis à jour cette semaine : : interface avec la bibliothèque graphique ImageMagick : Indique la localisation géographique d'une IP : Pilote PDO pour les bases de données IBM : Interface Trivial DB PECL est la bibliothèque d'extensions C de PHP.

Août 2007 – Nexen.net: L'invasion des éléphants commence....

elephpant
Il y a quelques semaines, il était encore tout seul. Ils sont maintenant deux : un male et une femelle! Cela préfigure une prolifération prochaine d'animaux bleu... Voici les photos du dernier prototype d'éléphant, juste avant sa mise en production.

Août 2007 – Narno.com: Drupal vs Joomla : performance

"In other words, Joomla's cache system improves performance by 12%, while Drupal's cache system improves performance by 508%."

L'aticle complet sur buytaert.net (english only !)

Août 2007 – Narno.com: Drupal vs Joomla : performance

"In other words, Joomla's cache system improves performance by 12%, while Drupal's cache system improves performance by 508%."

L'aticle complet sur buytaert.net (english only !)

Août 2007 – Arnaud Limbourg: PEAR ou pear ?

Une discussion a lieu en ce moment sur la mailing liste de PEAR sur un changement de casse.

L'auteur suggère "pear" en lieu et place de "PEAR".

Diverses raisons sont avancées, PEAR est un acronyme signifiant PHP Extension and Application Repository. Or aujourd'hui il n'y a plus les extensions qui sont dans PECL et il n'y a jamais vraiment eu d'applications.

Qu'en pensez-vous chers lecteurs ?

MaJ: j'avais mis deux fois PEAR

Août 2007 – Arnaud Limbourg: PEAR ou pear ?

Une discussion a lieu en ce moment sur la mailing liste de PEAR sur un changement de casse.

L'auteur suggère "pear" en lieu et place de "PEAR".

Diverses raisons sont avancées, PEAR est un acronyme signifiant PHP Extension and Application Repository. Or aujourd'hui il n'y a plus les extensions qui sont dans PECL et il n'y a jamais vraiment eu d'applications.

Qu'en pensez-vous chers lecteurs ?

MaJ: j'avais mis deux fois PEAR

Août 2007 – Noplay: Elephpants PHP

Damien Seguy de nexen.net et Vincent Pontier (l'auteur de l'éléphant PHP) nous préparent une petite peluche PHP toute mignonne.

J'attend de voir le prix mais je me laisserais bien tenter.

http://www.nexen.net/articles/dossi...

Août 2007 – Nexen.net: Premiers tutoriels sur les espaces de noms

etrange
Maintenant que PHP 6 dispose du support des espaces de noms, il va falloir apprendre à s'en servir. David Coallier et Stas s'y collent, avec un tutoriel et une FAQ. Les espaces de noms permettent de mieux compartimenter les noms qui sont choisis pour certains objets communs, comme les classes. Un préfixe est ajouté pour structurer les noms, un peu comme un nom de famille permet de faire la différence entre toutes les personnes qui sont du même prénom. Bien sûr, il existe des homonymes même avec cette configuration, mais maintenant, ils sont beaucoup plus rares.

Août 2007 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 157

securite
PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes : PHP 5.2.3 et 4.4.7; MySQL 5.0.45 (communauté) et 5.0.45 (entreprise), 4.1.22, ainsi que 5.1.20-beta. Les mises à jour sont recommandées vers ces versions. 4 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes : Drupal, Gallery, PHPSavant et phpMyAdmin Content Construction Kit for Drupal Nodereference Module Cross Site Scripting Site : PHP remote file inclusion vulnerability in bridge/yabbse.inc.php in Coppermine Photo Gallery (CPG) 1.3.1 allows remote attackers to execute arbitrary PHP code via a URL in the sourcedir parameter. Site : Savant Web Server Remote Buffer Overflow Vulnerability Site : Multiple cross-site scripting (XSS) vulnerabilities in phpMyAdmin 2.10.3 allow remote attackers to inject arbitrary web script or HTML via the (1) unlim_num_rows, (2) sql_query, or (3) pos parameter to (a) tbl_export.php; the (4) session_max_rows or (5) p Site :

Août 2007 – Nexen.net: Actualité de développement PEAR, edition 152

pear
2 paquets ont été mis à jour cette semaine : : Outil de génération d'extension PECL à partir d'une description XML : Gestion dynamique d'arbres, avec support des bases et XML PEAR est la bibliothèque de composants PHP.

Août 2007 – Nexen.net: Le meilleur de nexen.net en Juillet 2007

trophee
PHP 4 : chronique d'une mort annoncée (http://www.nexen.net/actualites/php/17327-php_4_:_chronique_dune_mort_annoncee.php)(1067 hits) Les espaces de noms débarquent en PHP (http://www.nexen.net/actualites/php/17324-les_espaces_de_noms_debarquent_en_php.php)(1021 hits) GPS Tracker (http://www.nexen.net/actualites/php/17341-gps_tracker.php)(997 hits) Toutes les balises HTML (http://www.nexen.net/actualites/trucs/17292-toutes_les_balises_html.php)(960 hits) Le monde fou des CAPTCHA (http://www.nexen.net/actualites/web/17359-le_monde_fou_des_captcha.php)(924 hits) PHP & Flex 3 beta (http://www.nexen.net/actualites/php/17342-php__flex_3_beta.php)(884 hits) Les 7 péchés de la sécurité Web (http://www.nexen.net/actualites/securite/17299-les_7_peches_de_la_securite_web.php)(850 hits) Livre Sécurité PHP 5 et MySQL. Des chapitres gratuits (http://www.nexen.net/actualites/tutorial/17328-livre_securite_php_5_et_mysql._des_chapitres_gratuits.php)(824 hits) Retrouvez les dépêches les plus populaires mois par mois, dans la rubrique 'Le meilleur du mois'. Vous pouvez aussi découvrir l'actualité PHP et MySQL uniquement à travers les liens publiés sur nexen.net, dans le link blogue : tous les liens y sont recensés, mais pas le billet d'actualité. Enfin, nous avons un porte-feuille de liens intéressants, dans la boîte à liens. Vous y trouverez beaucoup de PHP et MySQL, mais aussi d'autres petites perles intéressantes. Bonne lecture!

Août 2007 – jp.fox: Gestion des sessions avec Code Igniter

Logo Code Igniter déposé par EllisLab Je développe actuellement une application Web avec Code Igniter, un framework PHP léger. Afin d'accéder à la partie backoffice (administration) de l'application, j'utilise un accès par code utilisateur/mot de passe puis un système de sessions. Code Igniter propose un mécanisme simple pour gérer les sessions. Mais en regardant de plus près son fonctionnement, malgré une option permettant de stocker les sessions dans une base de données, on se rend compte que les informations sont systématiquement transférées sous forme de cookies sur le navigateur de l'utilisateur %-)

Il s'agit d'un gros problème de sécurité. Les sessions natives PHP stockent les données sur le serveur et non pas sur le client, ceci permet la gestion d'informations sensibles de manière beaucoup plus sécurisée.

Si vous avez déjà une application utilisant Code Igniter et ses sessions, je vous recommande vivement d'utiliser la bibliothèque d'Oscar Bajner, OB Session, qui corrige cette faille tout en gardant les API, bien documentés, de Code Igniter.

Août 2007 – Nexen.net: Le trafic internet prend ses quartiers d'été

artichow
Le trafic sur internet est saisonnier : en fonction du moment de l'année, il est plus ou moins fort, exactement comme les ventes de foie gras ou les habitations. Pour internet, ce sont les mois d'été les plus faibles. Le trafic commence à décroitre depuis juin, et ne se rétablit vraiment qu'au début octobre. Plusieurs effets se superposent durant ces mois-ci, et notamment les vacances/stages universitaires, et les vacances d'été des salariés. Décembre accuse aussi une baisse, liée aux fêtes de fin d'année.

Août 2007 – Nexen.net: Composant digester : Strut enfin en PHP 5

main.ampoule
Je suis actuellement en train d'effectuer la conversion du projet PHPMVC (http://www.phpmvc.net) en PHP5, PHPMVC étant le portage de Struts en PHP. Tout comme son parent Java, PHPMVC utilise un composant Digester nécessaire à la configuration, à partir de fichier XML, des applications web développés à partir du framework; de la même façon il est apparu que ce composant pouvait avoir une utilité commune à de nombreux projets PHP afin de lire des fichiers de configuration en XML. C'est pourquoi le projet "Digester pour PHP5" a été séparé du projet PHPMVC5 et que ce composant est désormais disponible en version béta. Pour résumer, le composant Digester vous permet de configurer un mapping XML -> objets PHP, qui déclenche certaines actions appelées règles à chaque fois qu'un masque particulier d'éléments imbriqués est reconnu. Un ensemble fourni de règles prédéfinies est mis à disposition, ou vous pouvez aussi créer vos propres règles.

Août 2007 – Nexen.net: Le trafic internet prend ses quartiers d'été

artichow
Le trafic sur internet est saisonnier : en fonction du moment de l'année, il est plus ou moins fort, exactement comme les ventes de foie gras ou les habitations. Pour internet, ce sont les mois d'été les plus faibles. Le trafic commence à décroitre depuis juin, et ne se rétablit vraiment qu'au début octobre. Plusieurs effets se superposent durant ces mois-ci, et notamment les vacances/stages universitaires, et les vacances d'été des salariés. Décembre accuse aussi une baisse, liée aux fêtes de fin d'année.

Août 2007 – Nexen.net: 15 fonctionnalités de PHP qui sont trop souvent ignorées

trucs
Une mine de pistes pour améliorer sa connaissance de la plate-forme. 1. Reflection API 2. Ticks 3. list(), extract(), and compact() 4. PHP5 SPL 5. __autoload() 6. Type Hinting 7. Abstract Classes and Iterfaces 8. static keyword 9. === and !== 10. Variable Assignment from within Conditional Statements 11. PHP's Magic Functions 12. __halt_compiler(): Halt the Compiler! 13. Variable Composition 14. Chaining Method Calls 15. preg_split Suivi de 12 points que ennuyant en PHP.

Août 2007 – Nexen.net: Tests Open Source : le site!

bug
Open Source Testing se consacre à recenser les outils de tests disponibles en Open Source. Il y a des listes de tests unitaires et de performances, incluant les tests fonctionnels, les graphiques, les bases de bogues. Un annuaire à garder sous la main pour aborder la phase de tests d'une application Web tranquillement.

Août 2007 – PHP Index: Roadmap de TYPO3 4.2

L'équipe de TYPO3 vient de dévoiler la liste des améliorations prévues pour la version 4.2 de leur CMS.

Voici les changements les plus importants apportés dans cette version :

  • L'UTF-8 sera utilisé par défaut lors de l'installation
  • La version 4.2 nécessitera PHP 5.2 ou une version supérieure
  • Réécriture du module d'installation et de configuration
  • Amélioration de l'IRRE (Inline Relational Record Editing)
D'après le planning publié sur le site officiel, TYPO3 4.2 sortira courant décembre 2007.A noter toutefois qu'il ne s'agit pas d'un planning définitif. Pour plus d'informations concernant l'avancement du projet, consultez le site officiel.

TYPO3 4.2 - Développement
Site officiel

Août 2007 – PHP Index: Composant Digester pour PHP5

Je suis actuellement en train d'effectuer la conversion du projet PHPMVC en PHP5, PHPMVC étant le portage de Struts en PHP. Tout comme son parent Java, PHPMVC utilise un composant Digester nécessaire à la configuration, à partir de fichier XML, des applications web développés à partir du framework; de la même façon il est apparu que ce composant pouvait avoir une utilité commune à de nombreux projets PHP afin de lire des fichiers de configuration en XML. C'est pourquoi le projet "Digester pour PHP5" a été séparé du projet PHPMVC5 et que ce composant est désormais disponible en version béta.

Pour résumer, le composant Digester vous permet de configurer un mapping XML -> objets PHP, qui déclenche certaines actions appelées règles à chaque fois qu'un masque particulier d'éléments imbriqués est reconnu. Un ensemble fourni de règles prédéfinies est mis à disposition, ou vous pouvez aussi créer vos propres règles.

Liens en français:

Proposé par Olivier HENRY

Août 2007 – Noplay: Archéologie PHP : old_function

Saviez vous qu'il est possible de déclarer des fonctions en PHP avec old_function à la place de function ? Cela pour simplifier la vie aux convertisseurs de code PHP/FI vers PHP3.

Ainsi ce code PHP :


function test($a, $b)
{
}

Peut s'écrire :


old_function test $a, $b();

http://fr2.php.net/manual/fr/migrat...

Août 2007 – Nexen.net: Entrevue avec Matt Mullenweg, auteur de Wordpress,

wordpress
Entrevue avec Matt Mullenweg, auteur de Wordpress, par Tim Ferriss, auteur du livre 'La semaine de 4 heures de travail'. Quelles ont été les plus grandes erreurs que vous ayez faites ? 1. La monétisation incongrue hotnacho de WordPress.org. 2. Ne pas avoir centralisé les modules et les thèmes dès le début 3. Croire que nous serions immunisé contre le spam 4. En faire trop moi-même

Août 2007 – Nexen.net: Configuration de tri de MySQL

tri
Peter Zaitsev expérimente avec la variable sort_buffer_size pour voir comment la vitesse de tri est affectée par cette variable. En partant d'une valeur minimum de 32 ko, et en montant la quantité de mémoire affectée au tri, Peter note que la vitesse de tri augmente, et que la complexité du tri décroit (moins de passes pour faire le tri). Malheureusement, au dela d'une valeur entre 75 et 250 ko, le nombre de passe de tri continue de réduire, mais le temps de calcul augmente. sort_buffer_size est donc une variable à optimiser avec doigté. Au passage, on peut surveiller l'impact des tris sur le système avec les variables d'état préfixées par sort : Sort_merge_passes, Sort_range, sort_rows, sort_scan.

Août 2007 – Nexen.net: Techniques de protection contre les CSRF

securite
Il y a peu de défense contre les CSRF, car c'est l'utilisateur innoncent qui exécute les commandes pour le pirate. Ce dernier ne passe jamais sur le site. Il existe quand même des techniques variées pour éviter le pire : Identifiant de formulaire unique Nom de page aléatoire Identification Casser les frames Limiter la casse

Août 2007 – Nexen.net: Configuration de tri de MySQL

tri
Peter Zaitsev expérimente avec la variable sort_buffer_size pour voir comment la vitesse de tri est affectée par cette variable. En partant d'une valeur minimum de 32 ko, et en montant la quantité de mémoire affectée au tri, Peter note que la vitesse de tri augmente, et que la complexité du tri décroit (moins de passes pour faire le tri). Malheureusement, au dela d'une valeur entre 75 et 250 ko, le nombre de passe de tri continue de réduire, mais le temps de calcul augmente. sort_buffer_size est donc une variable à optimiser avec doigté. Au passage, on peut surveiller l'impact des tris sur le système avec les variables d'état préfixées par sort : Sort_merge_passes, Sort_range, sort_rows, sort_scan.

Août 2007 – Nexen.net: Entrevue avec Matt Mullenweg, auteur de Wordpress,

wordpress
Entrevue avec Matt Mullenweg, auteur de Wordpress, par Tim Ferriss, auteur du livre 'La semaine de 4 heures de travail'. Quelles ont été les plus grandes erreurs que vous ayez faites ? 1. La monétisation incongrue hotnacho de WordPress.org. 2. Ne pas avoir centralisé les modules et les thèmes dès le début 3. Croire que nous serions immunisé contre le spam 4. En faire trop moi-même

Août 2007 – Nexen.net: 'Sécurité PHP 5 et MySQL 5'

livre.securite
Le livre sur la sécurité PHP 5 et MySQL 5 a son site compagnon, avec plusieurs listes de sécurité intéressantes. Vous y trouverez notamment : La liste des caractères spéciaux à protéger, pour PHP, MySQL, HTML et DNS. La liste des fonctions de protection de PHP : pensez toujours à les utiliser par défaut La liste des fonctions PHP qu'il faut surveiller Un annuaire de site de sécurité Ces listes sont issues des recherches réalisées dans le livre, et vous gagnerez sûrement à avoir le livre sous la main. Néanmoins, elles sont aussi utilisables sous un format électronique, et pourront orienter les plus débrouillards d'entre vous.

Août 2007 – Nexen.net: Variables MySQL pour les performances

comparaison
Pour gagner en performances avec MysQL, il y a quelques variables à connaître. Les plus importantes sont : key_buffer_size, innodb_buffer_pool_size, innodb_additional_mem_pool_size, innodb_log_file_size, innodb_log_buffer_size, innodb_flush_logs_at_trx_commit, table_cache, thread_cache et query_cache_size.

Août 2007 – Nexen.net: phpSysInfo : phpinfo pour le système

phpinfo
phpSysInfo est un script PHP qui affiche des informations sur l'hôte utilisé. Il analyse les fichiers comme /proc et affiche des informations telles que Uptime, CPU, mémoire, SCSI, IDE, PCI, Ethernet, disquettes et Video.

Août 2007 – PHP Index: ZendCon 2007

L'édition 2007 de ZendCon se déroulera du 8 au 11 Octobre au Hyatt Regency San Francisco Airport de Burlingame en Californie.

Cette conférence est le plus important rassemblement annuel de Zend. Au cours de ces trois jours, plus de quarante sessions et tutoriels sont prévus avec pour orateurs des spécialistes comme John Coggeshall, Wez Furlong, Ilia Alshanetsky, Andrei Zmievski, Derick Rethans, entre autres ....

Les inscriptions sont ouvertes sur le site web de l'événement.

Inscription
Site officiel de ZendCon
Liste des sessions/tutoriels de la conférence

Août 2007 – Nexen.net: WWW SQL Designer : conception de base sur le Web

database.design
WWW SQL Designer est une application de conception de base de données, écrite entièrement en Ajax. Vous pouvez y constituer vos bases de données, inscrire les relations d'une manière totalement graphique. À la fin, on peut exporter la base conçue pour MySQL, PostGreSQL, Oracle, MSSQL, ou encore en XML ou Propel. WWW SQL Designer contient aussi un outil de retro-ingénierie pour concevoir le schéma depuis une base existante.

Août 2007 – Nexen.net: Tout GD en trois tutoriels

gd
Trois tutoriel consacrés à GD, la bibliothèque la plus populaire pour créer des images avec PHP. Que ce soit pour des CAPTCHA, des graphiques ou des personnalisations, GD est utilisée à toutes les sauces. Les trois articles publiés sur devshed adressent trois aspects différents : après l'introduction classique aux fonctionnalités, vous retrouverez un dossier sur les modifications d'images existantes et un autre sur la création de nouvelles images depuis GD. A compléter évidemment avec la documentation en ligne.

Août 2007 – Nexen.net: Construisez votre serveur video avec Lighttpd et FlowPlayer

video
"Cet article vous montre comment construire votre propre serveur de video communautaire, diffusant des video .flv, format le plus populaire. Nous verrons aussi l'utilisation de mod_secdownload module, pour éviter le vol de bande passante. J'utilise FlowPlayer comme lecteur video Flash gratuit, avec le suport du module lighttpd. Enfin, je vous montre comment encore les vidéo .mp4 .mov .mpg .3gp .mpeg .wmv .avi au format FLV."

Août 2007 – Nexen.net: Questions d'entretien d'embauche

question
Nous avions déjà signalé une liste de questions par w3answers pour se préparer aux interrogations techniques lors d'un entretien pour un emploi. En voici deux nouvelles listes, pour s'assurer que vous connaissez bien tout. Les réponses ne sont pas fournies, alors vous aurez à travailler dessus avant d'y aller.

Août 2007 – PHP Index: phpMyAdmin 2.11.0

La version 2.11.0 stable de phpMyAdmin est disponible depuis hier soir.

Les quelques nouveautés sont la création de vues à partir des résultats de requête, le support de la version 5.0.37 de MySQL et une interface plus adaptée aux serveurs hébergeant plusieurs milliers de bases de données.
A noter, cette série est certainement la dernière qui supporte PHP4.

Site officiel
Changelog
Téléchargement

Août 2007 – Nexen.net: PHP 5.2.4RC2

php.qa
L'équipe d'assurance qualité a sortie une version RC2 de la prochaine PHP 5.2.4. Cette version est importante à tester, car cela devrait être la dernière de la série des 5.2.x. L'accente est donc mis sur la stabilité de cette version. La prochaine version sera une 5.3, avec des nouveautés. Cette nouvelle RC inclut 19 nouvelles corrections de bogues, en plus des 101 corrections de la RC1, et 24 autres améliorations diverses. A noter aussi que désormais, les erreurs d'analyse de PHP conduiront à une erreur HTTP 500, et non plus un affichage de type 200, comme d'habitude. Cela ne corrigera pas le script, mais au moins, le serveur Web diffusera un code d'erreur adapté à la situation. A vos téléchargements!

Août 2007 – Nexen.net: PHP 5.2.4RC2

php.qa
L'équipe d'assurance qualité a sortie une version RC2 de la prochaine PHP 5.2.4. Cette version est importante à tester, car cela devrait être la dernière de la série des 5.2.x. L'accente est donc mis sur la stabilité de cette version. La prochaine version sera une 5.3, avec des nouveautés. Cette nouvelle RC inclut 19 nouvelles corrections de bogues, en plus des 101 corrections de la RC1, et 24 autres améliorations diverses. A noter aussi que désormais, les erreurs d'analyse de PHP conduiront à une erreur HTTP 500, et non plus un affichage de type 200, comme d'habitude. Cela ne corrigera pas le script, mais au moins, le serveur Web diffusera un code d'erreur adapté à la situation. A vos téléchargements!

Août 2007 – Nexen.net: Migrating de MS Access à MySQL

microsoft
"Selon un récent sondage, plus de 20% des utilisateurs MySQL envisagent de migrer des applciations Microsoft Access vers MySQL dans les 12 prochains mois. Il y a malheureusement très peu de documentatino pour décrire les bonnes pratiques de ce type d'opération. Ce document résume les discussions autour de la session MS Access Migration durant la rencontre 2007 MySQL User Group en Californie. Cette session a rassemblé un grand nombre d'utilisateurs MySQL, avec le but d'identifier les clés du succès lors de la migration d'applications Access vers MySQL."

Août 2007 – Nexen.net: Vidéo PHP et MySQL, édition 8

video
Voici les 5 dernières vidéos PHP et MySQL. Ces vidéos sont publiés sur les sites de partagent de vidéo. Ce sont des tutoriels enregistrés, des sessions de conférences, des screencast ou encore des slides de conférences. N'hésitez pas à nous contacter pour signaler tout media qui mérite d'être ajouté à cette liste.

Août 2007 – Nexen.net: Un premier mode teinté pour PHP

cadenas
Stefan Esser signale un projet de Tainted mode pour PHP, édité par CORE GRASP. Le mode teinté consiste à marque les valeurs d'un indicateur de leur niveau potentiel de corruption. $_GET et $_POST, entre autres, seraient évidemment marquées. Inversement, des valeurs sûres, comme une constante, seront marquée comme non-corrompues. Le niveau de corruption potentiel évolue alors avec les opérations. Certaines le réduisent, comme les fonctions de validation, et d'autres l'augmentent, comme combiner une valeur saine avec une valeur corrompue. Au final, des fonctions sensibles comme mysql_query peuvent finalement refuser d'utiliser une requête construire avec trop de données corrompues. Cette technique n'est pas sans faille, et pose surtout des problèmes de performances et de consommation. Mais la sécurité est souvent à ce prix. A suivre...

Août 2007 – Nexen.net: Migrating de MS Access à MySQL

microsoft
"Selon un récent sondage, plus de 20% des utilisateurs MySQL envisagent de migrer des applciations Microsoft Access vers MySQL dans les 12 prochains mois. Il y a malheureusement très peu de documentatino pour décrire les bonnes pratiques de ce type d'opération. Ce document résume les discussions autour de la session MS Access Migration durant la rencontre 2007 MySQL User Group en Californie. Cette session a rassemblé un grand nombre d'utilisateurs MySQL, avec le but d'identifier les clés du succès lors de la migration d'applications Access vers MySQL."

Août 2007 – Nexen.net: phpMyAdmin 2.11.0 publié

phpmyadmin
phpMyAdmin publie la dernière mouture du très populaire logiciel de gestion des bases MySQL, écrit en PHP. "Cette version apporte la création de vue à partir d'un résultat de requête, et sait gérer les déclencheurs, les procédures et les fonctions. Elle supporte aussi MysQL 5.0.37 et le profilage des requêtes, ainsi qu'une interface améliorée." phpMyAdmin devrait aussi abandonner le support de PHP 4 pour se consacrer uniquement à PHP 5.

Août 2007 – Nexen.net: Un premier mode teinté pour PHP

cadenas
Stefan Esser signale un projet de Tainted mode pour PHP, édité par CORE GRASP. Le mode teinté consiste à marque les valeurs d'un indicateur de leur niveau potentiel de corruption. $_GET et $_POST, entre autres, seraient évidemment marquées. Inversement, des valeurs sûres, comme une constante, seront marquée comme non-corrompues. Le niveau de corruption potentiel évolue alors avec les opérations. Certaines le réduisent, comme les fonctions de validation, et d'autres l'augmentent, comme combiner une valeur saine avec une valeur corrompue. Au final, des fonctions sensibles comme mysql_query peuvent finalement refuser d'utiliser une requête construire avec trop de données corrompues. Cette technique n'est pas sans faille, et pose surtout des problèmes de performances et de consommation. Mais la sécurité est souvent à ce prix. A suivre...

Août 2007 – Nexen.net: phpMyAdmin 2.11.0 publié

phpmyadmin
phpMyAdmin publie la dernière mouture du très populaire logiciel de gestion des bases MySQL, écrit en PHP. "Cette version apporte la création de vue à partir d'un résultat de requête, et sait gérer les déclencheurs, les procédures et les fonctions. Elle supporte aussi MysQL 5.0.37 et le profilage des requêtes, ainsi qu'une interface améliorée." phpMyAdmin devrait aussi abandonner le support de PHP 4 pour se consacrer uniquement à PHP 5.

Août 2007 – PHP Index: Web 2.0 Starter Toolkit pour Zend Core for IBM

IBM vient de publierWeb 2.0 Starter Toolkit, un nouvel utilitaire pour Zend Core for IBM.

Cet utilitaire a pour objectif de faciliter encore un peu plus la création d'applications PHP basées sur l'AJAX, l'ATOM et les services Web REST et de permettre la création de services Web basés sur la technologie PHP/DB2.

Rappelons que Zend Core for IBM est une distribution PHP pour le développement et le déploiement d’applications comprenant Apache, PHP, le Zend Framework et DB2 Express-C (serveur de données hybride relationnel-XML d’IBM). Grâce à ces nombreux utilitaires, Zend Core for IBM est une solution complète pour le développement d'applications Web basés sur le système de gestion de base de données d'IBM : DB2.

Télécharger Web 2.0 Starter Toolkit
Site officiel d'IBM

Août 2007 – PHP Index: Zend DevZone : AJAX Chat Tutorial Part 6

La partie 6 du tutorial de la DevZone de Zend dont le but est de développer une messagerie grâce à AJAX et XML a été mise à jour.

Ce tutorial nous présente une méthode pour afficher et mettre à jour la liste des utilisateurs du chat.

Lien vers le tutorial : AJAX Chat Tutorial Part 6 : Updating the User List

Les anciens tutoriaux sont toujours disponibles a ces adresses :

Août 2007 – PHP Index: IBM : Développer une application avec Project Zero

IBM propose un article sur la création d'applications avec le plug-in Project Zero, qui propose un environnement pour le développement d'application web pour Eclipse.

Project Zero est un projet développé en partenariat avec IBM, qui permet le développement d'application web dynamique "sans difficulté, sans frais et sans obstacle".

Après avoir installé tous les logiciels nécessaires (Java 5, PHP Developpement Tools, Project-Zero), l'article propose de réaliser une première application utilisant du PHP. La deuxième application, est un exemple d'utilisation d'Ajax avec Project Zero.

L'article
Project-Zero

Août 2007 – Nexen.net: Actualité de développement PECL, edition 164

pecl
2 paquets ont été mis à jour cette semaine : : interface avec la bibliothèque graphique ImageMagick : Indique la localisation géographique d'une IP PECL est la bibliothèque d'extensions C de PHP.

Août 2007 – Nexen.net: Savoir gérer le lag de réplication

replication
Un problème courant de la réplication MySQL est le lag, ou encore le retard entre le serveur maître et les serveurs esclave. La réplication est asynchrone, et les deux peuvent finalement être séparé d'une durée variable. Dries Buytaert propose plusieurs approches pour gérer ce retard, à défaut de le corriger. 1. Exécuter les requêtes sur le maître, sauf en lecture seule 2. Passer en réplication synchrone (cluster MySQL, patch Google) 3. Utiliser un équilibreur de charge, ou un proxy 4. Utiliser le partitionnement et le sharding 5. Réécrire l'application pour qu'elle gère ce retard 6. Utiliser le modèle media wiki, où on teste le retard, et on attend qu'il se résorbe

Août 2007 – Nexen.net: PHPLint : vérifiez votre code PHP

phplint
PHPLint est un analyseur de code PHP. Il passe en revue le code source de PHP, puis indique les différentes erreurs de documentation et de style qu'il a repéré. Il étudie le code source d'un point de vue sémantique, et remonte automatiquement des erreurs, telle que les fonctions qui ne servent à rien, les codes en trop, les branches conditionnelles inutiles, etc. Vous pouvez essayer la version de démonstration en ligne, avec quelques exemples de code, ou bien télécharger deux versions locales. Je n'ai pas pu tester la version locale sur mon mac, mais peut-être aurez-vous plus de chance. PHPLint fait la promotion d'un code PHP bien écrit, documenté et sécuritaire. En imposant des normes vérifiables, il pourra être un outil important pour industrialiser votre code.

Août 2007 – Nexen.net: PHPLint : vérifiez votre code PHP

phplint
PHPLint est un analyseur de code PHP. Il passe en revue le code source de PHP, puis indique les différentes erreurs de documentation et de style qu'il a repéré. Il étudie le code source d'un point de vue sémantique, et remonte automatiquement des erreurs, telle que les fonctions qui ne servent à rien, les codes en trop, les branches conditionnelles inutiles, etc. Vous pouvez essayer la version de démonstration en ligne, avec quelques exemples de code, ou bien télécharger deux versions locales. Je n'ai pas pu tester la version locale sur mon mac, mais peut-être aurez-vous plus de chance. PHPLint fait la promotion d'un code PHP bien écrit, documenté et sécuritaire. En imposant des normes vérifiables, il pourra être un outil important pour industrialiser votre code.

Août 2007 – Nexen.net: Actualité de développement PECL, edition 164

pecl
2 paquets ont été mis à jour cette semaine : : interface avec la bibliothèque graphique ImageMagick : Indique la localisation géographique d'une IP PECL est la bibliothèque d'extensions C de PHP.

Août 2007 – Nexen.net: Savoir gérer le lag de réplication

replication
Un problème courant de la réplication MySQL est le lag, ou encore le retard entre le serveur maître et les serveurs esclave. La réplication est asynchrone, et les deux peuvent finalement être séparé d'une durée variable. Dries Buytaert propose plusieurs approches pour gérer ce retard, à défaut de le corriger. 1. Exécuter les requêtes sur le maître, sauf en lecture seule 2. Passer en réplication synchrone (cluster MySQL, patch Google) 3. Utiliser un équilibreur de charge, ou un proxy 4. Utiliser le partitionnement et le sharding 5. Réécrire l'application pour qu'elle gère ce retard 6. Utiliser le modèle media wiki, où on teste le retard, et on attend qu'il se résorbe

Août 2007 – PHP Index: eZ Publish 3.9.3 et 3.10.0 beta1

eZ System a publié une nouvelle version de son CMS Open Source, eZ Publish.

Estampillé 3.9.3, cette mise à jour corrige un important problème de sécurité ainsi que plusieurs anomalies qui sont détaillées dans le changelog.

Annoncée également, la sortie de eZ Publish 3.10.0 en version Beta1. Rappelons que cette version est encore instable et par conséquence succeptible de contenir des bogues.

Télécharger eZ Publish 3.9.9
Télécharger eZ Publish 3.10.0 Beta1
Site officiel

Août 2007 – Nexen.net: Qu'est ce que le Late Static Bindings

prisme
PHP 6 disposera du Late Static Binding : cette technique permet d'arrimer une méthode à une classe, au lieu de voir PHP indiquer la classe où elle a été définie, et non pas la classe où elle est utilisée. Si cela vous parait confus, je dois reconnaître que c'est difficile à expliquer sans passer par des classes, comme le fait si bien Etienne Kneuss. Pourquoi cela s'appelle Late State Binding reste un mystère : cela doit être du jargon du moteur interne de PHP.

Août 2007 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 158

securite
PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes : PHP 5.2.3 et 4.4.7; MySQL 5.0.45 (communauté) et 5.0.45 (entreprise), 4.1.22, ainsi que 5.1.20-beta. Les mises à jour sont recommandées vers ces versions. 7 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes : Drupal, Joomla, SPIP, WordPress, phorum, phpMyAdmin et vBulletin Drupal Project and Project Issue Tracking Modules Insecure Permissions Security Bypass Vulnerability Site : Joomla SimpleFAQ Component aid SQL Injection Site : SPIP Inc-Calcul.PHP3 Remote File Include Vulnerability Site : WordPress Blue Memories Theme "s" Cross-Site Scripting Site : m-phorum Index.PHP Cross-Site Scripting Vulnerability Site : RETIRED: phpMyAdmin Multiple Cross-Site Scripting Vulnerabilities Site : vBulletin V3.6.8 XSS Password Md5 Hash Site :

Août 2007 – Nexen.net: Présentation de Flex

flex
"Pour les besoins du boulot, j'ai du me mettre à Flex, le framework d'Adobe orienté RIA en Flash. Je pensais que mon passé de flasheur m'aiderait à monter rapidement en compétence sur cette techno, ben non : c'est tout à fait autre chose que ce que je connaissais de l'IDE traditionnel, dont je m'étais arrêté à la version 8. Avec Flex on a affaire à un framework complet de génération d'interfaces riches basées sur l'emploi de composants décrits et paramétrés en XML et de la dernière mouture du langage ActionScript en version 3"

Août 2007 – Nexen.net: Pourquoi les DBA Oracle vont apprendre MySQL

mysql
[...] cela signifie que la population d'administrateurs de bases de données qui souhaitent gérer leurs données importantes sur MySQL est limité actuellement au nombre des DBA qui étaient déjà en train d'utiliser MySQL il y a 5 ans. Ce qui signifie que l'offre sur le marché est inférieure à la demande actuelle, d'un facteur de 5 à 10."

Août 2007 – Nexen.net: Qu'est ce que le Late Static Bindings

prisme
PHP 6 disposera du Late Static Binding : cette technique permet d'arrimer une méthode à une classe, au lieu de voir PHP indiquer la classe où elle a été définie, et non pas la classe où elle est utilisée. Si cela vous parait confus, je dois reconnaître que c'est difficile à expliquer sans passer par des classes, comme le fait si bien Etienne Kneuss. Pourquoi cela s'appelle Late State Binding reste un mystère : cela doit être du jargon du moteur interne de PHP.

Août 2007 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 158

securite
PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes : PHP 5.2.3 et 4.4.7; MySQL 5.0.45 (communauté) et 5.0.45 (entreprise), 4.1.22, ainsi que 5.1.20-beta. Les mises à jour sont recommandées vers ces versions. 7 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes : Drupal, Joomla, SPIP, WordPress, phorum, phpMyAdmin et vBulletin Drupal Project and Project Issue Tracking Modules Insecure Permissions Security Bypass Vulnerability Site : Joomla SimpleFAQ Component aid SQL Injection Site : SPIP Inc-Calcul.PHP3 Remote File Include Vulnerability Site : WordPress Blue Memories Theme "s" Cross-Site Scripting Site : m-phorum Index.PHP Cross-Site Scripting Vulnerability Site : RETIRED: phpMyAdmin Multiple Cross-Site Scripting Vulnerabilities Site : vBulletin V3.6.8 XSS Password Md5 Hash Site :

Août 2007 – Nexen.net: Présentation de Flex

flex
"Pour les besoins du boulot, j'ai du me mettre à Flex, le framework d'Adobe orienté RIA en Flash. Je pensais que mon passé de flasheur m'aiderait à monter rapidement en compétence sur cette techno, ben non : c'est tout à fait autre chose que ce que je connaissais de l'IDE traditionnel, dont je m'étais arrêté à la version 8. Avec Flex on a affaire à un framework complet de génération d'interfaces riches basées sur l'emploi de composants décrits et paramétrés en XML et de la dernière mouture du langage ActionScript en version 3"

Août 2007 – Nexen.net: Pourquoi les DBA Oracle vont apprendre MySQL

mysql
[...] cela signifie que la population d'administrateurs de bases de données qui souhaitent gérer leurs données importantes sur MySQL est limité actuellement au nombre des DBA qui étaient déjà en train d'utiliser MySQL il y a 5 ans. Ce qui signifie que l'offre sur le marché est inférieure à la demande actuelle, d'un facteur de 5 à 10."

Août 2007 – Nexen.net: 20 ensembles d'icones modernes

smashingmagazine
20 ensembles d'icones choisis par Smashing Magazine, pour illustrer RSS, drapeaux ou activités courantes. On a toujours besoin d'icones pour ses applications Web, et outre ces 20 ensembles qui donnent une idée des tendances actuelles, il y a aussi 7 autres liens avec des archives complètes. Il manque mon vieux copain de iconfactory, alors je le rajoute ici.

Août 2007 – Nexen.net: Actualité de développement PEAR, edition 153

pear
2 paquets ont été mis à jour cette semaine : : Gestionnaire de schéma de base de données en XML : Décode et encode des fichiers au format BitTorrent PEAR est la bibliothèque de composants PHP.

Août 2007 – Nexen.net: Actualité de développement PEAR, edition 153

pear
2 paquets ont été mis à jour cette semaine : : Gestionnaire de schéma de base de données en XML : Décode et encode des fichiers au format BitTorrent PEAR est la bibliothèque de composants PHP.

Août 2007 – Nexen.net: Séparer les requêtes SQL avec le proxy MySQL

mysql.proxy
Jan Kneschke publie un tutoriel pour le proxy MySQL, destiné à séparer les requêtes SQL en fonction de leur impact : les écritures vont directement sur le maître, tandis que les lectures vont uniquement sur les esclaves. Cela permet de mettre en place une architecture de réplication sans modifier le code source de l'application amont (PHP ou autre) : le proxy MySQL se charge de faire la répartition entre les différents noeuds de l'architecture. Dans le deuxième volet du tutoriel, Jan s'intéresse à des couples de requêtes classiques, comme les insertions avec colonne auto_increment, ainsi qu'à la mesure du lag de réplication.

Août 2007 – Nexen.net: Copix 3 en finale la semaine du 27 août

copix
La deuxième release candidate de Copix 3 est maintenant disponible dans l'espace des téléchargements. Cette version inclus l'ensemble de ce que nous voulions placer dans Copix 3, et nous pensons maintenant sereinement à la 3.1 avec en particulier le système de formulaires qui a déjà plus que bien avancé. Cette version inclus les changements majeurs suivants : Apparition de CopixSession qui apporte des facilités de manipulation, notamment pour les objets et les namespaces. Apparition de CopixUploadedFile qui permet de rapidement gérer les upload de fichiers sur le serveur. Ajout de plusieurs tutoriaux qui vous permettrons de prendre en main Copix avec des exemples concrets, comme par exemple le module exemple CRUD. Ajout d'une interface pour configurer les caches au même titre que les logs. Les DAO, en particulier la méthode findBy, supportent maintenant les groupes et les limites dans les sélections. CopixHTMLHeader est maintenant utilisable de partout dans Copix, jusqu'à la dernière minute Ajout d'un tag mootools qui se charge d'inclure facilement la bibliothèque. Les méthodes beforeAction et afterAction peuvent maintenant retourner un CopixActionReturn. Un mot de passe administrateur est généré aléatoirement lors de l'installation de Copix. Cette version inclus également d'autres changements comme de nouveaux modules (par exemple comments), des évolutions dans les modules existant, de nouveaux plugins, tags et de nombreuses corrections de bugs. Nous continuons nos efforts sur la documentation dans l'attente de la version 3 officielle. Bon Copix !

Août 2007 – PHP Index: IBM : Intégrer SQL dans du XML avec PHP

IBM propose sur son site un tutorial sur l'utilisation de la classe XML_Query2XML intégrée dans la section XML de PEAR (Bibliothèque d'extensions PHP). Attention, le package XML_Query2XML requiert PHP 5.0.

Dans ce tutorial, IBM explique entre autres comment exporter les résultats d'une requete SQL dans un flux XML. Chaque enregistrement retourné par la requête est inséré dans un élément et chaque champ de cet enregistrement est inséré dans un élément portant le nom du champ dans la base de données.

Par exemple :

<row>
<code>NLD</code>
<name>Netherlands</name>
<continent>Europe</continent>
<region>Western Europe</region>
<surfacearea>41526.00</surfacearea>
<population>15864000</population>
</row>

Il est possible ensuite de mettre en forme ce flux XML en lui associant une feuille XSL pour récupérer un flux HTML.

La fonction getXML() permet de personnaliser le flux XML généré en définissant par exemple le nom des éléments (mettre au autre nom d'élement que "row" par défaut).
Cette classe permet également entre autres de gérer les jointures entre 2 tables, d'effectuer des backups (en enregistrant dans le flux XML la structure de la table et son contenu).

Le tutorial comporte de nombreux exemples illustrants les différentes (et nombreuses) fonctionnalités de cette classe.

Voir le tutorial complet (en Anglais)

Août 2007 – Nexen.net: Pourquoi il faut éviter Active Record

database.design
Active Record est un motif de conception qui permet de relier un objet avec une représentation par colonne dans une base de données. En fait, c'est tellement courant comme relation que des outils génériques ont été conçu pour créer des objets à partir de tables, et vice-versa. Kore Nordman analyse ce concept, et nous explique quelles sont les limitations du concept d'Active Record, notamment dans son utilisation comme ORM.

Août 2007 – Nexen.net: Sécurité PHP et Ajax

voyeur
"Observez donc un formulaire, écrit en PHP. Chaque aspect de votre script qui accepte et traite des données est un point d'attaque potentiel. Si vous ajoutez Ajax, vous augmentez la complexité de l'application, et, par extension, vous introduisez plus de vulnérabilités. Plus de points d'entrée signifient une surface d'attaque plus grande, et donc, plus de problèmes potentiels pour votre application."

Août 2007 – Nexen.net: Différentes sauvegardes pour MySQL

savon
"En supposant que vous ne voulez pas acheter de logiciel supplémentaire (eg, Zmanda), vous pouvez utiliser mysqldump (export) et/ou LVM (hot backup) pour vos besoins en sauvegarde. mysqlhotcopy n'est pas fait pour InnoDB. La réplication est aussi une bonne idée. Voici plus d'information sur chaque méthode." Une revue du paysage de la sauvegarde de données MySQL, par un administrateur Oracle. Ceux qui connaissent cette technologie retrouveront un certain nombre de concept familier, déclinés à la sauce MySQL.

Août 2007 – Nexen.net: Filtrage d'image avec la bibliothèque de GD dans PHP

prisme
La librairie GD offre de nombreuses possibilités avec le PHP, Cette librairie n'est pas destinée qu'à établir des images dynamiques. Une nouvelle fonction imagefilter() est disponible depuis la version de PHP 5 et permet de renverser, brouiller et accentuer les couleurs d'une image déterminée. Le site Devshed.com y consacre un article.

Août 2007 – Nexen.net: Problème de verrou?

cadenas.ouvert
Ou comment il suffit d'avoir plus de donner pour débloquer deux transactions. Et où vous en apprendrez plus sur le fonctionnement de l'optimiseur interne de MySQL.

Août 2007 – Nexen.net: 45 excellents designs de blogues

smashingmagazine
Dans cette liste, "vous trouverez 45 excellentes conceptions de blogues, qui impressionnent par leur approche créative et leur attention aux détails. Avec un peu de chance, vous trouverez de nouvelles idées à développers dans vos propres pages." Rien de vaut smashing magazine pour l'inspiration.

Août 2007 – Nexen.net: Tutoriel PHP, MySQL et Google Maps

google.maps
Comment créer une base de données MySQL avec des lieux géographiques, puis réaliser l'interface avec Google pour afficher tout ces points sur une carte du monde.

Août 2007 – PHP Index: SugarCRM 5.0 Beta

SugarCRM lance une nouvelle version beta de sa solution OpenSource de gestion des relations clients : Sugar 5.0

Développé en PHP, SugarCRM est un CRM (Customer Relationship Management) couvrant la gestion des services clients, marketing, ventes et gestion de projets qui a su s'imposer ces derniers mois comme une alternative majeure aux solutions du marché.

Cette nouvelle version introduit un large éventail de nouvelles fonctionnalités, parmi lesquelles :

  • La possibilité de développer des modules sur-mesure
  • Un client de messagerie AJAX
  • Une architecture multi-instances
Deux solutions commerciales (SugarCRM Entreprise et SugerCRM Professional) sont disponibles en parallèle de la solution opensource, librement téléchargeable.

Site Officiel de SugarCRM
Télécharger Sugar OpenSource
Démo de SugarCRM

Août 2007 – Nexen.net: LOAD XML : charger du XML directement dans MySQL

xml
Il existe désormais une commande LOAD XML, qui analyse un fichier XML pour le charger en base de données. Elle fonctionne sur le même principe que LOAD DATA, mais analyse partiellement le code XML pour deviner les lignes et les colonnes. Le tout est reconstitué dans une table MySQL. LOAD XML [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'filename' [REPLACE | IGNORE] INTO TABLE [db_name.]tbl_name [CHARACTER SET charset_name] [ROWS IDENTIFIED BY ''] [IGNORE number [LINES | ROWS]] [(column_or_user_var,...)] [SET col_name = expr,...] Disponible depuis MySQL 5.2.5, c'est à dire 6.0.0. A l'inverse, le client MySQL est déjà capable de produire des résultats en XML depuis longtemps. C'est l'option --xml ou -X.

Août 2007 – Nexen.net: spongestats arrive en 3.0.0Beta 3

spongestats
SpongeStats 3.0 BETA 3 est disponible en téléchargement ! Les deux principaux changements de cette versions sont : Le support des versions des navigateurs (uniquement pour les nouveaux visiteurs, les anciennes données ne peuvent être converties car le User agent n'est pas stocké en entier) Le support complet de Internet Explorer et d'Opera "SpongeStats est un outil d'analyse de fréquentation en temps réel pour votre site Internet ou votre blog. Il permet d'avoir une vue d'ensemble du nombre, du profil et de la provenance de vos visiteurs, les statistiques annuelles, mensuelles et quotidiennes sont affichées de manière graphique ou classées par rubrique. SpongeStats se veut résolument orienté Web 2.0 avec notament le support des fils RSS et une interface d'utilisation XHTML/CSS tirant partie des fonctionnalités Ajax/JQuery. En somme, SpongeStats est un nouvel outil d'analyse de fréquentation adapté aux nouveaux types de sites !"

Août 2007 – Nexen.net: Mashup avec Yahoo! et PHP

yahoo
"Vous voulez créer votre propre mashup? Super! Mashups, ces applications Web qui lisent des informations sur des sources externes et les combinent de manière moderne et inattendues, sont faciles à construire, populaires auprès des utilisateurs et tellement Web 2.0." Il y a beaucoup de services avec API chez Yahoo!, comme del.icio.us, flickr, upcoming.org ou encore les outils maisons comme Pipe, Answers, maps ou search. Bref, de quoi satisfaire beaucoup d'appetits.

Août 2007 – Nexen.net: Protection des données : synopsis

synopsis
Quand il faut sécuriser des données, quelles sont les étapes à passer pour obtenir des valeurs aussi irréprochables que possibles? Ronald van den Heetkamp publie son programme de validation des données. Il enchaine plusieurs opérations : taille, type, puis protection des données. Pour ma part, j'ajoute aussi la présence ou l'absence tout en haut. Cela dit, le traitement d'une donnée absente est assez facile à faire, merci. Disons, dans le cadre d'un formulaire, c'est un point important à surveiller aussi. J'ajoute aussi un autre test de format, après la validation du type. Par exemple, -1 est une valeur de type entier, mais si j'attend un nombre positif, il y a problème de format. Le format est surtout important pour les chaînes de caractères, qui sont capables de représenter de nombreuses données différentes. Certaines sont encadrées par des règles, et il est bon de les appliquer. Des exemples ? Un numéro de sécurité sociale (dépend du pays), un code postal, un numéro de plaque d'immatriculation, un numéro de telephone, un code ISBN, un TLD, un nom de départements, etc. Les méthodes de validation sont variées : à base d'expression régulières, de liste de valeurs autorisées, d'intervalle de validation, etc. Mais c'est ce qui permet à votre script de ne pas croire que 'H0H 0H0' est une province chinoise.

Août 2007 – Nexen.net: Comment MySQL exécute les clause ORDER BY

analyse
Actuellement, MySQL a trois moyen de produire un résultat ordonné : En utilisant un index couvrant toutes les colonnes demandées et ordonnées En utilisant un tri en mémoire En utilisant une table temporaire Sergey Petrunia détaille le fonctionnement de chaque méthode. La meilleure reste toujours la technique des index couvrants : il faut créer un index avec toutes les colonnes utilisées dans la requête. De cette manière, MySQL ne va même pas lire les données sur le disque, puisqu'elles sont déjà dans l'index. Le gain est apréciable.

Août 2007 – Nexen.net: MySQL : misères et solutions

trucs
Voici deux billets tombés sur mes téléscripteurs presque en même temps : d'abord, les misères d'un ancien administrateur Oracle, qui découvre que autocommit est désactivé par défaut (le contraire d'Oracle). Il finit par résoudre son problème avec une procédure de connexion : une petite fonction stockée sur le serveur, qui est exécutée automatiquement à chaque connexion. L'autre relate les tribulations d'un utilisateur de cluster, qui finalement revient à la réplication. Petites misères et solutions : beaucoup d'informations pratiques du terrain à chaque fois. Par exemple, InnoDB produit 50% moins de données si le nombre de connexion simultanée augmente de 100%. Intéressant.

Août 2007 – Nexen.net: 4 conseils de Peter Zaitsev

trucs
Peter Zaitsev se déchaîne sur une série de question qui nous semblerait évidente, mais qui demande plus de finesse qu'en apparance. + SQL_CALC_FOUND_ROWS, qui compte le nombre de lignes trouvées même en cas de LIMIT, fait-il vraiment gagner le temps d'une seconde requête? + Faut-il indexer absolument toutes les colonnes qui sont dans une clause WHERE ? + Est-ce que des index redondants sur une même colonne sont toujours inutiles? + Où donc passe la mémoire des procédures stockées ? Bref, beaucoup de petits points techniques, testées grandeur nature.

Août 2007 – PHP Index: Sécuriser un formulaire en PHP

Implémenter un formulaire sur un site Internet est relativement simple et s'avère indispensable pour récupérer des informations saisies par l'utilisateur. Mais ces formulaires sont souvent la source de nombreux problèmes de sécurité.

Pour sécuriser un formulaire il faut considérer que n'importe quel champ de saisie doit obligatoirement faire l'objet de controles PHP. Bien que le javascript apporte un plus au niveau de l'ergonomie, celui-ci peut toujours être désactivé via le navigateur et n'est, par conséquent, pas fiable pour controler les saisies. Il est donc primordial d'effectuer ces controles en PHP.

En second lieu, vous devez apprendre a maîtriser certaines fonctions standards de PHP :

  • strip_tags : Supprime les balises HTML et PHP d'une chaine de caractère
  • preg_replace : Remplace les caractères non désirés dans une chaine de caractère
  • preg_quote : Ajoute un anti-slash devant les caractères spéciaux des expressions rationnelles
  • mysql_real_escape_string : Ajoute des anti-slash devant les caractères spéciaux d'une commande SQL
  • htmlentities : Traduit les entités HTML dans une chaine de caractères

Août 2007 – Apprendre-PHP.com: PHP 5 Avancé - 4ème édition

C'est sur le blog de l'auteur (Cyril Pierre de Geyer) que l'on apprend que la 4ème édition de PHP5 Avancé se prépare à occuper les rayons de nos libraires.

Août 2007 – z-f.fr: Bascule sur ZF 1.0.1

Forum: Brèves
Auteur: philippe
Écrit le: Wed, 29 Aug 2007 16:54:57 +0200
Dernier message: Wed, 29 Aug 2007 16:54:57 +0200

Août 2007 – Nexen.net: Vidéo PHP et MySQL, édition 9

video
Voici les 5 dernières vidéos PHP et MySQL. Ces vidéos sont publiés sur les sites de partagent de vidéo. Ce sont des tutoriels enregistrés, des sessions de conférences, des screencast ou encore des slides de conférences. N'hésitez pas à nous contacter pour signaler tout media qui mérite d'être ajouté à cette liste.

Août 2007 – Nexen.net: phar accelère en 1.2.1

pecl
Greg Beaver publie phar 1.2.1, la dernière version de l'extension d'archive de PHP. (PHp ARchive). Similairement aux fichiers JAR de Java, on peut ranger tous les fichiers nécessaires à une application dans un fichier .phar, et l'exécuter comme une application indépendante. Le fichier est même zippé pour gagner en espace. La dernière version corrige les traditionnels bogues et apporte une optimisation de performances. Phar est disponible dans pecl.

Août 2007 – Nexen.net: Installer le module MSSQL de PHP sur CentOS 5.0

installeur
"Comme vous l'avez peut-être remarqué, sur CentOS 5.0, il n'y pas d'extension PHP-MSSQL (pour Microsoft SQL Server) disponible dans yum. Si vous en avez besoin, vous devez compiler vous même l'extension mssql. Dans cet article, je vous explique comment la compiler."

Août 2007 – Nexen.net: Préparer son entrevue d'embauche PHP

emploi
Après avoir publié des questions fréquentes posées lors d'une entrevue d'embauche à un développeur PHP, futur employé, assembleron vous propose maintenant les réponses qui vont avec. Je comprend très bien la pression qu'a dû ressentir le site pour publier ces réponses. Je le regrette un peu, car "le but est le chemin" : une partie intéressante de ces questions était la recherche de la réponse. Maintenant c'est fait : vous avez la réponse sans chercher.

Août 2007 – Kamelot Blog: Phar 1.2.1

Greg Beaver a publié hier la nouvelle release de phar.

Il s'agit donc de la version 1.2.1 une extension php qui permet la création de système de fichiers complets à partir d'un simple fichier .Une archive auto-extractible(able ?) quoi.

Le bootstrap écrit en php permet l'autoextraction comme si il s'agissait d'un fichier exécutable ou plutôt un script shell.

La documentation sur son utilisation at sur la création d'archive phars est sur http://php.net/phar.

Cette version fixes une série de problèmes décrit dans le post précédent de Greg

Marcus a aussi participé à cette vague de correction, surtout sur la config du bootstrap utilisant les paramètres du fichier ini phar.extract_list avec module apache et autres (voir la liste complète).

Greg fini par un appel comme je les aime "looking forward to hearing your stories of using it."

Août 2007 – Noplay: T_PAAMAYIM_NEKUDOTAYIM

Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in test.php on line 2

La première fois que PHP affiche cette erreur on reste quelque secondes à regarder fixement l'écran. Il s'agit en réalité du nom du token PHP ::, il est aussi appelé T_DOUBLE_COLON.

Ce code par exemple provoque l'affichage de cette erreur :


<?php
echo ::tutu;

Pourquoi un nom aussi bizarre ? Les développeurs de Zend qui travaillaient sur le Zend Engine de PHP 3 étaient israéliens, ils ont utilisés l'hébreu pour désigner ce token.

- NEKUDOTAYIM signifie deux point
- PAAMAYIM signifie double
- Le T est pour token

Malgré le manque de clarté de cette désignation et l'existence de T_DOUBLE_COLON, les développeur de PHP n'ont pas remplacés T_PAAMAYIM_NEKUDOTAYIM. On entendra encore de nombreux développeurs crier « Quoi ???? », incrédule face à cette erreur.

Source : Wikipedia

Août 2007 – Digital Fashion: Quick php5 pre-migration check

If you're wondering how much of a hassle it would be to migrate your app / codebase to php5, try the following command line (after having installed the php5-cli package of course):

find . -name "*.php" -exec /usr/bin/php5 -l {} \; | grep -v 'No syntax errors'

It'll show you all the files with syntax errors in it.

Août 2007 – PHP Index: Tutoriel SQLite et PHP5

SQLite est un petit SGBD (environ 250 Ko) implémentant en grande partie le standard SQL92 et compatible PHP 5.

Contraitement à de nombreux SGBD, SQLite ne reproduit pas le schéma habituel client/serveur mais est directement intégré aux programmes en utilisant des fichiers pour stocker les bases de données.

Jason Gilmore propose sur developer.com un tutoriel expliquant, entre autre, comment utiliser SQLite dans une application PHP 5.

Lire le tutoriel
Site officiel de SQLite

Août 2007 – Nexen.net: Nouvelle version de MySQL : 5.1.21

mysql.51
MySQL 5.1.21, la dernière version du système de base de données Open Source, a été publiée. C'est une version bêta : il est recommandé de sauver ses données avant de changer de version, et d'éviter d'utiliser cette version en production. Modifications incompatibles avec les versions précédentes : Changement incompatible : les log de requêtes lentes et générales sont maintenant des tables MySQL par défaut, et non plus des fichiers. Il est recommandé de préciser explicitement son stockage L'option --syslog introduite en 5.1.20, fonctionne correctement maintenant. Le comportement par défaut de log de mysqld_safe est --skip-syslog, et non pas Une nouvelle option, --syslog-tag=tag, modifie les tags par défaut de mysqld_safe et mysqld Plusieurs programme MySQL acceptent maintenant les options --debug-check et --debug-info Le support des transactions avec le stockage fédéré a été désactivé Les commandes préparées sont maintenant stockées dans le cache de requêtes La réplication est maintenant possible vers une table qui comporte plus de colonne que nécessaire. Le thread esclave a une meilleure priorité pour travailler sur les tables InnoDB Corrections MySQL 5.1.21 207 bogues ont été corrigés. Correction incompatible : plusieurs colonnes ont été ajoutées dans les tables mysql pour supporter les jeux de caractères dans les noms des routines stockées sur MySQL. Il est recommandé d'exporter ses procédures, avant la mise à jour, puis de le réimporter après, pour profiter de cette correction.

Août 2007 – Nexen.net: Actualité de développement PECL, edition 165

pecl
4 paquets ont été mis à jour cette semaine : : fonctions de hashage : Indique la localisation géographique d'une IP : Service Component Architecture (SCA) et Service Data Objects (SDO) pour PHP : support des fichiers d'archives PHP : .phar PECL est la bibliothèque d'extensions C de PHP.

Août 2007 – Nexen.net: init_connect : initialisation de connexion MySQL

trucs
init_connect est une variable système MySQL qui exécute une commande SQL au moment de la connexion d'un utilisateur au serveur. Le concept ressemble aux inclusions PHP auto_prepend : on peut adapter la configuration du serveur à ce moment-là, ou bien réaliser diverses opérations. Markus Popp propose une solution pour noter les dates de dernières connexions des utilisateurs, et la documentation MySQL suggère de modifier à la volée certaines configurations sans toucher à la configuration de base du serveur (SET AUTO_COMMIT=0). init_connect n'est pas activée pour les utilisateurs ayant le droit de SUPER, afin de ne pas bloquer leur accès : ce sont les seuls qui pourront débloquer un script mal écrit! En cas d'échec de la commande init_connect (erreur de syntaxe), la connexion est refusée.

Août 2007 – Nexen.net: PHP 5.2.4 publiée

php
L'équipe de développement de PHP annonce la publication immédiate de PHP 5.2.4. Cette version met l'accent sur la stabilité de la branche PHP 5.2, avec la correction de 120 problèmes et la résolution de plusieurs problèmes de sécurité mineures. Tous les utilisateurs sont encouragés à passer à cette version. Amélioration de sécurité pour PHP 5.2.4 Exception dans wordwrap() (par Mattias Bengtsson) Dépassement de capacité dans l'extension GD (par Mattias Bengtsson) Taille calculée par chunk_split() (par Gerhard Wagner) Dépassement de capacité dans str[c]spn(). (par Stanislav Malyshev) Correction de money_format() qui accepte un seul %i ou %n. (par Stanislav Malyshev) Correction de l'interruption de zend_alter_ini_entry() par memory_limit (par Stefan Esser) Correction de l'option INFILE LOCAL avec les extensions MySQL pour qu'elle soit désactivée quand open_basedir ou safe_mode sont actives. (par Stanislav Malyshev) session.save_path et error_log satisfont maintenant open_basedir et safe_mode (CVE-2007-3378) (par Maksymilian Arciemowicz) Correction de glob() sur win32 (CVE-2007-3806) (par shinnai) Dépassement de capacité possible dans php_openssl_make_REQ (par zatanzlatan at hotbrev dot com) Correction d'un contournement de open_basedir dans glob() (par dr at peytz dot dk) Correction d'un contournement de open_basedir avec les sessions et un lien symbolique(par c dot i dot morris at durham dot ac dot uk) Amélioration de la correction de MOPB-03-2007. Correction de CVE-2007-2872. Améliorations de PHP 5.2.4 Mise à jour de PCRE en 7.2Ajout de la persistance à pdo_pgsql.Correction de oci8 et PDO_OCI pour fonctionner avec Oracle 11g.Correction du bogue #41831 (pdo_sqlite converti les ressources en chaînes)Correction du bogue #41770 (SSL: problème de protocole à cause de buffers)Correction du bogue #41713 (Consommation de mémoire persistant sur win32 depuis PHP 5.2) Pour les utilisateurs qui passent de PHP 5.0 à PHP 5.1, un guide de mise à jour est disponible en ligne.

Août 2007 – PHP Index: PHP 5.2.4

L'équipe de développement de PHP a publié une nouvelle version : la 5.2.4.

Cette nouvelle version corrige près de 120 bogues présent dans la branche 5.2 de PHP. Les corrections apportées concernent l'utilisation de wordwrap, GD, chunk_split, php_openssl_make_REQ, glob, open_basedir... Pour consulter la liste complète des améliorations apportées consultez le changelog.

A noter également, la disponibilité d'un guide de mise à jour de la version 5.2 à partir des versions 5.1 et 5.0.

Télécharger PHP 5.2.4
Changelog 5.2.4
Guide d'installation de PHP 5.2

Août 2007 – Nexen.net: Nouveau site MySQL.com

mysql
Si vous ne l'avez pas encore remarqué, le site de mysql.com a changé. Le design a été modifié pour une version plus moderne et épurée. Tout le site y est passé, y compris la partie communauté. Les couleurs sont toujours celles de MySQL. Ca change sans être une révolution.

Août 2007 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 159

securite
PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes : PHP 5.2.5 et 4.4.7; MySQL 5.0.45 (communauté) et 5.0.45 (entreprise), 4.1.22, ainsi que 5.1.21-beta. Les mises à jour sont recommandées vers ces versions. 4 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes : Gallery, Joomla, PhpGedView et SPIP Moon Gallery admin.php File Upload Vulnerability Site : Joomla Nice Talk Component tagid SQL Injection Site : PhpGedView Multiple Parameter Handling Cross Site Scripting Vulnerabilities Site : RETIRED: SPIP Inc-Calcul.PHP3 Remote File Include Vulnerability Site :