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 – 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 – 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 – 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 – 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 – 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 – 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 – 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 – 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 – 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: 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 – 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 – Kamelot Blog: Galaxie PHP - Planet PHP francophone

Tout est dans le titre

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 – 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 – 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 – 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 – 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 – 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 – 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 – 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 – 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 – 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 – 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 – 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 – 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 – 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 – 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