Lettres
[Actu PHP] Lettre N.59 Dimanche 09 Février 2003
************************************************************
L'actualité PHP et MySQL
avec Nexen.net
http://www.nexen.net/
Dimanche 09 Fevrier 2003
************************************************************
Attention :
Cette lettre hebdomadaire est distribuée aux personnes qui se
sont inscrites sur le site nexen.net, comme membre et comme
destinataire de cette lettre. Les instructions de modifica-
tions 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
===
Encore une semaine riche en information et en nouveautés PHP
et MySQL. En premier lieu, on voit apparaitre finalement la version
finale de MySQL 4.1, qui devrait se produire durant ce mois de Février.
Restez donc à l'écoute si vous voulez être prévenu dès que l'enfant
terrible des bases de données sortira.
En même temps que l'on commence à parler de MySQL 5.0 (prévu
pour la fin de l'année), on voit aussi apparaître plusieurs tutoriels
avancés sur PHP 5. L'intégration du Zend Engine 2 est confirmée.
Les concepts les plus avancés des technologies objets se présentent
toutes à la porte de PHP pour y être intégrées.
Gageons que l'année se terminera aussi fort qu'elle commence!
Damien Seguy
Site de la semaine
=============
compte
dès la prochaine publication.
Damien Seguy.
http://dev.nexen.net/docs/php/
Au sommaire
==========
09/02/2003
* [1] Smarty 2.4.1
* [2] Compter les hits avec PHP
08/02/2003
* [3] Les cahiers du programmeurs
* [4] PHP Le grand test...
* [5] Analyser un fichier RDF ou RSS
* [6] Les classes abstraites en PHP
07/02/2003
* [7] Expressions régulières
* [8] Interview de Dilip Thomas, de Wrox.
06/02/2003
* [9] Conseils de validation des variables de formulaire.
* [10] Comparaison MySQL et PostGreSQL
* [11] Couche d'abstraction de base de données : DBX
* [12] MySQL 4.0.10
05/02/2003
* [13] Interfacer MySQL avec PHP en mode Objet
* [14] Ecrire du code PHP indestructible
* [15] Librairie d'Interface Web
* [16] Introduction aux FULL index de MYSQL
* [17] ASP2PHP
04/02/2003
* [18] SQLYog 3.0.1
* [19] Alerte sécurité sur PHP Nuke
* [20] MnoGoSearch 3.2.8 publié
* [21] Applications PDF et MySQL
03/02/2003
* [22] L'actualité de la Poire
* [23] JPgraph 1.11
* [24] Résumé de la semaine de développement de PHP
Toute l'actualité en détails :
============================
[2] Compter les hits avec PHP [ Haut ]
------------------------------------------------------------
Tim Perdue rédige un article pour DevArticle, ou il explique
comment réaliser un compteur de hit en PHP. Le code couvre
la table de la base de données et le code PHP à insérer
dans chaque page, pour pouvoir suivre en temps réel les
statistiques de fréquentation de votre site.
Vous pouvez aussi exploiter la puissance du logiciel de
Sebastian Bergmann, PHPOpenTracker, qui a préparé et
optimiser la gestion du flot des hits.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/09/1482,0,1,0,0.php3
[3] Les cahiers du programmeurs [ Haut ]
------------------------------------------------------------
Eyrolles a lancé récemment (?) une nouvelle collection
intitulée les cahiers du programmeur.
Cette collection à cela d'intéressant qu'elle présente des
projets dans leur ensemble.
Dans le livre "PostgreSQL, services web avec postgresql et
php/xml" vous allez commencer à lire le cahier des charges
puis commencer à travailler en mode gestion de projet en
utilisant la méthode SADT pour décomposer les étapes du
projet.
SADT Kesako vous me direz ? Et bien dans ce livre chaque
technologie/méthodologie est présentée de façon vraiment
claire et sans fioritures.
Suite à cela vous découvrirez comment gérer la base de
données, le code etc.
Enfin un bon bouquin à lire ( pour changer...)
note à bibi : C'est marrant en plus c un ancien de l'epita
qui m'avait donné des cours.:))
------------------------------------------------------------
cyruss (http://www.phpteam.net)
http://dev.nexen.net/news/gen.php3/2003/02/08/1477,0,1,0,0.php3
[4] PHP Le grand test... [ Haut ]
------------------------------------------------------------
avec quelques partenaires de forum, nous avons decidé
aujourd'hui de repondre a une question recurrente : quelle
est la charge et le temps d'execution de certaines
fonctions pour le serveur. C'est pourquoi je fais appel a
tous les adeptes du php (voir de l'asp) pour les inviter a
prendre part au grand test de php sur
http://www.jaimelelait.com. Que ce soit pour effectuer les
tests ou participer au developpement, toute participation
nous interesse.
------------------------------------------------------------
Sebastien (http://www.jaimelelait.com)
http://dev.nexen.net/news/gen.php3/2003/02/08/1478,0,1,0,0.php3
[5] Analyser un fichier RDF ou RSS [ Haut ]
------------------------------------------------------------
Tout est facile propose une introduction au XML avec PHP, en
l'illustrant avec le traitement du fichier de backend de
Linux fr. Le tutoriel est progressif, et établit aussi la
connexion pour rechercher dynamiquement le fichier RSS à
distance.
Des techniques simples avec un exemple pratique.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/08/1479,0,1,0,0.php3
[6] Les classes abstraites en PHP [ Haut ]
------------------------------------------------------------
PHPbuilder publie un article avancé sur la mise en place
avec PHP de classes abstraites. Avec l'arrivée du Zend
Engine 2, les techniques de programmation évoluent vers les
objets, et les librairies de classes.
On utilise couramment en PHP des fonctions dites de
callback, qui permettent d'instiller un comportement
spécifique dans une fonction banale : c'est par exemple le
cas des fonctions de tris avec comparaison personnalisée
(usort, ausort, kusort...)
Voici un des premiers tutoriels sur les futures notions de
PHP5 et du Zend Engine2. Si l'aventure vous tente,
installez le dès aujourd'hui.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/08/1480,0,1,0,0.php3
[7] Expressions régulières [ Haut ]
------------------------------------------------------------
Derek Ford s'essaie aux expressions régulières sur
phpfreaks.com. Il vient de publier un article de 3 pages
permettant de s'orienter rapidement dans la jungle des
expressions régulières. Cet article est valable aussi bien
pour les expressions régulières de Perl que de Posix. Il
couvre les notions de caractères spéciaux (les jokers et
quantificateurs), ainsi que les alternatives et les classes
de caractères. L'article promet aussi une suite avec des
notions avancées...
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/07/1476,0,1,0,0.php3
[8] Interview de Dilip Thomas, de Wrox. [ Haut ]
------------------------------------------------------------
WebKreator vient de réaliser un court interview avec Dilip
Thomas, qui a dirigé la publication de plusieurs livres PHP
chez Wrox. Après la publication de PHP professionnel et PHP
XML professionnel, Dilip présente PHP String handbook et
PHP graphic handbook, qui sont les prochains titres prévus.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/07/1475,0,1,0,0.php3
[9] Conseils de validation des variables de formulaire. [ Haut ]
------------------------------------------------------------
Justin Vincent avait publié il y a quelques jours, une
première liste de conseil sur la programmation PHP,
intitulé JV?s Power Tips for PHP (1). Il revient
aujourd'hui avec un nouvel épisode, sobrement appelé JV?s
Power Tips for PHP (2), qui traite des tests de validations
d'un formulaire.
Ces tests sont surement les plus importants en terme de
sécurité, et ils renforceront la robustesse de votre
application. Justin vous propose 4 méthodes pour cela.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/06/1474,0,1,0,0.php3
[10] Comparaison MySQL et PostGreSQL [ Haut ]
------------------------------------------------------------
Pour les amoureux du logiciel Libre, il y a deux
alternatives : MySQL et PostGreSQL. Les deux bases sont
Open Source, soutenue par une société et plutot répandues
sur le web.
MySQL est généralement le plus connu, et le plus souvent
associé à PHP, dans une proportion de 2 pour 1. PostGreSQL
affiche des fonctionnalités avancées comme les transactions
ou les sous sélections, que MySQL commence timidement a
proposer.
Tim Perdue a donc rassemblé toute son expérience pour
comparer les deux, et aider au choix.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/06/1473,0,1,0,0.php3
[11] Couche d'abstraction de base de données : DBX [ Haut ]
------------------------------------------------------------
Hier, John Lime du site PHP everywhere, et auteur de Adobdb
a réalisé des tests de performances sur DBX, une des
couches d'abstractions de bases de données écrite en C, et
disponible dans la distribution PHP.
Average Overhead
MySQL native 1.14 -
dbx 1.37 20% (flags=DBX_RESULT_INDEX)
ADOdb 1.45 27% (numeric indexes)
dbx 1.53 34% (default flags)
Vous noterez que la couche d'abstraction coute toujours au
moins 20% de performances. Cela établit aussi une autre
alternative a la quête des DBI : DBX.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/06/1472,0,1,0,0.php3
[12] MySQL 4.0.10 [ Haut ]
------------------------------------------------------------
MySQL vient de publier la version 4.0.10 de sa célèbre base
de
données. Ne la confondez pas avec la version que nous
attendons
tous, la 4.1, qui sera la prochaine évolution majeure. Avec
l'accélération
des versions et des publications ces dernières semaines,
tout laisse présager
une publication définitive imminente. Cette version de
développement ne contient que des corrections de bugs, et
aucune nouvelle fonctionnalités.
A noter que les versions MySQL 4.1.0 et 3.23.56 sont déjà
prévues sur
le site de mySQL, pour le mois de Février.
Voici un aperçu de la suite pour la version 4.0.10
Fonctionalité ajoutée ou changée :
* Dans INSERT INTO t1 SELECT ... FROM t2 WHERE ... MySQL,
un verrou
était posé sur la table t2. Ce verrou est supprimé.
* SHOW INNODB STATUS a vu sa taille maximale être augmenté
jusqu'à 200 kB.
* Correction d'un bug majeur sous InnoDB, dans
l'optimisation : les requêtes du type
SELECT ... WHERE indexcolumn < x and SELECT ... WHERE
indexcolumn > x causaient
un scan de la table, même si la selectivité était bonne.
* Correction d'un bug : la purge pouvait conduire à une
attente indéfinie dans une table
avec colonne de type BLOB, où la clé primaire était de
hauteur 1, Symptôme : le sémaphore
attendait, à cause du X-latch activé dans
btr_free_externally_stored_field() (ben ca alors...).
* Correction d'un bug : l'utilisation de commandes InnoDB
HANDLER sur un handle récent
causait un crash de mysqld dans
ha_innobase::change_active_index().
* Correctin d'un bug : si MySQL estimait une requête au
milieu d'une commande SELECTm
InnoDB pourvait bloquer sur l'index de latch hash adaptatif
btr0sea.c.
* Correction d'un bug : InnoDB pouvait annoncer une
corruption de table, et l'afficher dans
page_dir_find_owner_slot() si une recherche dans le hash
adaptatif concidait avec une purge ou
une insertion.
* Correction d'un bug : certains outils de sauvegarde du
système de fichier sous Windows 2000
pouvaient causer une erreur d'écriture d'un fichier InnoDB,
avec une erreur 33 ERROR_LOCK_VIOLATION.
En écriture synchron, InnoDB essaie désormais de réécrire
100 fois, a une secone d'intervalle.
* Correction d'un bug : REPLACE INTO t1 SELECT ... ne
fonctionnait pas si t1 était une colonne
auto incrémentée.
* Bug identifié mais non corrigé : SET FOREIGN_KEY_CHECKS=0
n'est pas répliquée correctement
avec la réplication de MySQL.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/06/1471,0,1,0,0.php3
[13] Interfacer MySQL avec PHP en mode Objet [ Haut ]
------------------------------------------------------------
PHPapps a repéré un article interessant sur le JournalDuNet,
qui montre comment s'interfacer avec MySQL, en utilisant
les capacités Objets de PHP. En effet, l'extension MySQL
dispose depuis longtemps la possibilité de lire une ligne
sous la forme d'un objet. A l'avenir, l'extension MySQL de
PHP sera d'ailleurs réécrite totalement en objet, afin de
profiter des fonctionnalités du Zend Engine 2, et des
fonctionnalités avancées de MySQL 4.x. Au moins deux
implémentations sont actuellement en cours.
Merci à phpapps.org pour le lien.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/05/1470,0,1,0,0.php3
[14] Ecrire du code PHP indestructible [ Haut ]
------------------------------------------------------------
Ce type de titre a un coté accrocheur qui sent a plein nez
le bug de sécurité. Mais il faut admettre que Hamol, auteur
de cet article, s'y connait en PHP.
On y trouve des conseils qu'on a souvent tendance a oublier
facilement :
Concevoir une fondation solide, diviser pour mieux regner,
ne jamais penser en terme de pages, réduire les pré requis
des navigateurs, séparer le code, le contenu et la
présentation, savoir reprendre la conception, sécuriser le
code, rester simple, coder pour la vitesse et pas pour la
plate forme.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/05/1469,0,1,0,0.php3
[15] Librairie d'Interface Web [ Haut ]
------------------------------------------------------------
Généralement, les systèmes de templates vous permettent de
mettre en place un moyen de communication avec le graphiste
et l'intégrateur HTML. Webkreator a déniché deux librairies
PHP qui génèrent directement des éléments d'interface en
HTML (via le DHTML, javascript ou autre). Ces librairies
fournissent notamment des outils rares, comme des arbres.
Le travail de présentation est considérablement simplifié,
et l'interface est unifiée.
A lire absolument!
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/05/1468,0,1,0,0.php3
[16] Introduction aux FULL index de MYSQL [ Haut ]
------------------------------------------------------------
Les colonnes de type char et varchar se prêtent bien aux
recherches, même partielles. Leur petite taille les rend
agile et rapide à traiter.
C'est complètement différent pour les gros blobs et TEXT,
dont on voudrait bien fouiller les entrailles sans mettre a
genou le serveur. C'est dans cet esprit que MySQL a ajouté
la recherche full index, qui apporte un niveau de
fonctionnalités importants tout en accélérant ce type de
recherche : liste de mots a ignorer, gestion des mots
composés, tri par pertinence...
Un tutoriel de databasejournal, a compléter avec celui de
Zend.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/05/1467,0,1,0,0.php3
[17] ASP2PHP [ Haut ]
------------------------------------------------------------
Tout le monde a forcément déjà entendu parler du fameux
convertisseur de code ASP vers PHP. Mais comment je le fais
marcher? C'est efficace? On a testé pour vous!
------------------------------------------------------------
Ludo (http://www.asp-php.net)
http://dev.nexen.net/news/gen.php3/2003/02/05/1466,0,1,0,0.php3
[18] SQLYog 3.0.1 [ Haut ]
------------------------------------------------------------
SQLYog est un client MySQL gratuit, graphique et écrit
entièrement pour Windows. Il est bourré de fonctionnalités
pratiques et tend à remplacer MySQLfront.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/04/1465,0,1,0,0.php3
[19] Alerte sécurité sur PHP Nuke [ Haut ]
------------------------------------------------------------
PHPNuke.org publie un patch de sécurité qui peut avoir une
influence certaine sur la sécurité de votre site, si vous
utilisez PHP Nuke. Pour preuve, le site officiel a été
attaqué par trois IP, et a été massivement effacé.
Merci à PHPdeveloppers pour la news.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/04/1462,0,1,0,0.php3
[20] MnoGoSearch 3.2.8 publié [ Haut ]
------------------------------------------------------------
MnoGosearch est un outil de recherche clé en main, fourni
par une équipe russe en Open Source. Ce logiciel est
composé d'un robot qui scanne votre site web, et enregistre
les pages dans une base de données (MySQL, Postgresql, ou
bien d'autres).
Depuis PHP, Mnogosearch dispose d'une extension permettant
d'interroger la base du moteur, et de faire des recherches
complexes et rapides, grâce à l'indexation différée.
Sachez aussi que Mnogosearch propose des licences
commerciales payantes, avec du support.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/04/1463,0,1,0,0.php3
[21] Applications PDF et MySQL [ Haut ]
------------------------------------------------------------
PHPfr.org signale deux applications utiles pour la
programmation au quotidien :
phpcodegenie est une applications qui réalise rapidement
les scripts nécessaires pour s'interfacer via le web sur
une table MYSQL. Comme phpmyadmin, il s,adapte au design de
la table, mais il fournit le code PHP nécessaire pour
réaliser une insertion, un listage.. Il ne reste plus qu'à
l'utiliser, et le modifier ou l'adapter.
L'autre est phppdflib, une librairie en PHP permettant de
générer des fichiers PDF. Elle a été développée comme
utilitaire dans le cadre d'autre projet et est publiée
indépendamment sur le web.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/04/1464,0,1,0,0.php3
[22] L'actualité de la Poire [ Haut ]
------------------------------------------------------------
Vous aurez reconnu la lettre hebdomadaire de PEAR, la
bibliothèque de PHP. Cette seamaine retrouvez Mika
Tuupola et Pierre-Alain Joye qui vous présentent les
dernières nouveautés de PEAR, a commencer par APD, un
nouveau débogeur/profileur de PHP.
La traduction est l'oeuvre d'Arnaud Limbourg.
Un page de statistiques résume l'intérêt des développeurs
pour certains paquet spécifiques.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/03/1461,0,1,0,0.php3
[23] JPgraph 1.11 [ Haut ]
------------------------------------------------------------
Après les classiques mises à jours qui suivent la
publication de PHP 4.3.0, JPGraph publie une version
importante, et ajoute de nouveaux formats à la collection
déja pléthorique : les chandelles des boursiers. A noter
aussi la possibilité d'avoir plusieurs axes Y sur le même
schéma.
Si vous n'êtes pas convaincus par les capacités de JPgraph,
voyez donc la galerie.
Si vous êtes encore sceptiques des performances de JPgraph,
les derniers rapports ne sont pas en faveur d'une
accélération.
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/03/1460,0,1,0,0.php3
[24] Résumé de la semaine de développement de PHP [ Haut ]
------------------------------------------------------------
Fidèle au rendez vous, Zend a lu tous les messages de la
semaine, et fait le point.
TLK: RSS bug feed
TLK: Logiciel de collecte des tests QA
NEW: str_replace() insensible à la casse
TLK: Des conferences, des conferences partout!
NEW: Array vers XML
TLK: verrouillage de fichier obligatoire
FIX: Problèmes de compilation avec Sablotron
------------------------------------------------------------
http://dev.nexen.net/news/gen.php3/2003/02/03/1459,0,1,0,0.php3
***************************************************************
Pour modifier votre abonnement :
http://dev.nexen.net/services/login.php?direction=diffusion.php
Pour devenir membre de nexen.net :
http://dev.nexen.net/services/login.php?direction=diffusion.php
L'actualité journalière sur nexen.net :
http://dev.nexen.net/news/
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

