Toute l'actualité francophone sur PHP en un seul flux

Octobre 2007 – PHP Index: SquirrelMail 1.4.11

La nouvelle version de ce webmail écrit en PHP est disponible depuis samedi.

Cette version vient corriger quelques bugs, et améliore la stabilité de l'application. Cette release vient notamment améliorer le traitement des emails mal-formés, et la communication avec certains serveurs de mail qui posaient problème jusqu'à maintenant.

Téléchargement
Site officiel

Octobre 2007 – PHP Index: IMP H3 4.1.5

Le webmail Internet Messaging Program est disponible en version stable 4.1.5.

Cette nouvelle release, en plus de corriger quelques bugs, vient avec de nouvelles traductions pour certaines langues comme le chinois, le tchèque, ou le polonais.

Rappelons que ce webmail écrit en PHP est scindé en deux branches: la branche 4.1.x du projet IMP s'appuie sur la version 3 du framework Horde (d'où le nom IMP H3), tandis que la branche 3.8.x fonctionne à l'aide de Horde en version 2.

Téléchargement
Site officiel

Octobre 2007 – PHP Index: MySQL 5.1.22-rc

La version 5.1.22-rc de MySQL est disponible pour le téléchargement.

Parmi les changements disponibles sur cette version, une fonctionnalité a été modifiée :

  • Une nouvelle variable de système innodb_autoinc_lock_mode a été ajoutée pour configurer le comportement d'InnoDB pour la production des valeurs en auto-incrementées. Le comportement par défaut est légèrement modifié, ce qui peut entraîner une incompatibilité mineure pour les insertions de plusieurs rangées dont seulement certaines ont une valeurs explicite pour la colonne auto-incrémentée. Pour plus d'informations, consulter l'article How AUTO_INCREMENT Handling Works in InnoDB.

Parmi les bugs corrigés, quelques exemples :

  • Bug#30134 : Sauvegarde des colonnes TIMESTAMP créées avec ndb_restoire
  • Bug#31001 : Correction des tris sur les clé primaires sur les tables INNODB, quand la clause WHERE est présente sur un seul champ.
  • Bug#30201 : L'utilisation de KILL QUERY ou de KILL CONNECTION pour terminer un SELECT cause un crash du serveur si le cache est activé.
  • ...

Octobre 2007 – Digital Fashion: New home for pagination component documentation

For those caring, I just posted some quick documentation for the pagination component at my assembla space. More docs will follow (including extensive phpdoc docblocks I hope).

Octobre 2007 – Digital Fashion: New home for pagination component documentation

For those caring, I just posted some quick documentation for the pagination component at my assembla space. More docs will follow (including extensive phpdoc docblocks I hope).

Octobre 2007 – PHP Index: Standard PHP Library

Un article vient de paraître sur le site de Zend concernant Standard PHP Library (SPL).

Cette librairie d'interfaces et de classes PHP standard, permet aux développeurs de profiter pleinement de la programmation orientée objet avec PHP5. Quelques explications sont données sur le fonctionnement de cette librairie ainsi que des exemples d'applications.

SPL, directement intégré avec php5, peut être utile pour le développement d'application orientée objet, car elle propose notament des classes pour la gestion de fichiers, la gestion de tableaux, la connexion aux bases de données, simplexml, etc.

L'article
Documentation SPL

Octobre 2007 – PHP Index: FastCGI pour ISS 5.1/6.0

Depuis début 2006, Microsot et Zend travaillent ensemble sur un projet visant a augmenter la fiabilité de PHP sur Windows Server 2003 et 2008.

Une partie de cette collaboration vise à produire un nouveau composant pour IIS 6 et IIS 7 nommé FastCGI permmettant d'utiliser, de manière stable, des applications PHP avec IIS.

Une première version beta de FastCGI pour ISS 5.1/6.0 est disponible gratuitement.

Télécharger FastCGI pour ISS 5.1/6.0
Site officiel

Octobre 2007 – z-f.fr: 10000 visites en septembre

Forum: Brèves
Auteur: philippe
Écrit le: Mon, 01 Oct 2007 10:00:01 +0200
Dernier message: Mon, 01 Oct 2007 10:00:01 +0200

Octobre 2007 – Digital Fashion: PDO not throwing an exception when it should

Today I ran into an issue that I already ran into a few weeks ago when I did not have time to dig up, but today I had this time (this plus it's a really annoying issue as you'll see). The main symptom is that PDO does not throws exceptions when you'd expect it to. It's very annoying. The reason, in my case, seems to be that I am querying an old mysql (3.23.x in my case but any 4.x will do according to this bug report). I was not able to find any info from google, so I'm posting this here so that people know :-)

Octobre 2007 – Digital Fashion: PDO not throwing an exception when it should

Today I ran into an issue that I already ran into a few weeks ago when I did not have time to dig up, but today I had this time (this plus it's a really annoying issue as you'll see). The main symptom is that PDO does not throws exceptions when you'd expect it to. It's very annoying. The reason, in my case, seems to be that I am querying an old mysql (3.23.x in my case but any 4.x will do according to this bug report). I was not able to find any info from google, so I'm posting this here so that people know :-)

Octobre 2007 – PHPortail: MySQL : 5.1.22-RC (01/10/07)

MySQL 5.1.22, la première version candidate à la publication est maintenant disponible. Son niveau de stabilité approche les standards de qualité nécessaires pour une publication officielle, et...

Octobre 2007 – PHPortail: Sécurité: injections SQL et mysqli_escape_string (01/10/07)

Chris Shuflett nous signale deux articles qui traitent des problèmes de sécurité qui dépassent l'utilisation de mysql_escape_string. Bien sûr, nous en parlons dans le livre 'Sécurité PHP 5 et...

Octobre 2007 – PHPortail: CrawlTrack 2.3.0 (01/10/07)

CrawlTrack vous dit tout sur l'activité des robots sur votre site: Il permet:
* de détecter et bloquer de nombreuses tentatives de piratage
* de suivre en temps réel l'activité des robots sur...

Octobre 2007 – Nexen.net: InnoDB améliore son support des auto_increment

Image pour le titre du contenu
InnoDB avait des soucis à supporter les auto_increment quand de nombreux processus tentaient simultanément d'utiliser cette colonne. Heikki Turri, auteur d'InnoDB, a placé dans la RC1 de MySQL 5.1 un patch qui réduit considérablement les effets de compétition sur cette colonne. Selon Brian Aker, c'est une raison suffisante pour utiliser InnoDB et passer dès que possible à MySQL 5.1.

Octobre 2007 – Nexen.net: YAML natif en PHP avec syck

Image pour le titre du contenu
"YAML est aussi connu sous le nom de YAML Ain't Markup Language (YAML n'est pas un autre langage à balise) ou Yet Another Markup Language (Encore un autre langage à balise). C'est un format de linéarisation simple de données machine, conçu pour être lisibles par des hommes, et interagir facilement avec des langages de scripts tels que Perl et Python [ et PHP]" (). Avec le décodeur, cela signifie que YAML est un moyen de formater les informations pour que les humains et les machines puisse le lire en PHP.
YAML est utilisé comme format de configuration dans des frameworks tels que Symfony.

Octobre 2007 – tigrou/pwet.fr: Video FLV Datatype extension

Yesterday, I released the first version of eZVideoFLV , a new extension providing a datatype to store, handle and convert to FLV video files. It's based on the default ezmedia datatype . It mainly adds three features :

  • generate an image preview for each video file using ffmpeg-php and GD
  • detect and store video size width ffmpeg-php too
  • convert video file to FLV on upload or with a cronjob script in order to be readable with a flash FLV player (like on Youtube or Dailymotion) using ffmpeg program

The extension is bundled with FLV Player which is released under the MPL 1.1 license. The rest of the extension is released under the GNU GPL licence 2. All information (requirements, installation, screenshots ,...) can be found in the project page on projects.ez.no and I put an example on this site .

Octobre 2007 – Nexen.net: Concevoir une file de tâche en PHP

Image pour le titre du contenu
Un système de messagerie est un point crucial pour toutes les applications distribuées. Quand plusieurs systèmes doivent collaborer, il leur faut un téléphone rouge, qui permet de signaler aux autres des informations importantes, avec un niveau de certitude très élévé : en effet, entre les deux collaborateurs, il y a de nombreux problèmes qui peuvent se poser et bloquer la communication.
Jimdo et northclick se lancent dans la conception d'un tel système de messagerie, et cela met en lumière pas mal d'outils déjà installés.

Octobre 2007 – Nexen.net: Del.icio.us adopte Symfony

Image pour le titre du contenu
Encore une belle réussite de Symfony, qui vient d'être adopté pour monter la nouvelle (et future) plate-forme de del.icio.us, le site leader de signets sociaux (on l'utilise pour le linkblogue de nexen, d'ailleurs).
Le choix de symfony a été basé sur la documentation, l'activité du développement, la communauté et la flexibilité générale du projet.
Un grand bravo à Fabien Potencier et toute son équpe.

Octobre 2007 – Prendre un Café: Délicieuse Symphonie

Alors ça c'est du lourd : Symfony propulse del.icio.us preview.

Il parait que Symfony rame, sauf chez Yahoo!. Poltergheist ? ;)

Octobre 2007 – Prendre un Café: Délicieuse Symphonie

Alors ça c'est du lourd : Symfony propulse del.icio.us preview.

Il parait que Symfony rame, sauf chez Yahoo!. Poltergheist ? ;)

Octobre 2007 – Nexen.net: L'UNESCO récompense Claroline

Image pour le titre du contenu
Le projet Claroline a reçu le prix UNESCO - Roi Hamad Bin Isa Al-Khalifa 2007 pour l'utilisation des technologies de l'information et de la communication dans l'éducation. Il est lauréat avec le projet américain Curriki.
68 projets présentés par 51 pays étaient en compétition.

Octobre 2007 – PHPortail: SquirrelMail 1.4.11 (02/10/07)

SquirrelMail est un lecteur de courriel web, complètement écrit en PHP. Sa dernière mouture vient de sortir.

Cette version corrige quelques bogues, et améliore la stabilité de...

Octobre 2007 – PHPortail: YAML directement en PHP avec syck (02/10/07)

« YAML est aussi connu sous le nom de YAML Ain't Markup Language (YAML n'est pas un autre langage à balise) ou Yet Another Markup Language (encore un autre langage à balise). C'est un format de...

Octobre 2007 – PHPortail: SpongeStats 3.0 (02/10/07)

"Le logiciel open source d’analyse des statistiques de fréquentation pour les sites Internet et les blogs est disponible en version 3.0. Cette nouvelle mouture se veut résolument orientée vers...

Octobre 2007 – PHPortail: PHP 5.3 bientot disponible (02/10/07)

Depuit un certain temps, les gens voyaient la venu de PHP 6 comme un trop gros changement. Pour aider une évolution en douceur vers ce dernier, une nouvelle version de PHP verra le jour : PHP 5.3...

Octobre 2007 – Nexen.net: Savez-vous comparer comme PHP?

Image pour le titre du contenu
Tout le monde sait comparer en PHP : le typage faible couplé à une adaptation contextuelle fait que le résultat est intuitif et facile. Comparer la chaîne "1" avec la valeur 1 ne requiert aucune manipulations particulières.
Dans d'autres cas, il est plus difficile de savoir ce qui se passe, comme quand on comparer un tableau avec un objet, ou encore quand on tente cette expérience :
true == -2
Venez donc vous mesurer aux comparaisons de PHP, et voir si vous comprenez bien cette fonctionnalité fondamentale du langage. Une note de 90% doit être la norme... Bonne chance!

Octobre 2007 – Prendre un Café: Dégradabilité javascript et Ajax dans Symfony avec jQuery

Pour un projet, je suis en train d'utiliser la librairie javascript jQuery dans Symfony, en lieu et place du couple prototype et scripaculous dont je vous avait déjà parlé.

L'idée est ici de ne pas avoir à utiliser les helpers fournis par Symfony (qui mettent en oeuvre exclusivement Scriptaculous) et ainsi d'éviter d'utiliser les deux librairies simultanément sur le projet, mais aussi de décoreller le code javascript des templates et de favoriser une meilleure dégradabilité de ce dernier.

Par exemple, au lieu d'utiliser la fonction link_to_remote() dans notre template, on peut tout à fait imaginer d'employer un bon vieux link_to() des familles et de lui appliquer une classe css qu'on va pouvoir cibler depuis jQuery afin d'effectuer un appel AJAX pointant vers l'url présente dans l'attribut href du lien. Avec un exemple, c'est un peu plus clair :

<?php echo link_to('Mon lien', '@maroute?monparam=mavaleur', array('class' => 'ajax_link')) ?>

Dans un fichier javascript (jQuery doit bien entendu être chargé) :

$(document).ready(function() {
  $('a.ajax_link').click(function()
    {
      $.ajax(
        {
          type: 'post',
          url: $(this).attr('href'),
          success: function(msg)
          {
            alert("Résultat: " + msg);
          }
        });
      return false;
    }
  );
});

Avantage supplémentaire, vous continuez à bénéficier du système de routing Symfony (pas d'urls en dur dans les fichiers javascripts externalisés.)

Là où Symfony va également nous aider, c'est au travers de sa gestion native de la décoration d'une vue en fonction du type d'appel HTTP : le framework va detecter si l'action a été appelée ou non depuis une requête XmlHttpRequest et, si c'est le cas, décorer la vue avec le layout global de l'application et donc présenter à vos utilisateur le résultat escompté, qu'ils aient activé javascript ou non pour surfer sur votre site.

Si vous désirez mettre à jour un élément de l'arbre DOM avec le contenu reçu d'une requête Ajax, voici une autre petite astuce ; on va utiliser une ancre dans l'url et s'en servir comme argument décrivant l'id DOM qu'on veut mettre à jour :

<?php echo link_to('Mon lien', '@maroute?monparam=mavaleur#mon_div', array('class' => 'ajax_link')) ?>
<div id="mon_div" style="display:none"></div>

Et en javascript :

$(document).ready(function() {
  $('a.ajax_link').click(function()
    {
      var href = $(this).attr('href');
      var target = href.substring(href.lastIndexOf('#'), href.length);
      $.ajax(
        {
          type: 'post',
          url: href,
          success: function(msg)
          {
            if ($(target))
            {
              $(target).html(msg).show('slow');
            }
          }
        }
      );
      return false;
    }
  );
});

Note : on aurait pu aussi détourner l'attribut target à cette fin mais ce dernier n'est pas valide en XHTML strict.

Bien entendu, ceci n'est qu'un microscopique aperçu de l'étendu des possibilités de jQuery et de son intégration possible avec Symfony (ou d'autre frameworks et langages, bien entendu.)

Octobre 2007 – Prendre un Café: Dégradabilité javascript et Ajax dans Symfony avec jQuery

Pour un projet, je suis en train d'utiliser la librairie javascript jQuery dans Symfony, en lieu et place du couple prototype et scripaculous dont je vous avait déjà parlé.

L'idée est ici de ne pas avoir à utiliser les helpers fournis par Symfony (qui mettent en oeuvre exclusivement Scriptaculous) et ainsi d'éviter d'utiliser les deux librairies simultanément sur le projet, mais aussi de décoreller le code javascript des templates et de favoriser une meilleure dégradabilité de ce dernier.

Par exemple, au lieu d'utiliser la fonction link_to_remote() dans notre template, on peut tout à fait imaginer d'employer un bon vieux link_to() des familles et de lui appliquer une classe css qu'on va pouvoir cibler depuis jQuery afin d'effectuer un appel AJAX pointant vers l'url présente dans l'attribut href du lien. Avec un exemple, c'est un peu plus clair :

<?php echo link_to('Mon lien', '@maroute?monparam=mavaleur', array('class' => 'ajax_link')) ?>

Dans un fichier javascript (jQuery doit bien entendu être chargé) :

$(document).ready(function() {
  $('a.ajax_link').click(function()
    {
      $.ajax(
        {
          type: 'post',
          url: $(this).attr('href'),
          success: function(msg)
          {
            alert("Résultat: " + msg);
          }
        });
      return false;
    }
  );
});

Avantage supplémentaire, vous continuez à bénéficier du système de routing Symfony (pas d'urls en dur dans les fichiers javascripts externalisés.)

Là où Symfony va également nous aider, c'est au travers de sa gestion native de la décoration d'une vue en fonction du type d'appel HTTP : le framework va detecter si l'action a été appelée ou non depuis une requête XmlHttpRequest et, si c'est le cas, décorer la vue avec le layout global de l'application et donc présenter à vos utilisateur le résultat escompté, qu'ils aient activé javascript ou non pour surfer sur votre site.

Si vous désirez mettre à jour un élément de l'arbre DOM avec le contenu reçu d'une requête Ajax, voici une autre petite astuce ; on va utiliser une ancre dans l'url et s'en servir comme argument décrivant l'id DOM qu'on veut mettre à jour :

<?php echo link_to('Mon lien', '@maroute?monparam=mavaleur#mon_div', array('class' => 'ajax_link')) ?>
<div id="mon_div" style="display:none"></div>

Et en javascript :

$(document).ready(function() {
  $('a.ajax_link').click(function()
    {
      var href = $(this).attr('href');
      var target = href.substring(href.lastIndexOf('#'), href.length);
      $.ajax(
        {
          type: 'post',
          url: href,
          success: function(msg)
          {
            if ($(target))
            {
              $(target).html(msg).show('slow');
            }
          }
        }
      );
      return false;
    }
  );
});

Note : on aurait pu aussi détourner l'attribut target à cette fin mais ce dernier n'est pas valide en XHTML strict.

Bien entendu, ceci n'est qu'un microscopique aperçu de l'étendu des possibilités de jQuery et de son intégration possible avec Symfony (ou d'autre frameworks et langages, bien entendu.)

Octobre 2007 – Rom's blog: L’UNESCO récompense Claroline

C’est mes potes! Des fidèles de chez fidèles du forum PHP et de l’AFUP. Ils sont même venus suivre une formation chez Anaska.

Maintenant qu’il sont riches, j’espère qu’ils vont nous payer une bonne bouffe au forum de cette année ;-)

L’annonce officielle :

Le projet Claroline (plate-forme libre d’apprentissage à distance) va être récompensé par le prix UNESCO - Roi Hamad Bin Isa Al-Khalifa 2007 pour l’utilisation des technologies de l’information et de la communication dans l’éducation (TICE). Il est lauréat avec le projet américain Curriki.

Le Directeur général de l’UNESCO remettra leurs prix aux deux lauréats – un diplôme et un chèque de 25 000 USD pour chacun d’eux – au cours d’une cérémonie qui aura lieu au siège de l’organisation, le 19 décembre prochain. Les lauréats ont été choisis parmi 68 projets menés dans 51 pays et une organisation non gouvernementale internationale active dans le domaine de l’accès libre à l’éducation.

Le Prix est placé sous le haut patronage de Sa majesté le Roi Hamad Bin Isa Al-Khalifa du royaume de Bahreïn.

Octobre 2007 – Nexen.net: Statistiques PHP de septembre 2007

Image pour le titre du contenu
Les statistiques de diffusion PHP dans le monde pour septembre 2007 sont arrivées.

  • PHP 5 reprend sa progression régulière : +1% à 23%

  • Le chant du cygne de PHP 4? brève rémission

  • Apache croît à 68,5%

Octobre 2007 – Nexen.net: eZ Publish 4.0 apporte le support PHP 5

Image pour le titre du contenu
La prochaine version de eZ Publish, 4.0, vient d'être publiée en alpha, avec le support attendu de PHP 5. Il est désormais possible de faire tourner le célèbre CMS sur une plate-forme PHP 5.
eZ Publish 4.0 pave la voie pour l'intégration des eZ components, améliore les performances, le support des clusters, et la recherche.

