Lettres
[Actu PHP] Lettre N.219 Dimanche 13 Mars 2005
************************************************************
L'actualit? PHP et MySQL
avec Nexen.net
http://www.nexen.net/
Dimanche 13 Mars 2005
************************************************************
Attention :
Cette lettre hebdomadaire est distribu?e aux personnes
qui se sont inscrites sur le site nexen.net, comme membres et
comme destinataires de cette lettre. Les instructions de
modifications sont disponibles en bas de ce mail.
Des commentaires? des questions? des informations ? sugg?rer?
Contactez l'?diteur de la lettre avec l'adresse indiqu?e en
bas de ce mail.
Edito
=====
Ca y est, j'ai une application ? coder, j'ouvre mon
?diteur et je m'appr?te ? ouvrir les balises. Je prend
avec moi ma convention de codage, pour ?crire proprement mon
code; mes consignes de s?curit?, avec une charte pour les
noms de variables et leur fiabilit?; les design patterns
pour organiser mes classes; les moteurs de gabarits
pour produire du code XHTML; le v?rificateur CSS pour
faire joli; les m?thodes de conception, les th?ories
de bases de donn?es, les couches d'abstractions, la
programmation orient?e aspect, la gestion des erreurs
et les bogues (pas les miens, puisque j'ai encore un
fichier vide).
Avec toutes ces th?ories, il devient facile de coder
comme un porc : n'importe quel script viable aura du
mal ? suivre simultan?ment tout d'un coup et donner
un r?sultat.
Ne vous m?prenez pas, je con?ois la valeur de ces
m?thodes, et je les applique moi-m?me souvent. Pour
vivre en soci?t?, il faut des r?gles, et ?a marche
aussi pour la programmation. On ne travaille plus
tout seul sur Internet (sic).
Mais je crois que je touche du doigt le probl?me
du n?ophyte qui, apr?s s'?tre lanc? seul et avoir
r?ussi un obscur script, souhaite passer ? un
niveau sup?rieur. Ce n'est plus l'embarras du
choix, c'est le choix des ambarras.
Allez zou, le formulaire mailera tout via JavaScript,
ca va me permettre de tout coder en dur.
Damien Seguy
Venez discuter sur le forum de la lettre hebdo :
http://www.nexen.net/forum/list.php?f=14
Site de la semaine
==================
PHP est le langage de programmation internet du pr?sent et de
l'avenir. G?n?rationÊPHP a donc pour but de vous faire d?couvrir
ce langage polyvalent.
Ce langage peut ?tre inclus directement au langage HTML ce qui
vous permet de cr?er des pages dynamiques apportant une toute
autre interactivit? ? votre site. Vous pouvez ?galement interagir
avec une multitude d'extensions et bases de donn?es.
Si vous d?butez, commencez ? apprendre PHP gr?ce ? nos cours. Et
pour les plus avanc?es, consultez le manuel pour de plus amples
renseignements sur les extensions et fonctions disponibles.
G?n?rationPHP
http://generationphp.net/index.php
******************** Publicit? ****************************
CD-ROM et DVD PHP Qu?bec 2003/2004
Le CD-ROM PHP Qu?bec 2004 contient plus de 19 heures
de conf?rences au format MP3 : vous trouverez aussi toutes
les pr?sentations des conf?renciers en format ?lectronique
pour accompagner la session. En bonus, nous avons ajout?
les 50 applications PHP les plus populaires, les derni?res
versions de PHP et la documentation PHP compl?te.
http://www.nexen.net/cdrom/index.php
******************** Publicit? ****************************
Au sommaire
===========
Toute l'actualit? en d?tails :
===============================
[1] Garder un site propre avec Smarty [ Haut ]
------------------------------------------------------------
Le principal avantage de technologies comme HTML et CSS est
qu'elles aident ? faire une s?paration claire entre le code
et la pr?sentation. Pourtant, rares sont les applications
qui en font un usage intelligent. Le moteur de gabarit
Smarty peut vous aider ? combler ce probl?me.
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/13/4029,0,1,0,0.php3
[2] Standards de codage en PHP [ Haut ]
------------------------------------------------------------
Robert Peake publie un long monoblogue de 3 articles
consacr? aux standards de codage. Les standards de codage
diff?rent des conventions de code, qui organisent les
instructions dans un script. Un standard de codage
correspond ? une organisation g?n?rale d'une application,
pour permettre une parall?lisation des t?ches en plusieurs
sous-groupes. La r?partition classique est celle que
pr?sente Robert :
+ Documentation automatique
+ S?paration du code de la pr?sentation
+ S?paration du code et du contenu
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/13/4028,0,1,0,0.php3
[3] Actualit? de d?veloppement PEAR [ Haut ]
------------------------------------------------------------
15 paquets ont ?t? mis ? jour cette semaine :
PHPUnit2 : Cadre de tests de r?gression
DB : Couche d'abstraction de base de donn?es
DB_Table : Bas? sur PEAR DB, avec des types de donn?es
abstraits
HTML_Form : Gestionnaire de formulaire simple
Text_Wiki : R?gles de rendus et d'affichage abstraites pour
les Wikis
XML_RPC : Impl?mentation de XML-RPC
DB_DataObject : G?n?rateur de dataobject, pour repr?senter
une table SQL en PHP
Numbers_Words : Ecrit les chiffres en toutes lettres
Archive_Tar : Archives Tar
DB_odbtp : Interface de base de donn?es avec ODBTP
Games_Chess : Construction et validation d'un jeu d'?chec
Image_XBM : Manipulation d'images XBM
MDB2 : MDB2
Net_Ident : Impl?mentation du protocole d'identification
Services_Trackback : Classe g?n?rique pour envoyer des
liens de retours
PEAR est la biblioth?que de composants PHP.
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/13/4027,0,1,0,0.php3
[4] Alertes de s?curit? des applications PHP et MySQL [ Haut ]
------------------------------------------------------------
Attention ! MySQL fait l'objet d'une alerte de s?curit?
importante. Lisez le document ci-dessous. La mise ? jour
est disponible : MySQL 4.1.10a.
PHP ne fait l'objet d'aucune alerte s?curit? dans sa
version courante : 5.0.3 et 4.3.10
26 alertes s?curit? ont ?t? ?mises cette semaine,
concernant des applications :
MySQL, Phorum, Xoops, PHPBB, WF-Section, WEBinsta,
UBBCentral, PHP Arena, eXPerience2, PHP-Fusion, SocialMPN,
McNews, SafeHTML, Jason Hines PHPWeblog, BTR CopperExport,
paFileDB, PunBB, Drupal, YaBB, Stadtaus, phpGiftReg,
Wotlab, Form Mail.
+ MySQL AB MySQL Multiple Remote Vulnerabilities
+ Phorum Unspecified Cross-Site Scripting Vulnerability
+ Xoops Custom Avatar Remote Arbitrary PHP File Upload
Vulnerability
+ PHPBB Session.PHP Autologin User_Level Privilege
Escalation Vulnerability
http://online.securityfocus.com/bid/12736
+ Vulns: Drupal Unspecified Cross-Site Scripting
Vulnerability
Location: http://www.securityfocus.com/bid/12757?ref=rss
+ Vulns: YaBB Remote UsersRecentPosts Cross-Site Scripting
Vulnerability
Location: http://www.securityfocus.com/bid/12756?ref=rss
+ WF-Sections Input Validation Hole in 'wfsfiles.php' in
'articleid' Parameter Lets Remote Users Inject SQL
Commands
Location:
http://www.SecurityTracker.com/alerts/2005/Mar/1013412.html
+ WEBinsta Limbo Include File Flaw Lets Remote Users
Execute Arbitrary Commands
Location:
http://www.SecurityTracker.com/alerts/2005/Mar/1013411.html
+ Vulns: UBBCentral UBB.threads Editpost.PHP SQL Injection
Vulnerability
Location: http://www.securityfocus.com/bid/12784?ref=rss
+ PHP Arena PAFileDB Multiple Remote Cross Site Scripting
Vulnerabilities
Location: http://online.securityfocus.com/bid/12758
+ PHP-Fusion BBCode IMG Tag Script Injection Vulnerability
Location: http://online.securityfocus.com/bid/12751
+ Vulns: PHPOutsourcing Zorum Multiple Remote
Vulnerabilities
Location: http://www.securityfocus.com/bid/12777?ref=rss
+ eXPerience2 Multiples Vulnerabilities
Location: http://www.net-security.org/vuln.php?id=4059
+ Vulns: SocialMPN Module Arbitrary Remote PHP File Include
Vulnerability
Location: http://www.securityfocus.com/bid/12774?ref=rss
+ Vulns: McNews Header.PHP Arbitrary File Include
Vulnerability
Location: http://www.securityfocus.com/bid/12776?ref=rss
+ SafeHTML Decimal HTML Entities Security Bypass
Location: http://secunia.com/advisories/14403/
+ Jason Hines PHPWebLog Remote File Include Vulnerability
Location: http://online.securityfocus.com/bid/12747
+ BRT CopperExport XP_Publish.PHP SQL Injection
Vulnerability
Location: http://online.securityfocus.com/bid/12740
+ phpMyFAQ Username SQL Injection Vulnerability
Location: http://online.securityfocus.com/bid/12741
+ paFileDB Input Validation Hole in $pageurl Lets Remote
Users Conduct Cross-Site Scripting Attacks
Location:
http://www.SecurityTracker.com/alerts/2005/Mar/1013405.html
+ BLOG:CMS PunBB SQL Injection Vulnerabilities
Location: http://secunia.com/advisories/14538/
+ Stadtaus.Com PHP Form Mail Script Remote File Include
Vulnerability
Location: http://online.securityfocus.com/bid/12735
+ BugTraq: Re: phpGiftReq SQL Injection
Location:
http://www.securityfocus.com/archive/1/392485?ref=rss
+ Form Mail Script "script_root" File Inclusion
Vulnerability
Location: http://secunia.com/advisories/14505/
+ WoltLab Burning Board/Burning Board Lite Sessoin.PHP
Multiple SQL Injection Vulnerabilities
Location: http://online.securityfocus.com/bid/12718
+ D-Forum Nav.PHP3 Cross-Site Scripting Vulnerability
Location: http://online.securityfocus.com/bid/12720
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/12/4026,0,1,0,0.php3
[5] Cr?er une interface MySQL [ Haut ]
------------------------------------------------------------
phpnoise vous propose de mettre en place une interface avec
MySQL pour ?viter le code r?p?titif et laborieux pour
rendre vos tables accessibles depuis un script PHP. Il
s'agit d'une classe qui permet la connexion au serveur,
l'envoi de requ?te, la lecture des r?sultats et la gestion
des erreurs. De plus, elle se d?cline facilement pour
s'adapter ? vos tables.
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/12/4025,0,1,0,0.php3
[6] Gubed d?bogueur pour PHP [ Haut ]
------------------------------------------------------------
A cot? de xdebug et apd, voici gubed (buged mais ?
l'envers?), un d?bogueur pour PHP. Il s'agit d'un client de
d?bogage plac? sur le serveur, qui prend en charge la
requ?te Web, et vous permet de faire de l'ex?cution pas ?
pas, et de voir le contenu des variables.
Gubed dispose d'une interface avec Quanta, et d'un plug-in
pour FireFox, pour d?boguer directement depuis le
navigateur. Voila une bonne id?e.
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/12/4024,0,1,0,0.php3
[7] Actualit? de d?veloppement PECL [ Haut ]
------------------------------------------------------------
6 paquets ont ?t? mis ? jour cette semaine :
PDO : Interface pour les Data Objects de PHP
PDO_SQLITE : pilote PDO pour SQLite v3
pecl_http : support ?tendu de HTTP
maxdb : interface avec la base de donn?es MaxDB
WinBinder : interface native avec Windows pour PHP
newt : interface avec la biblioth?que graphique RedHat
Newt
PECL est la biblioth?que d'extensions C de PHP.
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/11/4023,0,1,0,0.php3
[8] SQL vers XML [ Haut ]
------------------------------------------------------------
XML_sql2xml est un paquet PEAR qui vous permet de
transformer une requ?te SQL en un fichier XML.
Dans la version la plus simple, chaque colonne devient une
balise, et contient la valeur lue dans le r?sultat SQL. Pour
les jointures, le paquet est assez habile pour factoriser
les donn?es communes, et fournir un 2?me niveau de
hi?rarchie.
Il serait surement int?ressant d'avoir aussi l'op?ration
inverse, pour mettre en table un fichier XML ayant un
formattage assimilable ? celui g?n?r? par XML_sql2xml.
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/10/4022,0,1,0,0.php3
[9] R?sum? de la semaine de d?veloppement PHP [ Haut ]
------------------------------------------------------------
Aaron Wormus publie le 36?me r?sum? de la semaine de
d?veloppement PHP.
+ PEAR a 5 ans
+ PEAR 1.4 supporte la PEARification
+ PHP 5.1 : toujours discret
+ mcrypt dans la distribution officielle?
+ Prise en compte de bogues par PHP
+ Exceptions sur erreurs
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/10/4021,0,1,0,0.php3
[10] Construire une application de vote en ligne [ Haut ]
------------------------------------------------------------
Vikram Vaswani continue la s?rie pour les d?butants en PHP,
et propose cette fois-ci la constitution d'une application
compl?te : un syst?me de sondage. Le but est de mettre en
oeuvre les differents concepts de PHP 5 pour une
application r?elle. Vikram passe donc en revue les bases de
donn?es, le sondage, l'exploitation des donn?es et la
protection du double vote.
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/09/4020,0,1,0,0.php3
[11] Conf?rence Dreamweaver PHP [ Haut ]
------------------------------------------------------------
Yannick Bouvard, auteur du livre Dreamweaver MX avec
PHP/MySQL et l'Association Fran?aise des Utilisateurs de
PHP ont le plaisir de vous inviter ? une rencontre sur le
sujet.
L'espace d'une soir?e, notre auteur abordera les
possibilit?s de d?veloppement rapide d'applications (RAD)
dynamiques offertes par Dreamweaver. Les avantages et
inconv?nients de cette solution seront discut?s ? b?tons
rompus avec le public.
Date : Le Jeudi 4 Avril 2005 ? partir de 20 heures
Lieu : Espace FIAP JEAN MONNET - Paris
------------------------------------------------------------
Yannick Bouvard (yeca@ultimteam.com)
http://www.nexen.net/news/gen.php/2005/03/09/4019,0,1,0,0.php3
[12] Cr?er facilement un site web multilingue avec Gettext [ Haut ]
------------------------------------------------------------
"Gettext est un programme destin? ? la gestion de
langues; il n'a pas ?t? sp?cialement con?u pour faire des
sites web, il peut ?galement ?tre utilis? dans le cas de
programmes classiques, r?alis?s dans d'autres langages. Il
s'agit d'un programme GNU et, par cons?quent, gratuit et
libre. Pour ?tre plus pr?cis, gettext n'est pas vraiment
"un seul" programme; il s'agit plut?t d'une
suite d'applications (comme xgettext, msginit, msgmerge,
etc..); pour plus d'informations je vous renvoie au manuel
utilisateur officiel.
Gettext pallie au probl?me de la m?thode ci-dessus en ne
chargeant pas toutes les cha?nes en m?moire. En fait, nous
aurons ?galement un fichier de langue. Il sera constitu? de
paires identifiants/chaine, sous une forme qui sera
compil?e avant utilisation. Lorsque une r?f?rence ? un
identifiant sera trouv?e dans le fichier source, gettext
ira chercher la cha?ne correspondante dans le fichier de
langue. Ceci est certainement un tout petit peu plus
gourmand en temps processeur (cependant cela reste tr?s
rapide), mais permet ainsi de g?rer de tr?s larges sites
web en plusieurs langues."
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/08/4018,0,1,0,0.php3
[13] PHP et CloudScape [ Haut ]
------------------------------------------------------------
Apr?s les r?cents rapprochements entre IBM et Zend, vous
vous demandez qu'est-ce que ce CloudScape, et comment
est-ce que cette base de donn?es pourra vous aider? IBM
avait anticip? les questions, et Dan Scott vient de publier
un tutoriel sur PHP et CloudScape.
L'article vous montre comment installer l'interface PHP
pour CloudScape et IBM DB2, ainsi que les manipulations de
bases et les limitations de uodbc pour PHP.
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/08/4017,0,1,0,0.php3
[14] " ou '? L'optimisation qui ne sert ? rien [ Haut ]
------------------------------------------------------------
Encore des discussions sur le choix ? faire entre les "
et les '.
Les guillemets doubles sont analys?s par PHP, et les
variables qu'ils contiennent sont remplac?es dynamiquement
par des valeurs. De son cot?, les guillemets simples sont
du texte litt?ral, sans aucune variable dynamique.
Nathan Wong relance le d?bat, et Harry Fueck pointe le
guide d'optimisation de John Lim : pour une petite
application, ' est un bon choix, mais pour une grande
application, " doit ?tre la norme. A vous de juger.
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/08/4016,0,1,0,0.php3
[15] Actualit? de d?veloppement PHP [ Haut ]
------------------------------------------------------------
Aaron Wormus publie la 35?me ?dition du PHP Barn Stormer
+ Conf?rence du FOSDEM, en Belgique
+ Partenariat Zend-IBM
+ PEAR 1.4.0 alpha publi?
+ PHP 5.0.4 retard?
+ Probl?me d'arguments en 4.3.6 -> 10
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/07/4015,0,1,0,0.php3
[16] Mod?le objet de xoops [ Haut ]
------------------------------------------------------------
"Le mod?le objet de xoops est bas? sur 2 classes
XoopsObject et XoopsObjectHandler toutes les deux cod?es
dans l fichier /kernel/object.php. Ces 2 classes forment la
couche d'acc?s aux donn?es persistantes tel qu'elle est
d?crite dans l DAO pattern. C'est en les sp?cialisant que
l'on impl?mente le mod?le pour une entit? particuli?re
(souvent associ? ? une seule table de BD) comme le font
toutes les classes du r?pertoire kernel qui constitue le
noyau de xoops. J'encourage fortement les programmeurs de
nouveaux modules xoops s'appuyant sur des tables de BD ?
utiliser ce mod?le. Le raisons sont multiples :
uniformiser la mani?re de programmer, augmenter la
lisibilit? du code et ainsi faciliter la maintenance mais
aussi b?n?ficier d'un certain nombre de m?canismes g?n?riques
utilisant ce mod?le."
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/07/4014,0,1,0,0.php3
[17] G?n?rer du code PHP 5 avec Rational Rose et UML [ Haut ]
------------------------------------------------------------
RosePHPTool est un module pour Rational Rose. Avec ce
module, vous pouvez g?n?rer du code PHP 5 ? partir de votre
mod?le.
Dans le cadre de nos d?veloppements, nous utilisons UML pour
mod?liser nos applications et Rational Rose comme outil de
mod?lisation. Pour nos besoins, nous avons d?velopp? un
add-in Rational Rose en VBScriptÊpour g?n?rer
automatiquementÊdu code PHP5. Nous avons d?pos? cet outil
en license GPL sur le site sourceforget.net. Cet outil
permet, ? partir du mod?le UML d?finit sous Rational
Rose,Êde g?n?rer le code correspondant :
-aux classes (prise en compte des classes abstraites)
-aux h?ritages de classe
-aux attributs de classe
-aux m?thodes de classe
-aux attributs traduisant des assocations entre classes
(prise en compte de la navigabilit?)
-aux commentaires des ?l?ments (classe, attribut,
m?thode)Êsupport?s parÊPhpDocumentor
-aux codes d'inclusion de fichiers contenant les classes
d'h?ritage et d'association
------------------------------------------------------------
http://www.nexen.net/news/gen.php/2005/03/07/4013,0,1,0,0.php3
***************************************************************
La lettre hebdomadaire est relue par Pascal B?dard
***************************************************************
Pour modifier votre abonnement ou vous d?sincrire :
http://www.nexen.net/services/login.php?direction=diffusion.php
Pour retrouver votre acc?s membre sur nexen.net :
http://www.nexen.net/services/motperdu.php
Pour devenir membre de nexen.net :
http://www.nexen.net/services/login.php?direction=diffusion.php
L'actualit? journali?re sur nexen.net :
http://www.nexen.net/news/index.php
Contact de l'?diteur
damien.seguy@nexen.net
***************************************************************
Cette lettre hebdomadaire est un un service de Nexen.net,
portail technologique PHP et MySQL ?dit?e par la soci?t?
Nexen Services SA au capital de 49.536 Euros
inscrite au registre du commerce de Paris : RCS B 423 995 224

