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

Décembre 2008 – Apprendre-PHP.com: symfony 1.2 en version stable est enfin disponible

Tout juste un mois après la sortie de la première version bêta de la branche 1.2, le framework symfony dévoile aujourd'hui sa première version stable 1.2. Cette nouvelle version apporte son lot de fonctionnalités comme : le nouvel admin generator reposant désormais sur le sous...

Décembre 2008 – PHP Index: Symfony 1.2

Symfony 1.2 est disponible au téléchargement depuis aujourd'hui.

Parmi les nouveautés :

  • sfPropelPlugin utilise désormais la version 1.3 de Propel et PDO
  • Le système de tests a été amélioré, readymade et des tests d'usage ont été mis en route
  • Routing Framework permet d'utiliser des RESTful urls avec la possibilité de travailler directement sur des objets Propel
  • Filter Framework permet de générer automatiquement des filtres
  • Form Framework facilite la gestion des formulaires
  • Le Task System permet d'intégrer des plugins plus facilement. ask() ou askConfirmation() permettent d'écrire des tâches interactives et intelligentes
Le téléchargement se fait ici, pour plus d'informations consultez le site officiel.

Décembre 2008 – Glagla.org: omCrossAppUrlPlugin est disponible sur le repository de Symfony

Pour info, j’ai packagé un petit helper Symfony pour le dépot de plugins du projet. Il permet simplement de faire des liens entre applications d’un même projet. Il est compatible Symfony 1.2 uniquement. Merci de vos retours si vous rencontrez des soucis avec ce helper. http://www.symfony-project.org/plugins/omCrossAppUrlPlugin Article original publié sur Glagla Dot Org. Tous droits réservés. omCrossAppUrlPlugin est disponible [...]

Décembre 2008 – PHP Index: Fin de Dotclear 1

La fin de Dotclear 1 vient d'être officiellement annoncée par l'équipe chargée de son développement, quelques mois à peine après l'annonce d'une version 1.4 qui ne verra finalement jamais le jour.

Le manque de temps et un code bientôt obsolète, PHP 4 étant en fin de vie, sont les principales raisons de cet arrêt.

Cette version sera néanmoins supportée jusqu'en août 2009 pour vous laisser le temps de migrer vers Dotclear 2.

Lire la news sur le site officiel
Mise à jour de Dotclear 1.2 vers 2

Proposé par Fabien LACHAUD

Décembre 2008 – Rom's blog: Sortie de WampServer 2.0d

J’ai publié avant-hier une nouvelle version de WampServer 2.0.
La principale nouveauté vient du passage à MySQL 5.1 (GA), nouvelle version de MySQL attendue depuis un certain temps.

Je ne vais pas vous lister les nouveautés de MySQL 5.1, d’autres sont plus compétents que moi et l’ont déjà fait sur leur blog comme Olivier, mon collègue spécialiste de cette base de données :
http://dasini.net/blog/

Sinon, j’en ai également profité pour mettre à jour Apache et PHPMyAdmin.
Voilà, pas de grandes nouveautés, juste des mises à jour.

Par contre, cette intervention m’a également permis de mettre en ligne une version modifiée de WampServer par Gildas de CADOUDAL comportant un gestionnaire de module ce qui rend WampServer beaucoup plus évolutif. Cette version est pour le moment en beta1. N’hésitez pas à la tester et à nous faire un retour dessus :

http://www.wampserver.com/add-ons.php

Décembre 2008 – Glagla.org: omCrossAppUrlPlugin (liens inter applications dans Symfony) est disponible sur le repository de Symfony

Pour info, j’ai packagé un petit helper Symfony pour le dépot de plugins du projet. Il permet simplement de faire des liens entre applications d’un même projet. Il est compatible Symfony 1.2 uniquement. Merci de vos retours si vous rencontrez des soucis avec ce helper. http://www.symfony-project.org/plugins/omCrossAppUrlPlugin Article original publié sur Glagla Dot Org. Tous droits réservés. omCrossAppUrlPlugin (liens inter [...]

Article original publié sur Glagla Dot Org. Tous droits réservés.

omCrossAppUrlPlugin (liens inter applications dans Symfony) est disponible sur le repository de Symfony

Décembre 2008 – Hello Design: BIG BIG elePHPant au Bresil

Le rendez-vous annuel de PHP Brésil vient de se dérouler et quelques photos sont arrivés jusqu'à moi pour montrer qu'il possédait aussi un BIG BIG elePHPant.

 

 

D'après la photo, je dirais qu'il s'agit d'un éléPHPant gonflabe qui doit faire au moins 2 m de haut

et la j'ai une pensais au Créateur Vincent Pontier (El roulbio) et au PHPère de la pelluche (Damien Seguy de Nexen/AlterWay) qui n'ont pas du y penser à cette réalisation.

Est ce que l'on verra des elePHPants au Forum PHP organisé par AFUP (www.afup.org) ??? c'est une très bonne question et pour le savoir, il faut être présent

 

 

Décembre 2008 – Hello Design: BIG BIG elePHPant au Bresil

Le rendez-vous annuel de PHP Brésil vient de se dérouler et quelques photos sont arrivés jusqu'à moi pour montrer qu'il possédait aussi un BIG BIG elePHPant.

 

 

D'après la photo, je dirais qu'il s'agit d'un éléPHPant gonflabe qui doit faire au moins 2 m de haut

 