Octobre 2007 – PHP Index: IBM: Unicode for the working PHP programmer

La plate-forme developperWorks d'IBM nous propose un article sur l'utilisation de l'unicode en PHP 5.

L'encodage du texte est une problèmatique récurrente dans le développement web, que ce soit dans le seul but de sauvegarder l'intégrité des caractères accentués, ou dans le cadre de l'internationalisation complête d'une application.
Le standard unicode a été créé pour répondre à cette problèmatique en permettant de stocker tout type de caractères, qu'ils soient cyrilliques ou chinois. A l'heure actuelle PHP ne gère pas nativement l'unicode, mais offre néanmoins de nombreuses fonctions permettant de l'utiliser dans ses scripts.

En attendant la version 6 de PHP, dont la prise en charge en natif de l'unicode sera un des principaux apports, l'article d'IBM nous explique les possibilités actuelles de PHP 5 et MySQL concernant l'utilisation du language unicode et de l'encodage UTF-8.

IBM: Unicode for the working PHP programmer

Octobre 2007 – Nexen.net: Vidéo PHP et MySQL, édition 14

Image pour le titre du contenu
Voici les 5 dernières vidéos PHP et MySQL.


Ces vidéos sont publiés sur les sites de partagent de vidéo. Ce sont des tutoriels enregistrés, des sessions de conférences, des screencast ou encore des slides de conférences.



N'hésitez pas à nous contacter pour signaler tout media qui mérite d'être ajouté à cette liste.

Octobre 2007 – Nexen.net: Actualité de développement PECL, edition 170

Image pour le titre du contenu
5 paquets ont été mis à jour cette semaine :

  • en pecl_http (0 visite) : support étendu de HTTP

  • en pdflib (0 visite) : création de fichiers PDF

  • en imagick (0 visite) : interface avec la bibliothèque graphique ImageMagick

  • en PAM (0 visite) : Intégration PAM

  • en phar (0 visite) : support des fichiers d'archives PHP : .phar


PECL est la bibliothèque d'extensions C de PHP.

 



 

Octobre 2007 – Nexen.net: Vérifiez les listes noire de SPAM avec PHP

Image pour le titre du contenu
Les RBL (Real-time Blackhole list, les listes noires en temps réel) sont très efficaces pour se débarasser du SPAM (si vous savez choisir les bonnes). D'un autre coté, vous (et surtout vos utilisateurs) seront dans de beaux draps si votre serveur SMTP se retrouve listé dans l'une ou l'autre de ces listes.
Vérifier manuellement la présence de votre SMTP dans ces listes est une tâche laborieuse, alors que le faire automatiquement est une tâche facile avec Nagios, PHP, Net_DNSBL et Console_Getopt.

Octobre 2007 – Nexen.net: Junction, nouvelle couche de persistance

Image pour le titre du contenu
"Durant l'été, j'ai commencé un projet que je voudrais vous présenter. Junction est une nouvelle couche de persistance, comme Propel, écrite en PHP 5, et basée sur la populaire solution de persistance Java Hibernate."

Octobre 2007 – Nexen.net: Augmenter votre espace stockage avec votre IPHONE

Image pour le titre du contenu
Nous ne présentons plus l'appareil I-phone de Apple. Mais pour rappel, l'interface utilisée pour les developpements est gratuit et le langage utilisé est le PHP C'est pourquoi, il est possible de gérer à distance de nombreux contenus.
Grace à ce téléphone, vous pouvez placer votre bibliotheque iTunes sur un site web et écouter vos morceaux favoris à distance avec votre iPhone.
Une application a vu le jour pour gérer à distance vos musiques sans besoin d'effectuer des transferts avant le départ de votre domicile

Octobre 2007 – Arnaud Limbourg: Les inscriptions pour le forum sont ouvertes !

Vous pouvez vous inscrire pour le Forum PHP ayant lieu les 21 et 22 novembre 2007.

Réservez vos places dès maintenant !

http://www.afup.org/pages/forumphp2007/inscription.php

Octobre 2007 – Arnaud Limbourg: Les inscriptions pour le forum sont ouvertes !

Vous pouvez vous inscrire pour le Forum PHP ayant lieu les 21 et 22 novembre 2007.

Réservez vos places dès maintenant !

http://www.afup.org/pages/forumphp2007/inscription.php

Octobre 2007 – Dur Comme Faire: Ouverture des inscriptions au Forum PHP 2007

Les inscriptions au Forum PHP 2007 sont ouvertes depuis ce matin. Pour rappel, au programme de cette édition 2007, on trouve notamment : Comment faire vivre son site Web2.0 avec PHP5 ? Les clients riches avec PHP : Flex pour l'exemple Optimisation, méthodes, sécurité :...

Octobre 2007 – PHP Index: Asbru Adds Advanced Workflow Engine to CMS

Version 6.6 of the Asbru Web Content Management system for PHP, ASP and JSP/Java has been released.

In this latest release an advanced workflow engine to manage the publication of website content has been added. The implementation is designed to support almost any organization's existing website publishing business processes. The workflow engine can handle multiple workflow definitions at the same time. Additionally any number of workflow steps is possible so there is no limit to the number of organizational departments that can be involved in publishing of website content.

Efficient and Controlled Website Publishing
The new workflow engine is fully integrated into the CMS making the publishing of website content very efficient. Users have their own personal workspace, which gives them a quick overview of content allocated to them and waiting for their review. As content moves through the workflow users are alerted via email to new content allocated for their review. It is also possible to configure the system so that any user can view where content is in the workflow process providing control of the publishing process and transparency across the whole organization.

Flexible Workflow Definitions
Several workflow definitions can be created and enforced for different sections of a website and for various types of content including pages, products, image media, audio files, electronic documents and other files. Additionally the actions and the organizational departments and users permitted for each workflow step are fully configurable. Some steps may for example involve editing the content while other workflow steps only enable users to view the content and approve or reject. Workflow definitions are easily created and diagrams provide a quick overview of all the workflow actions in the system.

For a free online trial of the new version of the Asbru Web Content Management system: http://wcm.asbrusoft.com.

About Asbru Web Content Management
The Asbru Web Content Management system is a full-featured and ready to use out-of-the-box enterprise level solution. It is available for PHP, ASP and JSP/Java and runs on Microsoft Windows, Linux, Unix and Mac OS X. The system enables users to update web content through Internet Explorer, Mozilla/Firefox and Safari web browsers. For more information about Asbru Web Content Management: http://wcm.asbrusoft.com.

Proposé par David Fisher

Octobre 2007 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 164

Image pour le titre du contenu


PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes :
PHP 5.2.4 et 4.4.7; MySQL 5.0.45 (communauté) et 5.0.45 (entreprise), 4.1.22, ainsi que 5.1.21-beta. Les mises à jour sont recommandées vers ces versions.



3 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
Gallery, Xoops et phpBB



Octobre 2007 – Nexen.net: Configurer les URL agiles

Image pour le titre du contenu
Le site de PHP.net est connu pour diriger les utilisateurs vers le manuel, dès qu'un nom de fonction PHP apparait dans l'URL : http://www.php.net/mysqli_connect
C'est une fonctionnalité qui est utilisée dans les applications où les recherches sont évidentes (par exemple chercher un utilisateur par login dans un réseau social), ou pour gérer proprement les URL.
Incidemment, 2 articles ont été publié sur le sujet cette semaine : un dossier nexen.net, très complet, avec la gestion des pages 404, et un tutoriel de Brian Moon, sur ForceType.

Octobre 2007 – Nexen.net: dégradabilité avec Symfony

Image pour le titre du contenu
"L'idée est ici de ne pas avoir à utiliser les helpers fournis par Symfony (qui mettent en oeuvre exclusivement Scriptaculous) et ainsi d'éviter d'utiliser les deux librairies simultanément sur le projet, mais aussi de décoreller le code javascript des templates et de favoriser une meilleure dégradabilité de ce dernier."
La dégradabilité est l'adaptation du site Web aux différents navigateurs, et notamment leurs capacités. Un Firefox, dernière génération, en fait plus qu'un vieux IE2, mais il faut savoir supporter les deux.

Octobre 2007 – tigrou/pwet.fr: eZ Publish 4 Alpha 1 et beaucoup d'autres choses

eZ Publish 4 Alpha 1

eZ Publish 4 arrive enfin, une première version alpha est sortie jeudi dernier basée sur le portage communautaire débuté par Kristof Coomans et Paul Borgermans . En terme fonctionnel ce ne sera probablement pas une révolution mais le principal atout de cette version est évidemment le support tant attendu de PHP5 (les utilisateurs de distribution Linux ne supportant que PHP5 vont apprécier). En plus de cela, je retiens deux points qui apportent des perspectives intéressantes :

  1. l'intégration progressive des eZ Components
  2. l'utilisation du mécanisme d'autoload de PHP5

L'intégration des eZ Components permettra dans un premier temps d'utiliser ces composants dans les extensions en attendant qu'ils soient réellement intégrer dans eZ Publish en lui-même. Cela ouvre déjà pas mal de perspectives intéressantes, en tout cas j'ai plein d'idées :-)

Le second point paraît plus anodin mais en fait, en plus de simplifier la vie du développeur, il pourra permettre de modifier facilement une classe du kernel eZ Publish sans vraiment le modifier. Ce n'est bien sûr pas recommandé mais c'est malheureusement parfois nécessaire et là on pourra le faire de manière presque propre.

LLaumgui parle aussi de cette sortie avec un commentaire instructif de Paul Borgermans .

Et le reste ?

À côté de cet évènement eZ Publish 3.10 est sorti avec des nouveautés fonctionnelles intéressantes (qui sont aussi de fait dans eZ Publish 4), en particulier :

J'ai testé les nouvelles fonctionnalités autour des URL en développant eZVideoFLV avec la 3.10beta ; habitué des _ et de l'ASCII c'est assez déroutant mais c'est enfin configurable et extensible, ça ne peut être que mieux. Je n'ai pas encore testé le datatype Multi-options2 mais ça ne saurait tarder.

Les versions 3.9.4 et 3.8.10 sont également sorties corrigeant deux failles de sécurité. Bref quoi qu'il arrive, des mises à jours sont à prévoir. Pour moi ce sera probablement en 3.10.x voire en 4.0 si une beta pointe le bout de son nez dans pas trop longtemps.

Enfin Clever Age publie sur son blog un article plutôt pertinent sur le support un peu délaissé des SGBD autres que MySQL par eZ Publish (qu'ils ne savent par contre pas orthographier correctement :p).

Octobre 2007 – Narno.com: eZ Publish 4.0 apporte le support PHP 5

La prochaine version de eZ Publish, 4.0, vient d'être publiée en alpha, avec le support attendu de PHP 5. Il est désormais possible de faire tourner le célèbre CMS sur une plate-forme PHP 5.
eZ Publish 4.0 pave la voie pour l'intégration des eZ components, améliore les performances, le support des clusters, et la recherche.

Nexen

En voilà une nouvelle qu'elle est bonne ! En effet, parmi les "gros" framework du marcher, eZ Publish restait l'un des derniers à ne pas avoir encore annoncé sa migration vers PHP5. Malgré tout, il ne s'agit pas d'une véritable migration dans le sens où l'architecture du moteur reste en PHP4 (pour le moment ?), mais sera capable de tourner sur un serveur PHP5.

Celà reste un bon point pour les agences qui pourront faire leurs développements spécifique en PHP5.

D'autre part, l'amélioration des performances des "components" ne sera pas négligeable non plus.

en lire plus

Octobre 2007 – Narno.com: eZ Publish 4.0 apporte le support PHP 5

La prochaine version de eZ Publish, 4.0, vient d'être publiée en alpha, avec le support attendu de PHP 5. Il est désormais possible de faire tourner le célèbre CMS sur une plate-forme PHP 5.
eZ Publish 4.0 pave la voie pour l'intégration des eZ components, améliore les performances, le support des clusters, et la recherche.

Nexen

En voilà une nouvelle qu'elle est bonne ! En effet, parmi les "gros" framework du marcher, eZ Publish restait l'un des derniers à ne pas avoir encore annoncé sa migration vers PHP5. Malgré tout, il ne s'agit pas d'une véritable migration dans le sens où l'architecture du moteur reste en PHP4 (pour le moment ?), mais sera capable de tourner sur un serveur PHP5.

Celà reste un bon point pour les agences qui pourront faire leurs développements spécifique en PHP5.

D'autre part, l'amélioration des performances des "components" ne sera pas négligeable non plus.

Octobre 2007 – Nexen.net: Actualité de développement PEAR, edition 159

Image pour le titre du contenu
3 paquets ont été mis à jour cette semaine :

PEAR est la bibliothèque de composants PHP.

 



 

Octobre 2007 – Nexen.net: DateTime et DateTimeZone en tutoriel

Image pour le titre du contenu
PHP 5.2 a introduit deux nouvelles classes, DateTime et DateTimeZone, qui remplacent les vieilles fonctions de datetime. Elles offrent un moyen convenable pour stocker des dates sous forme d'objet, au lieu de chaînes et entiers. Les classes supportent beaucoup mieux les fuseaux horaires, et les dates hors de l'époque Unix.

Octobre 2007 – PHP Index: MemHT Portal 3.2, quand simplicité rime avec CMS

MemHT est un portail de génération de site internet intéressant à plus d'un titre.
La simplicité en est sa caractéristique principale où il semble enfin aisé de gérer son propre site internet sans aucune connaissance en langage informatique.

MemHT est un portail Web ( CMS ou SGC ) écrit en PHP/MySQL par Miltenovik Manojlo (Italie) et déjà disponible en 13 langues.
Sa venue en France est très récente, mais à pour but d'offrir à la communauté Francophone une version totalement française, ainsi qu'un support s'y référant.
MemHT a pour arme principale, une simplicité extrême d'utilisation et d'installation tout en conservant une gestion des droits éprouvée et une touche d'Ajax là où ça va bien, pas d'abus de cette technologie trop souvant gourmande, mais des fonctions clefs rendant son utilisation bien agréable (bien évidemment nous pouvons retrouver une intégration du framework scriptaculous, référence en la matière) .

MemHT est livré actuellement en version 3.2, apportant 'comme tout CMS' son lot de nouveautés et de correctifs.
MemHT c'est :
- un forum ultra simple et performant
- une galerie en Ajax du plus bel effet
- une FAQ
- un guide
- une messagerie privé
- un gestionnaire d'articles
- des RSS
- un plan du site
- une fiche contact
- l'url rewriting nativement intégré
- une administration extrêmement simple
- etc etc

Le meilleur moyen de vous faire un avis est tout simplement de tester MemHT pour savoir si il peut répondre à vos attente.

Vous retrouverez les sources françaises sur:
- www.memht-france.com
Le site officiel de développement:
- www.memht.com

Souhaitant que MemHT vous apporte autant de satisfaction qu'à nous même.
Profitez pleinement de la simplicité de MemHT pour votre projet internet.

Proposé par Cyril Levert

Octobre 2007 – Nexen.net: De meilleurs messages d'erreurs en PHP 5

Image pour le titre du contenu
En PHP 4, on avait un message tel que :
 
 
Warning: Missing argument 1 for test()
 

En PHP 5, il y a
 
 
Warning: Missing argument 1 for test(), called in (Fichier) on line 3 and defined in (fichier)
 

Encore une bonne raison de passer à PHP 5!

Octobre 2007 – tigrou/pwet.fr: Upgrading a "large" site from eZ Publish 3.9.2 to eZ Publish 3.10

Warning:this article explains some hacks I had to do to upgrade quickly to eZ Publish 3.10. These modifications can be dangerous for your data, use them at your own risk and don't forget to make backups !

Waiting for a more stable version of eZ Publish 4 , I've upgraded my site from eZ Publish 3.9.2 to eZ Publish 3.10.0. My last upgrade was quite long , but this one could have taken ages ! As I mentioned in the developper forum , the updateniceurls.php script started with this message :

> tigrou@dedipwet[88.191.30.29]:~/web/pwet.fr/www310$ php4 bin/php/updateniceurls.php -s plain_site_admin
Using siteaccess plain_site_admin for nice url update
Importing old url aliases
Importing 62638 standard urls
........................................................ 0.09% 45h 46m 8s
........................................................ 0.18% 86h 55m 44s
........................................................ 0.27% 106h 58m 2s
........................................................ 0.36% 155h 18m 55s

WOW 155 hours, and just for the first step ! In fact, I don't want to change my URIs (Cool URIs don't change !) so I put these lines in site.ini.append.php :

[URLTranslator]
TransformationGroup=urlalias_compat 

But even with these settings, the script tries to regenerate all URL aliases. After some searches, I found that eZURLAliasML::storePath() takes most of the time by calling several times eZURLAliasML::convertToAlias() on strings that are in my case already URL aliases ! This behaviour can be avoided by setting the $cleanupElements parameters to false (its default value is true) in the code of updateniceurls.php. eZURLAliasML::storePath() also calls eZURLAliasML::strtolower() several times. This method uses eZCharTransform to do an advanced strtolower but in my case with my existing ASCII URL aliases, there's no need of it. I has just replaced this code with a simple PHP strtolower() ( don't forget to remove this hack after upgrade !).

With those hacks, eZURLAliasML::storePath() takes about 0.02 second per URI where the original code took between 0.6 and 10 seconds !

By following the upgrade documentation , the rest of the upgrade was, as always, quite easy.

Octobre 2007 – Rom's blog: Ouverture des inscriptions pour le Forum PHP 2007

Extrait du communiqué officiel (un peu personnalisé)

La grand messe annuelle des utilisateurs de PHP réunira de nombreuses personnalités du monde PHP : le père du PHP Rasmus Lerdorf, Andrei Zmievski, développeur du langage PHP et expert unicode, Derick Rethans, créateur de Xdebug et architecte à eZ Systems, ou encore … moi ;-)

Organisé à Paris, les 21 et 22 novembre prochains par l’Association Française des Utilisateurs de PHP (www.afup.org), le Forum PHP 2007 propose 2 journées de conférences, orientées, fonctionnel et technique. Une occasion unique d’échanges avec l’ensemble de la communauté PHP française, les meilleurs spécialistes, et les entreprises utilisatrices.

Informations et inscriptions : http://www.afup.org/pages/forumphp2007/

Octobre 2007 – Nexen.net: __HALT_COMPILER__ : arrêter le compilateur PHP

Image pour le titre du contenu
"PHP dispose d'une commande native __HALT_COMPILER__. Cette instruction interrompt l'exécution du compilateur, et peut être utilisée pour introduire du code PHP à l'intérieur d'un script. Voici ci-dessous un exemple de script PHP auto-extractible. Quand il est exécuté, un nouveau fichier PHP est créé dans le même dossier, du nom de testscript1.php."
Une fonctionnalité assez obscure, mais finalement utile.

Octobre 2007 – Nexen.net: 30 conseils pour rendre son site plus pratique

Image pour le titre du contenu
"Dans cet article, nous présentons 30 points d'ergonomie, règles et concepts qui sont souvent oubliés sur un site Web. Quel est la différence entre lisibilité et la clareté? Qu'est-ce que le principe de pareto ou le 80/20 ? Que signifier déminer et satisfaire? Et coudonc de la dégradabilité et des améliorations progressives? Il est temps de faire le point, même en anglais.

Octobre 2007 – Nexen.net: Plus de 100 générateurs en ligne

Image pour le titre du contenu
Plus de 100 générateurs en ligne, pour ne pas refaire manuellement ce qui peut être fait avec l'encadrement d'une application. Cela ne remplace pas le travail, mais permet de le dégrossir rapidement, avant d'apporter la touche finale.
Graphique et image; couleurs; css; noms de domaines; email; favicons; flash; formulaires; metatags; mots de passe, robots.txt; RSS; sitemap; text et ascii; PDF; XML; .htaccess; tooltips et autres.

