Lettres


[Actu PHP] Lettre N.133 Dimanche 14 Mars 2004
************************************************************
L'actualité PHP et MySQL
avec Nexen.net
http://www.nexen.net/
Dimanche 14 Mars 2004
************************************************************

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
=====
Pour être un développeur reconnu en PHP, il faut programmer
en langage C. Ce n'est pas une règle écrite, mais on la subit
partout.

Sauriez vous nommer un auteur d'extension? Derick, Ilia,
George, Rasmus, Sterling, Dan, Wez, Stig, Thies...
Sauriez vous nommer un rédacteur de la documentation?
mmm deja plus dur...
Sauriez vous nommer un membre du groupe PEAR?

Etrangement, la communauté PHP est centrée autour
des développeurs du langage. Un auteur qui ne code
pas en C, aussi excellent que possible, aura toute les
peine à être reconnu.

Il ne faut pas confondre développer PHP et développement
en PHP. Les aspects utilisateurs sont trop méconnus :
ergnomie des sites, fonctionnalités, standards, inter-
opérabilité, interfaces non-web. Tout cela fait partie du
métier de développeur d'application web. Cela mérite
d'être reconnu.

Damien Seguy

Venez discuter de la lettre hebdo et de l'actualité sur le forum :
http://www.nexen.net/forum/list.php?f=14

Site de la semaine
==================
Tous les ateliers PHP/MySQL

"Avec PHP et MySQL, vous pourrez créer des pages dynamiques
facilement sur votre site. Retrouvez dans ce cahier tout ce qu'il faut
pour les débutants ou les experts du Web !"

Le site de Lycos fournit plusieurs ateliers pour se lancer
en PHP. Les articles sont tout en français.

Les outils du Pro
Maîtrisez les outils des développeurs aguerris
Installation d'un serveur de développement

Applications pratiques
Développez votre site avec PHP
Création d'un livre d'or
Un moteur de recherche sur votre site
Création d'un module de sondage

http://webmaster.lycos.fr/topics/technic/php/index.phtml