et la j'ai une pensais au Créateur Vincent Pontier (El roulbio) et au PHPère de la pelluche (Damien Seguy de Nexen/AlterWay) qui n'ont pas du y penser à cette réalisation.

 Est ce que l'on verra des elePHPants au Forum PHP organisé par AFUP (www.afup.org) ??? c'est une très bonne question et pour le savoir, il faut être présent

 

 

Décembre 2008 – PHP Index: MySQL 5.1 GA (General Availability)

Une nouvelle version de MySQL vient d'être mise en ligne.

Bien que cette version corrige quelques bogues de la version précédente, Michael Widenius (le cofondateur du SGBD) conseille de ne pas déployer cette version avant d'en avoir fait un test complet.

En effet, bien qu'il soit préférable d'utiliser cette version plutôt que la version communautaire de la 5.0, Michael Widenius rappelle qu'il reste de nombreux "bogues fatals" à corriger et qu'il est conseillé d'attendre la sortie des premiers patchs correctifs avant de l'utiliser sur une plateforme en production.

Consulter le changelog
Télécharger MySQL 5.1 GA (General Availability)
Site officiel

Décembre 2008 – Kamelot Blog: Je veux des <?php

Petit memento à critiquer

Un search and replace normal

search <%
replace by <?

suivi d'un search and replace normal

search <?=
replace by <?php echo

suivi d'un search and replace regexp

search <\?[^p]
replace by <?php
Pour ceux qui ne savent pas pourquoi je veux cela, un petit rafraichissement de mémoire se trouve ici : Pourquoi il est déconseillé d'utiliser les balises courtes...

Décembre 2008 – PHP Index: PHP 5.2.7 et PHP 5.3 alpha3

Deux versions mineures de PHP sont disponibles depuis le 4 décembre. PHP 5.2.7 et la troisième version alpha de PHP 5.3.

Il aura fallu plus de six mois pour voir arriver un version stable de PHP 5.2.7. Cette version apporte son lot de corrections de bugs avec pas moins de 170 anomalies corrigées dont certaines concernent la sécurité. Parmi les correctifs de sécurités, on retiendra :

  • La mise à niveau de PCRE à la version 7.8
  • Correction d'un crash dans la librairie gd lors de l'utilisation de polices non valides
  • Correction d'un dépassement de capacité dans dans la fonction memnstr()
Les principales corrections comprennent en autres :
  • Correction de bugs relatifs à la récupération des données dans l'extension PDO
  • Plusieurs corrections ont été apportées à la fonction strip_tags()
  • Un certain nombre de bugs ont été corrigés dans la fonction extract() lorsque le flag EXTR_REFS est utilisé
La liste complète des modifications apportées par PHP 5.2.7 est disponible dans le changelog.

En ce qui concerne la nouvelle version alpha de PHP 5.3, plusieurs nouvelles fonctionnalités ont déjà été documentés dans la documentation officielle. Cette version ne doit pas être utilisée en production, une version stable est prévue pour la fin du premier trimestre 2009.

PHP 5.2.7 Release Announcement
Télécharger PHP 5.2.7
Télécharger PHP 5.3 alpha3

Décembre 2008 – tigrou/pwet.fr: eZ Publish shell

A screencast is better than several words. It's not (yet ?) really useful as you can only browse and read content, but it was fun to write. Nevertheless, I can imagine a real and serious use of an eZ Publish shell for example to write simple scripts without the need to learn the eZ Publish API in details or to provide a quick interface to developers. The source code is available if someone is interested...

Décembre 2008 – Apprendre-PHP.com: Le Forum PHP 2008, c'est parti !

Ca y'est je suis au forum PHP et la première conférence de Zak Greant va commencer. A l'arrivée, tous les participants ont reçu leur sac de goodies comprenant un T-Shirt, une peluche ElePHPant, un magazine spécial PHP de Programmez! ainsi que le programme du forum et quelques...

Décembre 2008 – CreaOne: Svn pour les nuls

Svn successeur de Cvs, est une gestionnaire de version. Comme son nom l'indique, il permet de gérer les différentes versions d'un projet ou plus précisement chaque version d'un fichier. Il est souvent employé pour maintenir le code source d'un projet ou de la documentation d'un logiciel. Ayant (...)

Décembre 2008 – PHP Index: jelix-1.1RC1 est disponible

Une belle nouvelle mouture du framework PHP 5 qu’est Jelix voit le jour aujourd’hui.

Au menu des réjouissances on trouve :

jForms : système de gestion automatique de formulaire

* nouveau contrôles : captcha, champ caché, groupe, choix avancé, éditeur html, sélectionneur de date…
* modification dynamique d’un formulaire : vous pouvez ajouter, supprimer, activer, désactiver des contrôles
* possiblité de savoir quels sont les valeurs modifiées
* intégration et utilisation de jquery
* les générateurs de sorties deviennent des plugins. Vous pouvez donc créer et modifier “facilement” votre propre format de sortie

jAcl2, un nouveau système de gestion des droits fait son apparition.

jTpl en version 1.0 “inside” : le système de template du framework

* support des déclarations dynamiques de modificateurs et fonctions
* support des tags sur plusieurs lignes
* nouveau plugins : cycle, flash, breadcrumb, link_to_remote, number_format, const, jmessage, jimage, ifctrl

Et entre autres :

* support de SOAP
* nouvelle réponse “htmlfragment” pour réponse ajax en html
* nouveau moteur d’url “basic_significant”
* nouvelles classes jIniModifier, jHttp, jMessage, jImageModifier…
* jDuration (pour jDateTime)


Téléchargement dispo ici http://jelix.org/articles/fr/telechargement/stable/1.1