Octobre 2007 – Nexen.net: Envoyer des dépêches sur nexen.net

Image pour le titre du contenu
Il y a maintenant un formulaire pour envoyer des dépêches sur nexen.net.
Vous pouvez y envoyer les nouvelles qui vous semblent importantes à diffuser auprès de la communauté. Les messages sont modérés, notamment :

  • Il faut que la dépêche parle de PHP et MySQL. Le monde des applications Web et de l'administration système, de l'Open Source et des logiciels libres sont les bienvenus, et plus ils seront proches des deux premiers, mieux cela sera. Une technologie tierce doit être connexe et fortemenr reliée.

  • Les versions finales d'applications ou de services sont nécessaires. Les versions béta ou développement ne seront considérées que si cela vaut la peine

  • Les communiqués de presse iront dans la section communiqué de presse.

  • Nous n'acceptons pas toutes les dépêches, et notre choix est sans appel.

Octobre 2007 – Nexen.net: Le nouveau site de l'Élysée est en PHP

Image pour le titre du contenu
Le nouveau site de l'Élysée a été refait avec PHP! Formats ouverts fait un bilan très détaillé de la nouvelle application, et a identifié un cocktail très varié d'applications et standards ouverts, en même temps que de format propriétaires.
Espérons que l'Élysée fasse mieux que Matignon, en utilisant une version de PHP plus récente que PHP 4.4.1!
Merci à Thierry Stoehr pour cette information.

Octobre 2007 – Hello Design: Forum PHP 2007

Le forum PHP 2007 se tiendra les 21 et 22 novembre à Paris. Des intervenants de renom : Rasmus Lerdorf (créateur du PHP) et Andrei Zmievski (responsable du développement de PHP 6) y seront présents.

Ce forum s'adresse à tous ceux qui développent des applications Web. La première journée est axée sur le domaine fonctionnel, la deuxième est orientée technique.

Le forum PHP organisé par l'Association Française des Utilisateurs de PHP (AFUP) est une occasion unique de rencontrer la communauté et les professionnels de PHP. Plus d'informations sur http://www.afup.org/forumphp/

 

Octobre 2007 – Nexen.net: Adobe Flex et PHP

Image pour le titre du contenu
"Pour ceux qui se souviennent des jours où nous devions faire des pieds et des mains pour forcer Flash / ActionScript à collaborer avec PHP, vous serez heureux d'apprendre dans cet article que que Adobe Flex résout tout cela. De plus, si vous utilisez déjà Eclipse, vous serez enthousiasmé de savoir qu'il existe un module Adobe Flex pour Eclipse. "
N'oubliez pas la conférence de Mike Potter cette semaine, à Paris, sur PHP et Flex. Je ne pourrais finalement pas m'y rendre, alors si vous voulez une entrée, je peux vous passer mon siège. Mailez-moi.

Octobre 2007 – Nexen.net: MemHT 3.2 FR

Image pour le titre du contenu
MemHT est un portail pour générer des sites internets.
Ce CMS est écrit en PHP et MySQL, et existe dans de nombreuses langues et arrive actuellement en Français.
Son atout principal se veut la simplicité d'utilisation et d'installation.
La version actuelle propose tout ce que peut offrir un CMS (forum, galerie en Ajax, FAQ, guide, messagerie, RSS...)

Octobre 2007 – PHP Index: e107 v0.7.9

Nouvelle version du CMS e107, encore en final cette année de l'Open Source CMS Award de packtpub.com...

Cette nouvelle version à télécharger sur http://e107.org vient corriger des bugs essentiellement.

La prochaine version majeure est déjà en cours de réalisation et apportera beaucoup plus de ouvelles fonctionnalités que celle-ci.
Néanmoins il est fortement recommendé de mettre son système à jour.

Plus d'infos en français, sur le site communautaire:
http://etalkers.tuxfamily.org

Proposé par Lolo Irie

Octobre 2007 – PHP Index: mod Rewrite phpBB SEO Intermédiaire pour BBtonuke

Sortie du mod Phpbb-Seo mod Rewrite phpBB SEO Intermédiaire pour BBtonuke

Ce mod réécrit les URLS des forums BBtonuke (phpBB intégré dans le CMS PhpNuke) en injectant le titre des catégories et forums dans leurs URLS. Les URLS des sujets utiliseront une réécriture statique : topicxx.html

Lien pour le téléchargement du module

Lien vers la démo du module : ici

Lien vers le forum ou est assuré le support : ici

Il est vivement conseillé de l'installé en complément du mod
Zero duplicate pour une optimisation du référencement de votre forum sans Duplicate Content ;)"

Proposé par Vespa

Octobre 2007 – PHPortail: Adoption de Symfony par Del.icio.us (09/10/07)

Encore une bonne nouvelle pour le cadre d'application symfony. Après Yahoo! Bookmarks, c'est le tour de del.icio.us de passer à symfony.

Bravo à l'équipe de symfony, sans oublier le grand...

Octobre 2007 – PHPortail: 7ème édition du Forum PHP de Paris les 21 et 22 novembre (09/10/07)

Organisé à Paris les 21 et 22 novembre prochain par l’Association Française des Utilisateurs de PHP, le Forum PHP 2007 propose 2 journées de conférences, orientées fonctionnels et techniques....

Octobre 2007 – PHPortail: Les statistiques de diffusion de PHP pour septembre 2007 (09/10/07)

Comme chaque mois, Nexen.net produit les statistiques de diffusion PHP dans le monde. Celles pour septembre 2007 sont maintenant arrivées. 1 % de mieux pour PHP 5, qui prend 23 % du "marché"....

Octobre 2007 – PHPortail: Savez-vous comparer comme PHP? (09/10/07)

Nexen.net vient de sortir un test sur les comparaisons en PHP. Ce n’est pas aussi facile qu'il ne parait!

« Tout le monde sait comparer en PHP : le typage faible couplé à une adaptation...

Octobre 2007 – jp.fox: Mise à jour de Zend Core sous Linux

Zend Logo (Propriété de Zend) Suite à la sortie de Zend Core 2.5, il est possible de mettre à jour facilement un serveur Zend Core 2.0 sous Linux à l'aide de la commande suivante (sous login root ou avec sudo) afin de bénéficier, au moins, de PHP 5.2.4 :

# /usr/local/Zend/Core/setup/update -g -a

Si, comme moi, vous avez ajouté quelques extensions à Zend Core, comme PDO_SQLITE, une désinstallation/réinstallation peut être nécessaire :

# /usr/local/Zend/Core/bin/pecl uninstall PDO_SQLITE
# /usr/local/Zend/Core/bin/pecl uninstall PDO
# /usr/local/Zend/Core/bin/pecl install PDO
# /usr/local/Zend/Core/bin/pecl install PDO_SQLITE

Ensuite un petit redémarrage d'Apache est nécessaire :

# /usr/local/Zend/apache2/bin/apachectl restart

Et vous voilà avec un serveur sous PHP 5.2.4 :-)

Remarque : il est aussi possible de passer par l'interface web si vous y avez accès : http://votreserveur/ZendCore/ > Control Center > Updates

Octobre 2007 – Nexen.net: Injections SQL par l'exemple : le cas de bobby table

Image pour le titre du contenu
Le site de xkcd vous explique en une courte bande dessinnée pourquoi les injections SQL sont dangeureuses. C'est l'histoire d'une mère qui donne un nom particulier à son fils...
Je me demande s'il ne faut pas imprimer cela en poster pour la salle des développeurs!

Octobre 2007 – Nexen.net: hors de la boucle, le mysqli_connect!

Image pour le titre du contenu
J'en fait souvent une blague quand j'en parle avec les développeurs que je rencontre, mais il semble que les imbéciles qui le font sont plus nombreux que je ne le pensais.
Au point que Sheeri Kritzer a mesuré les performances de trois situations, pour identifier la plus rapide : pour réaliser 1000 insertions, elle teste trois cas. Le premier cas fait 1000 connexions et requêtes, le deuxième fait 1 connexion et 1000 requêtes, et le dernier fait une connexion et une requête.
Si vous ne vous doutez pas de la réponse, lisez l'article...

Octobre 2007 – Nexen.net: Programmer en temps contraint

Image pour le titre du contenu
Durant le week end, Heri Rakotomalala et Mehdi ont tenté un Blitz Weekend, où "le but est de faire un produit en 2 jours, depuis l'idée au design, développement et déploiement. " Les contraintes de temps jouent évidemment à plein dans ce type d'épreuve, et Heri a rassemblé les différentes leçons qu'il a acquis durant ce temps.
On peut noter qu'il vaut mieux éviter twitter et les RSS durant ce temps, et que si le code final n'est pas beau, il fonctionne. Au final, il a pu tirer 15 heures de travail en deux jours, ce qui me parait étonnant, mais il y a toujours des contraintes auxquelles on ne peut échapper.

Octobre 2007 – Nexen.net: PHP 3 n'est plus supporté!

Image pour le titre du contenu
Via Antony Dogval, il semble que 1&1, un des plus grosses entreprises d'hébergement au monde, va abandonner PHP 3. Non, non, vous avez bien lu, PHP 3. Pas PHP 4.... La compagnie note que PHP 3 n'est plus supporté depuis "plusieurs années" et que PHP 5 est déjà disponibles pour les webmasters qui feront le saut...
A quand Go PHP 4? Je crois que je ne vais pas m'en remettre. :)

Octobre 2007 – Nexen.net: Le meilleur de septembre par smashing magazine

Image pour le titre du contenu
Encore une belle collection d'outils par Smashing magazine.

  • Le faux CAPTCHA : un champ qui doit être laissé vide, et masqué aux humains. Les tactiques pour contrer les robots passent de plus en plus par les CSS (essayez d'analyser les données d'alexa, pour voir).

  • CSS selectors: ce que chaque navigateur supporte

  • oskope : chercher sur ebay/amazon en image

  • feedhub : essaie de nettoyer vos RSS en fonction de vos habitudes réelles de lectures, pas de votre envie de les lire.

Octobre 2007 – Nexen.net: Création d'images animées GIF

Image pour le titre du contenu
L'exemple d'aujourd'hui a été réclamé par un utilisateur appelé Devo. Cet exemple montre comment créer une image GIF animée en créant les images une à une, à partir de rien. Cela fait longtemps que je n'ai rien dessiné, alors je me suis servi d'une base de texte pour ce tutoriel."
Par Mikko Koppanen, l'expert ImageMagick.

Octobre 2007 – Nexen.net: Injections SQL par l'exemple : le cas de bobby table

Image pour le titre du contenu
Le site de xkcd vous explique en une courte bande dessinnée pourquoi les injections SQL sont dangeureuses. C'est l'histoire d'une mère qui donne un nom particulier à son fils...
Je me demande s'il ne faut pas imprimer cela en poster pour la salle des développeurs!

Octobre 2007 – Nexen.net: hors de la boucle, le mysqli_connect!

Image pour le titre du contenu
J'en fait souvent une blague quand j'en parle avec les développeurs que je rencontre, mais il semble que les imbéciles qui le font sont plus nombreux que je ne le pensais.
Au point que Sheeri Kritzer a mesuré les performances de trois situations, pour identifier la plus rapide : pour réaliser 1000 insertions, elle teste trois cas. Le premier cas fait 1000 connexions et requêtes, le deuxième fait 1 connexion et 1000 requêtes, et le dernier fait une connexion et une requête.
Si vous ne vous doutez pas de la réponse, lisez l'article...

Octobre 2007 – Nexen.net: Programmer en temps contraint

Image pour le titre du contenu
Durant le week end, Heri Rakotomalala et Mehdi ont tenté un Blitz Weekend, où "le but est de faire un produit en 2 jours, depuis l'idée au design, développement et déploiement. " Les contraintes de temps jouent évidemment à plein dans ce type d'épreuve, et Heri a rassemblé les différentes leçons qu'il a acquis durant ce temps.
On peut noter qu'il vaut mieux éviter twitter et les RSS durant ce temps, et que si le code final n'est pas beau, il fonctionne. Au final, il a pu tirer 15 heures de travail en deux jours, ce qui me parait étonnant, mais il y a toujours des contraintes auxquelles on ne peut échapper.

Octobre 2007 – Nexen.net: Injections SQL par l'exemple : le cas de bobby table

Image pour le titre du contenu
Le site de xkcd vous explique en une courte bande dessinnée pourquoi les injections SQL sont dangeureuses. C'est l'histoire d'une mère qui donne un nom particulier à son fils...
Je me demande s'il ne faut pas imprimer cela en poster pour la salle des développeurs!

Octobre 2007 – PHP Index: IBM : Débuter avec les frameworks PHP

Dans un article paru sur le site IBM, Duane O'Brien propose d'examiner les similitudes et les différences de trois frameworks PHP : Zend, symfony, CakePHP.

Cet article est le premier d'une série de tutoriaux à destination des développeurs PHP souhaitant débuter avec un framework, mais n'ayant pas le temps d'examiner toutes les solutions dans les moindres détails.
L'auteur se concentre sur les trois frameworks PHP parmi les plus répandus, à savoir Zend, symfony, CakePHP. Le but avoué de cette série de tutoriaux est de comprendre pour quelles raisons utiliser un framework, de présenter les trois frameworks choisis et de comprendre comment installer et avoir une bonne mise en main de chacun d'eux.

Le premier tutoriel commence par donner les inévitables bases :

  • Qu'est-ce qu'un framework?
  • Présentation succincte des frameworks PHP, notamment ZEND, symfony et CakePHP.
  • Installation des 3 frameworks.

L'auteur propose ensuite de réaliser une première application test, intitulée "Blahg". Il s'agit de permettre de poster un texte, via une simple zone de texte. Celui-ci sera alors enregistré en base de données et l'application permettra de l'afficher à la demande.
Dans le premier tutoriel, seule l'installation de la base de données de cette application est abordée. Pour le reste, il faudra attendre les prochains tutoriaux

Octobre 2007 – PHP Index: Projet Phalanger : PHP, langage de premier choix sur la plate-forme Microsoft .NET

Une nouvelle version de Phalanger est disponible depuis peu. Ce projet Open Source a pour but d'implémenter le langage PHP sur la plateforme .NET de Microsoft. Elle permet par exemple d'exécuter sans modification des applications PHP existantes comme phpBB, phpMyAdmin, Wordpress et bien d'autres encore.

Pour Christophe Lauer, auteur du projet, Phalanger confère à PHP le statut de "langage .NET", ouvrant la porte à l'intéropérabilité avec l'ensemble de la plate-forme .NET et à l'utilisation - entre autres - de Microsoft Ajax et des contrôles riches de l'ASP.NET Ajax Control Toolkit.

La présentation du projet sur le site MSDN, comporte quelques rappels des concepts de base ASP.NET, puis passe en revue les possibilités offertes par Phalanger, ses points forts et ses limites.

Pour plus d'informations :

Octobre 2007 – Nexen.net: Vidéo PHP et MySQL, édition 15

Image pour le titre du contenu
Voici les 5 dernières vidéos PHP et MySQL.


Ces vidéos sont publiés sur les sites de partagent de vidéo. Ce sont des tutoriels enregistrés, des sessions de conférences, des screencast ou encore des slides de conférences.



N'hésitez pas à nous contacter pour signaler tout media qui mérite d'être ajouté à cette liste.

Octobre 2007 – Nexen.net: e107 version 0.7.9