Au sommaire
===========
  • [1] MySQL résout le problème PHP
  • [2] L'agence fédérale GAO préfère PHP à Java
  • [3] Actualité de développement de PEAR
  • [4] Alertes de sécurité
  • [5] Sécurisation avec Crypt_HMAC
  • [6] PHP pour les joggers
  • [7] Kwartz d'Iris Technologies intègre MySQL
  • [8] gphpedit
  • [9] Misères commerciales chez MySQL AB
  • [10] Projets PHP 5 à surveiller
  • [11] Mesurer la vitesse des scripts PHP
  • [12] Créer des fichiers XUL en PHP
  • [13] Connecter PHP à Microsoft SQL 2000
  • [14] Astuces MySQL
  • [15] Hébergeurs gratuits en PHP
  • [16] PHP 5 : entre stabilité et fonctionnalité
  • [17] Check list de sécurité
  • [18] Relation classe tables SQL
  • [19] KCachegrind pour APD
  • [20] Résumé de la semaine de développement PHP
  • [21] phpBB rapidement
  • [22] Outil de débogage : debug_backtrace()
  • [23] L'alternative Open Source
  • [24] phpsqliteadmin 0.2


  • Toute l'actualité en détails :
    ===============================

    [1] MySQL résout le problème PHPHaut ]
    ------------------------------------------------------------
    Depuis la version 4.1, MySQL a modifié la licence qui couvre
    les bibliothèques clientes pour les mettre sous licence
    GPL. Elles étaient sous licence LGPL jusqu'ici et certains
    éditeurs exploitaient cela pour les inclure sans verser de
    royalties à MYSQL AB. La nouvelle licence les empêche de
    faire cela, mais la conséquence a été d'empêcher PHP
    d'inclure MySQL dans sa distribution : conflit de licence.
    PHP est sous Apache, alors que MySQL est sous GPL. En
    conséquence, l'extension MySQL a été ramenée à un statut
    d'extension classique et d'autres bases en profitent pour
    occuper le terrain : SQLite, Oracle et MSSQL jouent des
    coudes.

    MySQL AB a donc publié une exception à sa licence, qui
    permet à PHP de reprendre le cours habituel de son
    développement avec MySQL.
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/14/2761,0,1,0,0.php3


    [2] L'agence fédérale GAO préfère PHP à JavaHaut ]
    ------------------------------------------------------------
    Le GAO (U.S. General Accounting Office, agence de
    comptabilité fédérale) a monté son propre système d'audit,
    basé sur PHP et MySQL. Cette agence réalise des sondages
    allant de 50 à 22000 sondés. Le PHP a été choisi notamment
    pour la sécurité des applications, notamment face à Java.
    De plus, certains sondés ont des qualités de connexion très
    faibles (comme les rangers d'Alaska) et ne peuvent se
    permettre le luxe de télécharger de gros programmes Java.
    PHP, au contraire, donne un résultat universel et léger.
    Cela a fait la décision. (Lien PHP|Architect)
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/14/2760,0,1,0,0.php3


    [3] Actualité de développement de PEARHaut ]
    ------------------------------------------------------------
    13 paquets ont été mis à jour :

    DB : couche d'abstraction de base de données
    I18Nv2 : Internationalisation
    LiveUser : identification et permissions des utilisateurs
    Mail_IMAP : interface c-client pour webmail
    MDB2 : couche d'abstraction de base de données
    Net_FTP : interface objet pour les fonctions FTP
    Net_LDAP : Interface objet pour les fonctions LDAP
    Net_Sieve : interface avec les serveurs timsieve
    Net_SMTP : implémentation du protocole SMTP
    Net_UserAgent_Detect : détermine le navigateur web, sa
    version et la plate-forme
    PHP_CompatInfo : recherche la version minimum et les
    extensions nécessaires à un script pour fonctionner.
    Text_Wiki : règle d'analyse et d'affichage pour les balises
    Wiki.
    XML_XUL : classe Mozilla XUL
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/14/2759,0,1,0,0.php3


    [4] Alertes de sécuritéHaut ]
    ------------------------------------------------------------
    4 alertes de sécurité ont été émises concernant des
    applications PHP et MySQL.

    Elles concernent VirtuaNews, InVision PowerBoard, et
    Confixx

    VirtuaSystems VirtuaNews Admin.PHP Cross-Site Scripting
    Vulnerability
    Invision Power Board Cross-Site Scripting Vulnerabilities
    Invision Power Board Error Message Path Disclosure
    Vulnerability
    Confixx "db" Parameter SQL Injection
    Vulnerability
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/13/2758,0,1,0,0.php3


    [5] Sécurisation avec Crypt_HMACHaut ]
    ------------------------------------------------------------
    "HMAC est similaire au système PGP/GPG, hormis le fait
    qu'il n'y a qu'une clé, plutôt qu'une paire. HMAC est
    utilisé pour assurer l'intégrité du message lorsque deux
    personnes partagent une même clé. Dans cet article, [issu
    de PHP-Magazine], Davey Shafik exploite cette
    fonctionnalité dans une page d'identification de site
    web".
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/13/2757,0,1,0,0.php3


    [6] PHP pour les joggersHaut ]
    ------------------------------------------------------------
    phprunman tient à jour votre comptabilité de courses et
    distances. C'est une application utilitaire, destinée à
    enregistrer les courses réalisées, les distances et des
    commentaires. Elle se charge de classer l'ensemble, et de
    fournir des stats et un graphique d'ensemble. Elle fait
    aussi des évaluations de performances sur différentes
    distances. Cette application est disponible en français et
    en anglais. Paru sur PHP-mag.
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/13/2756,0,1,0,0.php3


    [7] Kwartz d'Iris Technologies intègre MySQLHaut ]
    ------------------------------------------------------------
    "Le serveur d'Iris Technologies, fondé sur GNU et des
    logiciels libres, devrait intéresser les petites et
    moyennes structures en quête d'un système bon marché et
    simple à administrer.[..] Kwartz intègre des applications
    reconnues : base de données MySQL , serveur de
    messageries Courier et Exim, Bind, Samba , Apache ,
    Squid..."
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/13/2755,0,1,0,0.php3


    [8] gphpeditHaut ]
    ------------------------------------------------------------
    gphpedit est un éditeur PHP pour Gnome2. Il reconnait la
    syntaxe PHP, HTML, CSS et SQL. Il propose un navigateur
    pour s'y retrouver dans les classes, et un débogage
    rudimentaire des erreurs de syntaxe. Le logiciel est
    gratuit, livré sous licence GPL. La version courante,
    0.9.10, date du 10 mars 2004.
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/12/2754,0,1,0,0.php3


    [9] Misères commerciales chez MySQL ABHaut ]
    ------------------------------------------------------------
    George Schlossnagle a eu bien du mal à obtenir une licence
    de la bibliothèque cliente de MySQL. Lorsqu'on intègre
    MySQL dans un produit propriétaire, il faut payer la
    licence. Le problème de George commença lorsqu'il décida de
    se procurer cette licence pour la librairie cliente : les
    clients ont souvent leur serveur, pas besoin de le
    distribuer.
    Au final, pour 50$, on imagine qu'il faut surtout
    automatiser le processus de vente chez MySQL : les ventes
    seront nombreuses, mais petites.
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/12/2753,0,1,0,0.php3


    [10] Projets PHP 5 à surveillerHaut ]
    ------------------------------------------------------------
    Harry Fueck fait le tour des projets PHP 5 qui ont attiré
    son attention.

    + cowiki, le wiki de phpcommunity
    + Creole, couche d'abstraction de base de données
    + Propel, une interface entre les classes et les bases de
    données SQL
    + Phing, projet de compilation de PHP, basé sur Apache Ant.
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/11/2752,0,1,0,0.php3


    [11] Mesurer la vitesse des scripts PHPHaut ]
    ------------------------------------------------------------
    PHP-Magazine rassemble les solutions disponibles pour
    mesurer la vitesse d'exécution d'un script PHP :

    + En ligne de commande : $ time php myscript.php
    + Utiliser la classe de Benchmark de PEAR
    + Utiliser microtime() en début et fin de scripts
    + Utiliser ab, l'outil de benchmark d'Apache
    + Utiliser http_load
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/11/2751,0,1,0,0.php3


    [12] Créer des fichiers XUL en PHPHaut ]
    ------------------------------------------------------------
    Stephan Schmidt publie une classe PEAR pour générer des
    documents XUL. XUL est le langage de description des
    interfaces de Mozilla. Il est utilisé comme outil de
    spécification des interfaces d'applications web.
    L'outil de Stephan permet de générer des fichiers XUL
    valides, sans avoir à comprendre la syntaxe XML de XUL.
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/11/2750,0,1,0,0.php3


    [13] Connecter PHP à Microsoft SQL 2000Haut ]
    ------------------------------------------------------------
    PHP se connecte à 21 bases de données différentes, y compris
    celles d'éditeurs propriétaires comme Microsoft. Jean-Luc
    David explique comment configurer son serveur pour accéder
    à ce serveur de base de données via les fonctions ODBC
    Unifié.

    L'extension uodbc de PHP regroupe des fonctions capables
    d'accéder à toutes les bases de données compatibles ODBC,
    ou dont les API sont proches.

    Les bases de données suivantes sont supportées par l'ODBC
    unifié : Adabas D, IBM DB2, iODBC, Solid, et Sybase SQL
    Anywhere.
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/10/2749,0,1,0,0.php3


    [14] Astuces MySQLHaut ]
    ------------------------------------------------------------
    Vous connaissez les options G et -X de MySQL? Elles
    permettent de modifier le format d'affichage des résultats
    avec le client de ligne de commande MySQL : une colonne par
    ligne, ou format XML. Voyez les exemples chez Russel.
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/10/2748,0,1,0,0.php3


    [15] Hébergeurs gratuits en PHPHaut ]
    ------------------------------------------------------------
    Arnaud Gadal et Xavier Borderie ont analysé les offres
    d'hébergement pour trouver la perle rare : un hébergement
    PHP / MySQL gratuit, à activation en ligne. Ils ne sont pas
    nombreux sur les rangs : LaPoste, Multimania et iFrance.
    Les hébergeurs gratuits ont tendance à disparaitre
    rapidement : disparition définitive ou reconversion en
    hébergeurs traditionnels. La qualité de service est aussi un
    problème classique.

    Freesurf.fr,Free.fr, hebergement-gratuit.com et Serveur4u
    proposent aussi des hébergements gratuits, mais l'ouverture
    du compte ne se fait pas en ligne.
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/10/2747,0,1,0,0.php3


    [16] PHP 5 : entre stabilité et fonctionnalitéHaut ]
    ------------------------------------------------------------
    "Il y a des gens qui sont impatients de voir PHP
    publié," dit George Schlossnagle "Mais d'autres
    sont plus conservateurs et préfèrent le voir stable avant de
    l'adopter." NewsFactor fait le point sur la
    publication de PHP 5, qui a été repoussée pour assurer la
    stabilité de la nouvelle plate-forme. Les nouvelles
    fonctionnalités sont d’ores et déjà bien identifiées par la
    communauté, vu l'épanouissement récent des frameworks
    objets.
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/09/2746,0,1,0,0.php3


    [17] Check list de sécuritéHaut ]
    ------------------------------------------------------------
    Harry Fueck nous signale le Wiki Wact, dont une des pages
    est consacrée à la sécurité PHP. Cette page recense les
    attaques classiques en PHP (injections, obtentions
    d'informations, attaques spécifiques...) ainsi qu'une
    importante liste de liens sur la sécurité des applications
    web en général. A garder sous le coude pour mieux dormir.
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/09/2745,0,1,0,0.php3


    [18] Relation classe tables SQLHaut ]
    ------------------------------------------------------------
    Il est classique, en PHP, de faire une correspondance entre
    une table de la base de donnée et une classe d'objets. La
    relation est évidente : un objet sera sauvé directement
    comme une ligne dans la base de données et la classe joue
    son rôle d'interface entre le code PHP et le SQL.
    Toutefois, les interdépendances des tables se répercutent
    sur les classes, et cela complexifie grandement le schéma.
    Voici une méthode pratique pour résoudre ce dilemme.
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/09/2744,0,1,0,0.php3


    [19] KCachegrind pour APDHaut ]
    ------------------------------------------------------------
    KCachegrind améliore considérablement l'étude des logs de
    profilage. George Schlossnagle vient d'ajouter le support
    de KCachegrind à APD, un des profileurs PHP. KCachegrind
    exploite un fichier de trace, généré durant l'exécution du
    script, pour faire un rendu graphique de l'arbre d'appels.
    Cela permet d'identifier facilement les coûts d'inclusions
    de fonctions (les fonctions qui en appellent d'autres).
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/09/2743,0,1,0,0.php3


    [20] Résumé de la semaine de développement PHPHaut ]
    ------------------------------------------------------------
    Le résumé de la semaine dernière est enfin paru

    * NEW : Annexe migration
    * TLK : Signature des méthodes héritées
    * TLK : SimpleXML et les éléments et attributs de type
    chaîne
    * TLK : Correction de get_browser()

    A très bientôt pour le résumé de cette semaine !
    ------------------------------------------------------------
    didou (didou@keliglia.com)
    http://dev.nexen.net/news/gen.php3/2004/03/08/2742,0,1,0,0.php3


    [21] phpBB rapidementHaut ]
    ------------------------------------------------------------
    "Si vous pensez avoir un forum sur votre site web, vous
    n'avez pas besoin de tout refaire vous-même. phpBB, un
    forum Open source, peut être installé facilement sur la
    plupart des serveurs. Cet article vous montre comment le
    faire correctement, du téléchargement à la personnalisation
    de l'interface.

    Pour utiliser ce tutoriel, vous n' avez pas besoin de
    connaître PHP et un minimum de connaissances en bases de
    données."
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/08/2739,0,1,0,0.php3


    [22] Outil de débogage : debug_backtrace()Haut ]
    ------------------------------------------------------------
    debug_backtrace() est un complément de var_dump() : il donne
    la liste des fonctions appelées sous forme de tableau, avec
    la ligne d'appel et les arguments fournis. Vous pouvez donc
    connaître l'origine des appels, et savoir facilement si
    l'un des arguments est mal utilisé.

    Tout comme var_dump(), la méthode reste rudimentaire, et
    inopérante en cas d'erreur fatale. Mais contrairement à
    xdebug, elle est installée partout, immédiatement. Autant
    le savoir.

    array(4) {
    ["file"] => string(10)
    "/tmp/a.php"
    ["line"] => int(10)
    ["function"] => string(6)
    "a_test"
    ["args"]=>
    array(1) {
    [0] => &string(3) "ami"
    }
    }
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/08/2740,0,1,0,0.php3


    [23] L'alternative Open SourceHaut ]
    ------------------------------------------------------------
    "[Le ministre du commerce autralien] admettait que son
    gouvernement a été un "acheteur aveugle de technologies
    de l'informations depuis longtemps"].

    Pour moi, et je l'ai dit à la conférence, tous les niveaux
    de gouvernements devraient étudier les alternatives, et
    considérer les possibilités Open Source, car elles ont le
    potentiel de créer des emplois locaux, et réduire le
    déficit de la balance commerciale."

    L'Open Source réduit la dépendance des pays à la
    technologie étrangère et génère des emplois capables de
    garder au pays des spécialistes convoités. Pour de nombreux
    sans industrie de l'information forte, c'est une solution
    de développement durable.
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/08/2741,0,1,0,0.php3


    [24] phpsqliteadmin 0.2Haut ]
    ------------------------------------------------------------
    phpSQLiteAdmin est une interface web d'administration des
    bases SQLite. Actuellement, les opérations suivantes sont
    supportées :
    + Création, effacement et vidange d'une base.
    + Affichage des informations de bases
    + Création, navigation et effacement des tables.
    + Affichage des informations de tables.
    + Exécution de requêtes SQL

    phpsqliteadmin sera véritablement opérationnel avec l'arrivée
    de PHP5.

    A noter aussi sqlitemanager, une autre interface.
    ------------------------------------------------------------
    http://dev.nexen.net/news/gen.php3/2004/03/07/2737,0,1,0,0.php3



    ***************************************************************
    La lettre hebdo est relue par Pascal Bédard.
    ***************************************************************
    Pour modifier votre abonnement :
    http://www.nexen.net/services/login.php?direction=diffusion.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/

    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