Proposé par foxmask

Décembre 2008 – Kamelot Blog: Utilisation de Pear::Text_diff pour comparer des textes

Traduction d'un tutorial de pradeep pradeep, écrit le 6 Mai 2007.

Quand il devient nécessaire de comparer deux ou plusieurs fichiers texte sous UNIX, la plupart des développeurs vont chercher le programme diff. Ce logiciel, est inclus par défaut dans presque toutes les distributions Unix, compare les fichiers ligne par ligne et affiche les changements dans un certain nombre de différents formats de sortie.

Bien qu'à l'origine, diff est un utilitaire de ligne de commande, des paquets pour reproduire ses fonctionnalités sont disponibles pour la plupart des environnements de développement et les languages, y compris Perl, JSP, et PHP. Venons en à Text_Diff, une classe PEAR qui permet de comparer le fichier contenu dans l'environnement PHP et proposer un rendu en différents formats.

Ce tutoriel va faire la démonstration de cette classe en l'action, illustrant la façon dont vous pouvez l'utiliser pour comparer dynamiquement du contenu des fichiers avec PHP, et de rendre les résultats sous forme de page Web. Je vais supposer que vous avez une installation Apache et PHP et que la classe PEAR Text_Diff a été correctement installé.

Note: Vous pouvez installer le paquet PEAR Text_Diff directement à partir du Web, soit en le téléchargeant ou en utilisant les instructions fournies.

Mise en place de fichiers de test

Avant d'écrire le moindre code, il est nécessaire de mettre en place les fichiers de test, nous allons utiliser dans ce tutoriel. Ce sont deux fichiers simple, avec quelques différences délibérée que Text_Diff devrait être en mesure de reperer.

L'extrait A est le premier fichier, nommé data1.txt.

Extrait A

[txt]
apple 
banana
cantaloupe 
drumstick
enchilada
fig
grape
horseradish

Et l'extrait B est le second fichier, nommé data2.txt.

Extrait B

[txt]
apple
bat
cantaloupe
drumstick 
enchilada 
fig
peach
pear



zebra

Effectuer une comparaison de base

Après avoir créé les fichiers, nous allons commencer par une simple illustration de la manière dont fonctionne Text_Diff.

Commençons avec l'extrait C.

Extrait C
[php]
<?php
// ici il faut adapter les chemins à votre install

include_once "Text/Diff.php";
include_once "Text/Diff/Renderer.php";

// On défini les fichiers à comparer
$file1 = "data1.txt";
$file2 = "data2.txt";

// On effectue le diff 
$diff = &new Text_Diff(file($file1), file($file2));
// On construit le rendu et on affiche le résultat
$renderer = &new Text_Diff_Renderer();
echo $renderer->render($diff);
?>

C'est assez simple à première vue. Il ya deux classes de base dans le paquet Text_Diff:

  • Text_Diff (), qui effectue la comparaison et retourne diffoutput;
  • et Text_Diff_Renderer (), qui forme les résultat diff dans un format qui est facilement compréhensible.

Le Text_Diff () l'objet, en particulier, doit être initialisé avec le contenu réel (et non pas l'emplacement) des deux fichiers à comparer.

Le script commence par l'initialisation de ces deux objets, en utilisant la fonction file() de PHP pour extraire le contenu de chaque fichier en une série de tableaux. L'objet Text_Renderer() est ensuite utilisé pour créer le rendu au format standard diff, un résultat qui devrait être familier à tout développeur UNIX:

[diff]
2c2
<banana
---
>bat
7,8c7,12
<grape
<horseradish
---
>peach
>pear
>
>
>
>zebra
Rendre les différences plus facile à lire

Maintenant, la sortie ci-dessus n'est pas particulièrement facile à lire, sauf si vous avez beaucoup d'expérience au décodage diff résultats. C'est la raison pour laquelle Text_Diff est livré avec une série d'options de reformater ce résultat en quelque chose de plus lisible. Ces options sont accessibles au travers de classes enfant de l'objet Text_Diff_Renderer() et cela rend possible d'afficher le résultat de la comparaison en soit format unifié ou inline .

Le script suivant (extraits D) est une modification de l'exemple précédent pour obtenir un format unifié:

Extrait D
[php]
<html>
<head></head>
<body>
  <pre>
<?php
// ici il faut adapter les chemins à votre install

    include_once "Text/Diff.php";
    include_once "Text/Diff/Renderer.php";
    include_once "Text/Diff/Renderer/unified.php";

// On défini les fichiers à comparer
    $file1 = "data1.txt";
    $file2 = "data2.txt";

    // perform diff, print output
    $diff = &new Text_Diff(file($file1), file($file2));
    $renderer = &new Text_Diff_Renderer_unified();
    echo $renderer->render($diff);
?>
 </pre>
</body>
</html>

Constatez l'appel à la classe enfant lors de l'initialisation du moteur de rendu.

Et voici le résultat:

[diff]
@@ -1,8 +1,12 @@
apple
-banana
+bat
cantaloupe
drumstick
enchilada
fig
-grape
-horseradish
+peach
+pear
+
+
+
+zebra

Une rapide explication est ici nécéssaire: dans le format unifié, le signe plus (+) préfixe les lignes ajoutées, le signe (-) préfixe les lignes supprimées, et sans préfixe on a les lignes inchangées . Si l'on compare les résultats ci-dessus avec les fichiers originaux, il est assez facile de voir comment les diff générés reflètent les lignes qui ont changé et quel sont les changements.