Image pour le titre du contenu
e107 est devenu au fil des années, l'une des meilleures application pour créer rapidement et aisément des sites Web (Internet/Intranet/Extranet), simples ou complexes. C'est une application peu connue de la communauté PHP francophone, mais la meilleure preuve de sa vitalité est sa qualification en finale (5 meilleurs) pour la seconde édition des CMS Award.
Il est donc grand temps d'en parler un peu plus.
Ses avantages:
Destiné à l'origine aux grands débutants, et disposant donc d'interfaces d'installation et d'administration particulièrement simples, ce CMS a su néanmoins se doter au fil du temps de fonctionnalités extremement poussées, permettant aux développeurs avertis de faire presque tout ce qui est nécessaire pour un site Web complet... et donc dépasser le status de CMS pour s'orienter plutot vers un framework.
Il peut s'installer sur quasiment toutes les platteformes basées sur PHP et MYSQL, et notamment la plupart des hébergementss mutualisés.
La liste des fonctionnalités peut difficilement être reprise dans un simple article, voici toutefois quelques points importants:

  • Administration sécurisée (nombreuses fonctions avancées, comme un inspecteur de fichiers pour être sur de la conformité de son site sur un serveur distant)

  • Groupes d'utilisateurs et différents niveaux d'administration

  • Système de cache (bien que peu flexible, fort efficace)

  • Themes graphiques extremement varies (quelques uns livrés par défaut avec e107, beacoup d'autres à télécharger sur des sites references), respect des normes W3C (XHTML / CSS)

  • Multilangage (Interface et contenu)

  • Support pour plugins (plusieurs centaines existent pour couvrir tous vos besoins, certains sont livrés avec e107)

  • Sécurité accrue de l'application publique

  • Téléchargements / Uploads

  • RSS

  • Support complet d'UTF8 (fichiers et base de données)


Mais le plus simple reste d'installer le script sur un serveur de test (l'installation basique ne demandant pas plus d'une minute) et jouer avec l'administration...
Pour les anglophobes, vous trouverez tout le nécessaire sur le site communautaire francophone.
Alors que le support international est assuré sur le site officiel d'e107, la communauté francophone peut vous aider dans vos projets.
Celle-ci, dirigée par 3 administrateurs principaux (Lolo Irie, ex développeur d'e107 et fondateur de la communauté francophone, marj, actuel e107 Gourou et Aldrin WebDesigner), se veut ouverte et tout utilisateur francophone peut donc y devenir administrateur à son tour...

Octobre 2007 – Nexen.net: Etude comparée de Symfony, Zend et CakePHP

Image pour le titre du contenu
"Quelques années auparavant, une des critiques courantes de PHP était l'absence d'architectures de type MVC. Les temps ont changé, et de nos jours, il y a de nombreuses solutins MVC dans le monde PHP. Cette série étudie trois frameworks répandus, Zend, symfony, et CakePHP : elle éxamine leur similarités et différences, au travers de la construction et l'extension d'une application, à l'aide des trois frameworkds."
Une série fort intéressante qui commence par l'installation et le premier programme dans chacun des frameworks précisé ci-dessus.

Octobre 2007 – Nexen.net: Installation d'un environnement FAMP

Image pour le titre du contenu
"Voyons comment installer le nécessaire pour transformer votre FreeBSD en un environnement de développement complet pour PHP. Pour cela nous utiliserons au maximum les caractéristiques de ce système et notamment le catalogue de logiciels portés.
Ce tutoriel se veut littéralement libre puisqu'aucune version du serveur Apache, de la base de données MySQL ou encore de PHP ne vous est imposée. La description de leur installation concerne le plus large éventail de versions possibles pour s'adapter aux besoins de chacun."

Octobre 2007 – Nexen.net: Etude comparée de Symfony, Zend et CakePHP

Image pour le titre du contenu
"Quelques années auparavant, une des critiques courantes de PHP était l'absence d'architectures de type MVC. Les temps ont changé, et de nos jours, il y a de nombreuses solutins MVC dans le monde PHP. Cette série étudie trois frameworks répandus, Zend, symfony, et CakePHP : elle éxamine leur similarités et différences, au travers de la construction et l'extension d'une application, à l'aide des trois frameworkds."
Une série fort intéressante qui commence par l'installation et le premier programme dans chacun des frameworks précisé ci-dessus.

Octobre 2007 – Nexen.net: Installation d'un environnement FAMP

Image pour le titre du contenu
"Voyons comment installer le nécessaire pour transformer votre FreeBSD en un environnement de développement complet pour PHP. Pour cela nous utiliserons au maximum les caractéristiques de ce système et notamment le catalogue de logiciels portés.
Ce tutoriel se veut littéralement libre puisqu'aucune version du serveur Apache, de la base de données MySQL ou encore de PHP ne vous est imposée. La description de leur installation concerne le plus large éventail de versions possibles pour s'adapter aux besoins de chacun."

Octobre 2007 – Nexen.net: e107 version 0.7.9

Image pour le titre du contenu
e107 est devenu au fil des années, l'une des meilleures application pour créer rapidement et aisément des sites Web (Internet/Intranet/Extranet), simples ou complexes. C'est une application peu connue de la communauté PHP francophone, mais la meilleure preuve de sa vitalité est sa qualification en finale (5 meilleurs) pour la seconde édition des CMS Award.
Il est donc grand temps d'en parler un peu plus.
Ses avantages:
Destiné à l'origine aux grands débutants, et disposant donc d'interfaces d'installation et d'administration particulièrement simples, ce CMS a su néanmoins se doter au fil du temps de fonctionnalités extremement poussées, permettant aux développeurs avertis de faire presque tout ce qui est nécessaire pour un site Web complet... et donc dépasser le status de CMS pour s'orienter plutot vers un framework.
Il peut s'installer sur quasiment toutes les platteformes basées sur PHP et MYSQL, et notamment la plupart des hébergementss mutualisés.
La liste des fonctionnalités peut difficilement être reprise dans un simple article, voici toutefois quelques points importants:

  • Administration sécurisée (nombreuses fonctions avancées, comme un inspecteur de fichiers pour être sur de la conformité de son site sur un serveur distant)

  • Groupes d'utilisateurs et différents niveaux d'administration

  • Système de cache (bien que peu flexible, fort efficace)

  • Themes graphiques extremement varies (quelques uns livrés par défaut avec e107, beacoup d'autres à télécharger sur des sites references), respect des normes W3C (XHTML / CSS)

  • Multilangage (Interface et contenu)

  • Support pour plugins (plusieurs centaines existent pour couvrir tous vos besoins, certains sont livrés avec e107)

  • Sécurité accrue de l'application publique

  • Téléchargements / Uploads

  • RSS

  • Support complet d'UTF8 (fichiers et base de données)


Mais le plus simple reste d'installer le script sur un serveur de test (l'installation basique ne demandant pas plus d'une minute) et jouer avec l'administration...
Pour les anglophobes, vous trouverez tout le nécessaire sur le site communautaire francophone.
Alors que le support international est assuré sur le site officiel d'e107, la communauté francophone peut vous aider dans vos projets.
Celle-ci, dirigée par 3 administrateurs principaux (Lolo Irie, ex développeur d'e107 et fondateur de la communauté francophone, marj, actuel e107 Gourou et Aldrin WebDesigner), se veut ouverte et tout utilisateur francophone peut donc y devenir administrateur à son tour...

Octobre 2007 – PHP Index: IMagick 2.0.0

La version finale d'IMagick 2.0.0 est disponible au téléchargement.

Cette version est, comme son numéro de version ne l'indique pas, la première version stable de ce wrapper depuis sa création en 2002, et après plusieurs années en version beta 0.9.x. Il faut d'ailleurs noter que cette version 2.0.0 n'est pas compatible avec les versions précédentes.

Rappelons qu'IMagick est une extension PHP permettant d'utiliser les API d'ImageMagick pour manipuler des images au travers de classes PHP.
Cette version nécessite au minimum PHP 5.1.3, ImageMagick 6.2.4, et le PEAR Installer 1.4.0.

Site officiel IMagick
Changelog
Documentation
Site officiel ImageMagick

Octobre 2007 – PHP Index: VNUNet : Les logiciels open source inspirent de plus en plus confiance

Le site VNUNet.fr propose un article à propos d'une récente étude sur les logiciels libres.

L'étude en question montre que l'engouement pour les logiciels libres ne faiblit pas, et nous présente quelques chiffres intéressants.
On apprend par exemple que 53% des responsables de sécurité ont tendance à déployer des logiciels libres plutôt que leurs équivalents commerciaux, et que parmis les raisons de la préférence d'une solution open source à une solution commerciale, 80% avancent le coût, 51% l'accès au code source, et 47% le fait que le code soit examiné par la communauté.
A l'inverse, selon l'étude les principaux arguments en faveur des logiciels commerciaux sont la facilité d'adoption et les mises à jour automatiques.

L'article de VNUNet: Les logiciels open source inspirent de plus en plus confiance

Octobre 2007 – Nexen.net: Les inscriptions au forum PHP 2007 sont ouvertes

Image pour le titre du contenu
Le forum PHP 2007 se tiendra les 21 et 22 novembre à Paris. Des poids lourds de l’industrie Internet seront présents : Adobe, France Télécom et le créateur de PHP, Rasmus Lerdorf.
Ce forum s’adresse à tous ceux qui développent ou qui supervisent des applications Web en PHP. Il est divisé en deux journées :

  • Une journée décideurs, avec de nombreux retours d'expérience et success stories au sein de grands comptes qui nous dévoileront leurs secrets.

  • Une journée technique en conférence plénière ou en atelier : PHP6, sécurité, architecture applicative, Web 2.0, MySQL, Flex et de nombreux autres sujets sur les technologies qui s'imposeront à partir de 2008.


Le forum PHP organisé par l’Association Française des Utilisateurs de PHP (AFUP) est une occasion unique de rencontrer la communauté et les professionnels de PHP.

Octobre 2007 – PHP Index: Zend, pour un tandem Windows et PHP plus performant

Lors de la ZendCon PHP conference à San Francisco, Zend a annoncé plusieurs projet en concertation avec Microsoft, dans le but d'améliorer la performance des applications PHP fonctionnant sur Windows.

Selon les dires d'Andi Gutsman, co-fondateur de Zend, les nombreuses annonces faites à la Zendcon PHP conférence convergent vers un même but : établir un écosystème autour de PHP et de Zend. Environ 55% des clients de Zend souhaiteraient établir des applications hybrides. Pour répondre à ce besoin, Zend s'intéresse à Eclipse et Andi Gutmans motive le choix de ce framework Open Source par le fait que son utilisation semble atténuer la difficulté pour créer des application multi-langages

Parmi les annonces, on peut noter :

  • Disponibilité d'une version preview de Zend Studio pour Eclipse.
  • Mise à jour de la distribution Zend Core 2.5.
  • Aboutissement des accords entre Zend et Microsoft, notamment par l'amélioration des performances de PHP sur Windows Server 2003, 2008 et pour les version futures.
  • Accords avec Oracle, notamment pour l'intégration et le support des bases de données IBM DB2.

Pour plus d'informations, lire l'article correspondant sur SD Times

Octobre 2007 – Nexen.net: Zend inclut le support de microsoft InfoCard dans son framework

Image pour le titre du contenu
"Le support de la technologie de fédération des identités de Microsoft sera ajouté au framework de l'inventeur du langage Open Source.
L'implémentation des spécifications d'InfoCard dans d'autres langages que ceux de .Net ne va sans doute pas assez vite au goût de Microsoft : l'éditeur vient d'annoncer qu'il allait collaborer avec Zend Technologies pour développer un composant logiciel supportant sa technologie de fédération d'identités. Ce composant viendra s'intégrer au Zend Framework, le cadre applicatif fourni par l'inventeur du langage PHP."

Octobre 2007 – Nexen.net: Zend inclut le support de microsoft InfoCard dans son framework

Image pour le titre du contenu
"Le support de la technologie de fédération des identités de Microsoft sera ajouté au framework de l'inventeur du langage Open Source.
L'implémentation des spécifications d'InfoCard dans d'autres langages que ceux de .Net ne va sans doute pas assez vite au goût de Microsoft : l'éditeur vient d'annoncer qu'il allait collaborer avec Zend Technologies pour développer un composant logiciel supportant sa technologie de fédération d'identités. Ce composant viendra s'intégrer au Zend Framework, le cadre applicatif fourni par l'inventeur du langage PHP."

Octobre 2007 – Nexen.net: Comparer la simpliciter des langages de programmation

Image pour le titre du contenu
Jeff Moore a repéré une comparaison de différents langages de programmation, basé sur le nombre de mots réservés par le langage pour sa propre utilisation.
De manière amusante, Java et PHP sont au même classement. io (source du classement) impose aucun mot clé, et Perl se présente comme le champion du monde des mots réservés...
Un autre classement est fait en comptant les point-virgules.

Octobre 2007 – Nexen.net: Comparer la simpliciter des langages de programmation

Image pour le titre du contenu
Jeff Moore a repéré une comparaison de différents langages de programmation, basé sur le nombre de mots réservés par le langage pour sa propre utilisation.
De manière amusante, Java et PHP sont au même classement. io (source du classement) impose aucun mot clé, et Perl se présente comme le champion du monde des mots réservés...
Un autre classement est fait en comptant les point-virgules.

Octobre 2007 – Arnaud Limbourg: Pyrus: l'installateur de PEAR réinventé

Joshua Eichorn à récemment posté une liste des nouveautés attendues dans la nouvelle version de l'installateur de PEAR. Afin d'éviter la confusion possible à l'heure actuelle l'installateur va changer de nom et s'appeler Pyrus tandis que le "repository" de paquetages se nommera PEAR2.

Voici la liste des points abordés par Joshua lors de sa "PEAR2 Unconference" en marge de la ZendCon.

  1. Aucune installation n'est nécessaire. Pyrus vient sous la forme .phar qui peut être lancé directement sous PHP.
  2. La plupart des paquetages peuvent être utilisés sans installation et plus tard mis à jour via Pyrus.
  3. Pyrus est fait pour le scénario développement/déploiement. Une commande "deploy" permettra de gérer le déploiement sur un serveur de production
  4. Le code de Pyrus est plus petit et utilise beaucoup moins de mémoire.
  5. Les formats supportés par défaut sont .tar, .tgz, .tbz, .zip, and .phar
  6. La version minimum requise est PHP 5.3+ qui permet d'utiliser les fonctionnalités avançées telles que les itérateur SPL, XMLReader/XMLWriter, l'extension ZIP, l'extension phar (si activée), les exceptions
  7. Le support des applications (en plus des paquetages) via les rôles www and cfg (fichiers de configuration)
  8. Pyrus peut installer la quasi-totalité des paquetages utilisant le format 2.0 de package.xml sans avoir besoin de modifier le code. Vous pouvez également utiliser Pyrus pour gérer vos paquetages PEAR.

Octobre 2007 – Arnaud Limbourg: Pyrus: l'installateur de PEAR réinventé

Joshua Eichorn à récemment posté une liste des nouveautés attendues dans la nouvelle version de l'installateur de PEAR. Afin d'éviter la confusion possible à l'heure actuelle l'installateur va changer de nom et s'appeler Pyrus tandis que le "repository" de paquetages se nommera PEAR2.

Voici la liste des points abordés par Joshua lors de sa "PEAR2 Unconference" en marge de la ZendCon.

  1. Aucune installation n'est nécessaire. Pyrus vient sous la forme .phar qui peut être lancé directement sous PHP.
  2. La plupart des paquetages peuvent être utilisés sans installation et plus tard mis à jour via Pyrus.
  3. Pyrus est fait pour le scénario développement/déploiement. Une commande "deploy" permettra de gérer le déploiement sur un serveur de production
  4. Le code de Pyrus est plus petit et utilise beaucoup moins de mémoire.
  5. Les formats supportés par défaut sont .tar, .tgz, .tbz, .zip, and .phar
  6. La version minimum requise est PHP 5.3+ qui permet d'utiliser les fonctionnalités avançées telles que les itérateur SPL, XMLReader/XMLWriter, l'extension ZIP, l'extension phar (si activée), les exceptions
  7. Le support des applications (en plus des paquetages) via les rôles www and cfg (fichiers de configuration)
  8. Pyrus peut installer la quasi-totalité des paquetages utilisant le format 2.0 de package.xml sans avoir besoin de modifier le code. Vous pouvez également utiliser Pyrus pour gérer vos paquetages PEAR.

Octobre 2007 – Nexen.net: PHP 5 avance 4e edition

Image pour le titre du contenu
La quatrième édition du livre "PHP 5 avancé" écrit par Cyril PIERRE de GEYER et Eric DASPET vient de sortir !
Ce livre s'adresse aux développeurs d'applications Web professionnel.
Les nouveautés de la version 4 :
* - L'extension Filter
* - Les frameworks.

Octobre 2007 – Arnaud Limbourg: Rendez-vous flex

Le rendez-vous Flex d'hier s'est bien déroulé, les réactions sont positives. Si vous avez des remarques sur la session n'hésitez pas à poster un commentaire ou envoyer un mail à bureau@afup.org.

Certains d'entre-vous n'ont pas bien vu les exemples, nous mettrons bientôt à disposition le code des exemples que Mike à présenté.

Une photo de la salle: http://www.flickr.com/photos/arnaudlimbourg/1550788702/

Octobre 2007 – Arnaud Limbourg: Rendez-vous flex

Le rendez-vous Flex d'hier s'est bien déroulé, les réactions sont positives. Si vous avez des remarques sur la session n'hésitez pas à poster un commentaire ou envoyer un mail à bureau@afup.org.

Certains d'entre-vous n'ont pas bien vu les exemples, nous mettrons bientôt à disposition le code des exemples que Mike à présenté.

Une photo de la salle: http://www.flickr.com/photos/arnaudlimbourg/1550788702/

Octobre 2007 – PHP Index: Symfony 1.0.8

La nouvelle version du framework symfony est disponible.

Cette version estampillée 1.0.8 vient principalement corriger une dizaine de bugs, et changer certains chemins, jusqu'à maintenant absolus, en chemins relatifs. En effet l'utilisation de chemins absolus posait parfois problème lors de la mise en production.
Voici le changelog:

#  r5471: fixed admin main.css - absolute to relative paths (#1889)
#  r5355: plugin-install tasks create relative symlink instead of absolute symlink
#  r5348: fixed EzComponents library inclusion (#2193)
#  r5344: allow using a custom form id (#1899)
#  r5339: fixed sfPropelData error message (#2218)
#  r5308: fixed sfFileCache::clean() when dir does not exist (#2294)
#  r5160: fixed double call to clearCredentials() in sfBasicSecurityUser
#  r5153: fixed code completion not working with sfTestBrowser
#  r5149: fixed bug in _get_options_from_objects (#1526)
#  r5145: fixed ETag to be compliant with the HTTP1.1 spec (#2216)
#  r5141: fixed consistent syntax of i18n helper function when i18n is off
#  r5061: fixed blank screen of death (#2231 and #1862)
#  r5001: fixed sfBasicSecurityFilter should not secure the "secure" action either
A cette occasion, les développeurs du projet annoncent que la sortie de la prochaine version 1.0.9 devrait être en meilleur accord avec le calendrier prévu, et donc être disponible d'ici 2 à 3 semaines.

Site officiel
Téléchargement

Octobre 2007 – Rom's blog: Everybody wants to rule the world…

Microsoft et Zend collaborent sur une implémentation PHP d’InfoCard :

http://www.lemondeinformatique.fr/actualites/lire-microsoft-et-zend-collaborent-sur-une-implementation-php-d-infocard-24268.html

Octobre 2007 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 165

Image pour le titre du contenu


PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes :
PHP 5.2.4 et 4.4.7; MySQL 5.0.45 (communauté) et 5.0.45 (entreprise), 4.1.22, ainsi que 5.1.21-beta. Les mises à jour sont recommandées vers ces versions.



4 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
Gallery, Joomla, PEAR et phpMyAdmin



Octobre 2007 – Nexen.net: Actualité de développement PECL, edition 171

Image pour le titre du contenu
7 paquets ont été mis à jour cette semaine :

  • en pecl_http (0 visite) : support étendu de HTTP

  • en imagick (0 visite) : interface avec la bibliothèque graphique ImageMagick

  • en Paradox (0 visite) : lecture des fichiers Paradox

  • en oci8 (0 visite) : fonctions OCI8

  • en timezonedb (0 visite) : base de données de fuseaux horaires pour PHP

  • en phar (0 visite) : support des fichiers d'archives PHP : .phar

  • en ext/bbcode (0 visite) : analyse de BBcode


PECL est la bibliothèque d'extensions C de PHP.

 



 

Octobre 2007 – Nexen.net: Simple protection contre les attaques avec APC

Image pour le titre du contenu
Les attaques systématiques peuvent être fortement calmées avec un simple compteur de hits par IP : après 10 sollicitations, un délai incrémental est ajouté à l'application. Cela de bloque pas totalement l'attaque, mais permet de réduire son efficacité.
Au lieu de faire cela avec un compteur en base de données, voici comment le faire avec APC. ET c'est juste 6 lignes de code.

Octobre 2007 – Nexen.net: Supporter le retard de réplication

Image pour le titre du contenu
Le plus gros parasite de la réplication est le retard (replication lag) : c'est le fait que les esclaves soient en retard sur le maître. Pour certaines applications, ce n'est pas un gros problème, mais pour d'autres, comme celles qui utilisent la base de données pour stocker les sessions, c'est plus difficile à accepter.
Peter Zaitsev identifie les sources de retards sur une architecture de réplication : la charge de l'esclave (qui doit servir les lectures en plus de rattraper les écritures), les verrous (qui bloquent tous les requêtes, y compris le thread de réplication), les longues requêtes (qui ennuient tout le monde).
Au final, il est recommandé d'inclure dans l'application des systèmes qui s'adaptent à ce retard, plutôt que de faire planter l'application.

Octobre 2007 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 165

Image pour le titre du contenu


PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes :
PHP 5.2.4 et 4.4.7; MySQL 5.0.45 (communauté) et 5.0.45 (entreprise), 4.1.22, ainsi que 5.1.21-beta. Les mises à jour sont recommandées vers ces versions.



4 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
Gallery, Joomla, PEAR et phpMyAdmin



Octobre 2007 – Nexen.net: Actualité de développement PECL, edition 171

Image pour le titre du contenu
7 paquets ont été mis à jour cette semaine :

  • en pecl_http (0 visite) : support étendu de HTTP

  • en imagick (0 visite) : interface avec la bibliothèque graphique ImageMagick

  • en Paradox (0 visite) : lecture des fichiers Paradox

  • en oci8 (0 visite) : fonctions OCI8

  • en timezonedb (0 visite) : base de données de fuseaux horaires pour PHP

  • en phar (0 visite) : support des fichiers d'archives PHP : .phar

  • en ext/bbcode (0 visite) : analyse de BBcode


PECL est la bibliothèque d'extensions C de PHP.

 



 

Octobre 2007 – Nexen.net: Simple protection contre les attaques avec APC

Image pour le titre du contenu
Les attaques systématiques peuvent être fortement calmées avec un simple compteur de hits par IP : après 10 sollicitations, un délai incrémental est ajouté à l'application. Cela de bloque pas totalement l'attaque, mais permet de réduire son efficacité.
Au lieu de faire cela avec un compteur en base de données, voici comment le faire avec APC. ET c'est juste 6 lignes de code.

Octobre 2007 – Nexen.net: Supporter le retard de réplication

Image pour le titre du contenu
Le plus gros parasite de la réplication est le retard (replication lag) : c'est le fait que les esclaves soient en retard sur le maître. Pour certaines applications, ce n'est pas un gros problème, mais pour d'autres, comme celles qui utilisent la base de données pour stocker les sessions, c'est plus difficile à accepter.
Peter Zaitsev identifie les sources de retards sur une architecture de réplication : la charge de l'esclave (qui doit servir les lectures en plus de rattraper les écritures), les verrous (qui bloquent tous les requêtes, y compris le thread de réplication), les longues requêtes (qui ennuient tout le monde).
Au final, il est recommandé d'inclure dans l'application des systèmes qui s'adaptent à ce retard, plutôt que de faire planter l'application.

Octobre 2007 – Nexen.net: Actualité de développement PEAR, edition 160

3 paquets ont été mis à jour cette semaine :

PEAR est la bibliothèque de composants PHP.

 



 

Octobre 2007 – Nexen.net: Analyse des logs d'erreurs du serveur Web

Image pour le titre du contenu
En parcourant les logs d'erreur d'Apache sur nexen.net, je suis tombé sur des listes entières d'attaques et d'injections de code PHP. En deux jours, 2619 attaques représentent un effort particulier, quoique pas exceptionnel.
Que peut-on tirer comme information de ces logs? Quelles URL disposent d'attaquent? Quels sont les fichiers et dossiers visés?
Ce qui est sur, c'est qu'ils sont fatiguant.

Octobre 2007 – Hello Design: Les 1er ElePHPants

Les premiers ElePHPants PHP sont arrivés... Vous pouvez aller visiter la galerie photo de mon site à partir de ce lien (cliquer ici) ou visualiser l'aventure des elephants sur le site de Nexen (cliquer ici)

Octobre 2007 – Nexen.net: The New York Times publie un cache XSL pour PHP

Image pour le titre du contenu
Via les liens de Gregor sur del.icio.us, je viens de découvrir l'extension xslcache pour PHP, publié par les geeks du The New York Times, et basé sur l'extension originale.
Une extension pour XSLT qui collecte la version compilée des feuilles de style, et la réutilise à la prochaine requête. Le tout est stocké en mémoire pour éviter la partie de compilation. Le tout conduit à des gains de performances.
Et apparamment, le New York Times publie du code PHP : ils proposent aussi un pool de connexions de base de données, qui sait parler HTTP et JSON.

Octobre 2007 – Nexen.net: Les éléphants débarquent le 21 Octobre

Image pour le titre du contenu
Les premières contractions de la maman éléphpant sont bien régulière, et il est maintenant prévu que les éléphpants arrivent lundi 21 octobre dans les locaux de nexen.net.
Ce jour-là, les groupes d'utilisateurs du monde entier (voyez la carte du monde, il y en a partout!) verront leurs portées envoyées. Les premières livraisons sont attendues une semaine après, pour les plus près.
Il est possible de s'en procurer en ligne dès maintenant, ou bien sur place dans les réunions de groupe d'utilisateurs (PHP Québec Montréal), ou bien différentes conférences (DC PHP Washington, USA, et Forum PHP Paris, France).

Octobre 2007 – PHP Index: phpMyAdmin 2.11.1.1

La nouvelle release de phpMyAdmin 2.11.1.1 est aujourd'hui disponible.

Cette version apporte un correctif d'une faille de sécurité XSS à partir du fichier setup.php.

Octobre 2007 – PHPortail: Les inscriptions au forum PHP 2007 sont ouvertes (16/10/07)

«Le forum PHP 2007 se tiendra les 21 et 22 novembre à Paris. Des poids lourds de l’industrie Internet seront présents : Adobe, France Télécom et le créateur de PHP, Rasmus Lerdorf.

Ce forum...

Octobre 2007 – PHPortail: Webkit (Safari) vient d’intégrer la fonctionnalité CSS font-face (16/10/07)

Webkit est le coeur du navigateur Safari développé par Apple.

Une fonctionnalité CSS, très intéressante, @font-face vient de voir le jour.

L’instruction @font-face du CSS permet...

Octobre 2007 – PHPortail: XAMPP 1.6.4 (16/10/07)

XAMPP est une archive de distribution pour la plateforme AMP (LAMP, WAMP, MAMP). Cette dernière version met à jour Apache (2.2.6), PHP (5.2.4) et phpMyAdmin (2.11.1).

Octobre 2007 – PHPortail: MemHT Portal 3.2 (16/10/07)

MemHT est un portail pour générer des sites internets.

Son atout principal se veut la simplicité d'utilisation et d'installation.


C'est un portail Web ( CMS ou SGC ) écrit en PHP/MySQL...

Octobre 2007 – PHPortail: Sécurité : Vérifiez les listes noire de SPAM (16/10/07)

Le choix d'une bonne liste noire en temps réel est efficace pour se débarrasser du pourriel. Malheureusement, si votre serveur SMTP se retrouve listé dans l'une ou l'autre de ces listes, vos...

Octobre 2007 – Nexen.net: PHP 5.3 : les premières versions

Image pour le titre du contenu
PHP.net publie maintenant la future version PHP 5.3, qui remplacera PHP 5.2. Les codes sources ainsi que la version Windows sont disponibles sur le site snaps, et remises à jour toutes les huit heures.
Que peut-on attendre de PHP 5.3? Lukas Smith tient une liste des objectifs de cette version sur un Wiki, mais voici un bref résumé :

  • Namespaces : les espaces de noms

  • Late Static Binding

  • Appel statiques dynamiques (sic) et _callStatic()

  • Amélioration du support des .htaccess

  • mysqlnd : la prochaine génération de mysql

Octobre 2007 – Nexen.net: 6 architectures classiques

Image pour le titre du contenu
Stuart Herbert a catalogué 6 architectures Web classiques : il y a les incontournables hébergements partagés, dédiés et 2 tiers (un serveur PHP et un serveur MySQL).
Puis, il y a les fermes de serveur Web, les clusters de base de données, et enfin les architectures trois-tiers.
Cette approche résumée des architectures donne une vision globale, et vous permettra de vous situer dans l'échelle des sites. La majorité des sites se satisferont des trois premières options.

Octobre 2007 – PHP Québec: Assemblée Générale & Élections 2007-2008

Montréal, le 16 octobre 2007

L'équipe de PHP Québec vous invite à son Assemblée Générale qui aura lieu le samedi 27 octobre 2007 à 13h00 au Pub de l'ÉTS (530, rue Peel, Montréal).

Ordre du jour:

* Présentation des états financiers;
* Aborder la fusion;
* Présentation des postes et des candidatures;
* Vote et dépouillement des votes;
* Annonce officielle du résultat des élections.

Pour commencer, l'équipe de PHP Québec présentera les états financiers et fera le tour des documents «Présentation aux Membres» et «Règlements Internes». Ensuite, la fusion PHP Québec / Conférence PHP Québec sera présentée aux membres. Les personnes désirant devenir membre pourront s'inscrire sur place et participer au vote. Les cartes de membre seront distribuées le jour même ou envoyées par la poste la semaine suivante.

Par la suite, tous les candidats ayant postulés pour un poste bénéficieront de deux minutes pour se présenter. Les candidats doivent se déclarer en envoyant leur intention et une courte description à board@phpquebec.com. La date limite pour se porter candidat est le 23 octobre 2007 à 23:59, heure du Québec.

L'Assemblée Générale se terminera avec l'élection du nouveau Conseil d'Administration de PHP Québec pour la saison 2007-2008.

Voici la liste des postes pour lesquels vous pouvez postuler :

* Président
* Secrétaire
* Trésorier
* Responsable du serveur web
* Responsables de groupe (Québec et Montréal)

Le poste de président, de secrétaire et de responsable de groupe sont vacants. Le poste de président et de secrétaire devront être comblés.


À noter:

* Selon la politique électorale (cf. Règlements Internes section 5.1), un maximum de 50% des postes sont renouvelables.
* Toutes les personnes désirant voter ou postuler pour un poste devront être membre en règle à compter du 20 octobre 2007, tel que mentionné dans les articles 2.0 et 5.4 des Règlements Internes.
* Toutes les personnes désirant postuler pour l'un de ces postes doivent faire parvenir un courrier électronique à board@phpquebec.org. Joignez-y le titre du poste, une courte description de vos accomplissements et un paragraphe décrivant ce qui fait de vous le candidat idéal pour ce poste.
* Pour plus de détails sur les responsabilités liées à chacun de ces postes, veuillez vous référer aux Règlements Internes section 4.0.


Pour obtenir une copie des documents officiels:

Règlements internes
http://www.phpquebec.org/documents/phpquebec/reglements_internes_phpquebec.pdf

Charte PHP Québec
http://www.phpquebec.org/documents/phpquebec/charte_phpquebec.pdf

Présentation aux membres
http://www.phpquebec.org/documents/phpquebec/presentation_aux_membres_phpquebec.pdf


L'Equipe de PHP Québec

Octobre 2007 – Nexen.net: Le meilleur du mois de Septembre 2007

Image pour le titre du contenu

Octobre 2007 – PHP Index: IBM : Débuter avec les frameworks PHP, partie 2

Il y a quelques jours, Duane O'Brien commençait un tutoriel sur l'utilisation de trois frameworks PHP : Zend, symfony, CakePHP. La seconde partie de ce tutoriel est aujourd'hui disponible sur le site d'IBM.

Après avoir présenté succinctement les frameworks Zend, symfony et CakePHP et leur mode d'installation dans la première partie, Duane O'Brien passe à une partie plus technique dans le deuxième volet de sa série d'articles consacré aux frameworks PHP.

Pour chacun des frameworks, il explique comment passer à l'étape suivante et construire une application permettant d'enregistrer des articles, de les afficher sous former de liste et de les consulter.

A la fin du tutoriel, il laisse entendre que la partie suivante couvrira un gestionnaires de commentaires pour les articles publiés.

Octobre 2007 – PHP Index: Débugger les applications PHP avec syslog

William B. Zimmerly a écrit un article sur le site d'IBM concernant l'utilisation de syslog afin de débugger des applications PHP.

Syslog est un protocole connu sur les systèmes Unix, qui permet de centraliser les journaux d'évènements des ordinateurs présents sur un réseau. On peut ainsi retrouver plus facilement les défaillances de ces ordinateurs.

Il existe une fonction PHP qui permet d'utiliser ce protocole pour faciliter le débuggage des applications PHP. William B. Zimmerly donne un exemple d'utilisation de cette fonction. Il est alors possible d'indiquer dans les fichiers log du système les heures d'accès à certaines pages de vos applications, les valeurs de variables à un moment précis, qui exécute des requêtes SQL, etc.

Article

Octobre 2007 – Nexen.net: Imagick 2.0.0

Image pour le titre du contenu
Imagick est un wrapper créé en 2002. Voici la nouvelle version stable de cette bibliotheque qui vient de sortir après de nombreuses années en version béta 0.9.x
Imagick est pour ceux qui ne le connaissent pas, une extension PHP permettant d'utiliser les API d'ImageMagick pour manipuler des images au travers.
Pour faire tourner cette version, il est nécessaire d'avoir :
  • PHP 5.1.3 minimum
  • ImageMagick 6.2.4
  • Pear 1.4.0
  • de classes PHP.

Octobre 2007 – PHP Index: Zend Core 2.5

Zend annonce la sortie de son Zend Core 2.5.

Zend a profité de la ZendCon qui se tenait du 8 au 11 octobre pour annoncer la sortie de son Zend Core en version 2.5. Les améliorations apportées à cette sortie visent à renforcer PHP5 dans le déploiement d'applications Web stratégiques, on retrouve ainsi les éléments suivants :

  • Des extensions PHP 5.2.4 certifiées, des bibliothèques, des pilotes de bases de données, le support des web services et tous les autres composants nécessaires aux applications professionnelles.
  • Une installation simplifiée du stack complet pour applications PHP, comprenant le serveur web, les bases de données, les extensions et le Zend Framework, avec désormais la possibilité d’un déploiement automatique et l’intégration d’outils de gestion de système de référence.
  • PHP 5.2.4 sera supporté pendant 2 ans à partir de l’introduction de la prochaine version du langage. Une offre de support allant du support web jusqu’à un support téléphonique 24 heures sur 24, 7 jours sur 7.
Communiqué de presse

Octobre 2007 – z-f.fr: Débuter avec 3 frameworks PHP

Forum: Brèves
Auteur: philippe
Écrit le: Wed, 17 Oct 2007 14:00:18 +0200
Dernier message: Wed, 17 Oct 2007 14:00:18 +0200

Octobre 2007 – z-f.fr: Zend_Layout bientot dans l'incubateur

Forum: Brèves
Auteur: philippe
Écrit le: Wed, 17 Oct 2007 13:54:14 +0200
Dernier message: Wed, 17 Oct 2007 17:14:28 +0200

Octobre 2007 – Nexen.net: Comparaison de trois frameworks : application d'exemple

Image pour le titre du contenu
Cette série d'articles "PHP frameworks" étudie trois frameworks populaires : Zend, symfony, et CakePHP, en s'intéressant à leurs similarités et leurs différences en construisant et faisant évoluer une application d'exemple avec chacun d'entre eux. La partie 1 avait présenté les différents frameworks, et cette partie 2 construit l'application d'exemple : Blahg.

Octobre 2007 – Nexen.net: Vidéo PHP et MySQL, édition 16

Image pour le titre du contenu
Voici les 5 dernières vidéos PHP et MySQL.


Ces vidéos sont publiés sur les sites de partagent de vidéo. Ce sont des tutoriels enregistrés, des sessions de conférences, des screencast ou encore des slides de conférences.



N'hésitez pas à nous contacter pour signaler tout media qui mérite d'être ajouté à cette liste.

Octobre 2007 – Nexen.net: La modernité du camembert

Image pour le titre du contenu
Tout le monde connaît les incontournables JpGraph et Artichow, qui permettent de produire rapidement des graphiques et des courbes en PHP. Il existe de nombreuses autres solutions, et Smashing Magazine les a toutes essayées.
J'ai beaucoup aimé les générateurs de graphiques en ligne, qui sont si pratiques quand on ne peut pas installer une bibliothèque localement; les générateurs en Javascript, avec des résultats étonnants; les graphiques en CSS, malgré un résultat moins spectaculaire.

Octobre 2007 – Nexen.net: Les bases superglobales en PHP

Image pour le titre du contenu
"Cet article est destiné aux développeurs PHP qui ne sont pas encore familiers avec les variables superglobales de PHP. L'utilisation de ces variables est fondamental au développement PHP, mais avec les innovations récentes, il y a de nombreux tutoriels et livres qui sont obsolètes."
Et cet article veut les remplacer tous, d'un coup.

Octobre 2007 – Nexen.net: Open Source en entreprise 2007

Image pour le titre du contenu
Independent Oracle Users Group (IOUG) publie une étude sur l'Open Source en entreprise, baptisée "Open Source in the Enterprise: New Software Disrupts the Technology Stack.". L'étude est commanditée par MySQL AB, mais apporte un éclairage chiffré sur les domaines informatiques qui sont maintenant investis par l'Open Source.
60% des entreprises utilisent un serveur Web Open Source, et 58% utilisent un système d'exploitation Open Source. De l'autre coté du palmarès, les applications de gestion et les messageries sont encore inconnues. L'étude indique aussi que 13% des entreprises utilisent une majorité de logiciels Open Source, en hausse de 4 points depuis 2006.

Octobre 2007 – PHP Québec: 10/27 13:00 Assemblée Générale et Élections 2007-2008

L'équipe de PHP Québec vous invite à son Assemblée Générale qui aura lieu le samedi 27 octobre 2007 à 13h00 au Pub de l'ÉTS (530, rue Peel, Montréal).

Ordre du jour:

* Présentation des états financiers;
* Aborder la fusion;
* Présentation des postes et des candidatures;
* Vote et dépouillement des votes;
* Annonce officielle du résultat des élections.

Pour commencer, l'équipe de PHP Québec présentera les états financiers et fera le tour des documents «Présentation aux Membres» et «Règlements Internes». Ensuite, la fusion PHP Québec / Conférence PHP Québec sera présentée aux membres. Les personnes désirant devenir membre pourront s'inscrire sur place et participer au vote. Les cartes de membre seront distribuées le jour même ou envoyées par la poste la semaine suivante.

Par la suite, tous les candidats ayant postulés pour un poste bénéficieront de deux minutes pour se présenter. Les candidats doivent se déclarer en envoyant leur intention et une courte description à board@phpquebec.com. La date limite pour se porter candidat est le 23 octobre 2007 à 23:59, heure du Québec.

L'Assemblée Générale se terminera avec l'élection du nouveau Conseil d'Administration de PHP Québec pour la saison 2007-2008.

Voici la liste des postes pour lesquels vous pouvez postuler :

* Président
* Secrétaire
* Trésorier
* Responsable du serveur web
* Responsables de groupe (Québec et Montréal)

Le poste de président, de secrétaire et de responsable de groupe sont vacants. Le poste de président et de secrétaire devront être comblés.


À noter:

* Selon la politique électorale (cf. Règlements Internes section 5.1), un maximum de 50% des postes sont renouvelables.
* Toutes les personnes désirant voter ou postuler pour un poste devront être membre en règle à compter du 20 octobre 2007, tel que mentionné dans les articles 2.0 et 5.4 des Règlements Internes.
* Toutes les personnes désirant postuler pour l'un de ces postes doivent faire parvenir un courrier électronique à board@phpquebec.org. Joignez-y le titre du poste, une courte description de vos accomplissements et un paragraphe décrivant ce qui fait de vous le candidat idéal pour ce poste.
* Pour plus de détails sur les responsabilités liées à chacun de ces postes, veuillez vous référer aux Règlements Internes section 4.0.


Pour obtenir une copie des documents officiels:

Règlements internes
http://www.phpquebec.org/documents/phpquebec/reglements_internes_phpquebec.pdf

Charte PHP Québec
http://www.phpquebec.org/documents/phpquebec/charte_phpquebec.pdf

Présentation aux membres
http://www.phpquebec.org/documents/phpquebec/presentation_aux_membres_phpquebec.pdf

Octobre 2007 – Nexen.net: Journée développeur eZ, le 31 octobre à Paris

Image pour le titre du contenu
La communauté eZ est en pleine croissance (en partie grâce à vous !), en parallèle de cela, eZ se professionnalise mais n'en oublie pas, au contraire, ses idées et son origine, convaincu que la force de notre écosystème réside dans l'ouverture et le partage.
Pour cette raison, nous organisons un événement "développeur" en marge de notre séminaire partenaire qui se tient à paris le 31 octobre.
Il s'agit d'1/2 journée (le 31 en après midi) ouverte à tous mais axée principalement sur des aspects Développement d'eZ Publish, avec un minimum d'enrobage marketing et de slideware ! Il s'agit d'une première, et nous souhaitons clairement que ce ne soit pas la dernière.
Si vous êtes développeur ou si vous avez dans vos équipes des développeur travaillant sur eZ, c'est l'occasion idéal de venir approfondir et échanger notamment autour des nouveautés d'eZ !
Nous proposons le programme suivant :
14:30 - 15:00 : Introduction par Paul Bogermans (Head of development).
15:00 - 16:00 : Tutoriel de migration d'extension vers eZ Publish 4
16:00 - 18:30 : Open Conference (faites-nous parvenir vos suggestions afin que nous mettions en place le programme de ce workshop collaboratif)
Lieu du workshop :
Eurosites
8 bis, rue de la Fontaine au Roi
75011 Paris
Vous trouverez en pièce jointe un plan d'accès et des explications pour vous rendre sur place.
Pour vous inscrire ou inscrire vos équipes : faites nous parvenir Nom / Prenom / Société à > (objet : Evènement développeur). L'évènement est libre d'accès mais les places seront limités !
Dans l'attente de recevoir vos équipes,
Nous restons à votre disposition pour toute information.
Nous organiserons également une session de certification eZ Publish, si vous étes intéressé contactez nous.

Octobre 2007 – PHP Index: phpMyAdmin 2.11.1.2

La version 2.11.1.2 de phpMyAdmin est sortie hier, moins d'une semaine après la version 2.11.1.1.

Cette version corrige une faille de sécurité de type XSS. Tout le monde est donc invité à migrer vers cette version.

Descrition de la faille
Télécharger
Changelog

Octobre 2007 – PHP Index: mnoGoSearch 3.3.5

La version 3.3.5 du moteur de recherche et d'indexation mnoGoSearch vient de paraître.

Il s'agit d'une version de maintenance visant à corriger une demi-douzaine d'anomalies ainsi qu'une faille de sécurité (XSS). Elle apporte également quelques améliorations mineures.

Octobre 2007 – PHP Index: Evènement développeur autour d'eZ Publish

eZ Systems organise un évènement développeur à Paris le 31 octobre.

La communauté eZ est en pleine croissance (en partie grâce à vous !), en parallèle de cela, eZ se professionnalise mais n'en oublie pas, au contraire, ses idées et son origine, convaincu que la force de notre écosystème réside dans l'ouverture et le partage.

Pour cette raison, nous organisons un événement "développeur" en marge de notre séminaire partenaire qui se tient à Paris le 31 octobre 2007.
Il s'agit d'1/2 journée (le 31 en après midi) ouverte à tous mais axée principalement sur des aspects Développement d'eZ Publish, avec un minimum d'enrobage marketing et de slideware ! Il s'agit d'une première, et nous souhaitons clairement que ce ne soit pas la dernière.

Si vous êtes développeur ou si vous avez dans vos équipes des développeurs travaillant sur eZ, c'est l'occasion idéal de venir approfondir et échanger notamment autour des nouveautés d'eZ !
Nous proposons le programme suivant :

14.30 : Introduction & dernières infos d'eZ Systems Western Europe - Roland Benedetti
14.45 : eZ Labs et le développement d'eZ - Paul Borgermans
15.20 : Tutoriel sur le sujet des migrations vers eZ Publish 4 et PHP5
16.00 : Open Conference (soumettez vos idéesou nous ferons avec celles des autres :-) )
18.30 : Fermeture officielle, pour ceux qui veulent continuer l'échange, garder votre début de soirée ou plus pour apéritifs / restaurants ...
L'évènement se passera à Eurosites (8 bis, rue de la Fontaine au Roi 75011, Paris)
Plus d'infos ici : http://www.eurosites.fr/location-salle-paris-republique.html
Comme le nombre de places pourrait être limité, veuillez nous informer de votre venue à info.fr@ez.no

Proposé par Roland

Octobre 2007 – Nexen.net: Actualité de développement PECL, edition 172

Image pour le titre du contenu
3 paquets ont été mis à jour cette semaine :

  • en imagick (0 visite) : interface avec la bibliothèque graphique ImageMagick

  • en timezonedb (0 visite) : base de données de fuseaux horaires pour PHP

  • en ext/BBcode (0 visite) : analyse de BBcode


PECL est la bibliothèque d'extensions C de PHP.

 



 

Octobre 2007 – Kamelot Blog: Loïc aime PHP

Loïc aime PHP Je lui fait déjà découvrir les bonnes choses.

Octobre 2007 – Nexen.net: PHP 5.2.5 RC1 disponible

Image pour le titre du contenu
La première version en vue de la publication de PHP 5.2.5. La série 5.2 est destinée à stabiliser le code et les performances de PHP et l'ajout de nouvelles fonctionnalité est réservé à la future lignée des 5.3. Le code de cette dernière est déjà disponible.
Cette version corrige 53 bogues (40 ouverts, 13 spontanés), met à jour les expressions rationnelles Perl à la version 7.3, et améliore les performances des fonctions de tableaux.

Octobre 2007 – PHP Index: Forum PHP 2007 : rendez-vous les 21 et 22 novembre 2007 à Paris

La grand messe annuelle des utilisateurs de PHP réunira de nombreuses personnalités du monde PHP : le père du PHP Rasmus Lerdorf, Andrei Zmievski, développeur du langage PHP et expert unicode, Derick Rethans, créateur de Xdebug et architecte à eZ Systems ou encore Brian Shire, responsable technique de Facebook.

Organisé à Paris, les 21 et 22 novembre prochains par l'Association Française des Utilisateurs de PHP (www.afup.org), le Forum PHP 2007 propose 2 journées de conférences, orientées, fonctionnel et technique. Une occasion unique d'échanges avec l'ensemble de la communauté PHP française, les meilleurs
spécialistes et les entreprises utilisatrices.

Infos pratiques :
Date > 21 & 22 novembre 2007
Lieu > ASIEM 6, Rue Albert de Lapparent Paris 7°
Tarif > 120 euros la journée, 180 euros les deux jours
Inscription et détails > http://afup.org/forumphp

Proposé par perrick penet

Octobre 2007 – Rom's blog: Del.icio.us migre vers PHP et le Framework Symfony

C’est pas moi qui le dit :

http://www.symfony-project.com/blog/2007/10/02/delicious-preview-built-with-symfony

Octobre 2007 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 166

Image pour le titre du contenu


PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes :
PHP 5.2.4 et 4.4.7; MySQL 5.0.45 (communauté) et 5.0.45 (entreprise), 4.1.22, ainsi que 5.1.21-beta. Les mises à jour sont recommandées vers ces versions.



7 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
Drupal, Gallery, Joomla, PEAR, WordPress, dotProject et phpMyAdmin



Octobre 2007 – Nexen.net: "vive PHP et MySQL" est une variable PHP valide

Image pour le titre du contenu
Voici la dernière technique de nommarge étrange de variable en PHP : on peut utiliser une chaîne de caractères avec des espaces. Il suffit d'utiliser les accolades pour délimiter la variable, et de mettre une chaîne de caractères de votre choix.
Il est aussi possible de donner des noms idéographiques aux variables (comme en chinois ou japonais), mais ça, tout le monde le sait déjà.
 
 
 
 
 
${'vive PHP et MySQL'} = 'Mais oui!';
 
 
 
print ${'vive PHP et MySQL'};
 
 
 
print_r(get_defined_vars());
 
?>
 
 
 
Mais oui!
 
Array
 
(
 
    [vive PHP et MySQL] => Mais oui!
 
    [] => 2
 
)
 

Octobre 2007 – Hello Design: Rappel: Forum PHP les 21 et 22 novembre 2007

 


 

Nous vous attendons :-)

 

http://www.afup.org/forumphp

Octobre 2007 – Apprendre-PHP.com: Les importations de fichiers avec require() et include()

La grande majorité des sites web dynamiques ou des applications ont besoin de réutiliser des parties de code identique à plusieurs endroits d'une même page, ou bien dans plusieurs pages différentes. C'est le cas par exemple des librairies de fonctions utilisateurs ou bien des fichiers de configuration. Plutôt que de réécrire à chaque fois le code, il existe des fonctions (structures de langage en réalité) capables d'importer et exécuter le code à réutiliser dans la page. Il s'agit des fonctions include() et require()

Octobre 2007 – Apprendre-PHP.com: Générer une liste déroulante dynamiquement

Le principal atout de PHP est de pouvoir générer dynamiquement du code HTML, ce qui facilite grandement la tâche du webmaster lorsqu'il faut mettre à jour certaines zones d'un site Internet. Parmi elles, nous pouvons citer les liste déroulantes de formulaire (élément repéré par les balises <select> et </select>).

Octobre 2007 – Nexen.net: Des fonctions configurées à la volée

Image pour le titre du contenu
Kiber Fabbriken propose une approche de remplacement aux espaces de noms.
Il a l'habitude d'utiliser la fonction e() pour pouvoir ajouter des fonctions de protections à l'affichage, au lieu d'utiliser seulement echo(). Mais quand un autre framework utilise aussi cette technique, il y a un conflit.
Il propose alors une méthode de configuration dynamique, qui définit la fonction à partir d'une valeur dans $_GLOBALS. Une astuce habile, qui pourra être remplacée par les espaces de noms dès PHP 5.3.

Octobre 2007 – Nexen.net: Actualité de développement PEAR, edition 161

Image pour le titre du contenu
6 paquets ont été mis à jour cette semaine :

PEAR est la bibliothèque de composants PHP.

 



 

Octobre 2007 – Nexen.net: Installer le cluster MySQL sur 2 machines

Image pour le titre du contenu
En vue d'une mise en production d'un cluster, j'ai configuré un serveur de développement sur deux machines. J'ai préparé les serveurs pour avoir un noeud SQL et un noeud ndb sur chaque machine. C'était le fun. Enfin...

Octobre 2007 – Apprendre-PHP.com: MySQL : Introduction à l'optimisation

MySQL est un SGBDR libre, performant et surtout simple à utiliser et à administrer. Il est toujours étonnant de voir autant de développeurs et de DBA sans expériences SQL, chargés de l'administration des serveurs MySQL. Sur de petites applications, peu sollicitées, cela ne porte pas toujours à conséquences, mais petite application deviendra grande et de mauvais choix faits au départ imposent presque à chaque fois une remise en question profonde du schéma et la réécriture des requêtes.

Octobre 2007 – Apprendre-PHP.com: Introduction au langage PHP

Le langage PHP a été inventé par Rasmus LERDORF en 1995 pour son usage personnel (mise en ligne de son CV en l'occurence). Autrefois abbréviation de Personal HomePage devenue aujourd'hui Hypertext Preprocessor, PHP s'impose comme un standard dans le monde de la programmation web par ses performances, sa fiabilité, sa souplesse et sa rapidité.

Octobre 2007 – Digital Fashion: How I use the Zend Framework

Having started a few applications using the Zend Framework, I came out with a few practices that I tend to use over and over. In this post I'll quickly expose some of them and explain why I do things the way I do them. As you'll notice, most of them are already widely known and used over the ZF developer's community. Please remember that these practices are just what I do, and come with no garanty at all to be best practices.

Directory structure

First thing to work out when starting a new Zend Framework powered application, at least if you decide to use the ZF's MVC component, is the application's directory structure. Here is the one I used, which is a slightly modified version of the official recommended structure. This is essentially a standard modular structure with all directories needed to store various additional data from your application.

application/
	cache/
	config/
		application.ini
		routes.ini
	data/
	layouts/scripts/
	library/App/
	logs/
	modules/
		default/
		user/
document_root/
	css/
	images/
	index.php
	js/

As you can see, I have many directories, each dedicated to a specific file type. This has many advantages, such as always knowing where to find what you're looking for or easily process files of a certain type (think grep foo logs/*). Also, I name my directories explicitly. I used to call the config directory etc, which is the directory holding most configurations files under UNIX systems, but it may not appear that clear to non-UNIX user, while config is clear enough for everyone.

Another point you might notice is the that all applications files and data are placed outside the document_root. This is done to avoid unwanted access to such resources. While this is the best way, in my opinion, to do, it may not always be possible (like when you have no control on your actual DocumentRoot. In this case, you may consider having the following structure:

application/
	cache/
	config/
		application.ini
		routes.ini
	data/
	layouts/scripts/
	library/App/
	logs/
	modules/
		default/
		user/
	tasks/
css/
images/
index.php
js/

Then you can deny any web access to the application/ directory with the following htaccess rules:


    Order allow,deny
    Deny from all

Did you say modular ?

Yeah, I said it actually. Modules in Zend Framework are groups of controllers (along with their corresponding views and models) which sits in their own namespace. One could argue that module's primary goal is to ease code re-use, but I personnaly dunno, as I personnally still have not seen such a use of modules. The drawbacks of re-usable code is that it needs to be abstract enough to fit ant particular situation or so. In this context, I only have a single separate module alongside the default one: the user module. It has Index and Auth controllers, respectively used to perform CRUD and login/logout operations.

Having re-usable modules implies that all modules containes its own models, or at least, knows where (ie, in which other module) to find its required models. There comes Xend's model loader. This is an action helper which ease the load of models inside controllers, like:

$this->_helper->modelLoader(array('MyCoolModel', 'MyOtherModel'));

Easy heh ? The bad point with this helper is that it is restricted to, or at best tricky to use outside, action controllers. That is why I developped my own library loader which I shall present in another blogpost soon.

Models naming convention

Using the Xend's model loader trained me to adopt what I consider a good model naming convention, basically, it just follows the controller's conventions, that is, prefix the model name with the module's name, so that for example my user model is named like User_Users (the first User is the module name, the second Users is the ucfirst'ed tablename). whenever I need to have row specific model I just postfix the whole model name with _Row. It gives the following directory architecture:

modules/user/models/
	Users/Row.php
	Users.php

I'll eventually load User_Users_Row from User/Users.php with a simple require:

require_once dirname(__FILE__).'/Users/Row.php';

Personal library namespace

A recurring question from ZF beginners is to know where they should put their own library classes. The answer is pretty simple actually. You just create your own library namespace alongside Zend's. Let's say you wish to extend Zend_Db_Table_Abstract to add your own logic. The first thing to do is to choose the name of your namespace, we will use Foobar as an example, because this is a cool name. Your class will be named like Foobar_Db_Table_Abstract, and located in Foobar/Db/Table/Abstract.php, which in turn should be located anywhere in your include_path. So you could have the following directory structure:

application/library/
	Zend/
	Foobar/
	Riskle/

Just remember ZF's naming convention: from the filename, strip the .php, replace slashes (/) with underscores (_), and you've got the class name. Simple heh ?

App_ library namespace (App_Controller_Action, etc)

Additionnaly to my personal library namespace, I also have a special App namespace, which I always locate into application/library/App. This namespace principally provides two classes, App_Controller_Action and App_Db_Table_Abstract, which basically extend respectively Zend_Controller_Action and Zend_Db_Table_Abstract. All my controllers and models then use the App_ namespace as a reference, so that I can easily change the base class for all my controllers / models as easily as changing the parent of the corresponding App class.

Using third party components

Using ZF compatible components is just easy as dropping them in your include path. By ZF compatible, I mean following the ZF class naming convention. Just make source it's in your include_path, and you can start using them right away. Components library I use includes:

I put them in a particular path (~/share/php/) which I add to my include path.

note: Some dikdiks tend to store third-party in application/library/ instead of a completely separate place. This problem looks a lot like dynamically linked vs static binaries. With static binaries (in our case, storing all in application/library/), you don't have to care about dependencies, as every single needed line of code is shipped with your application. This ease redistribution and installation a lot, but makes your download larger. You also have to manage yourself dependencies upgrade (which in turn save this hassle from the end-user). With dynamically linked applications, you avoid duplicated code by forcing the use of a global, site wide, code repository (generally /usr/share/php on unix systems). You also transfer dependencies handling to the end-user (and/or the packaging system). Really, this is a choice to make yourself I think.

Things get a little bit more complicated when the components does not follow the naming convention. What I do in this case is just puting them into a separate directory tree called vendor/, which I don't forget to add to my include path of course, then I just manually includes need files. We could have done a one-to-one match between the component's public classes and custom well-named classes, but it's much of a hassle for the benefit I think.

That's all folks !

Well that's all for today. I'll try to write some more in the future about application building with the Zend Framework, there are still a lot of things to be said, invented, and discovered :-)

Octobre 2007 – Digital Fashion: How I use the Zend Framework

Having started a few applications using the Zend Framework, I came out with a few practices that I tend to use over and over. In this post I'll quickly expose some of them and explain why I do things the way I do them. As you'll notice, most of them are already widely known and used over the ZF developer's community. Please remember that these practices are just what I do, and come with no garanty at all to be best practices.

Directory structure

First thing to work out when starting a new Zend Framework powered application, at least if you decide to use the ZF's MVC component, is the application's directory structure. Here is the one I used, which is a slightly modified version of the official recommended structure. This is essentially a standard modular structure with all directories needed to store various additional data from your application.

application/
	cache/
	config/
		application.ini
		routes.ini
	data/
	layouts/scripts/
	library/App/
	logs/
	modules/
		default/
		user/
document_root/
	css/
	images/
	index.php
	js/

As you can see, I have many directories, each dedicated to a specific file type. This has many advantages, such as always knowing where to find what you're looking for or easily process files of a certain type (think grep foo logs/*). Also, I name my directories explicitly. I used to call the config directory etc, which is the directory holding most configurations files under UNIX systems, but it may not appear that clear to non-UNIX user, while config is clear enough for everyone.

Another point you might notice is the that all applications files and data are placed outside the document_root. This is done to avoid unwanted access to such resources. While this is the best way, in my opinion, to do, it may not always be possible (like when you have no control on your actual DocumentRoot. In this case, you may consider having the following structure:

application/
	cache/
	config/
		application.ini
		routes.ini
	data/
	layouts/scripts/
	library/App/
	logs/
	modules/
		default/
		user/
	tasks/
css/
images/
index.php
js/

Then you can deny any web access to the application/ directory with the following htaccess rules:

<Directory application>
    Order allow,deny
    Deny from all
</Directory>

Did you say modular ?

Yeah, I said it actually. Modules in Zend Framework are groups of controllers (along with their corresponding views and models) which sits in their own namespace. One could argue that module's primary goal is to ease code re-use, but I personnaly dunno, as I personnally still have not seen such a use of modules. The drawbacks of re-usable code is that it needs to be abstract enough to fit ant particular situation or so. In this context, I only have a single separate module alongside the default one: the user module. It has Index and Auth controllers, respectively used to perform CRUD and login/logout operations.

Having re-usable modules implies that all modules containes its own models, or at least, knows where (ie, in which other module) to find its required models. There comes Xend's model loader. This is an action helper which ease the load of models inside controllers, like:

$this->_helper->modelLoader(array('MyCoolModel', 'MyOtherModel'));

Easy heh ? The bad point with this helper is that it is restricted to, or at best tricky to use outside, action controllers. That is why I developped my own library loader which I shall present in another blogpost soon.

Models naming convention

Using the Xend's model loader trained me to adopt what I consider a good model naming convention, basically, it just follows the controller's conventions, that is, prefix the model name with the module's name, so that for example my user model is named like User_Users (the first User is the module name, the second Users is the ucfirst'ed tablename). whenever I need to have row specific model I just postfix the whole model name with _Row. It gives the following directory architecture:

modules/user/models/
	Users/Row.php
	Users.php

I'll eventually load User_Users_Row from User/Users.php with a simple require:

require_once dirname(__FILE__).'/Users/Row.php';

Personal library namespace

A recurring question from ZF beginners is to know where they should put their own library classes. The answer is pretty simple actually. You just create your own library namespace alongside Zend's. Let's say you wish to extend Zend_Db_Table_Abstract to add your own logic. The first thing to do is to choose the name of your namespace, we will use Foobar as an example, because this is a cool name. Your class will be named like Foobar_Db_Table_Abstract, and located in Foobar/Db/Table/Abstract.php, which in turn should be located anywhere in your include_path. So you could have the following directory structure:

application/library/
	Zend/
	Foobar/
	Riskle/

Just remember ZF's naming convention: from the filename, strip the .php, replace slashes (/) with underscores (_), and you've got the class name. Simple heh ?

App_ library namespace (App_Controller_Action, etc)

Additionnaly to my personal library namespace, I also have a special App namespace, which I always locate into application/library/App. This namespace principally provides two classes, App_Controller_Action and App_Db_Table_Abstract, which basically extend respectively Zend_Controller_Action and Zend_Db_Table_Abstract. All my controllers and models then use the App_ namespace as a reference, so that I can easily change the base class for all my controllers / models as easily as changing the parent of the corresponding App class.

Using third party components

Using ZF compatible components is just easy as dropping them in your include path. By ZF compatible, I mean following the ZF class naming convention. Just make source it's in your include_path, and you can start using them right away. Components library I use includes:

I put them in a particular path (~/share/php/) which I add to my include path.

note: Some dikdiks tend to store third-party in application/library/ instead of a completely separate place. This problem looks a lot like dynamically linked vs static binaries. With static binaries (in our case, storing all in application/library/), you don't have to care about dependencies, as every single needed line of code is shipped with your application. This ease redistribution and installation a lot, but makes your download larger. You also have to manage yourself dependencies upgrade (which in turn save this hassle from the end-user). With dynamically linked applications, you avoid duplicated code by forcing the use of a global, site wide, code repository (generally /usr/share/php on unix systems). You also transfer dependencies handling to the end-user (and/or the packaging system). Really, this is a choice to make yourself I think.

Things get a little bit more complicated when the components does not follow the naming convention. What I do in this case is just puting them into a separate directory tree called vendor/, which I don't forget to add to my include path of course, then I just manually includes need files. We could have done a one-to-one match between the component's public classes and custom well-named classes, but it's much of a hassle for the benefit I think.

That's all folks !

Well that's all for today. I'll try to write some more in the future about application building with the Zend Framework, there are still a lot of things to be said, invented, and discovered :-)

Octobre 2007 – Nexen.net: Les éléphphants sont arrivés

Image pour le titre du contenu

Après six mois de gestation,  et cinq fois plus rapidement qu'une éléphante moyenne,  les éléphpants de PHP sont arrivés! Ils sont sortis du ventre du camion ce matin, à 11h00, heure locale, tout couverts de platiques et de carton. Ils sont en pleines formes, très joyeux et prêt à accomplir leur dernier periple pour rejoindre les développeurs du monde entier.

La totalité des 51 cartons remplit tout de même la moitié de mon garage, et il a fallu faire entendre raison à la voiture pour qu'elle cède son lit aux nouveaux arrivants. Heureusement qu'ils ne resteront pas bien longtemps!

Les premiers qui pourront en profiter seront surement ceux qui se rendront à la rencontre de PHP Québec du mois de novembre. Puis, la conférence de Washington, USA, en enfin, le forum AFUP de Paris. Entretemps, différents lots d'éléphpants seront probablement arrivés un peu partout dans le monde : Lithuanie, Nouvelle-Zélande, Brésil, USA, Norvège, Espagne, etc.


Octobre 2007 – Nexen.net: Pour faire de meilleurs logiciels, vous avez besoin de moins de monde

Image pour le titre du contenu
"Jusqu'à présent, la meilleure réponse est d'utiliser moins de programmeur, et de faire avec ce qu'ils peuvent produire. Cela nous conduit immédiatement à des simplifications, et des abstractions qui agissent comme des protections. De l'autre coté, les abstractions sont très simplifiées, et servent initialement de conteneurs. Des architectes de génie ont décidés que telle abstraction était une bonne solution, et qu'elle apporterait un effet de levier suffisamment important pour aller plus loin."
On sait déjà que plus de membres dans une équipe de programmation ne fait que prolonger le projet. Voici l'assertion inverse, mais un peu plus étayée.

Octobre 2007 – Nexen.net: Le déploiement, une arme stratégique

Image pour le titre du contenu
Le déploiement est l'installation d'une architecture pour une application. Ce travail est généralement repoussé au plus tard, car les équipes se concentrent sur l'application elle-même. De plus, c'est un travail dont personne ne veut entendre parler.
Pourtant, il existe des outils pour automatiser la mise en place initiale d'un serveur, comme puppet. Après une phase lente de configuration initiale, puppet permet de produire rapidement des serveurs prêts à l'utilisation. L'exemple de iLife, qui a du passer de 2 à 100 serveurs en quelques jours est pertinent. Sans moyens rapides d'extensions, une application horizontale ne peut pas survivre.

Octobre 2007 – Nexen.net: Les prochains bugs corrigés de MySQL

Image pour le titre du contenu
Kaj Arnö livre la première liste des bugs à corriger dans MySQL 5.1. Il s'agit de la liste des problèmes qui ont été rapportés à MySQL AB, et qui sont en cours de correction, mais pas encore corrigé.
Cette approche complète la liste classique des bugs fermés qui accompagne chaque publication de versions : maintenant, on sait aussi quels sont les problèmes qui sont en cours de correction. On peut donc se baser sur cette liste pour décider si un correctif de bug sera prochainement disponible, ou bien s'il faut mettre en place une solution de remplacement sois-même.
Cette liste semble anodine, mais être capable de dire ce que l'on fait, pendant qu'on le fait, est beaucoup plus difficile qu'il n'y parait. Avez-vous déjà essayé pour vos propres projets?

Octobre 2007 – Nexen.net: Géolocalisez vos photos en PHP

Image pour le titre du contenu
"Avec l'avènement de services de cartographie avancés sur le Web, comme Google Maps ou Yahoo! Maps, la localisation géographique de données peut désormais aisément être mise en uvre par les concepteurs Web. Cet article présente un processus de géolocalisation de photographies, depuis la collecte des données jusqu'à leur affichage sur une carte Google Maps, en passant par la synchronisation entre le GPS et l'appareil photo et le marquage EXIF [1] des photos."

Octobre 2007 – Nexen.net: Rapidité de la réplication MySQL

Image pour le titre du contenu
Baron Schwartz vient de mesurer la vitesse de réplication de MySQL. À la milli-seconde, il a mesuré le temps que prend une architecture MySQL à faire passer les informations du maître à l'esclave. Cette opération n'est pas immédiate, puisqu'il faut que le maître note les requêtes dans le log binaire, que ce dernier soit envoyé à l'esclave, et que finalement, les requêtes soient aussi exécutées sur l'esclave.
Au final, Baron trouve que MySQL assure la réplication entre 200 et 300 millisecondes, ce qui est pas mal du tout. Cela donne aussi une idée des délais minimals de réplication que l'on peut attendre d'une architecture, puisque dans son test, le temps de réplication n'inclut aucun transfert réseau ni charge secondaire sur le serveur.

Octobre 2007 – Nexen.net: L'open source progresse encore chez les utilisateurs d'Oracle

Image pour le titre du contenu
Une étude par le groupe des utilisateurs d'oracle, et commanditée par MySQL, révèle les progres des applications Open Source dans les rangs des utilisateurs d'Oracle.

  • plus d'un tiers utilisent une base de données Open Source en production

  • Les versions express n'ont pas freiné les logiciels Open Source

  • La moitié des répondants envisagent d'installer un logiciel Open Source l'an prochain

Octobre 2007 – Nexen.net: Votre première application FaceBook avec CakePHP

Image pour le titre du contenu
'Réinventer continuellement la roue durant le développement d'application est chronophage et laborieux. Pour cette raison, de nombreux framework de développement ont surgi, avec l'intention d'aider les programmeurs dans le lancement du projet, tout en gardant le code propre et organisé. Maintenant, avec le tutoriel ci-dessous, vous pouvez apprendre à créer une application Facebook facilement, à l'aide de CakePHP.'

Octobre 2007 – Nexen.net: Calendriers en ligne et sélecteurs de dates

Image pour le titre du contenu
"Cette dépêche présente une vue détaillée d'applications de calendrier en Ajax, PHP, DHTML, etc., les outils et services associés, incluant l'habillage CSS de calendriers en ligne, et les services Web que vous pouvez utiliser pour imprimer des plans de tâches hebdomadaire ou annuel, gratuitement."

Octobre 2007 – Apprendre-PHP.com: Lancement de la version 2 d'Apprendre-PHP

Bonjour,

Octobre 2007 – jp.fox: Un petit captcha en php

Je ne trouvais pas mon bonheur sur le net (je n'ai peut être pas assez cherché) alors j'ai écrit un petit filtre antispam pour les formulaires en PHP. Il est facile à mettre en oeuvre et ne nécessite pas l'installation de police TrueType sur le serveur.

?

Vous pouvez faire un test ici

Pour ceux qui sont intéressés, voici le code source ainsi qu'un petit exemple l'utilisant.


ptitcaptcha.php

[php]
<?php
/**
 * Ptitcaptcha : simple php captcha system
 * 
 * @author Jean-Pierre Morfin
 * @license Creative Commons By
 * @license http://creativecommons.org/licenses/by/2.0/fr/
 */

/* Change it to have a specific encoding ! */
define("PTITCAPTCHA_ENTROPY","what-ever-you-want");

/* Choose length (max 32) */
define("PTITCAPTCHA_LENGTH",5);

$GLOBALS["ptitcaptcha_akey"] = md5(uniqid(rand(), true));

/**
 * Helper to generate html form tags
 *
 */
class PtitCaptchaHelper
{
	/**
	 * Generate IMG Tag
	 *
	 * @param string $baseuri : relative or absolute path to folder containing this file on web
	 * @return IMG Tag
	 */
	function generateImgTags($baseuri)
	{
		return "<a href=\"#\"><img alt=\"???\" title=\"?\"".
			" src=\"".$baseuri."ptitcaptcha.php?pck=".$GLOBALS['ptitcaptcha_akey']."\"".
			" id=\"ptitcaptcha\"".
			" onclick=\"javascript:this.src='".$baseuri."ptitcaptcha.php?pck=".
			$GLOBALS['ptitcaptcha_akey'].
			"&z='+Math.random();return false;\" /></a>\n";
	}
	
	/**
	 * Generate hidden tag (must be in a form)
	 *
	 * @return input hidden tag
	 */
	function generateHiddenTags()
	{
		return "<input type=\"hidden\" name=\"ptitcaptcha_key\" value=\"".$GLOBALS['ptitcaptcha_akey']."\"/>";
	}
	
	/**
	 * Generate input tag (must be in a form)
	 *
	 * @return input tag
	 */
	function generateInputTags()
	{
		return "<input type=\"text\" name=\"ptitcaptcha_entry\" value=\"\"/>";
	}

	/**
	 * Check if user input is correct
	 *
	 * @return boolean (true=correct, false=incorrect)
	 */
	function checkCaptcha()
	{
		if(	isset($_POST['ptitcaptcha_entry']) && 
			$_POST['ptitcaptcha_entry'] == PtitCaptchaHelper::_getDisplayText($_POST['ptitcaptcha_key']))
		{
			return true;
		}
		return false;
	}
	
	/**
	 * Internal function
	 *
	 * @param string $pck
	 * @return string
	 */
	function _getDisplayText($pck)	// internal function
	{
		$src=md5(PTITCAPTCHA_ENTROPY.$pck);
		$txt="";
		for($i=0;$i<PTITCAPTCHA_LENGTH;$i++)
			$txt.=substr($src,$i*32/PTITCAPTCHA_LENGTH,1);
		return $txt;
	}
}	


// If script called directly : generate image
if(basename($_SERVER["SCRIPT_NAME"])=="ptitcaptcha.php" && isset($_GET["pck"]))
{
	$width = PTITCAPTCHA_LENGTH*10+10;
	$height = 30;

	$image = imagecreatetruecolor($width, $height);
	$bgCol = imagecolorallocate($image, rand(128,255), rand(128,255), rand(128,255));
	imagefilledrectangle($image,0,0,$width,$height,$bgCol);
		
	$txt = PtitCaptchaHelper::_getDisplayText($_GET["pck"]);
			
	for($c=0;$c<PTITCAPTCHA_LENGTH*2;$c++)
	{
		$bgCol = imagecolorallocate($image, rand(100,255), rand(100,255), rand(100,255));
		$x=rand(0,$width);
		$y=rand(0,$height);
		$w=rand(5,$width/2);
		$h=rand(5,$height/2);
		imagefilledrectangle($image,$x,$y,$x+$w,$y+$h,$bgCol);
		imagecolordeallocate($image,$bgCol);
	}
	for($c=0;$c<PTITCAPTCHA_LENGTH;$c++)
	{
		$txtCol = imagecolorallocate($image, rand(0,128) , rand(0,128), rand(0,128));
		imagestring($image,5,5+10*$c,rand(0,10),substr($txt,$c,1),$txtCol);
		imagecolordeallocate($image,$txtCol);
	}

	header("Content-type: image/png");
	imagepng($image);
	imagedestroy($image);
}

test.php

[php]
<?php
require("ptitcaptcha.php");
?>

<html>
<head><title>PtitCaptcha</title></head>
<body>
<form action="test.php" method="post">
<?=PtitCaptchaHelper::generateImgTags("./")?>
<?=PtitCaptchaHelper::generateHiddenTags()?>
<?=PtitCaptchaHelper::generateInputTags()?>
<input type="submit" />
</form>

<?php
if(PtitCaptchaHelper::checkCaptcha())
    echo "Good";
else
    echo "Bad";
?>

</body>
</html>

Octobre 2007 – PHP Index: Les évolutions de MySQL

Lemondeinformatique.fr publie un article sur la conférence utilisateur de MySQL qui a eu lieu hier à Paris. Les évolutions de la version 6 du SGBD open source ont été présentées ainsi que les améliorations envisagées pour la version 7.

Parmi les nouveautés de la version 6, on peut noter l'arrivée du nouveau moteur transactionnel, Falcon, et la possibilité d'effectuer des réplications semi-synchrones voire synchrones.

La version 7 sera axée sur la sécurtié, un besoin essentiel pour les banques : gestion des groupes et des rôles, cryptage transparent des données, audit des données, support des systèmes d'authentification externes, etc.


Lire l'article

Octobre 2007 – PHP Index: TYPO3 4.1.3

La version 4.1.3 de TYPO3 est disponible depuis cette semaine. Il s'agit d'une version de maintenance pour apporter des corrections à des bugs.

Parmi les corrections, on note un nombre assez important de points sur htmlArea RTE, à commencer par le passage à la version 1.5.4.
Pour plus d'informations, n'hésitez pas à consulter le Changelog TYPO3 4.1.3.

Octobre 2007 – PHP Index: 13 étapes pour optimiser un site web

Cet article, publié à l'origine par l'équipe de Yahoo! Performance, présente quelques règles importantes pour optimiser les performances de votre site web.

De nombreux points sont abordés tels que :

  • La configuration du serveur Apache avec la directive « ExpiresActive » ou l'utilisation du module « mod_gzip module » pour la compression des contenus.
  • L'organisation des styles et des scripts « javascript » : fusionner tous vos scripts « js » dans un seul fichier afin de limiter le nombre de requêtes serveurs. Et si possible, faites appel à vos scripts en fin de page juste avant la balise < /body> pour de ne pas géner le chargement de la page.
  • Présentation de quelques outils pour vous aider à optimiser votre site comme Firebug et LiveHTTPHeaders pour Firefox.
Tout au long de l'article, vous trouverez aussi d'autres liens sur l'optimisation des pages web.

Retrouver l'article complet : Web Site Optimization: 13 Simple Steps

Octobre 2007 – Nexen.net: Vidéo PHP et MySQL, édition 17

Image pour le titre du contenu
Voici les 5 dernières vidéos PHP et MySQL.


Ces vidéos sont publiés sur les sites de partagent de vidéo. Ce sont des tutoriels enregistrés, des sessions de conférences, des screencast ou encore des slides de conférences.



N'hésitez pas à nous contacter pour signaler tout media qui mérite d'être ajouté à cette liste.

Octobre 2007 – Nexen.net: Feuille de route pour MySQL

Image pour le titre du contenu
Lors de la conférence MySQL de Paris, l'éditeur a dévoilé le programme des réjouissances jusqu'en 2009. Falcon sera stabilisé à cette date, pour la sortie de la version 6.0., et MySQL 7,0 renforcera la sécurité, notamment pour une utilisation dans les grandes banques.
MySQL AB a fait un point très complet sur les marchés qu'elle entend investir : les nouveaux projets. XML restera embryonnaire tant que les utilisateurs n'auront pas précisé leurs attentes. Les contributions de Google seront intégrées dans les mois à venir, et la haute disponibilité restera le point focal.

Octobre 2007 – Apprendre-PHP.com: Forcer le téléchargement d'un fichier

Cette portion de script présente un moyen simple et efficace de forcer le téléchargement d'un fichier. Comment ça forcer un téléchargement ? Prenons l'exemple concret d'un fichier PDF car c'est celui qui semble le plus approprié pour ce genre de code.

Octobre 2007 – PHP Index: Google contribuera au code de MySQL

Certaines des applications de Google sont basées sur MySQL, et afin de tirer au mieux profit des performances du SGBD, Google a enrichi le code source de MySQL.

Ces modifications apportées par Google pourraient être intégrées à MySQL dans une version 6.1 prévue pour début 2009, la version 6.0 est attendue fin 2008.

A lire sur LMI

Octobre 2007 – Nexen.net: PHPMyObject sort en version 0.1.0

Image pour le titre du contenu
J'ai l'honneur de vous annoncer que la nouvelle version de PMO en 0.1 vient de sortir.
Il y a eu beaucoup de corrections de bug qu'il serait fastidieux de lister ici. Globalement, de nouvelles méthodes pour manipuler les objets sont apparues qui permettent d'utiliser de moins en moins SQL ("ouf!).
Il y a également le support officiel de sqlite et surtout les exceptions.
Le code de pmo est donc plus robuste, et également plus performant car il y a eu aussi des améliorations sur l'instanciation des objets.
Il est désormais aussi possible de réutiliser des links sgbd ou objet pdo déjà instancié en les passant simplement en paramètre au controlleur, ce qui peut dans certains cas s'avérer pratique.
N'hésitez pas à me donner un retour, ou à me signaler les divers bugs que vous rencontrez

Octobre 2007 – Nexen.net: Actualité de développement PECL, edition 173

Image pour le titre du contenu
6 paquets ont été mis à jour cette semaine :

  • en Xdebug (0 visite) : profileur et traceur de scripts PHP

  • en APC (0 visite) : cache PHP alternatif

  • en imagick (0 visite) : interface avec la bibliothèque graphique ImageMagick

  • en Paradox (0 visite) : lecture des fichiers Paradox

  • en expect (0 visite) : extension PHP pour la bibliothèque expect

  • en ext/bbcode (0 visite) : analyse de BBcode


PECL est la bibliothèque d'extensions C de PHP.

 



 

Octobre 2007 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 167

Image pour le titre du contenu


PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes :
PHP 5.2.4 et 4.4.7; MySQL 5.0.45 (communauté) et 5.0.48 (entreprise), 4.1.22, ainsi que 5.1.22-beta. Les mises à jour sont recommandées vers ces versions.



4 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
Drupal, PHP Project, WAMP et tikiwiki



Octobre 2007 – Nexen.net: Actualité de développement PECL, edition 173

Image pour le titre du contenu
6 paquets ont été mis à jour cette semaine :

  • en Xdebug (0 visite) : profileur et traceur de scripts PHP

  • en APC (0 visite) : cache PHP alternatif

  • en imagick (0 visite) : interface avec la bibliothèque graphique ImageMagick

  • en Paradox (0 visite) : lecture des fichiers Paradox

  • en expect (0 visite) : extension PHP pour la bibliothèque expect

  • en ext/bbcode (0 visite) : analyse de BBcode


PECL est la bibliothèque d'extensions C de PHP.

 



 

Octobre 2007 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 167

Image pour le titre du contenu


PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes :
PHP 5.2.4 et 4.4.7; MySQL 5.0.45 (communauté) et 5.0.48 (entreprise), 4.1.22, ainsi que 5.1.22-beta. Les mises à jour sont recommandées vers ces versions.



4 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
Drupal, PHP Project, WAMP et tikiwiki



Octobre 2007 – Apprendre-PHP.com: Sécuriser un répertoire par authentification HTTP

Le tutoriel qui va suivre et une initiation à la sécurisation d'un dossier sur un serveurWeb de type Apache. Il vous apprendra à définir des règles deproctection dans un fichier .htaccess et des couples logins / mots depasse autorisés à accéder au dossier.

Octobre 2007 – Apprendre-PHP.com: URL Rewriting ou réécriture d'url avec Apache

Le tutoriel que nous allons découvrir ensemble introduit les bases de la réécriture d'URL grâce au mode Rewrite du serveur web Apache. Il n'est pas exhaustif mais constitue une base suffisamment solide pour mettre en place un tel système qui fonctionne et qui soit efficace.

Octobre 2007 – PHP Index: Comparaison des SGBD : Oracle, MySQL et PostgreSQL (Partie 1)

Pas évident de distinguer les différences entre ces trois bases de données, le site "Database journal" nous propose un article en deux parties en abordant d'abord les fonctionnalités importantes d'un SGBD.


Les procédures stockées :
Les procédures stockées permettent de lire, manipuler et mettre à jour des données en une seule étape. A noter que ces portions de code stockées dans la base de données ne sont pas toujours portables et compatibles avec les autres types de bases. Les trois SGBD supportent les procédures stockées, Oracle supporte également les packages ou des collections de procédures stockées

Views :
Là aussi, les vues sont supportées par nos trois bases de données, la différence pourra se faire sur des requêtes complexes (à voir dans la deuxième partie)

Materialized Views (snapshots) :
Le snapshot, supporté par Oracle, est un objet contenant le résultat d'une requête SQL sur des tables (en lecture seule). MySQL et Postgresql ne les supportent pas par défaut.

Intégration des langages de développement :
La plupart des applications sont compatibles avec de nombreuses bases de données ainsi, les trois SGBD sont supportés par la majorité des langages orientés web : Java, PHP, Perl, Python, C#/.NET

Triggers :
Les trois SGBD intègrent les triggers, mais là aussi ces derniers peuvent poser quelques problèmes de portabilité ou de dispersion de code métier.

Sécurité :
Les trois bases de données peuvent comporter des vulnérabilités, où d’ailleurs, ils sortent régulièrement des mises à jour de sécurité. Cependant, avec la communauté open-source, les failles de sécurité peuvent être plus facilement détectés et ainsi être plus réactif sachant que le coût est bien moindre que sur une solution propriétaire.

Conclusion
Oracle, MySQL et PostgreSQL fournissent les mêmes fonctionnalités, la différence se fera sur les performances et la configuration. C’est dans la deuxième partie de l’article que nous verrons quelques distinctions.

Retrouver l'article complet : Database journal

Octobre 2007 – Nexen.net: La rumeur de l'IPO de MySQL grandit

Image pour le titre du contenu
Aucun moyen de vérifier (hormis auprès de la SEC, le gendrame de la bourse américaine), mais une rumeur persistante indique que MySQL AB serait proche de déposer son offre de capitalisation en bourse. Un sujet qui n'a pas été abordé à Paris, la semaine dernière. A suivre donc...

Octobre 2007 – Nexen.net: PHPMyVersion : suivez l'évolution des bases

Image pour le titre du contenu
PHPMyVersion est conçu pour garder la trace des modifications dans le modèle de conception et dans les données. Les développeurs peuvent l'utiliser pour surveiller les évolutions durant le développement, et savoir ce qui doit être passé en production, via des scripts de mise à jour automatique. PHPMyVersion est capable de donner des noms aux versions, et de produire le code SQL pour assurer la migration d'une base de de données, d'une version à l'autre.

Octobre 2007 – Nexen.net: PRO-PHP du 27 octobre 2007

Image pour le titre du contenu
Le bulletin d'informations en Podcast de ProPHP propose
les actualités discutées pour le mois de octobre :
* 11 octobre :
Promo Ipod
Sean's Kegerator
PHD
Image Captcha
Ez systems - Nouvelle version de publié de eZ
Messages d'erreur
Sympfony
* 26 octobre :
Résumé concours PHP
Zend Studio pour Eclipse
Plus de fichiers dans une base de données
Weird var noms
PHP. Net DLR, Phalanger, MS Summit
PHP 4 -> 5 Séminaire
Facebook PHP Embed
Facebook 64bit
PHP 5.3 s'enclenche

Octobre 2007 – Apprendre-PHP.com: MySQL 5.0 : Les vues

Le langage SQL acronyme de Structured Query Language (Langage Structuré de Requêtes), a été conçu pour gérer les données dans un SGBDR. A l'aide des DML (Data Manipulation Language ie les requêtes SELECT, INSERT, UPDATE, DELETE) il est possible de manipuler ces données qui sont stockées dans des tables.

Octobre 2007 – Nexen.net: Actualité de développement PEAR, edition 167

Image pour le titre du contenu
11 paquets ont été mis à jour cette semaine :

PEAR est la bibliothèque de composants PHP.

 



 

Octobre 2007 – Apprendre-PHP.com: 7ème édition du forum PHP : le chrono est lancé !

La grand messe annuelle sur PHP réunira pour la première fois la majorité des architectes du PHPGroup : le père du PHP Rasmus Lerdorf, Andrei Zmievski, Derick Rethans.

Octobre 2007 – Nexen.net: Installer une plate-forme de développement PHP sur Leopard

Image pour le titre du contenu
"Mac OS X est une excellente plate-forme de développement pour travailler avec PHP. Leopard vient avec Apache, PHP et de nombreux outils de développements, tels que subversion, preinstallés. Leopard livre une mise à jour très attendue depuis le PHP 4 à l'agonie de Tiger vers la version moderne de PHP 5.2.4. Ce guide est destiné à vous aider à installer un environnement de développement sous 10.5."
Il existe aussi des assistants d'installation complet pour Mac : MAMP, XAMPP et Marc Liyanage.

Octobre 2007 – Nexen.net: MySQLZine : magazine MySQL en ligne

Image pour le titre du contenu
Je viens juste de découvrir que MySQL dispose de son propre magazine : un fichier PDF trimestriel, semble-t-il, avec 5 articles et 4 rubriques régulières. Ils cherchent d'ailleurs des auteurs pour le troisième numéro d'hiver 2007.

Octobre 2007 – Nexen.net: Création de PDF en PHP

Image pour le titre du contenu
Antony Dovgal prend le pouls de la communauté pour savoir si une nouvelle extension PHP pour produire des fichiers PDF intéresserait du monde. Il existe déjà FPDF, écrite en PHP, et LibPDF, et quelques autres options, mais il semble qu'il y ait de la place pour une troisième solution dans PHP. Je sais que le sujet de la production de PDF revient régulièrement à l'avant-scène de PHP. Qu'en pensez-vous?

Octobre 2007 – PHP Index: MySQL est utilisé dans plus de 11 millions d'installations

Voici une interview de David Axmark, co-fondateur de l'éditeur suédois MySQL AB avec Allan Larsson et Michael Widenius où il revient sur la création du serveur de base de données MySQL, devenu « le plus populaire du monde ». Comme il nous le précise, « […] MySQL est utilisé à travers le monde dans plus de 11 millions d'installations et que l'on enregistre environ 50.000 téléchargements par jour »

Différents sujets sont abordés : les développements majeurs de MySQL, les modèles de licence, les parts de marché de MySQL, sa capacité à concurencer les autres SGBD.

Retrouvez l’interview sur NetEco

Octobre 2007 – Dur Comme Faire: Le Forum PHP 2007 se rapproche à grands pas

Je ne sais pas pour vous mais pour moi le temps file à une allure folle. Dans seulement trois semaines aura lieu le Forum PHP 2007. Cette année encore, ce sera l'occasion de rencontrer quelques "stars" internationales comme Rasmus Lerdorf, le créateur de PHP, Andrei Zmievski, Derrick Rethans...

Octobre 2007 – Nexen.net: mysqlslavesync : création d'esclaves de réplication MySQL

Image pour le titre du contenu
mysqlslavesync entre dans la famille des automatiseurs : tous ces outils qui permettent de mettre en place une solution standardisée. Ici, il s'agit de mettre en place la réplication MySQL sur un nouvel esclave.
"L'outil se connecte au maître, effectue un dump ou un mysqlhotcopy, transfert les données, installe les données, puis configure les paramètres de réplication." Et voila, c'est tout. Si vous devez multiplier rapidement les esclaves, cela sera un répit important pour vos amis administrateur.

Octobre 2007 – Arnaud Limbourg: Rappel: Forum PHP les 21 et 22 novembre 2007

Forum PHP 2007 les 21 et 22 novembre 2007 Nous vous attendons :-)

http://www.afup.org/forumphp

Octobre 2007 – Arnaud Limbourg: Rappel: Forum PHP les 21 et 22 novembre 2007

Forum PHP 2007 les 21 et 22 novembre 2007 Nous vous attendons :-)

http://www.afup.org/forumphp

Octobre 2007 – PHP Index: Comparaison des SGBD : Oracle, MySQL et PostgreSQL (Partie 2)

Requêtes complexes
Oracle peut supporter les requêtes les plus complexes avec quasiment aucune restriction sur le nombre de tables. Pour MySQL, sa limitation est de 61 tables sur une requête, cependant comme le rappelle l’auteur de l’article, une requête avec autant de tables est peu maniable et il est surtout important de privilégier l’optimisation. Les versions 8.x de Postgresql supportent les standards SQL92 avec peu de restrictions.


Les Index
Les index sont cruciaux pour l’optimisation de votre base de données. Oracle propose une surabondance de type d’index. MySQL supporte les index b-tree, hash, fulltext et les index GIS.
Postgresql propose aussi de nombreux index : b-tree and hash, r-tree… Mais ce sont les index « b-tree » qui sont généralement les plus utilisés.

Les audits
Oracle vous permet d’auditer par exemple les insert, update ou delete sur une table, avec plusieurs options simples à activer. Postgresql propose aussi ces fonctionnalités et reste aussi souple et configurable qu’Oracle. MySQL ne semble pas fournir cette option mais peut tout à fait être implémenté via des procédures stockées ou des triggers où les informations seront sauvées dans une table.

Type de données
Oracle, MySQL et Postgresql supportent la plupart des champs comme les données textes jusqu’à 4GB. Par contre, contrairement à Oracle, Postgresql et MySQL supportent le type de données "SET" (ensemble particulier de valeurs) qui reste très pratique à l’usage. Une autre caractéristique très apprécié sur Postdresql et MySQL est la large variété de champs numériques : du smallint au décimal, real, double et bien d’autres.

Support transactionnel
MySQL embarque depuis bien longtemps un moteur transactionnel dont InnoDB qu’Oracle avait racheté. Cependant, l’auteur souligne les faibles performances des opérations transactionnelles lorsque la majorité des demandes seraient la consultation de données. En effet, je rappelle que le moteur InnoDB reste performant pour des opérations de lecture/écriture mais beaucoup moins si on souhaite privilégier la lecture.

Conclusion
Il y a beaucoup de paramètres à considérer dans le choix d’une base de données : support de l’éditeur et de la communauté, performance, possibilité d’optimisation et bien sûr le rapport coût/robustesse.

Retrouver l'article complet : Database journal
Retrouver la partie 1

Octobre 2007 – Nexen.net: SHOW PROFILES pour MySQL

Image pour le titre du contenu
SHOW PROFILES est une commande SQL récente de MySQL, qui détaille la durée des opérations qui ont lieux durant l'exécution d'une requête. C'est la version a posteriori de EXPLAIN (qui fonctionne a priori). Elle permet de savoir combien de temps MySQL passe à lire des données, à libérer les ressources ou à exécuter la requête. C'est un outil précieux pour identifier les raisons d'un ralentissement sur le serveur.
SHOW PROFILES devrait être dans la trousse à outil de tout utilisateur de MySQL, à coté de EXPLAIN.

Octobre 2007 – Nexen.net: MySQL plus vert que PostGreSQL et Sybase

Image pour le titre du contenu
Nelson Database Power Efficiency Benchmark mesure la consommation électrique des serveurs en appliquant une charge identique aux logiciels, pour classer les plus économes en énergie. A la sortie de ce test, c'est MySQL qui produit plus de données que les autres, (jusqu'à trois fois), pour la même consommation électrique.
C'est assez étonnant de voir comment la vague verte arrive jusqu'au monde de l'informatique. Certains hébergeurs plantent des arbres pour chaque serveur installé, Sun prévoit de construire des salles blanches efficientes, et les PC gaspillent jusqu'à 50% de leur énergie.
Et vous? Comment programmez-vous vert?

