Lettres
[Actu PHP] Lettre N.338 Dimanche 10 Septembre 2006
************************************************************
L’actualité PHP et MySQL
avec Nexen.net
http://www.nexen.net/
Dimanche 10 Septembre 2006
************************************************************
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.
Au sommaire
===========
lundi 04 septembre 2006
- [1] Statistiques de déploiement de PHP en août 2006
- [2] Entrevue avec le fondateur de SQLYog
- [3] Résumé de la semaine PHP du 28 août au 3 septembre 2006
- [4] Evolution de PHP sur Internet (août 2006)
- [5] Stocker et manipuler des variables en les enregistrant dans
- [6] Vérification d’erreur MySQL en PHP
- [7] Projet de livre blanc de déploiement PHP
- [8] La fonction MySQL GROUP_CONCAT()
- [9] Mais d’où vient cette requête SQL?
- [10] Piéger les spiders et les rippers avec robots.txt
- [11] La bibliothèque graphique Cairo arrive sur PHP
- [12] Understanding the Zend Framework, Partie 9: interactivité
- [13] Les tables fédérées de MySQL
- [14] Statistiques PHP pour le mois d’août 2006
- [15] PHP 5.2.0 RC3 : bientôt la version finale
- [16] Yoursequel.com : hébergement MySQL gratuit
- [17] L’indécision : coût fatal des projets logiciels
- [18] Outils pour analyser le log de requêtes lentes
- [19] Le succès des langages Web? L’hébergement partagé
- [20] Calcul de distance avec MySQL
vendredi 08 septembre 2006
- [24] Développer en PHP à la manière AJAX
- [25] Toutes les documentations en un site
- [26] Actualité de développement PECL, edition 118
- [27] Un cours d’algorithmes
dimanche 10 septembre 2006
- [29] Actualité de développement PEAR, edition 107
Toute l’actualité en détails :
===============================
[1] Statistiques de déploiement de PHP en aout 2006 [ Haut ]
------------------------------------------------------------
------------------------------------------------------------
http://www.nexen.net/chiffres_cles/phpversion/statistiques_de_deploiement_de_php_en_aout_2006.php
[2] Entrevue avec le fondateur de SQLYog [ Haut ]
------------------------------------------------------------
”Webyog est la compagnie derrière l’outil populaire de
gestion de serveurs MySQL SQLYog. Ils sont de bons
partenaires MySQL depuis longtemps, et récemment, ils ont
ouvert le code de leur produits. J’ai eu la chance de
croiser Rohit Nadhani, co fondateur de Webyog, à propos de
leur migration vers l’Open Source, les modifications dans
leur code, et quelques autres informations.”
------------------------------------------------------------
http://www.nexen.net/actualites/mysql/entrevue_avec_le_fondateur_de_sqlyog.php
[3] Résumé de la semaine PHP du 28 aout au 3 septembre 2006 [ Haut ]
------------------------------------------------------------
+ Grande disparité dans l’utilisation de PHP dans les
marchés émergents
+ Zend lève 20 millions de dollars
+ VanPHP: Mega Map Mashups avec PHP
+ En Zend et PHP, nous investissons
+ Programme de la conférence internationale PHP 2006
+ PHP Script avec YouTube API: PART 2
+ Mixins en PHP
------------------------------------------------------------
http://www.nexen.net/actualites/php/resume_de_la_semaine_php_du_28_aout_au_3_septembre_2006.php
[4] Evolution de PHP sur Internet (août 2006) [ Haut ]
------------------------------------------------------------
------------------------------------------------------------
http://www.nexen.net/chiffres_cles/phpversion/evolution_de_php_sur_internet_aout_2006.php
[5] Stocker et manipuler des variables en les enregistrant dans la base de donnée [ Haut ]
------------------------------------------------------------
Généralement, les paramètres d’un site Web sont stockés
dans un fichier config.php, à la racine du site. Cela rend
le site vulnérable à une attaque contre ce fichier. Une
solution pour améliorer la sécurité est de placer les
variables dans une table de la base de données. AllHTML
vous montre comment faire.
------------------------------------------------------------
http://www.nexen.net/actualites/trucs/stocker_et_manipuler_des_variables_en_les_enregistrant_dans_la_base_de_donnee.php
[6] Vérification d’erreur MySQL en PHP [ Haut ]
------------------------------------------------------------
Travailler avec une bibliothèque externe impose de tester
les retours des appels pour chaque fonction externe.
Lorsque votre requête SQL échoue, savez-vous toujours
pour quelle raison? Bob Field vous en dit plus.
------------------------------------------------------------
http://www.nexen.net/actualites/tutorial/verification_d’erreur_mysql_en_php.php
[7] Projet de livre blanc de déploiement PHP [ Haut ]
------------------------------------------------------------
{nx_image:src=biseau/sebastian.bergmann} ”Harry Fuecks
affirme que ’PHP a absolument besoin que quelqu’un
rassemble un document complet sur les raisons pour
lesquelles PHP supporte les fortes charges, pour que tout
le monde puisse vivre heureux après cela’.”
Sebastian Bergmann lance ce projet en rassemblant plusieurs
autres documents qui seraient une bonne base pour un livre
blanc des performances PHP. Des conférences de Yahoo! ou
de 100days sont parmis les sources pertinentes.
Si vous avez de l’expérience dans les forts trafics, vous
pouvez vous joindre au projet via les commentaires sur le
blogue de Sebastian.
------------------------------------------------------------
http://www.nexen.net/actualites/php/projet_de_livre_blanc_de_deploiement_php.php
[8] La fonction MySQL GROUP_CONCAT() [ Haut ]
------------------------------------------------------------
GROUP_CONCAT permet de concaténer toutes les valeurs d’une
colonne en une seule chaîne. C’est particulièrement
pratique dans des requêtes SQL de regroupement, où il
faudra exporter toutes les valeurs d’un groupe.
GROUP_CONCAT permet alors de rassembler les lignes en une
seule, et évite une double boucle coté PHP. Peter Zaitsev
vous montre comment cela fonctionne.
------------------------------------------------------------
http://www.nexen.net/actualites/trucs/la_fonction_mysql_group_concat.php
[9] Mais d’où vient cette requête SQL? [ Haut ]
------------------------------------------------------------
Sur un site Web adossé à un serveur SQL, il arrive que
l’on ne sache plus quelle page ou quel fichier a émis une
requête SQL : parfois des requêtes identiques sont
émises depuis des scripts différents, ou encore certaines
requêtes sont centralisées, et sollicitées par des pages
différentes. Bref, il est difficile de savoir d’où
provient une requête.
Pour faire la différence entre les origines des requêtes
dans les fichiers de log, doughboy vous propose le truc
suivant : ajouter à la fin de la requête un commentaire
avec l’URI appelante. En effet, un commentaire SQL sera
ignoré par le moteur MySQL, mais il sera malgré tout
noté par le moteur de log : il faut bien que ces
commentaires servent à quelque chose un jour!
Le conseil associé à cette technique de débogage : comme
toutes les techniques de débogage, évitez de l’utiliser en
production, et trop longtemps.
------------------------------------------------------------
http://www.nexen.net/actualites/trucs/mais_d’ou__vient_cette_requete_sql.php
[10] Piéger les spiders et les rippers avec robots.txt [ Haut ]
------------------------------------------------------------
Le fichier robots.txt est une bonne source d’information pour
tous les spiders qui veulent accéder à des ressources que
vous ne souhaitez pas voir indexées. En fait, le principe
est même assez évident : robots.txt contient la liste publique
des fichiers et dossiers qui doivent rester privés.
Alors, pour se protéger, vous pouvez utiliser ce même
fichier robots.txt pour identifier ceux qui s’en servent
comme base d’analyse, et vont analyser le site. En ajoutant
quelques scripts anodins qui vont noter les violations du
robots.txt, et bloquer les IP, vous pourrez vous prémunir
contre ceux qui cherchent à abuser de votre site.
------------------------------------------------------------
http://www.nexen.net/actualites/trucs/pieger_les_spiders_et_les_rippers_avec_robots.txt.php
[11] La bibliothèque graphique Cairo arrive sur PHP [ Haut ]
------------------------------------------------------------
Hartmut Holzgraefe travaille sur une interface entre PHP et
la bibliothèque Cairo. Cette bibliothèque est une
bibliothèque moderne pour les manipulations graphiques.
Elle pourrait déboucher sur un remplacement effectif de la
bibliothèque GD.
------------------------------------------------------------
http://www.nexen.net/actualites/php/la_bibliotheque_graphique_cairo_arrive_sur_php.php
[12] Understanding the Zend Framework, Partie 9: interactivité avec AJAX et JSON [ Haut ]
------------------------------------------------------------
IBM poursuit sa série avec le neuvième chapitre sur le
Zend Framework : où l’on apprend à améliorer
l’interactivité des applications Web avec AJAX, JSON et le
Zend Framework.
La série de tutoriels d’IBM est la plus complète
collection de tutoriels concernant le Zend Framework.
------------------------------------------------------------
http://www.nexen.net/actualites/tutorial/understanding_the_zend_framework,_partie_9:_interactivite_avec_ajax_et_json.php
[13] Les tables fédérées de MySQL [ Haut ]
------------------------------------------------------------
Les tables fédérées (federated tables en anglais)
permettent un accès local à des données distantes. En
fait, la table sert d’interface avec un autre serveur, et
permet ainsi d’accéder aux données de cette table
distante depuis un serveur local.
Les applications de ces tables sont multiples :
consolidation de données placées sur des serveurs
différents; réservation des capacités du serveur pour
une table.
Les tables fédérées sont disponibles depuis MySQL 5.0.
Les tables sont fédérées entre serveurs MySQL, mais
l’ouverture vers d’autres serveurs est au programme.
------------------------------------------------------------
http://www.nexen.net/actualites/tutorial/les_tables_federees_de_mysql.php
[14] Statistiques PHP pour le mois d’aout 2006 [ Haut ]
------------------------------------------------------------
Les statistiques de diffusion de PHP pour le mois de aout
2006 sont
disponibles. En résumé :
+ PHP 5 dépasse les 10%, avec un mois record d’adoption
+ PHP 4.4 est sur le point de détrôner PHP 4.3
+ La France est en tête pour l’adoption de PHP (45% des
sites Web)
Il y a aussi des statistiques pour Apache (par pays, et par
version).
------------------------------------------------------------
http://www.nexen.net/actualites/statistiques_de_deploiement/statistiques_php_pour_le_mois_d’aout_2006.php
[15] PHP 5.2.0 RC3 : bientôt la version finale [ Haut ]
------------------------------------------------------------
PHP 5.2.0 RC3 est maintenant disponible auprès de l’équipe
d’assurance qualité de PHP pour les derniers tests avant
publication. Les corrections sont maintenant peu
nombreuses, ce qui indique l’imminence de la version
finale. 2 correctifs retiennent l’attention pour cette RC3
: une correction de mémoire et un problème avec les
objets stockés en session.
Il est temps de télécharger PHP 5.2.0 pour le tester sur
vos applications en cours et signaler les bugs.
------------------------------------------------------------
http://www.nexen.net/actualites/php/php_5.2.0_rc3_:_bientot_la_version_finale.php
[16] Yoursequel.com : hébergement MySQL gratuit [ Haut ]
------------------------------------------------------------
{nx_image:src=biseau/gratuit} 50 Mo d’espace, une base de
données et MySQL 5.0 : voici l’offre de yoursequel pour
héberger gratuitement votre base de données. C’est
uniquement la base de données qui est hébergée, avec un
accès distant. Un accès phpMyAdmin est aussi fourni.
L’intérêt de cette offre sera surtout de tester la
nouvelle version MySQL 5.0, notamment pour les procédures
stockées. D’autres y verront aussi un intérêt à
externaliser la base de données de leur site vers une
sauvegarde externe.
------------------------------------------------------------
http://www.nexen.net/actualites/mysql/yoursequel.com_:_hebergement_mysql_gratuit.php
[17] L’indécision : coût fatal des projets logiciels [ Haut ]
------------------------------------------------------------
”La pure indécision coûte 8220 dollars par semaine;
prendre des décisions, y compris les mauvaises, fait
perdre 1680 dollars par semaine. La différence est de 6540
dollars par mois.”.
Avec un simple calcul de coût, Rob montre que
l’indécision est un facteur de coûts énormes. Même si
on se trompe, une mauvaise décision coûte moins cher que
l’attentisme. D’autant que lorsqu’un programmeur rencontre
une difficulté, il va arrêter son travail, et attendre la
réponse : c’est une propension courante.
Rob précise que les décisions d’architecture, celles
liées à la chirurgie ou aux missiles nucléaires (bref,
celles qui ne souffrent pas d’erreur), devront s’adapter à
l’indécision malgré tout.
------------------------------------------------------------
http://www.nexen.net/actualites/php/l’indecision_:_cout_fatal_des_projets_logiciels.php
[18] Outils pour analyser le log de requêtes lentes [ Haut ]
------------------------------------------------------------
Pour améliorer les performances d’un serveur MyQSL, il
existe le log de requêtes lentes, qui enregistre les
requêtes trop longues à exécuter (à partir d’un temps
d’exécution, exprimé en secondes), ou bien les requêtes
qui n’utilisent pas d’index.
Toute fois, ce log doit parfois enregistrer beaucoup trop
de requêtes, et il est mal aisé de s’y retrouver. Voici
donc quelques outils pour s’y retrouver.
------------------------------------------------------------
http://www.nexen.net/actualites/tutorial/outils_pour_analyser_le_log_de_requetes_lentes.php
[19] Le succès des langages Web? L’hébergement partagé [ Haut ]
------------------------------------------------------------
Le succès des plates-formes Web proviendrait
essentiellement de l’hébergement partagé, qui permet à
tout un chacun, ayant 5 euros en poche, de se faire sa
place sur le réseau. C’est le constat de hiveminds, qui
compare les résultats de PHP, ASP et ASP.NET avec ceux de
Java, Python ou Perl.
------------------------------------------------------------
http://www.nexen.net/actualites/php/le_succes_des_langages_web_l’hebergement_partage.php
[20] Calcul de distance avec MySQL [ Haut ]
------------------------------------------------------------
Calculer la distance entre deux points sur Terre est
finalement assez fréquent : cela s’applique directement à
toutes les applications de localisation de boutiques. Ce
calcul peut se faire directement dans MySQL, avant même de
rendre le résultat à PHP.
------------------------------------------------------------
http://www.nexen.net/actualites/trucs/calcul_de_distance_avec_mysql.php
[21] Antisèches pour tous [ Haut ]
------------------------------------------------------------
Des ”antisèches” (cheat sheet en anglais) sont des petits
memos qui rassemblent les informations dont on a toujours
besoin mais qu’on oublie toujours. Ordre des arguments,
place du souligné dans le nom, ou simplement existence
d’une clause : ces petits documents compacts permettent de
se rafraichir la mémoire rapidement. A condition d’avoir
compris le fonctionnement auparavant.
En voici deux séries, pour PHP, MySQL mais tout une
multitude d’autres technologies.
------------------------------------------------------------
http://www.nexen.net/actualites/trucs/antiseches_pour_tous.php
[22] Gif animées en PHP [ Haut ]
------------------------------------------------------------
PHPClasses publie une classe PHP pour combiner différentes
images GIF en une seule image animée. Le tutoriel,
succinct, est une application d’images animées pour des
radars météo.
------------------------------------------------------------
http://www.nexen.net/actualites/trucs/gif_animees_en_php.php
[23] Ces group by qui fragilisent les requêtes [ Haut ]
------------------------------------------------------------
Dans une requête comme celle-ci
SELECT A,B,MAX(C) FROM TBL GROUP BY A
les valeurs des colonnes A et Max(C) seront toujours les
mêmes, mais les valeurs de la colonne B seront arbitraires
: c’est en fait une valeur du groupe sans aucune autre
spécifications. Au mieux, cette valeur changera d’une base
de données à l’autre .Peter Zaitsev indique aussi que
certains serveurs refuseront la requête. En fait, le
résultat ici est non déterministe : il ne sera pas
toujours le même.
------------------------------------------------------------
http://www.nexen.net/actualites/trucs/ces_group_by_qui_fragilisent_les_requetes.php
[24] Développer en PHP à la manière AJAX [ Haut ]
------------------------------------------------------------
Un problème important avec AJAX est l’absence du bouton
Back. Nous allons utiliser JavaScript pour créer un
historique des photos visitées dans notre galerie de
photos AJAX. Cet historique imitera le système
d’historique des navigateurs, et nous pourrons ainsi
proposer les boutons retour, avance et même rechargement.
------------------------------------------------------------
http://www.nexen.net/actualites/tutorial/developper_en_php_a_la_maniere_ajax.php
[25] Toutes les documentations en un site [ Haut ]
------------------------------------------------------------
Un site de documentation qui regroupe les manuels CSS, HTML,
HTML DOM, Java, JavaScript, MySQL, PHP, Perl, Ruby, quelques
autres sur un même formulaire. L’interface est AJAX pour un
maximum de réactivité. Le site conserve aussi en mémoire
les dernières visites que vous avez faites, et on peut
étendre la recherche à Google en cas d’échec.
------------------------------------------------------------
http://www.nexen.net/actualites/trucs/toutes_les_documentations_en_un_site.php
[26] Actualité de développement PECL, edition 118 [ Haut ]
------------------------------------------------------------
6 paquets ont été mis à jour cette semaine :
APC [->] : cache PHP alternatif
ibm_db2 [->] : interface pour IBM DB2
timezonedb [->] : base de données de fuseaux horaires pour
PHP
filter [->] : Extension pour gérer les entrées de
manière sécuritaire
ocal [->] : connecteur à Oracle Calendar
wbxml [->] : conversion WBXML vers XML
PECL est la bibliothèque d’extensions C de PHP.
------------------------------------------------------------
http://www.nexen.net/actualites/pecl/actualite_de_developpement_pecl,_edition_118.php
[27] Un cours d’algorithmes [ Haut ]
------------------------------------------------------------
Voici un livre d’algorithmique, publié par trois
professeurs de Berkeley. L’approche est générique, pas
PHP, mais présente et remet en perspective les algorithmes
traditionnels.
------------------------------------------------------------
http://www.nexen.net/actualites/logiciels/un_cours_d’algorithmes.php
[28] Alertes sécurité des applications PHP et MySQL, édition 110 [ Haut ]
------------------------------------------------------------
PHP et MySQL ne font l’objet d’aucune alerte de sécurité
dans leurs versions courantes :
PHP 5.1.6 et 4.4.4; MySQL 5.0.24 et 4.1.21. Les mises à
jour sont recommandées vers ces versions.
MySQL 5.1.11 a reçu des alertes sécurité, mais son
statut de beta la déconseille pour la production.
4 alertes de sécurité ont été émises cette semaine,
concernant des applications suivantes :
Drupal, PHP Nuke, ez et phpBB
Pathauto Module for Drupal Unspecified Parameter Cross Site
Sc...
http://www.frsirt.com/english/advisories/2006/3480 [->]
Site : http://drupal.org/ [->]
ezContents loginreq2.php subgroupname Variable XSS
http://www.netsecurity.org/vulnerability.php?id=28319 [->]
Site : http://www.ez.no/ [->]
phpBB Premod Shadow ”phpbb_root_path” File Inclusion
http://secunia.com/advisories/21803/ [->]
Site : http://www.phpbb.com/ [->]
frsirt [->]
net-security [->]
phpsecure [->]
secunia [->]
------------------------------------------------------------
http://www.nexen.net/actualites/securite/alertes_securite_des_applications_php_et_mysql,_edition_110.php
[29] Actualité de développement PEAR, edition 107 [ Haut ]
------------------------------------------------------------
4 paquets ont été mis à jour cette semaine :
Crypt_Blowfish [->] : Chiffrement 2 sens de type BlowFish
PHP_CompatInfo [->] : Recherche les versions et extensions
minimum pour exécuter un script PHP
Net_Sieve [->] : Gestion des serveurs de temps
Translation2 [->] : Classe de support des applications
multi-lingues
PEAR est la bibliothèque de composants PHP.
------------------------------------------------------------
http://www.nexen.net/actualites/pear/actualite_de_developpement_pear,_edition_107.php
***************************************************************
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