Bien sûr, il est possible de le rendre encore plus facile à utiliser - et c'est précisément ce que le formatage en ligne tente d'accomplir.

Dans ce format, des biffures sont utilisées pour indiquer visuellement les caractères et les lignes qui ont changés.

L'extrait E vous montre comment l'utiliser.

Extrait E
[php]
<html>
<head></head>
<body>
    <pre>
    <?php
// ici il faut adapter les chemins à votre install

    include_once "Text/Diff.php";
    include_once "Text/Diff/Renderer.php";
    include_once "Text/Diff/Renderer/inline.php";

// On défini les fichiers à comparer
    $file1 = "data1.txt";
    $file2 = "data2.txt";

    // perform diff, print output
    $diff = &new Text_Diff(file($file1), file($file2));
    $renderer = &new Text_Diff_Renderer_inline();
    echo $renderer->render($diff);
    ?>
    </pre>
</body>
</html>

Et voici le rendu:

[html]
apple
<strike>banana</strike>bat
cantaloupe
drumstick
enchilada
fig
<strike> grape</strike>
<strike>horseradishpeach</strike>
pear



zebra

Voilà, ca c'est fait. J'espère que vous avez maintenant une idée claire de la façon dont Text_Diff peut être utilisé pour rapidement et efficacement comparer des fichiers dans l'environnement PHP et de la façon dont le rendu peut être formaté pour faciliter la lisibilité. Codez bien!

Décembre 2008 – PHP Index: Symfony 1.2.1

Une nouvelle version de Symfony est à présent disponible.

Cette version corrige essentiellement quelques bugs présent sur la précédente release.
Pour plus d'informations, consultez le changelog.

Télécharger Symfony 1.2.1
Site officel

Décembre 2008 – PHP Index: Drupal 6.8 & 5.14

Deux nouvelles versions de Drupal sont disponibles en téléchargement.

Ces versions n'apportent aucune nouvelle fonctionnalité et se contentent de corriger un bug de comptabilité avec PHP 5.2 présent sur les versions 6.7 et 5.13 de Drupal. Il est fortement recommandé d'effectuer cette mise à jour.

Pour te plus ample informations, consultez les guides d'installation ci-dessous :

Drupal 6.x
Drupal 5.x

Décembre 2008 – PHP Index: Faire part de naissance (SPIP 2.0)

Nous avons le plaisir de vous annoncer la naissance d'un magnifique bébé (18 mois de gestation) nommé SPIP 2.0, d'un poids de 15,56 Mo (dont 8,39Mo de traductions - 80 langues dont 30 finalisées)

Cet enfant extrèmement bien conçu, comme tout SPIP qui se respecte, propose de publier du contenu pour internet et de créer des sites avec une grande facilité. Son apprentissage est très souple et les améliorations permettent de l'utiliser comme plateforme de développement.