Octobre 2007 – Nexen.net: eyeOS Dahlia 1.2

Image pour le titre du contenu
"eyeOS est une plate-forme Open Source, conçu pour héberger tout une gamme d'applications Web. eyeOS peut être vu comme la définition d'un nouveau système d'exploitation, où tout peut être accessible n'importe où, sur le réseau."
La démo en ligne est assez impressionnante, et mérite le détour. On parle ici de bureau partagé, d'espace de collaboration en ligne et, bien sûr, de la métaphore du bureau. Le tout est bâti sur PHP 5, (No safe_mode!), et il y a une foule d'applications à écrire pour cette nouvelle plate-forme.

Octobre 2007 – Nexen.net: OpenSSL pour faire dialoguer PHP et Java secrètement

Image pour le titre du contenu
J'avais besoin d'un mécanisme pour passer des données de PHP à Java, avec des contraintes telles que les données ne finissent pas par accident dans un log en clair; le système chiffrant ne doit pas exposer la clé de chiffrement; le chiffrement doit être rapide; la gestion des clés doit être simple.
Après avoir revu rapidement mcrypt, GNUPG et OpenSSL, Harry Fueck choisit le dernier. Il vous montre comment faire.

Octobre 2007 – Nexen.net: Joomla!, meilleur CMS selon packpub