Un article complet explique en détail l'évolution : http://www.spip.net/fr_article3784.html
Voici quelques nouveautés pour vous mettre l'eau à la bouche :

  • traduction en asturiano, birman, khmer (cambodgien), indonésien, suédois
  • interface privée unifiée utilisant AJAX
  • interface de programmation pour serveur SQL (MySQL, PostGres, SQLite)
  • nouveaux formulaires utilisables sur le site public comme dans l'espace privé
  • interface améliorée pour les documents et pour les forums (documents joints possible)
  • lecture de plusieurs bases de données à partir d'un même squelette
  • noisettes et paginations en AJAX par simple ajout d'un nouveau critère
  • écriture arborescente des URL possible (http://www.example.com/secteur/rubrique1/rubrique2/article)
  • compactage automatique des CSS et du javascript
  • enrichissement du système de plugins et installateur automatique
  • ...

Bonne installation et découverte. Rendez vous sur http://www.spip.net/fr_download
PS: pour ceux qui veulent rester jouer avec le grand frère, une version 1.9.2f est disponible ici : http://files.spip.org/spip/archives

-- L'équipe SPIP

Proposé par Jacques PYRAT

Décembre 2008 – Kamelot Blog: is_array_of

Dans un filtre on peut vérifier si une valeur est un nombre, une chaine, un objet, un tableau, ...

Pour tout ce qui est scalaire ca va mais pour un tableau par exemple, on ne vérifie que "l'enveloppe", la "structure" d'un ensemble de données, plus les données elles-même comme avec un is_numeric()

Voici une fonction que j'ai tenté d'écrire pour palier à cela.

Je suis parti d'un commentaire du manuel de la fonction PHP is_array()

Elle est sans doute encore à améliorer Edit:Lisez les commentaires ils sont "utiles"

Première version
  1. <?php
  2.  /**
  3.   *
  4.   *  @param string wanted param boolean|integer|double|string|array|
  5.   *                             object|resource|NULL|unknown type
  6.   *  @param array $array array to check
  7.   *  @param boolean $acceptRecursive if true,
  8.   *                                                 the type can  be in children of subarray.
  9.   */
  10.  function is_array_of($type, $array,$acceptRecursive = false)
  11.  {
  12.   $r = false;
  13.   if (is_array($array))
  14.   {
  15.    foreach($array as $n=>$v)
  16.    {
  17.     if ($acceptRecursive  && is_array( $array[$n] ))
  18.     {
  19.      $r = is_array_of($type, $array[$n] );
  20.      if ($r==false) break;
  21.     } else
  22.      if (!gettype($v)==$type)
  23.      {
  24.       $r=false;
  25.       break;
  26.      } else
  27.       $r=true;
  28.    }
  29.   }
  30.   return $r;
  31.  }
  32. ?>
  33.  

Décembre 2008 – Digital Fashion: sfConsolePlugin, a console plugin for symfony

I've just release the first beta of my first symfony plugin: sfConsolePlugin. This plugins provides a PHP shell, with tab-completion, history support, and symfony capabilities. To install and use it, you need symfony 1.2 and the readline extension. From your project root:

$ ./symfony plugin:install sfConsolePlugin --release=0.0.2
$ ./symfony console:run

see the README file for more info.

Décembre 2008 – Kamelot Blog: PEAR::Pager Liste des tutoriaux

Traduction d'une série d'articles de Lorenzo Alberton

Il lui est souvent posé des questions sur la façon d'utiliser PEAR::Pager. Cela va de la manière efficace de paginer des résultats lu dans une base de données, à l'utilisation combinée de PEAR::Pager et javascript ou de PEAR::Pager et AJAX, en passant par l'utilisation de PEAR::Pager et de mod_rewrite. Étant donné que ces questions sont de plus en plus récurrentes sur sa boîte mail ou sur les mailing-lists de PEAR, il a décidé d'écrire cette série de petits tutoriaux :

Vous désirez un sujet particulier? vous voulez utiliser Pager de façon inhabituelle? S’il vous plaît envoyez un mail à Lorenzo avec votre idée.

Décembre 2008 – PHP Québec: Conférence PHP Québec 2009 : Allez plus loin avec PHP

Conférence PHP Québec 2009 – Allez plus loin avec PHP

PHP Québec est fière de présenter la Conférence PHP Québec 2009.

Du 4 au 6 mars 2009
Au centre-ville de Montréal, à l'hôtel Hilton Bonaventure, au 900 de la Gauchetière Ouest

Pendant trois jours, les experts mondiaux du PHP et des bases de données
seront réunis pour partager leur expérience, proposer des solutions à
des problèmes récurrents dans l'industrie et présenter de nouvelles
techniques qui vous permettront de rester à l'avant-garde. C'est
l'occasion rêvée de rencontrer ces experts, de parfaire vos
connaissances et d'élargir votre réseau de contact.

Cette année l'organisation propose une formule améliorée :

- 3 jours, plus de 50 conférences
- Des Ateliers
- Spécial CMS et Frameworks
- Un salon de l'emploi
- Un cocktail
- Des activités de clôture

Pour plus d'informations ou pour vous inscrire, visitez le site Web de
la Conférence PHP Québec 2009 au :

http://conf.phpquebec.com/

Faites vite, les places sont limitées!

======================
Conférence PHP Québec 2009
======================

Du mercredi 4 mars au vendredi 6 mars 2009 dès 8:00

Trois jours de conférence avec les plus grand experts du PHP sur des
sujets variés étalés sur 4 pistes de sessions.

Les principaux sujets abordés sont web 2.0, CMS, Frameworks, Bases de données, optimisation, sécurité.

Pour plus d'informations ou pour vous inscrire, visitez le site Web de
la Conférence PHP Québec 2009 au :

http://conf.phpquebec.com/


=============
Salon de l'emploi et cocktail
=============

Le jeudi 5 mars à partir de 15:30

Que vous soyez employeurs, recruteurs ou chercheurs d'emploi, PHP Québec
facilite votre rencontre avec son tout nouveau salon de l'emploi.  C'est
l'occasion idéale de rencontrer des mordus de technologies ou de donner
un nouveau souffle à votre carrière.  Le salon est ouvert à tous et sera
suivi d'un cocktail où les discussions se poursuivront dans un cadre
moins formel.

Des places sont disponibles pour les entreprises qui souhaitent avoir
leur kiosque au salon de l'emploi. Pour plus d'informations ou pour vous
inscrire, visitez le site Web de la Conférence PHP Québec 2009 au :

http://conf.phpquebec.com/

==============
Activités de clôture
==============

Après 3 jours chargés de conférence, arrive le temps de décompresser.  
Tous sont les bienvenus aux activités et l'inscription sera effectuée
lors de la Conférence avant midi le vendredi 6 mars.

Souper de clôture

Le vendredi, après la conférence, l'organisation vous convie au souper
de clôture de la conférence, qui aura lieu dans un lieu divulgué
ultérieurement.  Pour les irréductibles, la soirée se poursuivra
jusqu'aux petites heures dans un bar de Montréal.

Cabane à sucre

Le samedi matin, retour à l'hôtel d'où le départ se fera à 10:00 en
direction d'une cabane à sucre de la banlieue.  C'est l'occasion de
vivre une expérience typiquement québécoise et inoubliable pour les
visiteurs tout en visitant un coin de pays.

Pour plus d'informations ou pour vous inscrire, visitez le site Web de
la Conférence PHP Québec 2009 au :

http://conf.phpquebec.com/


L'Equipe de la Conférence PHP Québec

Décembre 2008 – PHP Index: developer.com / envoyer des Emails avec PHP

Sur le site developer.com, W. Jason Gilmore a publié un tutoriel présentant différentes façons d'envoyer des emails avec PHP.

Pour cela l'auteur nous propose trois possibilités :

  • D'utiliser la fonction mail(), native à php. C'est la solution la plus simple et la plus rapide, permettant de se connecter à un serveur SMTP sans authentification.
  • D'installer le "PEAR Mail Package". Les deux gros avantages de ce package sont son indépendance vis à vis du fichier de configuration php.ini et la possibilité d'utiliser une authentification SMTP.
  • Et enfin dernière possibilité, présentée par l'auteur comme étant la solution idéale, utiliser un composant du Zend Framework, "Zend_Mail". Celle-ci propose entre autres, l'ajout de pièces jointes ou l'envoi d'email au format HTML.
Voir le tutoriel

Décembre 2008 – PHP Index: Dotclear 2.1.4

Dotclear 2.1.4 vient de sortir et est disponible au téléchargement.

Parmi les modifications :

  • Correction d'un problème de sécurité lié à XSS
  • Corrections de bugs dans l'outil d'importation depuis WordPress
  • Améliorations du serveur XML-RPC de Dotclear afin de mieux gérer les comportements parfois étranges de certains clients de blog
Pour les utilisateurs de Doclear 2.1.3, cette mise à jour leur sera proposée automatiquement. Si la mise à jour automatique ne fonctionnait pas, un patch est également disponible.
Téléchargez Dotclear 2.1.4 ici, ou effectuez une mise à jour automatique.

Décembre 2008 – PHP Index: phpMyAdmin 3.1.1 et 2.11.9.4

La version de phpMyAdmin 3.1.1 est sortie, elle corrige plusieurs bugs et notamment un bug de sécurité. Ce correctif s'applique aussi à la version 2.11 de phpMyAdmin.

Décembre 2008 – PHP Index: Free.fr utilise DotClear2 pour sa plateforme de blog

Free vient d'inaugurer une nouvelle plateforme de blog utilisant le moteur de blog libre DotClear2.

Ce nouveau service est ouvert à tous et vous permet de créer votre blog sans vous soucier de trouver un hébergement ou de choisir un nom de domaine. Vous n'aurez même pas besoin d'installer DotClear sur votre espace, puisque vous accéderez à un blog préconfiguré.

Après votre inscription, vous disposerez d'un blog à l'adresse suivante : pseudo.blog.free.fr. Vous pouvez alors gérer votre blog avec les principales fonctionnalités de DotClear2, gestion des billets, des commentaires, des tags et modification du thème. Cependant, Free.fr limite au maximum les fonctions avancées de DotClear, puisqu'il ne vous sera pas possible d'accéder à la configuration avancée de votre blog, de charger votre propre thème ou d'installer vous même des plugins.

S'inscrire
Plus d'informations sur DotClear

Décembre 2008 – PHP Index: Utiliser des feuilles de style dynamiques avec PHP

En attendant qu’une prochaine version de CSS gère les variables, voici quelques techniques simples pour ajouter du code PHP à vos CSS de manière à pouvoir gérer des feuilles de style dynamiques.

La première solution consiste à se servir d’un fichier PHP en tant que « text/css ». Pour cela il suffit d’appeler le fichier PHP au sein d’une balise comme ceci :

< link rel="stylesheet" href="styles.php" type="text/css" />

Le fichier style.php, quand a lui, doit faire l’objet de quelques configurations supplémentaires au niveau du header afin de préciser explicitement au navigateur que le fichier doit être considéré comme une feuille de style. Pour cela il suffit d’ajouter avant la génération du contenu le code suivant:

header('content-type: text/css');

A noter aussi, qu’à la différence d’une feuille de style, le fichier PHP ne sera pas placé en cache et sera rechargé systématiquement. Pour remédier à ce problème quelques configurations supplémentaires s’imposent :

header('HTTP/1.0 304 Not Modified');
header('Cache-Control: max-age=3600, must-revalidate');


Une second solution est possible mais nécessite l’utilisation du .htaccess. Cette technique consiste à spécifier au serveur d’interpréter les feuilles de style comme étant des fichiers PHP en ajoutant au .htaccess la ligne ci-dessous :

AddType application/x-httpd-php .css

A présent, il ne reste plus qu’a inclure du code au sein de la feuille de style. Voici un exemple simple permettant de modifier la couleur de fond en fonction d’une variable stockée en session :

< ?php
header( 'content-type: text/css' );
session_start();

$_SESSION[‘background_color’] = ‘#666666’;
?>
body {
  background: < ?php $_SESSION[‘background_color’]; ?>;
}


Source : developpez.com

Décembre 2008 – z-f.fr: [Livre] Zend Framework et PHP, La programmation par composants

Forum: Brèves
Auteur: miboo
Écrit le: Thu, 11 Dec 2008 15:24:22 +0100
Dernier message: Fri, 20 Feb 2009 16:58:20 +0100

Décembre 2008 – PHP Index: eZ Publish 4.1.0alpha1

La version 4.1.0alpha1 de eZ Publish est sortie le 18 décembre.

Cette nouvelle version inclue des modifications, de nouvelles fonctionnalités et des corrections des bugs, parmi lesquelles :

  • Des améliorations de vitesse et de performance
  • Une première version des états d'objet
  • Support de Solaris
  • Support d'Oracle
  • Extension d'expiration des mots de passe
  • Multi file upload
  • ...
Pour télécharger cette nouvelle version visitez la page officielle de téléchargement ou consulter la page de changelog pour avoir plus d'informations sur les mises à jour.

Décembre 2008 – PHP Index: SPIP 2.0.2, 1.8.3b et 1.9.2g

Une nouvelle version stable de SPIP 2 a été mis en ligne le 23 décembre suite à la découverte de trois failles de sécurités importantes. Ces failles étant présentes depuis bien longtemps, l'équipe de SPIP a également pensé à ceux qui ne sont pas encore passés à la version 2 de SPIP et a publié deux versions corrigées : la 1.9.2g et la 1.8.3b.

Concernant SPIP 2.02, voici quelques modifications apportées depuis la sortie, il y a quelques jours, de la version 2.0 :

  • Refuser les urls avec le pseudo protocole data: dans la fonction de redirection redirige_par_entete
  • Unifier la mise en page dans les trois onglets de gestion des langues
  • Le champ type de la balise A d'un logo de document était toujours vide
  • La boucle DOCUMENTS ne donnait pas les documents attachés aux messages de forums
  • Amélioration du calcul de popularité
  • Lien incorrect dans le message à un visiteur venant de s'inscrire
  • Réparation d'un bug sur les urls standard et autres anciennes implémentations
  • Problème de création du répertoire cache à l'install
  • Correction mineure sur le calcul des visites
  • Impossibilité de déplacer SPIP dans un sous répertoire
Voir l'annonce
Télécharger SPIP 2.0.2
Télécharger SPIP 1.9.2g
Télécharger SPIP 1.8.3b

Décembre 2008 – PHP Index: Bilan 2008 du Web 2.0 en Entreprise

Réseaux sociaux, blogs et autres applications communautaires regroupés sous le terme « marketing » de Web 2.0, ont depuis 3 ou 4 ans fait évoluer les usages liés à l'Internet et la conception que les néophytes pouvaient s'en faire.

Le Monde Informatique propose un bilan 2008 de ces technologies en posant le problème de l'utilisation et de l'utilité dans l'Entreprise. Il est vrai que si l'évolution des mœurs des particuliers concernant l'utilisation du Web est flagrante, il est cependant intéressant de voir les profits que peuvent tirer les professionnels de ces nouvelles méthodes et techniques de communications.
« Bilan 2008 : la percée du Web 2.0 en entreprise » regroupe donc une dizaine d'articles qui présentent entre autre:

  • l'utilisation du web 2.0 par les « Digitals natives » et les séniors,
  • les intérêts RH que représentent les réseaux sociaux,
  • l'évolution des pratiques du web dans les années à venir,
  • l'utilisation actuelle du Web 2.0 en entreprise,
Source : Le Monde Informatique

Décembre 2008 – PHP Index: Mise à jour de sécurité SPIP 1.8.3b, 1.9.2g et 2.0.2

Un cadeau pour Noël : un SPIP bien sécurisé suite à la découverte de 3 failles.

Bonjour,
un message important si vous avez un site en SPIP : c'est Noël !!!

Oui certes c'est noël mais aussi, trois failles importantes nous ont été signalées depuis la semaine dernière. Elles ont été corrigées aussitôt et nous sortons donc de nouvelles versions.
Nouvelles au pluriel car les failles sont là depuis bien longtemps.

Nous vous encourageons bien sur à en profiter pour passer à la dernière version stable de SPIP (2.0.2) disponible ici : http://www.spip.net/fr_download

Cependant si vous êtes "coincé" avec une version plus ancienne de SPIP et
en attendant de passer à une version plus récente, vous trouverez une version
1.8.3b et une version 1.9.2g dans le répertoire
http://files.spip.org/spip/archives/

Merci a Jean Bon, Julien Cayssol et Pierre Gardenat pour nous avoir signalé les failles. N'hésitez pas à faire de même en signalant toute faille sur la
liste privée des cores développeurs : spip-team@rezo.net

Si vous avez des questions d'ordre général deux listes sont à disposition :
la liste des utilisateurs : http://listes.rezo.net/mailman/listinfo/spip
la liste des développeurs : http://listes.rezo.net/mailman/listinfo/spip-dev

Autre rappel, la mailing liste SPIP-annonce :
http://listes.rezo.net/mailman/listinfo/spip-ann est une
liste utilisée pour vous signaler les éventuels problèmes ou les
nouvelles versions. N'hésitez pas à vous y inscrire pour rester au
courant de l'actualité SPIP (le volume d'envoi est très faible).