Image pour le titre du contenu
Packtpub a livré son verdict pour le concours des CMS Open Source 2007 (Meilleur CMS, toutes catégories confondues)
Joomla! finit premier devant Drupal et e107.
Joomla devrait avoir une nouvelle version d'ici peu, puisque'une version 1.5 RC3 est sorti au début du mois d'octobre
Drupal 4.7.8 et 5.3 viennent d'être réalisés.
En ce qui concerne e107, une nouvelle version (0.7.10) vient également de sortir...
Les CMS PHP open Source se portent donc pour le mieux...
D'autres catégories peuvent vous intéresser également, comme les projets non basés sur le couple PHP/mySQL ou les jeunes CMS plein d'avenir...

Octobre 2007 – PHP Index: Packtpub CMS Open Source Award

Packtpub (http://packtpub.com/award) a livré son verdict pour le concours des CMS Open Source 2007 (Meilleur CMS,
toutes catégories confondues)

Joomla! finit premier devant Drupal et e107.

http://joomla.org/
http://drupal.org/
http://e107.org


Joomla devrait avoir une nouvelle version d'ici peu, puisque'une version 1.5 RC3 est
sorti au début du mois d'octobre

Drupal 4.7.8 et 5.3 viennent d'être réalisés.

En ce qui concerne e107, une nouvelle version (0.7.10) vient également de sortir...