Pour finir, quelques détails concernant les différences depuis la
sortie de la 2.0 :

2.0.1 -> 2.0.2
- refuser les urls avec le pseudo protocole data (13521)
- bonne année (13520)
- Unifier la mise en page dans les 3 onglets de gestion des langues (13519)
- encore quelques retouches sur l'agenda de l'espace publique (13517)
- le champ type de la balise A d'un logo de document était toujours vide (13512)
- la boucle DOCUMENTS ne donnait pas les documents attachés aux
messages de forums (13511)
- accepter les notes nommees <*> <+> <.> et autres caracteres
significatifs (13510)
- un peeling pour évacuer le point noir. (13508)
- amélioration du calcul de popularité (13506)
- lien incorrect dans le message à un visiteur venant de s'inscrire (13504)
- support du png8 comme format de image_format (l'extension sera bien
'png') (13501)
- authentification via LDAP/AD, lire le Samaccountname (13500)
- proteger l'$id fournit a calcul_branche_in (13498)

2.0.0 -> 2.0.1
- réparation d'un bug sur les urls standard et autres anciennes
implémentations (13489)
- problème de création du répertoire cache à l'install (13487)
- correction mineure sur le calcul des visites (13485)
- Compilateur : défaut sur la prise en compte sur le champ statut dans
le cas d'une requête sur une table principale (13484)
- correction pour IE6/7 sur les formulaires de l'espace privé (13481)
- il était impossible de déplacer SPIP dans un sous répertoire (13478)

Nous vous souhaitons de joyeuses fêtes.
Ben. (pour la tendre équipe SPIP)

Proposé par Jacques PYRAT

Décembre 2008 – PHP Québec: 1/8 19:00 Rencontre janvier - Montréal

PHP Québec vous convie à la rencontre mensuelle du mois de janvier.

En première partie, Philippe Gamache nous montrera comment écrire une application complète en une heure avec Symfony.

En deuxième partie, Sarven Capadisli nous introduira aux microformats avec sa présentation "Interacting with microformats".

Si le temps nous le permet, nous procéderons ensuite à une période de question-réponse et la présentation de la Conférence 2009.

Un tirage du DVD de la conférence 2008 ainsi que des éléPHPants sera au menu!

Date : 8 janvier 2009
Heure : 19h00
Lieu : École de technologie supérieure, Montréal
Salle : B-1404
Metro: Bonaventure
Carte : http://www.etsmtl.ca/zone2/enbref/rendre.html

Si vous le souhaitez, confirmez votre présence sur :
Facebook: http://www.facebook.com/event.php?eid=40439199573
Upcoming: http://upcoming.yahoo.com/event/1463075/

Vous aimeriez faire une présentation ou vous avez un sujet à proposer pour cette rencontre? Veuillez contacter les organisateurs: board@phpquebec.com