Les CMS PHP open Source se portent donc pour le mieux...


D'autres catégories peuvent vous intéresser également, comme les projets non basés sur le
couple PHP/mySQL ou les jeunes CMS plein d'avenir...

Proposé par Lolo Irie

Octobre 2007 – Prendre un Café: Forum PHP 2007

Juste un petit mot pour vous informer que le Forum PHP 2007 se tiendra les 21 et 22 novembre prochains à Paris dans le 7ème arrondissement.

Au programme, quelques invités prestigieux comme Rasmus Lerdorf et Andrei Zmievski mais aussi un programme de conférences alléchant :

  • Clients riches avec PHP : L'exemple de Flex
  • Optimistations, méthodes, sécurité : retours d'expérience dans les grands comptes
  • Les nouveautés de PHP6
  • Comment Facebook tient la charge avec APC
  • Sécurité : MySQL et PHP sous surveillance

Côté Symfony, Fabien Potencier animera une session sur la simplification du développement des interfaces aux bases de données.

Bref, un événement d'importance dans le petit monde de PHP, venez nombreux :)

Octobre 2007 – PHP Québec: Résumé de l'Assemblée Générale et Élections 2007-2008

27 octobre 2007

Assemblée générale - Montréal, Pub 100 Génies

Présents (membres)
- Anna Filina
- Sylvain Mathon
- Frédéric Lebel
- Andrew Da Silva
- Michel Belleau
- Yann Larrivée
- Sylvain Lévesque
- Sylvain Racine

Observateurs
- Louis-Philippe Huberdeau

Ouverture de la session:13h40
* Présentation des finances: déficit temporaire
* Fusion
- rareté du personnel
- simplification des finances
* Postes à combler et candidats
- Yann Larrivée: responsable des évènements spéciaux
- Sylvain Mathon: trésorier
- Frédéric Lebel: responsable TI
- Sylvain Lévesque: président
- Michel Belleau: responsable du groupe de Québec
- Postes vacants: secrétaire, responsable de Montréal
- Présentation des postes
* Vote et dépouillement des votes
- Président: Sylvain Lévesque (pas d'objections)
- Trésorier: Sylvain Mathon (pas d'objections)
- Secrétaire: Sylvain Racine (pas d'objections)
- Responsable d'évènements : Yann Larrivée (pas d'objections)
- Responsable du groupe de Montréal: Louis-Philippe Huberdeau (pas
d'objections)
- Responsable du groupe de Québec: Michel Belleau (pas d'objections)
- Responsable des technologies de l'information: Frédéric Lebel (pas
d'objections)
- Secrétaire du groupe de Montréal: Anna Filina (pas d'objections)

Fermeture de la session: 14h53

Anna Filina

Octobre 2007 – Nexen.net: Regroupements à taille fixe dans une table MySQL

Image pour le titre du contenu
Savez-vous regrouper des lignes en groupes de 4, via une requête SQL? Il faut passer par GROUP BY, c'est sûr, mais ce n'est pas tout.

Octobre 2007 – Nexen.net: Skoll : distribution des tests MySQL

Image pour le titre du contenu
Skoll est un projet de QA continue et distribuée. MySQL, comme PHP, dispose déjà d'un système de tests automatiques, qui permet à quiconque de lancer quelques milliers de tests unitaires lors de l'installation de MySQL sur sa machine, et de retourner le résultat à l'éditeur.
Skoll va encore plus loin, en automatisant totalement cette exécution. Le client se connecte seul pour récupérer les sources, et faire la compilation et les tests localement. Ainsi, au lieu d'attendre le lendemain de la publication d'une version pour savoir qu'un bogue a été introduit dans une configuration particulière, il est possible de le savoir durant les publications de snaps.

Octobre 2007 – Nexen.net: curl_multi_exec pour paraleliser les actions

Image pour le titre du contenu
Pour exécuter des tâches en paralelle avec PHP, il faut passer par les ticks ou bien pcnt_*. Harry Fueck vous propose de découvrir curl_multi_exec : cette fonction de l'extension Curl permet de lancer simultanément plusieurs navigateurs Web. Ici, Harry s'en sert pour découper un fichier à analyser, et affecter des petites tâches à différents processus, qui retourne leurs sommaires. Une approche de type MapReduce, chère à Google, et qui donne des résultats étonnants sur les grandes quantités de données.

Octobre 2007 – Nexen.net: Reprise sur incident : les solutions MySQL

Image pour le titre du contenu
"Avoir une stratégie de reprise sur incident (failover) est en passe de devenir un standard dans le monde des affaires. Que ce soit une reprise totale par le réseau d'un autre site, ou simplement un serveur redondant. Avec les années, des solutions technologiques ont été créées et adoptées par MySQL pour remplir cette mission."
L'auteur passe en revue MySQL NDB Clustered Storage Engine, Continuent uni/cluster et m/cluster (commercial), Sequoia, DRBD pour MySQL High Availability, Linux Heartbeat / High Availability , EddieDNS, MPP (MySQL Pool-Poller) et MySQL Proxy.

Octobre 2007 – Nexen.net: Vidéo PHP et MySQL, édition 18

Image pour le titre du contenu
Voici les 5 dernières vidéos PHP et MySQL.


Ces vidéos sont publiés sur les sites de partagent de vidéo. Ce sont des tutoriels enregistrés, des sessions de conférences, des screencast ou encore des slides de conférences.



N'hésitez pas à nous contacter pour signaler tout media qui mérite d'être ajouté à cette liste.