Prochaines activités:
- 5 février: rencontre mensuelle PHP Québec
- 4-6 mars: conférence PHP Québec

Inscrivez vous dès aujourd'hui à la conférence PHP Québec et bénéficiez de tarif de pré-vente: http://conf.phpquebec.com

Décembre 2008 – PHP Index: Choisir son CMS

Choisir un CMS n'est pas toujours évident. Pour nous aider, le site www.devshed.com propose un comparatif entre divers CMS.

Avant de vouloir choisir un CMS, il est important de savoir précisément quelles fonctionnalités seront nécessaires au site, il faut essayer de les classer par ordre de priorité.
Voici une liste classique de fonctionnalités :

  • Gestion de plusieurs auteurs (Y aura-t-il plusieurs auteurs ? Une gestion de droits sera-t-elle nécessaire ?)
  • Capacité de base du CMS (est-ce important que le CMS inclut la plupart ou tout ce dont vous avez besoin sans avoir à utiliser des modules/plugins complémentaires ? )
  • Outils d'édition du contenu (Les outils d'édition du contenu sont-ils adaptés aux auteurs ? )
  • Facilité d'utilisation, de maintenabilité (les technologies utilisées sont-elles maîtrisées ? )
  • Flexibilité des templates (est-il simple de modifier le look&feel du site ? )
  • ...
Cinq CMS sont comparés : Joomla, Exponent, Drupal, Mambo et Plone.
Cet article fait une synthèse de leurs points forts, points faibles et des situations auxquelles ils sont adaptés.

Cependant cette liste de CMS est très loin d'être exhaustive. Pour une comparaison de plus de CMS voir la matrice de comparaison de CMS([EN]).
Cette matrice permet de comparer les CMS au travers de critères objectifs tels que les technologies utilisées, la présence de certaines fonctionnalités, la qualité du support, ...

Décembre 2008 – PHP News: Connexion SSH restreinte au protocole sFTP (sans accès Shell)

Si vous avez besoin d’une connexion sFTP, vous devez d’abord établir une connexion SSH sur votre serveur. Cependant cela donnera aussi un accès Shell aux utilisateurs utilisant cette connexion, ce qui n’est toujours pas souhaitable. Voici comment procéder pour faire du “sFTP only” :

  • Trouver l’emplacement du binaire sftp-server sur votre distribution

# find /usr/ -name sftp-server

 /usr/libexec/sftp-server  
  • Créer ou modifier un utilisateur en lui spécifiant ce binaire comme Shell. Ex :
  # usermod -s /usr/libexec/sftp-server ftp_admin  
  • Ajouter ce binaire en tant que shell valide dans votre liste de Shells :
  # echo "/usr/libexec/sftp-server" >> /etc/shells  

C’est fait !

Source : http://www.debian-administration.org/articles/94

Décembre 2008 – PHP News: Supprimer des enregistrements doublons dans une base MySQL

Cela peut se révéler nécessaire pour diverses raisons ;)

La solution consiste a créer un index UNIQUE sur les champs voulus. Cependant en cas de lignes dupliquées sur ces champs, le processus d’ajout de cette contrainte d’unicité va s’annuler avec une error du type  “duplicate entry for key XXX”.

Il faut alors utiliser le mot clé IGNORE lors de l’ajout de cette clé unique :

"IGNORE est une extension MySQL pour ANSI SQL92. Cette option contrôle la façon dont ALTER TABLE fonctionne s’il y a des duplications sur une clef unique de la nouvelle table. Si IGNORE n’est pas spécifiée, la copie est annulée et la table originale est restaurée. Si IGNORE est spécifiée, les lignes contenant les éléments doublons de la table seront effacées, hormis la première, qui sera conservée.” (documentation MySQL)

Ainsi la requête suivante supprimera tous les doublons sur champ1, champ2 et champ3:


ALTER IGNORE TABLE ma_table ADD UNIQUE KEY ( champ1, champ2, champ3 );

Décembre 2008 – Hello Design: Happy New Year 2009

En cette fin d'année 2008, je vous souhaite une bonne et heureuse année 2009 (Happy New Year 2009)....

et bien sur les ElePHPants le font si bien

 

 

 

Décembre 2008 – Hello Design: Happy New Year 2009

En cette fin d'année 2008, je vous souhaite une bonne et heureuse année 2009 (Happy New Year 2009)....

et bien sur les ElePHPants le font si bien