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

Février 2008 – Nexen.net: Lutter contre le Spam sur votre site

Si votre site Web est toujours la proie des Spammers et autres pollueurs de formulaires, voici un petit tutorial pour créer votre application anti-spam, basée sur mon dernier plugin pour e107 (encore en version beta et non publique). J'évoque d'abord les solutions actuelles, peu satisfaisantes à mon goût, même si parfois très efficaces déjà, avant de vous dévoiler mon approche. Il s'agit de proposer non pas une protection unique, mais différents outils combinés pour augmenter la sécurité, tout en conservant une accessibilité satisfaisante. Rien de bien révolutionnaire à mes yeux, mais qui sait, cela peut vous servir...

Février 2008 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 181

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.5 et 4.4.8; MySQL 5.0.51 (communauté) , 4.1.22, ainsi que 5.1.22-beta et 6.0.3.
Les mises à jour sont recommandées vers ces versions.



6 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
Drupal, Gallery, Joomla, PHPSavant, WordPress et ming



Février 2008 – Nexen.net: Stubbles 0.50

Image pour le titre du contenu
Stubbles est un nouveau framework réalisé en PHP 5. il combine des fonctions préférées à partir d'autres langages de programmation et des cadres.
Stubbles installe ses propre environnement au lieu d'utiliser les paquets que vous aimez et de le combiner avec Pear, Zend Framework ou tout autre cadre basé sur PHP.
Les principales caractéristiques de Stubbles sont :
* Extended Reflection API Extension de l'API de réflexion
* Inversion of Control features Inversion of Control fonctionnalités
* MVC architecture MVC architecture
* Unified XML API Unified API XML
* JSON/AJAX support

Février 2008 – Nexen.net: Concours de tutoriels lancé par apprendre-php.com

Image pour le titre du contenu
J'ai le plaisir et la joie de vous présenter le tout premier concours du site Apprendre-PHP.com. Peut-être le savez-vous déjà si vous suivez le site depuis sa création mais la première bougie pointe le bout de sa flamme. C'est donc à cette occasion que j'ai décidé de mettre en place ce concours afin de fêter comme il se doit cette première bonne année, et aussi remercier toutes les personnes qui y contribuent.
En quoi consiste ce concours ?
Le principe de ce premier concours est simple. Chaque participant devra proposer et mettre un oeuvre un tutoriel autour de PHP. Le choix du sujet est laissé à l'appréciation du participant à partir du moment qu'il présente un aspect de PHP5 (POO, PDO, MySQLI, SimpleXML, WebService, Frameworks...)...

Février 2008 – Nexen.net: Abstraction de fichiers : un avantage de PHP

Image pour le titre du contenu
Les streams sont une abstraction des fichiers : en créant un gestionnaire de fichiers, il est possible d'accéder à de nombreuses ressources exactement comme on accède à un fichier. Plus encore, les gestionnaires PHP sont choisis directement via l'URL, en choisissant le bon protocole. mail:// pop3:// monprotocole://. Manuel Lemos vous donne un exemple d'utilisation et un cas réel.

Février 2008 – Nexen.net: Actualité de développement PEAR, edition 181

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

  • en paquet PEAR (0 visite) : Système de base PEAR

  • en DB_DataObject (0 visite) : Générateur de dataobject, pour représenter une table SQL en PHP

  • en LiveUser (0 visite) : Cadre de droits et d'identifications d'utilisateurs

  • en HTML_Template_Flexy (0 visite) : Template basé sur le Tokenizer

  • en Text_Diff (0 visite) : Moteur pour effectuer et afficher des différences de texte

  • en File_Ogg (0 visite) : Access Ogg bitstreams

  • en pearweb_phars (0 visite) : Le code source poru le site gopear.com

  • en Services_Digg (0 visite) : Interface PHP pour Digg

  • en pearweb_gopear (0 visite) : Script go-pear pour pear.php.net

  • en Net_CheckIP2 (0 visite) : Paquet de validation d'une adresse IP v4

  • en Crypt_GPG (0 visite) : GNU Privacy Guard (GPG)


PEAR est la bibliothèque de composants PHP.

 



 

Février 2008 – tigrou/pwet.fr: Générer des URL significatives en PHP

Il existe beaucoup de types d'URL possible pour une application web et encore plus de codes pour les générer. Une bonne URL devrait être assez courte mais significative. Par exemple le CMS eZ Publish depuis sa version 3.10 utilise un système assez complexe (en code) mais très souple permettant de produire des URLs selon le format de son choix (avec ou sans majuscule, en conservant ou non les accents, les espaces, choix du séparateur, ...) . Si, on ne trouve pas son bonheur on peut même écrire une extension pour un formatage sur mesure, voir par exemple celle de Damien Pitard sur ez.no optimisant les URLs pour l'indexation de contenu dans Google Actualités .

Quand on écrit une application simple en tout cas, moins générique qu'un CMS comme eZ Publish, on peut faire plus simple. Personnellement, j'aime les URLs de la forme "generer-des-url-en-php", c'est à dire en minuscule sans caractère spécial ni accent avec un tiret comme séparateur, c'est a priori la forme la plus simple et optimisée pour les moteurs de recherche .

Pour produire, une URL de ce type j'utilise une fonctionnalité assez peu connue de la fonction iconv() : la translittération. En gros, iconv() est capable lors de la conversion d'un jeu de caractères à un autre de trouver des équivalences si un caractère ne peut être représenté dans le jeu de caractères cible. Par exemple, si on convertit un é en ASCII, iconv() proposera un e à la place avec l'option TRANSLIT, le symbole € sera lui remplacé par "eur"... C'est d'ailleurs aussi très pratique pour traiter des chaînes de caractères issues de copier coller de traitement de texte comme Word qui insère pas mal de bizarreries.

Le code que j'utilise est le suivant :

<?php
class MonApplicationTools
{
    const LOCALE = 'fr_FR.UTF-8';
    const CHARSET = 'UTF-8';
    const SEPARATOR = '-';
 
    static function initLocale( $locale = self::LOCALE )
    {
        setlocale( LC_ALL, $locale );
    }
 
    static function URLize( $str, $fromCharset = self::CHARSET, $separator = self::SEPARATOR )
    {
        $tmp = iconv( $fromCharset, 'ASCII//TRANSLIT', trim( $str ) );
        $pattern = array( '/[^a-z0-9]/',
                            '/' . $separator . $separator . '+/',
                            '/^' . $separator . '/',
                            '/' . $separator . '$/' );
        $replacement = array( $separator, $separator, '', '' );
        return preg_replace( $pattern, $replacement, strtolower( $tmp ) );
    }
}
 
MonApplicationTools::initLocale();
$url1 = MonApplicationTools::URLize( 'Générer des URL en PHP' );
$url2 = MonApplicationTools::URLize( 'Fraude sur des milliards d\'€ à la Société Générale !!' );
echo $url1 . '<br />' . $url2;
// renvoie
// generer-des-url-en-php
// fraude-sur-des-milliards-d-eur-a-la-societe-generale
?>

Le seul inconvénient de cette méthode est qu'il faut initialiser la locale utilisée par l'application par une locale existante sur le système et reconnaissant les caractères à transformer, ce qui est rarement le cas par défaut mais peut être très utile par ailleurs si on veut par exemple utiliser des formats de dates normalisés et localisés avec strftime() . L'appel de la méthode initLocale() (qui appelle setlocale() ) réalise ce travail et aura sa place dans un fichier d'intilialisation globale (connexion à la base de données, définition du __autoload, ...) inclus dans tous les scripts. Il faut également prêter attention au fait que sous Windows, les locales ne s'écrivent pas de la même manière , évidemment, c'eut été trop simple sinon !

Février 2008 – Nexen.net: Gestion de dépendances objets

Image pour le titre du contenu
Les dépendances d'objets font partie des problèmes classiques en programmation : une ressource a besoin d'une autre pour fonctionner. Or, la programmation objet pousse à écrire des objets indépendants les uns des autres. Comment résoudre cette quadrature du cercle?
Avec des conteneurs et des usines. Ces dernières produisent des objets et les font interagir. Elles prennent en charge l'unicité et la sécularité des objets, tout en assurant que chaque objet a bien les ressources dont il dispose. Troels Knak-Nielsen en a fait tout un tutoriel.

Février 2008 – Nexen.net: Scanner Internet avec traceroute

Image pour le titre du contenu
Les noms de domaines ont une résonnance particulière pour nexen.net, puisque nous faisons tourner les statistiques PHP, basée sur une trentaine de millions de domaines. Le tutoriel de Jan Knechke, consacré à la géolocalisation et à l'utilisation de traceroute pour analyser l'ensemble d'internet est alors particulièrement intéressant.
Si les exemples mentionnent un paquet Perl, sachez qu'il existe bien des paquets PHP pour réaliser des traceroute :

Février 2008 – Nexen.net: Trouver les tables MySQL les plus grosses

Image pour le titre du contenu
Peter Zaitsev publie une de ces requêtes dont il a le secret : "Trouver les tables les plus grosses sur MySQL est un jeu d'enfant en MySQL 5.0, grâce à la base Information Schema. Mais je voulais quand même publier cette dépêche pouvoir la retrouver plus tard, et en plus, elle est agréable dans sa présentation des informations."

Février 2008 – Nexen.net: CSRF : de vrais problèmes

Image pour le titre du contenu
Les CSRF sont parfois écartées du revers de la main, comme un problème bénin, mais on commence à voir des applications réelles : comme le cas de David Airey qui s'est fait détourner son nom de domaine durant ses vacances pour un problème de CSRF sur GMail.
Le virus insérait un filtre supplémentaire dans GMail, qui envoyait une copie de tous les messages à une autre adresse : celle du pirate. A partir de la, le pirate a pu demander, légitimement, à son registrar les informations de transfert, et fait envoyer le nom de domaine ailleurs.
A la base, le virus a été injecté lorsque le pauvre David a visité un site vérolé, tout en ayant GMail ouvert en même temps. Le site a initié une requête pour ajouter le filtre, et la victime ne s'est aperçu de rien.
Lisez l'ensemble de l'histoire (qui se finit bien), pour bien mesurer les implications d'une petite faille CSRF. Au passage, il est recommandé de bien se déconnecter de tous les sites importants avant de surfer sur internet. A la Rasmus, vous pourriez aussi avoir un navigateur pour vos sites importants, un autre pour le surf de tous les jours. Ce n'est pas pratique, mais cela reste le plus sur.

Février 2008 – PHP Index: Zend Form

L'une des nouveautés apparue avec le Zend Framework 1.5 est le Zend_Form.

Ce composant vous permet de créer des formulaires très facilement par l'utilisation de trois méthodes différentes selon votre préférence.
Vous aurez ainsi la possibilité de créer vos formulaires grâce à des arrays, des objets ou enfin des fichiers INI.

Pour chaque méthode, il vous suffira de déclarer les champs et les fonctions à y appliquer puis de laisser Zend_Form se charger de la création du formulaire.

Voici un court exemple avec la méthode array :

$form = new Zend_Form(array(
	'action' => '/user/login',
	'method' => 'post',
	'elements' => array(
		'username' => array('text', array(
			'validators' => array(
				'alnum',
				array('regex', false, array('/^[a-z]/i')),
				array('stringLength', false, array(6, 20))),
			'required' => true,
			'filters' => array('StringToLower'))),
		'password' => array('password', array(
			'validators' => array(
				array('stringLength', false, array(6))),
			'required' => true,)),
		'submit' => 'submit',),));
Ce composant vous laisse une grande liberté de paramétrage pour créer aussi bien des formulaires basiques que des formulaires complexes.

Source
Guide de démarrage rapide

Proposé par Clément Péronneaud

Février 2008 – PHP Index: Zend Platform 3.6

Une nouvelle version de Zend Platform, la plate-forme de développement et de déploiement PHP de Zend Technologies, est disponible depuis le 22 janvier 2008.

Les principales nouveautés de cette version 3.6 concernent tout d'abord les performances avec une amélioration de la gestion du cache (cache basé sur les url, cache en utilisant les namespaces, cache en mémoire) et une optimisation de la bande-passante utilisée pour les téléchargements.

Le monitoring a également été amélioré avec un meilleur suivi des erreurs HTTP, des processus d'Apache et des exceptions Java provenant de Java Bridge et avec une nouvelle fonctionnalité permettant de reproduire les problèmes survenus dans un environnement de production sur des serveurs de développement.

Notons enfin une amélioration de la gestion de clusters qui permet de déployer une application PHP sur différents serveurs.

Février 2008 – tigrou/pwet.fr: eZ Find, Solr and eZ Publish

I'm working on a professionnal project using eZ Find extension and I must say that I'm very impressed by this extension and even more by Solr . Last october at the developper day , Paul Borgermans told us a lot of good points about Solr. I was a bit skeptical about the technological blend (PHP + Java) but the search webservice provided by Solr is a very clever solution much more efficient and scalable than the Lucene extension with PHP Java bridge module and its memory problems .

For the project, I added custom sorting on content object attributes or meta attributes and indexing of external contents (not in the eZ Publish database). Solr is pretty well documented and it has an impressive number of options and can be use in any project. If you want to integrate Solr in a PHP project, there is a good article in IBM developperWorks about Solr with PHP where you can find a PHP Solr Client .

Février 2008 – PHP Index: PostgreSQL 8.3

La nouvelle version de PostgreSQL a été publiée aujourd'hui avec de nouvelles fonctionnalitées et d'importantes améliorations de performances.

Au programme des nouveautés on retiendra entre autres :
- L'ajout des types ENUM, UUID et des tableaux composites
- La possibilité de choisir la place du NULL lors d'un ORDER BY
- Le support de la syntaxe SQL/XML
- La réutilisation des espaces libérés lors des DELETE/UPDATE
- La validation asynchrone des transactions (Asynchronous Commit)

La liste complète des nouveautés de cette version est disponible dans le changelog.

Site officiel de PostgreSQL
ChangeLog
Télécharger

Proposé par LACHAUD Fabien

Février 2008 – Nexen.net: Solutions Linux 2008 et AG AFUP : les photos

Image pour le titre du contenu
Les photos du Salon Linux, comprenant la longue collection de pin-up avec l'éléphpant, ainsi que les photos de l'assemblée générale de samedi dernier sont maintenant en ligne. Vous pourrez ainsi découvrir le nouveau bureau AFUP, tout en couleurs!

Février 2008 – Nexen.net: Première visite PHP 6

Image pour le titre du contenu
Pour le salon Linux, j'ai regardé de plus près PHP 6 pour préparer ma conférence sur cette nouvelle frontière qui devrait s'ouvrir dans l'année. J'ai rassemblé plusieurs informations intéressantes rassemblées durant la préparation de cette session dans un premier article consacré à la future version : les premiers contacts sont très prometteurs en termes de vitesse d'exécution.
L'enregistrement de la conférence sera mis en ligne d'ici les prochains jours. Mais les slides sont déjà accessibles. Et en français.

Février 2008 – PHP Index: Tutoriel CakePHP

Un tutoriel pour CakePHP par IBM

CakePHP est un framework de développement rapide pour PHP qui procure une architecture extensible pour le développement, la maintenance et le déploiement d'applications réduisant les coûts de développement et le nombre de lignes de code écrites par le développeur.

Pour faciliter son utilisation, un tutoriel en plusieurs étapes est proposé, allant de la simple mise en place du framework à l'utilisation avancée du cache pour optimiser l'application.

Système requis :
- Un serveur HTTP supportant les sessions
- PHP V4.3.2 ou plus
- Un gestionnaire de base de données
- Une base de donnée

Tutoriel

Proposé par Clément Péronneaud

Février 2008 – PHP News: Apache derrière un proxy

Si vous utilisez Apache derrière un Load Balancer tel que HAProxy, ou alors derrière un Lighttpd avec mod_proxy, celui-ci ne verra plus que comme adresse IP cliente l’adresse du proxy, et non l’adresse IP de votre visiteur. Cependant, celle-ci est réécrite par le proxy dans les entêtes HTTP via le champ X-Forwarded-For.

Voilà donc deux choses à ne pas oublier si vous êtes dans une telle configuration :

  • Pour récupérer en PHP l’adresse IP du client, il faut utiliser $_SERVER['HTTP_X_FORWARDED_FOR'] et non $_SERVER['REMOTE_ADDR']
  • Il faut changer l’enregistrement des logs Apache pour afficher la vraie adresse cliente. Pour cela, il faut modifier les directives LogFormat de la configuration Apache en ramplacant “%h” (qui correspond au “Remote host”) par “%{X-Forwarded-For}i” (qui correspond à l’entête HTTP X-Forwarded-For reçue par Apache) :
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common

Février 2008 – Nexen.net: Quatre moyens pour échanger des données entre PHP et Flash

Image pour le titre du contenu
Les formulaires Flash imposent un canal de communication particulier entre PHP et le client. Pour envoyer les informations, Flash utilise l'URL, tandis que PHP retourne une page complète, avec un corps au format XML. DevX vous montre comment réaliser les deux opérations dans un exemple de formulaire réel.

Février 2008 – Nexen.net: Le dilemme des versions pour les hébergeurs

Image pour le titre du contenu
Il y a des chances que vous tombiez directement sur un hébergeur en PHP 4 par défaut, de nos jours. Malgré la poussée forte de PHP 5, les hébergeurs sont réticents à faire le saut : beaucoup de code n'est compatible qu'avec PHP 4, et ne supporte pas PHP 5.
La meilleure solution est encore de préparer les deux configurations, et de laisser les utilisateurs décider de leur migration via une interface d'administration (c'est déjà ce que fait
Nexen Services sur ses hébergements mutualisés).

Février 2008 – Nexen.net: Q&R avec Mårten Mickos, CEO de MySQL AB, à propos de l'Acquisition par Sun

Image pour le titre du contenu
Colin Charles reçoit Mårten Mickos en entrevue pour faire le point sur l'acquisition de MySQL par Sun. On y apprend que si MySQL visait le milliard l'an dernier, c'est toujours d'actualité : leur objectif est d'atteindre 1 milliard de dollars de revenues, (et pas de prix d'acquisitions). Il reste beaucoup de chemin à faire, mais MySQL espère y arriver plus vite avec l'aide de Sun.
Mårten Mickos insiste aussi sur les bonnes relations que MySQL entretient avec de nombreuses bases de données (hormis les grosses, apparemment), et qui lui permettront de cohabiter de manière fructueuse avec la communauté PostGreSQL chez Sun.

Février 2008 – Nexen.net: Les elephpants sur Facebook

Image pour le titre du contenu
Il semble que je vais finalement devoir ouvrir un compte facebook : les éléphpants ont leur groupe maintenant sur facebook!
Il y a aussi un groupe sur flickr.
Rien encore dans les videos, mais je n'ai pas encore posté ma création du salon linux... wait and see.

Février 2008 – Nexen.net: Les pages 404 sous brevet Amazon

Image pour le titre du contenu
Via Pierre-Alain Joye et le monde informatique, on découvre le brevet 7,325,045 qui décrit rien de moins que le traitement des situations où une ressource ne peut pas être chargée par un ordinateur. Cela couvre bien sûr les pages 404, mais d'autres situations (ressources indisponibles, inaccessible...). Deja, avec le brevet one-click d'Amazon, on avait vu les limites du système de brevets américains.
Mais que cherche-t-il à protéger avec ce type de brevet?

Février 2008 – Nexen.net: Conférences Zend Framework

Image pour le titre du contenu
Les étudiants de la licence Professionnelle WebDeveloppeur de l'INSSET à Saint-Quentin (Picardie) organisent une journée conférences sur Zend Framework le jeudi 21 fevrier 2008.
La journée se décomposera en 2 :
- Le matin avec une présentation de l'AFUP et de PHP, du Zend Framework, du projet Inist-CNRS et une comparaison des différents Frameworks
- L'apres midi sous la forme de Tutoriaux

Février 2008 – PHP Index: J'entreprends en Bourgogne

Après le lancement de la plate-forme e-bourgogne en 2004, la région Bourgogne continue d'apporter son aide au développement économique de la région avec la mise en ligne en septembre 2007 du site J'entreprends en Bourgogne, portail d'aide et de ressources pour les entreprises de la région.

Présenté le 05 février 2008 lors d'une conférence de presse à Paris, le projet repose entièrement sur des technologies libres. Le site a été développé en PHP avec une base de données MySQL et des applications telles que SPIP et EzPublish pour la gestion de contenu ou AKIO pour la gestion des mails.

Le choix des logiciels libres permettra à d'autres collectivités de pouvoir mettre en place un site similaire comme les régions d'Alsace, d'Auvergne et de Bretagne qui semblent déjà intéressées.

Pour en savoir plus
La Bourgogne mène sa politique économique en ligne
Aides aux PME : La Bourgogne pilote en ligne
J'entreprends en Bourgnogne

Février 2008 – PHP Index: Plug-in générateur de classe PHP pour Eclipse

Créez vos classes PHP à partir de d'une base de données.

Ce plug-in Eclipse (PHP Class Generator Plugin) est un outil permettant de générer automatiquement des classes PHP reflétant la structure de vos tables de base de données. A chaque table est associée une classe, chacune contenant un attribut pour chaque champ en base, ainsi que les méthodes "getters" et "setters" pour récupérer ou affecter une valeur à ces champs. Cet outil est initialisé à partir d'un template XML à créer soi-même contenant les informations que l'on souhaite générer (attributs/méthodes supplémentaires, génération des setters/getters), gérant également les types static/public/private des méthodes.

Ce plugin peut être assez intéressant si l'on développe de cette façon (Objet, une table=une classe PHP) et que vos tables disposent de nombreux champs, les méthodes classiques (getters, setters) seront générées automatiquement pour seulement quelques lignes de commande dans le template XML. De la même façon les méthodes d'insertion et de mise à jour de ligne peuvent être généralisées puisque le plug-in se charge de les définir en fonction de la structure de la table. Rien n'empêche bien sûr d'adapter ces définitions par la suite mais le plug-in peut vous épargner un travail souvent très répétitif.

Lire l'article
PHP Class Generator Plugin

Février 2008 – PHP Québec: 3/12 15:30 Salon de l'emploi OpenSource PHP Québec

L'équipe de PHP Québec vous invites au 'Salon d'emploi open source et 5@7'.

À partir de 15h30 le mercredi 12 mars, tous les visiteurs de la conférence, développeurs et membres des diverses communautés locales sont invités à rencontrer les entreprises et les chasseurs de tête à la recherche de développeur, chef d'équipe, gestionnaire de base de donnés, gestionnaire de systèmes qualifiés. Vous pouvez également prendre un verre et discuter avec d'autres développeurs PHP passionnés.

Recruteurs
Si vous êtres une entreprise à la recherche de personnel qualifié de la communauté open source, c'est l'événement idéal.

* Louez un espace pour 500$ et apportez votre kiosque pour une visibilité maximale
* Louez un espace pour 500$ et obtenez l'équipement de base gratuitement
* Rendez-vous à l'événement gratuitement pour rencontrer de potentiels employés

Pour plus d'informations veuillez communiquer avec nous.

Chercheurs d'emploi
Trouvez d'excellentes opportunités d'emploi. Plus important, parlez directement aux employeurs potentiels dans une ambiance détendue. Cet événement est ouvert à tous. Lorsque vous vous enregistrez via le formulaire ci dessous, vous obtenez à votre arrivée un badge spécial "chercheur d'emploi" avec votre nom.

Boissons gratuites
Tous les visiteurs inscrits aux PHPLabs auront droit à des consommations gratuites pour créer un environnement encore plus confortable. Ceci facilitera les conversations entre les chercheurs d'emploi et les recruteurs.

Date & Emplacement
Date : Mercredi 12 mars
Heure : Début à 15h30 jusqu'à 19h00
Lieu : Sofitel Montreal 1155 Sherbrooke Ouest. (Métro Peel)

Enregistrement pour le salon de l'emploi
http://conf.phpquebec.com/fr/emplois

=====================================================================================

The PHP Québec team invites you to the 'Open Source Job Fair & Cocktail'

Starting at 3:30 p.m. on Wednesday, March 12th, all conference visitors, local developers & community members are invited to meet with companies and head hunters that are looking for qualified developers, team leaders, database administrators and system administrators. Or, simply join us to enjoy a few drinks and talk with other passionate Web developers.

Recruiters
If you are a company that is looking for qualified personnel from the open source community, this is the perfect event to attend to.

* Rent a booth space for 500$ and bring your own kiosk for greatest visibility
* Rent a booth space for 500$ and get basic equipment for free
* Attend the event for free and meet your potential employees

For more information please contact us.

Job Seekers
Find great job opportunities. Most importantly, speak right away with potential employers in a relaxed environment. This event is open to everyone.
When you register using the form below, you will receive a special 'Job Seeker' badge with your name upon arrival.

Free Drinks
All PHPLabs attendees will have free drinks to create an even friendlier environment. This will facilitate conversations between the job seekers and recruiters.

Date & Location
Date : Wenesday, March 12th
Time : Starting at 15h:30 until 19h:00
Location : Sofitel Montreal 1155 Sherbrooke West. (Metro Peel)

Register
http://conf.phpquebec.com/en/emplois

Février 2008 – PHP Québec: 5/16 9:00 codeFest PHP Québec 2.1



L'équipe de PHP Québec est fier de vous invitez au codeFest 2.1 qui aura lieu le 16-18 Mai 2008 à Montréal & Sherbrooke.
Le codeFest est une bonne opportunité pour rencontrer d'autres membres de la communauté OpenSource de PHP, Python, Ruby, Java et échanger sur divers techniques de développement.

Nous invitons les développeurs Juniors & Senior à ce joindre à nous pour deux jours d'optimisation & d'écriture de test unitaire pour votre projet OpenSource préféré.

Les projets proposés sont:
* MediaWiki
* Drupal
* WordPress
* TikiWiki CMS/Groupware
* BeWelcome
* Habari
* Anne G. wikigraphe
* PHP Quebec Employment section
* Votre projet (contactez nous, contact@codefest.com)

Les objectif du codeFest sont:
* Écrire des tests unitaires afin d'augmenter la qualité des applications OpenSource
* Optimiser les applications proposé

Nous sommes présentement à la recherche de:
* 1-2 commanditaires afin de fournir la nourriture et consommations (500$) contacter ylarrivee@phpquebec.com
* Une personne pour prendre en charge le développement sur Drupal
* Une personne pour prendre en charge le développement sur Typo3
* Une personne pour prendre en charge le développement sur WordPress

Date & Lieu:

À Montréal
Vendredi 16 19:00-22:00 (social)
Samedi 17 9:00-18:00 (codeFest)
Dimanche 18 9:00-18:00 (codeFest)

Lieu : L'ESCALIER
Address: 552, Sainte-Catherine est,Montreal, Quebecl
Metro: Metro Berri-Uqam
Map : http://tinyurl.com/5hnb3d

À Sherbrooke:
Date : 16-18 Mai 2008
Heure : 9:00am-6:00pm
Lieu : 975-3, rue Perry, Sherbrooke, Qc
Map : http://tinyurl.com/4vt8wx
Voir : http://blog.autre-chose.org/2008/05/11/troisieme-codefest/

Confirmez votre présence sur:
* On UpComing : http://upcoming.yahoo.com/event/319522/
* On Facebook http://www.facebook.com/event.php?eid=6086277831

================================================
The PHP Quebec team is pleased to invite you to the codeFest PHP Quebec 2.1 that will be held in Montreal & Sherbrooke on May16th-18th 2008.

The codeFest is a great opportunity to meet with peers PHP, Python, Ruby, Java developers and share knowledge and participate in the development of OpenSource software.

Senior & Junior developers from the PHP, Python, Ruby, Java community are invited to join us for 2 days of optimization & Unit Testing of your favorite OpenSource project.

Proposed Projects in 2.1:
* MediaWiki
* Drupal
* WordPress
* TikiWiki CMS/Groupware
* BeWelcome
* Habari
* Anne G. wikigraphe
* PHP Quebec Employment section
* Your project! (Contact us contact@codefest.wscontact at codefest.ws

Goal:

* Improve the performance of OpenSource projects
* Improve code quality of OpenSource projects by writing UnitTest

We are currently looking for:
* 1-2 Sponsor to help cover expenses such has food and drinks (500$) contact ylarrivee@phpquebec.com
* Project leader for Drupal
* Project leader for WordPress
* Project leader for Typo3

In Montreal
Date & Time
Friday 16th 19:00-22:00 (social/casual/unofficial warm-up)
Saturday 17th 9:00-18:00 (codeFest)
Sunday 18th 9:00-18:00 (codeFest)
Location : L'ESCALIER
Address: 552, Sainte-Catherine est,Montreal, Quebec
Metro: Metro Berri-Uqam
Map : http://tinyurl.com/5hnb3d

In Sherbrooke:
Date : May 16th-18th 2008
Time : 9:00am-6:00pm
Location : 975-3, rue Perry, Sherbrooke, Qc
Metro : N/A
Map : http://tinyurl.com/4vt8wx
See : http://blog.autre-chose.org/2008/05/11/troisieme-codefest/

Also on:

* On UpComing : http://upcoming.yahoo.com/event/319522/
* On Facebook http://www.facebook.com/event.php?eid=6086277831

Février 2008 – Nexen.net: Vidéo PHP et MySQL, édition 31

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.

Février 2008 – Nexen.net: Comment assurer la compatibilité ascendante?

Image pour le titre du contenu
Tous les utilisateurs veulent la compatibilité ascendante, pour ne pas avoir à faire de modification entre deux versions. Ils seront unanimes sur le sujet. Mais l'évolution d'une API reste un problème d'anticipation crucial pour les développeurs : on ne peut ni le prévoir ni le gérer.
Boy Baukema a rassemblé les 6 stratégies de compatibilité ascendante pour un projet, et vous y retrouverez sûrement le votre. N'oubliez jamais que la compatibilité n'est jamais qu'une hypothèque sur l'avenir.

  • Concevoir très bien son API

  • Incuber

  • Obsolescence

  • Versions

  • Mises à jour

  • Recommencer


Chaque approche peut être vue comme une solution de remplacement de la précédente : au début, on conçoit l'API suffisamment. Puis, quand elle n'est plus assez souple pour continuer, on la remplace par une version 2, jusqu'à ce que les modifications soient tellement grandes... qu'on reprend tout à zéro.

Février 2008 – Nexen.net: Injections de dépendances dans le Zend Framework

Image pour le titre du contenu
Les objets travaillent mieux quand ils sont associés : cette approche impose alors que deux objets se rencontrent pour réaliser une tâche et cette contrainte s'appelle une dépendance. Un objet dépend d'un autre. Lequel va créer l'autre et comment les faire se rencontrer?
Il y a le constructeur et les accesseurs pour réaliser les premières compositions d'objets, et il existe aussi l'injection de dépendance : on passe par un objet intermédiaire, qui prend en charge la création des objets, et éventuellement, leur remplacement par une version de simulation. Pádraic Brady vous montre comment cela marche dans le Zend Framework.

Février 2008 – Nexen.net: Roadmap 2008 pour les eZ components

Image pour le titre du contenu
Derick Rethans publie la nouvelle roadmap des eZ components pour 2008. Au programme :

  • Document : conversions entre différents formats, en se concentrant sur le nouvel éditeur OE et eZ Publish 4 au début.

  • ExtendedReflection : couche de base pour l'analyse du code source, pour construire un framework de génération de services Web (contribution externe).

  • Feed : manipulations de RSS/ATOM

  • Recherche : indexation et requêtes avec Solr et d'autres moteurs de recherche

Février 2008 – Nexen.net: Performances de PHP : de 3.0.18 à 5.3.0-dev

Image pour le titre du contenu
Sebastian Bergmann publie un atelier de performances portant sur les versions 3.0.18, 4.3.11, 4.4.7, 5.0.5, 5.1.6, 5.2.5, 5.3.0-dev. L'outil de mesure est le script Zend/bench.php, et l'ensemble des données est présenté dans un magnifique graphique eZ components : ce dernier est un peu difficile à lire, mais on voit clairement les performances particulières de chaque opération s'améliorer au fur et à mesure que PHP croît en version. Cela rejoint le test PHP 6 que j'ai mené la semaine dernière.

Février 2008 – PHP Index: NaturalGlam crée son site de e-commerce personnalisé en 45 jours

NaturalGlam déploie son site e-commerce en 45 jours

NaturalGlam a mis en place un site d'e-commerce basé sur une plateforme LAMP en seulement 45 jours.

Le site est développé sur une base de Drupal auquel ont été ajoutés des modules afin de satisfaire les besoins du projet. Le choix de l'utilisation des technologies LAMP s'est justifié par le faible coût de l'hébergement ainsi que la quantité de ressources de prestataires compétents dans ce secteur.

Lire l'article sur indexel.net
NaturalGlam

Février 2008 – PHP Index: JDnet : MySQL / Ingres

Comparatif MySQL/Ingres sur JDNet

Publié sur JDN, un article fort intéressant compare l'évolution de MySQL et d'Ingres, deux gestionnaires de bases de données relationnelles.

D'un côté, nous avons le SGBD jeunot bien connu sur le web, très utilisé par les sites Internet basés sur l'Open Source et tout juste racheté par Sun Microsystems.

De l'autre, un des concurrents qui se destinait initialement aux grands comptes et administrations, semble avoir perdu dans ce domaine face à Oracle et tente maintenant de renaître dans le monde du libre.

Lire l'article

Proposé par Clément Péronneaud

Février 2008 – PHP Index: Séminaires web par Zend

Prochains webinaires proposés par Zend

Résultat de la contraction des mots 'web' et 'seminar', les webinaires (traduction française qui en découle) sont des conférences web où l'orateur présente en première partie un sujet, suivies de questions-réponses de la part de l'audience.

Suite aux sorties des nouvelles versions de ses applications, Zend propose une série de webinaires sur l'utilisation ou l'optimisation de ces applications et composants (conférence en anglais).

Pour vous y inscrire, suivez les liens ci-dessous présentant chaque webinaire et cliquez sur 'More Informations'.

- Amélioration des performances des applications web avec Zend Platform
- Zend Framework : Authentification
- Zend Framework

Proposé par Clément Péronneaud

Février 2008 – Nexen.net: Actualité de développement PECL, edition 187

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

  • en memcache (0 visite) : cache mémoire

  • en perforce (0 visite) : interface Perforce

  • en sqlite3 (0 visite) : sqlite 3


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

 



 

Février 2008 – Nexen.net: MySQL et PostGreSQL sont sur un bateau Sun....

Image pour le titre du contenu
Jay Pipes raconte : "Quand je vais dans une conférence, je me fait invariablement demander par quelqu'un : "Alors, vous êtes en concurrence féroce avec PostgreSQL, hein?" Ma réponse est typiquement "Non, pas vraiment", à la grande surprise de l'interlocuteur".
Vous trouverez beaucoup d'articles (anciens?) qui opposent PostGreSQL et MySQL, les présentant presque comme des soeurs ennemies. Pourtant, les canaux de communications entre les deux projets sont nombreux, et aucun d'entre eux n'a fini par prendre le pas sur l'autre. Avec le support de Sun qui va maintenant à PostGreSQL et à MySQL, on peut s'attendre à voir des rapprochements se faire, plutôt que l'un phagocytant l'autre. PostGreSQL tiendra d'ailleurs une session complète durant la prochaine conférence MySQL.

Février 2008 – z-f.fr: Livre : Zend Framework in Action

Forum: Brèves
Auteur: philippe
Écrit le: Fri, 08 Feb 2008 00:06:13 +0100
Dernier message: Wed, 09 Apr 2008 14:23:39 +0200

Février 2008 – Kamelot Blog: PHP 6 et l'unicode au FOSDEM

Schedule: Unicoding With PHP 6

Andrei Zmievski vient présenter "Unicoding With PHP 6" au fosdem le 23 Février 2008 à 15h au JANSON

Le support d'Unicode est la nouvelle fonctionnalité principale de PHP 6. La présentation a pour but d'en présenter les avantages.

Don't be left behind as the software world moves towards language and cultural sensitivity. Speaking Unicode is all the rage these days and this session will show what PHP has learned and how easy it will be to work with multilingual text.

Cette présentation donnera un aperçu des principales caractéristiques du support de l'Unicode et permettra d'illustrer les nouvelles fonctionnalités d'internationalisation avec une variété de démonstrations sur des sujets tels que:

  • Conversion de jeux de caractères
  • analyse des limites de Texte
  • travail avec des dates et calendriers internationaux
  • Translittération et normalisation
  • Travailler avec les jeux de caractères et propriétés

Février 2008 – Nexen.net: Les erreurs à éviter pour un programmeur PHP

Image pour le titre du contenu
Lors de la réalisation d'un projet en PHP, il est possible de repérer les developpeurs PHP qui sont dit "parresseux". Reinhold Weber dresse sur son blog une liste de 40 signes permettant d'effectuer rapidement un repérage du code.
Son étude correspond à une approche totalement subjective de sa part et se trouve très orienté vers Eclipse.
Mais certains points de ces 40 signes, peuvent être appliquer sur l'ensemble des projets PHP. Voici quelques signes importants :
- Absence de méthodologie cohérente
- Absence de normes de codage, de nomage et les conventions générales
- Ne pas utiliser un débogueur
- Aucune optimisation des requêtes sql
- Aucune liste de gestion intelligente des erreurs
- Ne pas utiliser les expressions régulières
- Ne pas comprendre les avantages et les limites de la programmation orientée objets
- Ne pas avoir un seul et unique fichier de configuration
- Absense d'optimisation de votre conception de l’application en fonction des patterns
- Polluer l'espace de nommage global, une option est à préfixer les fonctions dans votre bibliothèque avec un string

Février 2008 – Arnaud Limbourg: Sécurité PHP5 et MySQL

Il y a quelques temps déjà Damien Seguy m'a demandé si je voulais bien faire une revue de son livre "Sécurité PHP5 et MySQL", j'ai accepté avec grand plaisir et peu de temps après il m'a envoyé un exemplaire (la partie disclaimer comme disent nos amis anglo-saxons).

Le livre passe en revue de nombreuses considérations à prendre en compte lors du développement d'applications web. Bien sur des composantes tiennent du bon sens et sont applicables ailleurs que le web.

Le sommaire (repris du site Eyrolles):

  # Risques liés aux applications web

    * Introduction à la sécurité des applications web
    * Vulnérabilités des pages web
    * Formulaires et téléchargement ; valider les données
    * Cookies et sessions

 # Mesures de sécurité pour PHP

    * Installation et configuration de PHP
    * Intégrité des scripts PHP
    * Risques liés aux bases de données
    * Vulnérabilités des base de données
    * Mesures de sécurité pour MySQL

 # Mesures de sécurité pour les technologies connexes

    * Mesures de sécurité côté serveur
    * Techniques de sécurisation des applications web
    * Mener un audit de sécurité

Le plan est clair est progressif, les aspects simples précédents les attaques plus tordues. Les auteurs rappellent à tout moment qu'il s'agit de faire un compromis entre les différents éléments d'un système dont la sécurité fait partie.

Si vous débutez ou n'avez jamais pris l'aspect sécurité de façon sérieuse je vous recommande vivement d'acheter cet ouvrage. Vous y apprendrez toutes les bases nécessaires.

Pour ceux déjà familier avec la sécurité il servira de référence. Vous pourrez aussi le laisser négligemment traîner sur votre bureau pour le porter à l'attention de vos collègues. Et enfin il vous donnera bons arguments lors des discussions avec vos responsables.

Février 2008 – Arnaud Limbourg: Sécurité PHP5 et MySQL

Il y a quelques temps déjà Damien Seguy m'a demandé si je voulais bien faire une revue de son livre "Sécurité PHP5 et MySQL", j'ai accepté avec grand plaisir et peu de temps après il m'a envoyé un exemplaire (la partie disclaimer comme disent nos amis anglo-saxons).

Le livre passe en revue de nombreuses considérations à prendre en compte lors du développement d'applications web. Bien sur des composantes tiennent du bon sens et sont applicables ailleurs que le web.

Le sommaire (repris du site Eyrolles):

  # Risques liés aux applications web

    * Introduction à la sécurité des applications web
    * Vulnérabilités des pages web
    * Formulaires et téléchargement ; valider les données
    * Cookies et sessions

 # Mesures de sécurité pour PHP

    * Installation et configuration de PHP
    * Intégrité des scripts PHP
    * Risques liés aux bases de données
    * Vulnérabilités des base de données
    * Mesures de sécurité pour MySQL

 # Mesures de sécurité pour les technologies connexes

    * Mesures de sécurité côté serveur
    * Techniques de sécurisation des applications web
    * Mener un audit de sécurité

Le plan est clair est progressif, les aspects simples précédents les attaques plus tordues. Les auteurs rappellent à tout moment qu'il s'agit de faire un compromis entre les différents éléments d'un système dont la sécurité fait partie.

Si vous débutez ou n'avez jamais pris l'aspect sécurité de façon sérieuse je vous recommande vivement d'acheter cet ouvrage. Vous y apprendrez toutes les bases nécessaires.

Pour ceux déjà familier avec la sécurité il servira de référence. Vous pourrez aussi le laisser négligemment traîner sur votre bureau pour le porter à l'attention de vos collègues. Et enfin il vous donnera bons arguments lors des discussions avec vos responsables.

Février 2008 – Nexen.net: Actualité de développement PEAR, edition 182

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

PEAR est la bibliothèque de composants PHP.

 



 

Février 2008 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 182

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.5 et 4.4.8; MySQL 5.0.51 (communauté) , 4.1.22, ainsi que 5.1.22-beta et 6.0.3.
Les mises à jour sont recommandées vers ces versions.



5 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
Drupal, Gallery, Joomla, WordPress et phpBB



Février 2008 – Nexen.net: Comment créer une date aléatoire en PHP

Image pour le titre du contenu
Pour générer un nombre aléatoire, il y a la fonction rand() de PHP. Pour créer une date aléatoire, vous pouvez créer directement un timestamp : cela vous donnera des dates dans l'époque Unix, à partir du 1er janvier 1970. Ou bien ajouter un nombre de secondes aléatoire à partir d'une date arbitraire, pour obtenir des valeurs plus concentrées autour d'une date particulière.

Février 2008 – Nexen.net: Rappel : toutes les méthodes magiques de PHP

Image pour le titre du contenu
PHP dispose de méthodes magiques. Absentes, elles forcent PHP à utiliser un comportement par défaut. Présente, elles permettent de personnaliser un comportement. Et avec la venue de PHP 5, elles sont nombreuses. Les connaissez-vous toutes?

  • __construct()

  • __destruct()

  • __set()

  • __get()

  • __call()

  • __toString()

  • __sleep()

  • __wakeup()

  • __isset()

  • __unset()

  • __autoload()

  • __clone()

Février 2008 – Glagla.org: Inclure “correctement” des fichiers en PHP

Bon, soyons clair, voici la bonne méthode pour inclure des fichiers PHP. Par exemple, si vous voulez inclure le fichier raoul.php sous le répertoire include. < ?php require_once (dirname(__FILE__).'/include/raoul.php'); La constante __FILE__ nous donne le chemin absolu du fichier courant et dirname son répertoire. Vous me direz, quel intérêt de faire cette manipulation, un simple < ...

Février 2008 – PHP Index: SVG sous PHP

Tutoriel pour gérer du SVG avec PHP

Lu sur www.devx.com, un article en anglais propose un tutoriel afin d'apprendre à utiliser du SVG sous PHP.

Scalable Vector Graphics (SVG) est une spécification du W3C. C'est un format de fichier basé sur XML permettant de décrire des ensembles de graphiques vectoriels.

Trois techniques simples sont présentées en début de tutoriel :
- En convertissant directement tout document SVG en document PHP (en modifiant simplement l'extension) et en ajoutant le type MIME 'image/svg+xml' en header
- En incluant le document SVG via les balises 'object' ou 'embed' dans le document PHP
- En générant le code SVG dynamiquement avec la commande 'echo' de PHP

Outre ces méthodes basiques, ce tutoriel propose les bases pour utiliser trois librairies générant du SVG :
- phpHtmlLib
- PEAR::XML_SVG
- PEAR::Image_Canvas

Tutoriel

Proposé par Clément Péronneaud

Février 2008 – PHP Index: Définir des fonctions personnalisées avec Yahoo! Web Services

Le site devshed.com vient de publier un nouveau tutorial dans la série " Using Yahoo! Web Services with PHP 5 ", dans lequel vous verrez comment définir vos propres fonctions PHP5 afin de tirer au mieux parti de l'API Yahoo!

C'est avec des exemples concrets que l'auteur nous montre comment exploiter au mieux le résultat des recherches effectuées avec le service de recherche de l'API Yahoo!. Vous y apprendrez comment créer vos propres fonctions afin de traiter le flux XML retourné lors d'une recherche classique, d'une recherche d'images ou encore d'une recherche de vidéos.

D'autres tutoriels devraient paraître prochainement, toujours dans la série " Using Yahoo! Web Services with PHP 5 ".

Tutorial

Proposé par LACHAUD Fabien

Février 2008 – Nexen.net: SPL à la rescousse des tableaux multidimensionnels

Image pour le titre du contenu
"Quand on a un tableau multi-dimensionnel, il faut parfois l'analyser de fond en comble, et pour cela, écrire du code spécifique. Un moyen très simple pour y arriver est d'utiliser la bibliothèque SPL de PHP.'"
C'est aussi vrai pour les autres structures hiérarchisées, telles que les dossiers.

Février 2008 – Nexen.net: Culture MySQL

Image pour le titre du contenu
Kaj Arnö, ambassadeur MySQL auprès de Sun, a sondé les employés de MySQL pour savoir ce qui est le plus important à préserver durant l'intégration avec l'éditeur. Le deuxième concept qui est apparu était "Préserver la culture MySQL". Et s'ensuit une liste de 144 caractéristiques de la culture MySQL, qui est généralement assez fun à lire.
En vrac : pas de construction d'empire, Marten Mickos, confiance, honnêteté, couverture de tests, le PDF mail tous les employés, chanter Helan går, courageux.
Je retiendrai d'ailleurs le coté 'approchable', fun et multi-culturel. Visiblement, les employés de MySQL sont prolixes quand vient le temps de lister les valeurs de l'entreprise.

Février 2008 – Nexen.net: Apache Worker et PHP

Image pour le titre du contenu
Brian Moon publie un billet sur son expérience récente sur Apache Worker : Apacher Worker est un mode de fonctionnement d'Apache 2 : Multi-Processing Module est une approche threadée pour Apache, où les processus partagent des espaces mémoire au lieu d'être totalement séparés. L'avantage est un gain de mémoire, puisque les threads la partage entre eux, et un gain de performances. Brian signale tout de même, comme le manuel, qu'il faut prendre ses précautions pour utiliser ce mode.

Février 2008 – Nexen.net: Installer SolidDB pour MySQL

Image pour le titre du contenu
SolidB est une base de données indépendante, qui publie aussi un moteur MySQL : vous pouvez donc utiliser MySQL pour gérer des tables au format SoliDB, et avec ses propres capacités. SoliDB est réputé pour gérer des tables de grandes tailles, et de fournir des fonctionnalités d'entreprise. Son concurrent le plus sérieux sera InnoDB.
Le problème principal de SoliDB sur MySQL est qu'il exclut les autres moteurs de tables. Soit vous faites fonctionner SoliDB sur MySQL, soit les autres moteurs. C'est difficile à croire, mais c'est comme cela . Il semble que le problème soit réglé en MySQL 5.1, avec la beta actuelle de SoliDB.

Février 2008 – Nexen.net: Avantages et inconvénients de InnoDB par fichiers

Image pour le titre du contenu
InnoDB gère les tables dans un espace de données, où toutes les données sont rassemblées. C'est le contraire de MyISAM, qui gère les données un fichier par table. Morgan Tocker a rassemblé les avantages et les inconvénients de ces deux approches : en effet, InnoDB permet de choisir l'une ou l'autre.

Février 2008 – Nexen.net: Introduction au développement piloté par les comportements

Image pour le titre du contenu
Behaviour Driven Development, le développement piloté par les comportements, est une approche de la programmation qui fait la part belle à l'approche fonctionnelle et non technique. Vous pouvez considérer le BDD comme une version évoluée des TDD (Test Driven Developpement), où on met en place des situations plus complexes que les simples tests unitaires. Pádraic Brady vous montre comment développer un navire Klingon à l'aide de cette approche (ou presque).

Février 2008 – Nexen.net: Statistiques PHP de janvier 2008

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

Février 2008 – Glagla.org: Tester les paramètres passés à votre controleur avec Symfony

Encore une petite astuce que les développeurs chevronnés connaissent déjà mais cela m’irrite toujours de retrouver ce genre de choses dans le code que je lis. En php on peut tester directement des variables. Par exemple : <?php if ($raoul) { permet de tester directement si $raoul est vide, nulle ou égale à zéro. C’est ce dernier point qui pose [...]

Février 2008 – Hello Design: Sortie en librairie

L'ouvrage

Construisez votre application

PHP et MySQL - MySQLi - PDO

 

est maintenant disponible sur Internet et dans toutes les librairies.

Pour connaitre l'ensemble des informations disponibles sur l'ouvrage et le communiqué, il suffit de sélectionner la ligne de votre choix :


Février 2008 – PHP Québec: Salon de l'emploi OpenSource PHP Québec

L'équipe de PHP Québec vous invites au 'Salon d'emploi open source et 5@7'.

À partir de 15h30 le mercredi 12 mars, tous les visiteurs de la conférence, développeurs et membres des diverses communautés locales sont invités à rencontrer les entreprises et les chasseurs de tête à la recherche de développeur, chef d'équipe, gestionnaire de base de donnés, gestionnaire de systèmes qualifiés. Vous pouvez également prendre un verre et discuter avec d'autres développeurs PHP passionnés.

Recruteurs
Si vous êtres une entreprise à la recherche de personnel qualifié de la communauté open source, c'est l'événement idéal.

* Louez un espace pour 500$ et apportez votre kiosque pour une visibilité maximale
* Louez un espace pour 500$ et obtenez l'équipement de base gratuitement
* Rendez-vous à l'événement gratuitement pour rencontrer de potentiels employés

Pour plus d'informations veuillez communiquer avec nous.

Chercheurs d'emploi
Trouvez d'excellentes opportunités d'emploi. Plus important, parlez directement aux employeurs potentiels dans une ambiance détendue. Cet événement est ouvert à tous. Lorsque vous vous enregistrez via le formulaire ci dessous, vous obtenez à votre arrivée un badge spécial "chercheur d'emploi" avec votre nom.

Boissons gratuites
Tous les visiteurs inscrits aux PHPLabs auront droit à des consommations gratuites pour créer un environnement encore plus confortable. Ceci facilitera les conversations entre les chercheurs d'emploi et les recruteurs.

Date & Emplacement
Date : Mercredi 12 mars
Heure : Début à 15h30 jusqu'à 19h00
Lieu : Sofitel Montreal 1155 Sherbrooke Ouest. (Métro Peel)

Enregistrement pour le salon de l'emploi
http://conf.phpquebec.com/fr/emplois

=====================================================================================

The PHP Québec team invites you to the 'Open Source Job Fair & Cocktail'

Starting at 3:30 p.m. on Wednesday, March 12th, all conference visitors, local developers & community members are invited to meet with companies and head hunters that are looking for qualified developers, team leaders, database administrators and system administrators. Or, simply join us to enjoy a few drinks and talk with other passionate Web developers.

Recruiters
If you are a company that is looking for qualified personnel from the open source community, this is the perfect event to attend to.

* Rent a booth space for 500$ and bring your own kiosk for greatest visibility
* Rent a booth space for 500$ and get basic equipment for free
* Attend the event for free and meet your potential employees

For more information please contact us.

Job Seekers
Find great job opportunities. Most importantly, speak right away with potential employers in a relaxed environment. This event is open to everyone.
When you register using the form below, you will receive a special 'Job Seeker' badge with your name upon arrival.

Free Drinks
All PHPLabs attendees will have free drinks to create an even friendlier environment. This will facilitate conversations between the job seekers and recruiters.

Date & Location
Date : Wenesday, March 12th
Time : Starting at 15h:30 until 19h:00
Location : Sofitel Montreal 1155 Sherbrooke West. (Metro Peel)

Register
http://conf.phpquebec.com/en/emplois

Février 2008 – PHP Index: Quoi de neuf dans PHP 5.3 ?

Dans un article publié sur le site sitepoint, Ben Balbo détaille les nouveautés de php 5.3 qui étaient initialement prévues uniquement pour PHP6.

Après avoir expliqué succintement les raisons de ce back-portable, l'auteur établit la liste des nouveautés suivantes en donnant pour chacune un exemple :

  • Ajout des espaces de nommage
  • Ajout du mot-clef "use"
  • Ajout des alias d'espace de nommage
  • Utilisation des fonctions dans un espace de nommage
  • Ajout de l'espace de nommage global
  • Chargement automatique des classes dans espace de nommage
  • Lien static d'une méthode à une classe
  • Les appels static variable
  • Nouveau driver MySQL natif : mysqlnd
  • Fonctions OpenSSL supplémentaires
  • Amélioration du support des paramètres en ligne de commande
  • Profils XSLT
  • Nouveau niveaux d'erreurs
  • Améliorations mineures

Lien vers l'article : What's new in PHP 5.3?

Février 2008 – Nexen.net: "NOWDOCS" débarque en PHP 5.3

Image pour le titre du contenu
Christopher Jones signale l'arrivée de 'NowDocs', une version sans interpolation de la syntaxe hereDoc. Here doc est la syntaxe bien connue, << La nouvelle version NowDocs, identifiée par des guillemets en plus du délimiteur de chaîne : <<<'CODE', représente une version hereDoc pour les chaînes à guillemets simples. Cela sera particulièrement utile pour les requêtes SQL. Cette nouvelle fonctionnalité est une création de Gwynne and Dmitry.
Note : il vous faudra au moins un PHP datant d'hier pour en profiter. Attendez donc la sortie de PHP 5.3.

Février 2008 – Nexen.net: Vidéo PHP et MySQL, édition 32

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.

Février 2008 – Nexen.net: Drupal 6

Image pour le titre du contenu
Drupal annonce la sortie de la version 6 de son CMS. Pour rappel le CMS est un sytème de gestion de contenu.
Cette application est réalisé en PHP et a subi beaucoup de nouveautés tel que :
- Un système d'installation simplifié
- De nouveaux modules
- Une personnalisation de thème
- Une sécurité améliorée
- De meilleures performances et maintenances
- Etc...

Février 2008 – PHP Index: Drupal 6.0

Sortie de la nouvelle version de Drupal

La nouvelle version 6.0 de Drupal, système de gestion de contenu bien connu, vient de sortir.

Beaucoup de nouveautés sur cette version telles que :
- Un système d'installation simplifié
- De nouveaux modules
- Une personnalisation de thème plus facile
- Une version mieux sécurisée
- De meilleures performances et maintenances
- Et pleins d'autres choses...

Annonce officielle

Proposé par Clément Péronneaud

Février 2008 – PHP News: Importante faille de sécurité dans le noyau Linux

Une faille de sécurité concernant un exploit root local a été rendu publique ce weekend.

Cette faille concerne la version du noyau Linux depuis la version 2.6.17 sortie le 17 Juin 2006 jusqu’au tout récent noyau 2.6.24 (sortie à la fin du mois dernier).

Les codes d’exploitation de la faille sont publiés sur milw0rm.com et nous pouvons trouver :

Le kernel 2.6.24.2 corrige déjà cette faille, il est donc imperatif de mettre à jour son noyau, même si vous n’autorisez aucun accès terminal à vos utilisateurs, il suffit d’une faille dans un de vos scripts PHP/CGI… pour que l’attaquant puisse aisément devenir root sur votre machine (2 cas recensés chez OVH, cf. le forum server dédiés).

A noter que les noyaux de la série 2.4 ne sont pas impactés.

Capture réalisée sous Debian Stable en 2.6.18 du premier code de l’exploit :

Local Root Exploit

Février 2008 – PHP Index: Recherche développeurs !

Vous l'avez peut-être remarqué, GLOBALIS, éditeur de ce site, recherche plusieurs développeurs. Si vous êtes intéressés par le langage PHP, si vous souhaitez apprendre, participer à l'enrichissement du contenu PHPIndex et travailler sur des projets variés, venez rejoindre notre équipe.

Seuls impératifs: avoir un diplôme informatique de niveau Bac+2 à Bac+4, et une expérience, même courte, de développement PHP. Les jeunes diplômés sont les bienvenus.

Février 2008 – Sorcellerie Web: Ali Baba et les 40 mauvaises pratiques du programmeur (PHP)

Je suis tombé via le planet PHP sur une liste de 40 points qui font un mauvais programmeur PHP. Je vais essayer de la traduire et de la commenter.

1 - Ne pas commenter son code proprement suivant un standard comme phpDoc
C'est le service minimum en matière de commentaires. Il est vital de savoir ce qu'une fonction attend en parametre et ce qu'elle retourne. De plus, cela permet la génération d'une documentation; et certains éditeurs tels que Komodo edit s'en servent pour afficher une aide en ligne lorsque vous y faites appel .
2 - Ne pas voir le bénéfice d'un bon outil de développement intégré tel que Zend Studio ou Eclipse.
Ces usines à gaz ? Non, désolé.
3 - N'avoir jamais utilisé d'outil de contrôle de versions tel que Subversion
Plus que la qualité du programmeur, je crois que c'est surtout une question de projet. Pour une appli professionnelle ou un projet open source, c'est vital, mais on n'a pas toujours un serveur subversion sous la main pour un site perso....
4 - Ne pas adopter de convention de codage et de nommage et s'y tenir, au moins à l'échelle d'un projet.
Qui ne s'est pas déjà arraché les cheveux avec le nom des fonctions natives php (avec ou sans underscore), et pire l'ordre des arguments qui varie d'une fonction à l'autre ?
5 - Ne pas adopter une méthodologie constante
Faudrait déjà en avoir une. Personnellement, je suis plutôt habitué à La Rache.
6 - Ne pas échapper ou valider les variables pour les requêtes SQL
Là c'est plus de la mauvaise programmation, c'est l'amour du risque.
7 - Ne pas planifier l'application avant de commencer à coder.
Dans un monde idéal, les utilisateurs sauraient ce qu'ils veulent les spécifications ne changeraient pas tous les trois mois. Dans un monde idéal.
8 - Ne pas pratiquer le développement dirigé par les tests.
Les test unitaires, c'est bon. Mangez-en.
9 - Désactiver l'affichage des erreurs
La première fois qu'on l'active, ça fait mal. Mais après, c'est tellement bon. Et surtout, cela permet généralement de préparer en douceur la prochaine mise à jour de PHP.
10 - Ne pas voir les bénéfices d'un débogueur
Il n'y a qu'un débogueur ici, c'est moi. Sans rire, pour un langage web interprété, le débogueur, c'est un petit coup de rafraichissement de la page. Non ?
11 - Ne pas refactoriser son code
On peut faire autrement ? Mon nom est Refactoring. Constant Refactoring.
12 - Ne pas séparer les couches de traitement en utilisant un motif tel que MVC.
Ou MVT. Elementaire, mon cher Django.
13 - Ne pas connaitre les acronymes KISS, DRY, MVC, OOP, REST
Mouais, pas besoin de connaitre les acronymes pour pratiquer.
14 - Ne pas retourner de contenu mais faire des print() depuis les fonctions et classes
Autrement dit, éviter les effets de bord. Et appliquer le principe de la séparation des couches de traitement.
15 - Ne pas connaitre les avantages des tests unitaires et des tests en général
On avait pas dit DRY ? cf #8
16 - Retourner du html au lieu de données / objets
Pareil, voir #14
17 - Coder en dur les messages et les parametres de configuration
Coder en dur, c'est mal
18 - Ne pas optimiser ses requetes SQL
Je veux bien, mais qui le fait vraiment au lieu de juste le prétendre ?
19 - Ne pas utiliser __autoload()
J'ai la malchance de maintenir des applications PHP4. Mais j'ai mieux qu'autoload : Webappkit"
20 - Ne pas autoriser la gestion intelligente des erreurs
???
21 - Utiliser GET au lieu de POST pour toutes les actions de destruction
Ca, c'est pour les applications accessibles aux moteurs de recherche. Qui suivront tous les liens en GET qu'ils trouveront. Et ne savent pas si cela correspond à un document ou une action sur un document. Trop dur pour vous.
22 - Ne pas savoir se servir des expressions régulières
Qui voudrait se priver de si belles migraines ?
23 - N'avoir jamais entendu parler d'injection SQL ou de scripting multisites
24 - Ne pas permettre de configurer simplement ses classes, que ce soit par arguments passés au constructeur, via des méthodes dédiées ou des constantes
Je suis moi-même un fanatique de la configurabilité. Un bon script générique avec une configuration spécifique peut parfois permettre de s'économiser bien des lignes de code. C'est ce qui a présidé au concept des Outils (Tools) pour Webappkit.
25 - Ne pas connaitre les bénéfices et limitations de la programmation orienté objet
J'ai du mal à me souvenir de ma brève période procédurale puis fonctionnelle...
26 - Mal utiliser la POO
27 - Penser que du code réutilisable implique du code POO
Parfois une bonne fonction peut suffire, mais ça devient rare...
28 - Mal choisir ses valeurs par défaut
29 - Ne pas avoir un unique fichier de configuration
Pas d'accord. Les premières versions de webappkit fonctionnaient comme cela et pour de grosses applis, cela devient un enfer à maintenir. D'autant que tout n'est pas forcément utilisé et ralentit donc inutilement le tout.
30 - Croire masquer le contenu d'un script en le renommant .inc au lieu de .php
31 - Ne pas utiliser une couche d'abstraction de base de données.
Je plaide coupable. Je suis masochiste et je préfère faire mon SQL à la main.
32 - Se répéter. Si vous devez faire du copier-coller de code, il y a sans doute une erreur de design.
33 - don't make a function/class/method do just one thing and don't make them interact.
Moi pas compris. Toi parler moi ?
34 - Ne pas se servir des mécanismes objets tels qu'interface, héritage multiple et (modifeurs d'accès ?)
35 - Ne pas optimiser l'architectire de son application en suivant les motifs de conceptions éprouvés.
36 - Ne pas autoriser les chemins relatifs
Les chemins absolus, c'est le mal. Vous brulerez en enfer pour cela.
37 - Polluer l'espace de nommage global en en préfixant pas ses noms de fonctions.
38 - Ne pas autoriser le prefixage des tables de sa base de données
39 - Utiliser un moteur de gabarits séparé
Hein ? Quoi ? Qu'est-ce qu'il entend par "séparé" ?
40 - Ne pas s'inspirer des frameworks PHP existants
Les frameworks Python, ça compte ?

Février 2008 – Narno.com: Drupal 6 est sorti !

Après 3 release candidates, Drupal 6 est officiellement téléchargeable et exploitable en production.

Les nouveautés majeures par rapport à la branche 5.x sont :

  • L'installation simplifiée, via un assistant vraiment complet
  • L'administration des blocs et autres menus en drag-and-drop pour une ergonomie vraiment améliorée et confortable
  • Amélioration de la gestion multilangues, que ce soit au niveau de l'interface ou des contenus (y compris pour les langues "inversées" tel que l'Arable)
  • Refonte du système de template donnant d'avantage de liberté aux "themers"
  • Intégration par défaut de modules de références, tel que : Actions, Triggers, Update satus, OpenID, etc.

Plus de détails dans l'annonce officielle.

Note : j'ai déployé un site de démonstration sur ma Dedibox : http://drupal6.narno.net

A lire également : le communiqué de presse sur la sortie de Drupal 6.0 (français)

Février 2008 – Narno.com: Drupal 6 est sorti !

Après 3 release candidates, Drupal 6 est officiellement téléchargeable et exploitable en production.

Les nouveautés majeures par rapport à la branche 5.x sont :

  • L'installation simplifiée, via un assistant vraiment complet
  • L'administration des blocs et autres menus en drag-and-drop pour une ergonomie vraiment améliorée et confortable
  • Amélioration de la gestion multilangues, que ce soit au niveau de l'interface ou des contenus (y compris pour les langues "inversées" tel que l'Arable)
  • Refonte du système de template donnant d'avantage de liberté aux "themers"
  • Intégration par défaut de modules de références, tel que : Actions, Triggers, Update satus, OpenID, etc.

Plus de détails dans l'annonce officielle.

Note : j'ai déployé un site de démonstration sur ma Dedibox : http://drupal6.narno.net

A lire également : le communiqué de presse sur la sortie de Drupal 6.0 (français)

en lire plus

Février 2008 – Nexen.net: Sun a pris 5 ans pour racheter MySQL

Image pour le titre du contenu
Durant une entrevue de Jonathan Schwartz, le PDG révèle que cela à pris 5 ans pour convaincre David Axmark et Monty Widenius de vendre à Sun. En fait, MySQL était sur la voie de l'entrée en bourse, mais était inquiet de cette opération, et à la fin d'un diner, Jonathan a proposé encore une fois de faire le rapprochement. Le lendemain, il avait un appel de MySQL, qui était intéressé.
Ces succès fulgurants prennent toujours des années à arriver...

Février 2008 – Nexen.net: Actualité de développement PECL, edition 188

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

  • en memcache (0 visite) : cache mémoire

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

  • en perforce (0 visite) : interface Perforce

  • en svn (0 visite) : Interface avec le client Subversion

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


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

 



 

Février 2008 – PHP Index: Construisez votre application : PHP et MySQL - MySQLi - PDO

Ce livre sur PHP est destiné à toute personne qui désire se lancer dans le développement web avec ce langage. Il détaille pas à pas le développement d'une application de gestion d'un carnet d'adresses sur Internet.

La conception de cette application prend en comptes différents formats de bases de données (MySQL, MySQLi et PDO) et différentes versions de PHP. Dans un premier temps, l'auteur choisit de décrire les principales fonctions de PHP en prenant des exemples facilement compréhensibles. Il décrit ensuite pas à pas les différentes étapes du développement en s'aidant des exemples de la première partie (accès sécurisés, gestion du carnet d'adresses, gestion des mots de passe, gestion des administrateurs, affichage et exportation des données...). Le dernier chapitre détaille des notions plus avancées comme les contrôles de sécurité, le suivi de la navigation des visiteurs... L'application étudiée est déclinée en trois versions entièrement téléchargeables sur le site de l'éditeur.


Pour voir :
* la table des matières
* Extrait du livre
* Mot de l'auteur

Cliquez sur le lien ci-dessous

L'auteur met la disposition des possesseurs du livre un forum aide: http://livre.hello-design.fr

Proposé par Overdose

Février 2008 – Dur Comme Faire: Conférence : Déboguer une application web avec FirePHP

Comme prévu, j'ai eu le plaisir de donner une conférence à Montréal lors de la rencontre PHP Québec de février. Le sujet était "Déboguer une application web avec FirePHP". Déboguer une application web peut rapidement devenir fastidieux. L'utilisation d'un débogueur simplifie ce...

Février 2008 – Apprendre-PHP.com: PHP et MySQL, MySQLi, PDO : construisez votre application

J'ouvre cette brève news pour vous présenter un nouveau livre français qui traite de PHP5. Il a été écrit par Christophe Villeneuve, membre actif de l'AFUP et newser sur le portail Nexen.net. Ce nouvel ouvrage a pour objectif de présenter le développement d'une application Web PHP...

Février 2008 – tigrou/pwet.fr: The new Online Editor for eZ Publish (beta)

For me it's probably one of the most waited feature in eZ Publish after the PHP5 port with eZ Publish 4 ! It's only a beta release but it looks very promising. There's a document in the SVN repository or in the archive explaining new features.

It's based on Tiny MCE rich text editor , so Internet Explorer (including IE7 under Windows Vista), browsers based on Gecko (Firefox ...), Opera and Safari are now supported and unlike the old one, there are not two code bases for two navigator families ! It's also more flexible as we can add or remove buttons and functionnalities (like an underline button). After reading the document and a small test, there is one feature I would like to see, it is the hability to easily customize the drop down list (paragraph, preformatted, headings) with others styles / tags like the style configuration in FCKEditor . It can probably be done with a Tiny MCE plugin but a simple setting in eztinymce.ini file would be a simple but very useful tool !

Février 2008 – Nexen.net: Actualité de développement PEAR, edition 183

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

  • en PHP_CompatInfo (0 visite) : Recherche les versions et extensions minimum pour exécuter un script PHP

  • en VFS (0 visite) : Interface virtuelle avec le système de fichiers

  • en FSM (0 visite) : Machine à états finis

  • en Log (0 visite) : Utilitaire de log

  • en Net_SMTP (0 visite) : Implémentation du protocole SMTP

  • en Structures_DataGrid_DataSource_Array (0 visite) : Sourde de données sous forme de tableaux

  • en pearweb_phars (0 visite) : Le code source poru le site gopear.com

  • en Validate_IE (0 visite) : Classe de validation pour l'Irlande

  • en File_Cabinet (0 visite) : Extracteur de fichiers Microsoft Cabinet, utilisant cabextract ou expand


PEAR est la bibliothèque de composants PHP.

 



 

Février 2008 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 183

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.5 et 4.4.8; MySQL 5.0.51 (communauté) , 4.1.22, ainsi que 5.1.22-beta et 6.0.3.
Les mises à jour sont recommandées vers ces versions.



5 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
Claroline, Drupal, Gallery, Joomla et WordPress




cd .

Février 2008 – Nexen.net: Changer un objet de classe en PHP : serialize à la rescousse

Image pour le titre du contenu
Transtyper, c'est changer le type de valeur (en PHP comme dans d'autres langages). Mais comment faire pour forcer un objet à changer de classe? Arnold Daniels vous signale alors un petit truc : serialize, qui transforme un objet en une représentation de chaîne, et unserialize(), qui transforme cette chaîne en objet. Entre les deux, vous pouvez faire le changement de classe avec simplement un preg_replace. Astucieux et ... rebelle.

Février 2008 – Nexen.net: Comment devenir un meilleur développeur PHP

Image pour le titre du contenu
Pour devenir un meilleur développeur PHP (et probablement un meilleur développeur dans d'autres langages), Akash Mehta et Bryan vous propose 10 conseils d'experts : apprendre un autre langage, lire le manuel, apprendre PHP à quelqu'un d'autre ou simplement lire le code d'un autre.
Un des conseils que j'ajoute est de réaliser des audits croisés : mettez-vous en pair avec un autre développeur, un ami ou un collègue (ou les deux), et une fois que vous aurez fini d'écrire du code, au moment de refermer le fichier, faite le relire par votre binôme. Cette approche est généralement sans remords ni scrupule, et produit généralement une amélioration très net de la qualité sans beaucoup d'efforts.
Je me demande même s'il ne serait pas intéressant de monter un service d'échange d'audit de code PHP.. Qu'en pensez-vous?

Février 2008 – Nexen.net: 10000 tables dans MySQL?

Image pour le titre du contenu
Malheureusement, que ce soit un choix de conception, ou un historique (bien) trop lourd, il se peut que vous atteignez de tels chiffres. Que faire?

  • S'assurer que vous avez suffisamment de pointeur de fichiers disponibles : comptez trois pointeurs par table.

  • Créez un cache de table suffisamment grand : +20% du nombre de tables attendu

  • Refermez les tables sur le disque une fois de temps en temps : le conseil de Ask est de le faire table par table, pour ne pas bloquer la base indéfiniment.

Février 2008 – Nexen.net: Trois Pop Quiz pour MySQL et MyISAM

Image pour le titre du contenu
Trois questions tordues sur l'utilisation de MySQL, par Carsten Pedersten, le responsable des certifications MySQL.
La première porte sur des insertions qui ne sont pas aussi uniques qu'elles y paraissent, la seconde sur une colonne NULL qui contient une valeur, et la dernière sur la taille maximale des données dans une table MyISAM. Les deux premières sont effectivement délicates à bien comprendre, mais tellement vraies...

Février 2008 – PHP Index: IBM : Débuter avec les frameworks PHP, partie 4

Article sur le support d'Ajax dans les frameworks CakePHP, Symphony et Zend

4ème et avant dernière partie de la série d'articles lancée par Duane O'Brien sur la découverte de 3 frameworks PHP : Zend Framework, Symfony et CakePHP.

Celui-ci porte sur l'utilisation de librairies Ajax au sein de chaque framework et en pratique il est montré comment ajouter une fonctionalité de "ranking" sur les articles d'un blog, le tout en Ajax. On voit ainsi si les frameworks disposent de base de librairies nous aidant dans cette tâche ou bien si l'on a le choix dans celle que l'on souhaite utiliser.

La 5ème et dernière partie de cette suite d'articles portera sur les scripts "hors framework", comme un script qui s'exécute quotidiennement par exemple - sujet qui sera traité dans cette partie.

L'article

Février 2008 – PHP Index: Quelques conseils pour choisir un framework PHP.

Un nombre important de frameworks est aujourd'hui disponible sur le marché et il n'est pas toujours évident de les différencier. Pour bien choisir, il y a quelques critères à prendre en compte qui vous permettront d'ores et déjà de faire une présélection. Cependant, ce sera à vous de prendre un peu de temps pour tester ces frameworks et voir celui qui répond le mieux à vos besoins. D'autant plus qu'il n'y a pas de framework idéal, à chacun vous y trouverez ses avantages et inconvénients.

Le principal intérêt d'un framework est d'accélérer le temps de développement, de conserver une homogénéité du code et une pérennité dans vos projets, mais aussi de sécuriser plus facilement vos applications.
Dans les plus connus, on trouvera : Symfony, CakePHP, Code Igniter, Jelix, Prado, Solar...
Ils intègrent généralement les mêmes composants : implémentation du MVC, Scaffolding, support de l'internationalisation, système de cache, sécurisation du code (faille XSS)...

Il y a évidement le Zend Framework qui se différencie en proposant une liste de briques que vous pouvez utilisez indépendemment. Par exemple, rien ne vous oblige à structurer vos projets sur une architecture MVC, vous pouvez aussi utiliser votre propre moteur de template. Donc contrairement aux autres frameworks, ce que certains trouveront sûrement contraignants, il faudra obligatoirement passer par cette étape de choix d'architecture et de mise en place de vos briques.

Voici quelques critères indispensables dans le choix d'un framework :

  • Facilité de prise en main : dans tous ces frameworks, il y a obligatoirement une période de prise en main plus ou moins longue selon le framework et les compétences du développeur. Il s'agit d'un critère à prendre en compte lors de la venue d'un nouveau développeur dans une équipe qui peut ne pas connaître le framework.
  • Flexibilité / Souplesse : il est important de distinguer les contraintes imposées par le framework, en effet un défaut que l'on retrouve avec certains de ces frameworks, le développeur doit s'adapter au framework et « se plier » à certaines règles et non le contraire.
  • Taille des projets développés (site vitrine, backoffice...) : il sera préférable de s'orienter vers un framework léger pour développer un site statique.
  • Documentation : elle doit être complète, claire et régulièrement mise à jour; des tutoriaux sont aussi de plus en plus proposés.
  • Performance du framework : malgré les systèmes de cache, certains frameworks peuvent s'avérer assez « gourmand »
  • Communauté : ne pas hésiter à tester la réactivité de la communauté sur les forums en postant quelques questions.
  • Evolutivité : voir les futures évolutions prévues

Pour vous aider, vous trouverez des tutoriaux parus sur le site IBM comparant les frameworks Zend, Symfony et CakePHP, de l'installation au support de l'ajax.

Février 2008 – PHP Index: Classe et héritage

Article sur l'héritage dans les classes PHP

Le système d'héritage des classes PHP évite les redondances de code et permet au développeur de gagner du temps.

Un bref article, trouvé sur www.phpbuilder.com, démontre ceci avec un exemple simple, demandant cependant quelques notions basiques de la programmation orientée objet.

Lire l'article

Proposé par Clément Péronneaud

Février 2008 – PHP Index: Microsoft et l'open source

Article parut sur ITRManager faisant le point sur la situation de Microsoft en ce début d'année.

Parut ce weekend sur le site d'ITRManager, cet article est le premier d'un dossier réalisé par Hugo Lunardelli consacré à la situation de Microsoft au sein du marché actuel, et traite en ce qui nous concerne à la position de Microsoft vis à vis de l'Open Source. Direction donc le 3ème chapitre de cet article qui décrit les initiatives entreprises par la firme pour inciter les acteurs du monde du libre à utiliser les plateformes MS. On citera donc les améliorations apportées à la plateforme WIMP, l'optimisation des performances de MySQL sous Windows Server, la création des sites webs Codeplex et Port 25 visant à développer la communauté Open Source similairement à sourceforge.

Les prochains articles de ce dossier paraissent tout aussi intéressant que celui là, même si ils n'auront que peu, voir aucun rapport avec PHP, le second est déjà paru et disponible ici.

Lire l'article

Février 2008 – Nexen.net: Poster incitatif aux tests unitaires

Image pour le titre du contenu
Vous n'aimez pas préparer des tests unitaires? Alors, n'hésitez pas à imprimer le poster suivant pour vous inciter fortement à faire vous y mettre sérieusement.

Février 2008 – Nexen.net: Hypertable : base de données distribuée

Image pour le titre du contenu
Via le 451 group, voici l'annonce de HyperTable. HyperTable est un concurrent direct de BigTable, la technologie sur laquelle se base Google pour stocker et retrouver des milliards d'URL à l'aide de simples mots clés. Il s'agit d'une base de données distribuées : elle peut fonctionner sur des dizaines d'ordinateurs différents, et se charge de répartir les données et les traitements entre eux, de manière à ne pas souffrir du crash de l'un d'entre eux.
La priorité est celle de la montée en puissance : il semble que l'on puisse ajouter des machines comme on veut. À l'inverse, des fonctionnalités avancées comme les transactions ou encore le typage des colonnes (sic) sont considérées comme secondaires. Hypertable utilise Hadoop pour répartir le travail entre les différentes bases.
Le concept est intéressant. Reste à voir comment cela s'utilise en pratique. Il faudra bien sur pouvoir le tester sur plusieurs machines, pour commencer.

Février 2008 – Nexen.net: Héritage de classe avec PHP

Image pour le titre du contenu
Il y a de nombreux avantages à l'héritage de classe en PHP, et le plus courant est la simplification et la réduction du nombre d'instances de code redondant. L'héritage de classe semble compliqué, mais peut se comprendre si on prend cette image : visualisez un arbre. Un arbre est composé de différentes parties, telles que les racines, le tronc, les branches, les feuilles. Chaque partie a une connexion avec la précédente, tel un père et son fils.
Cet article demande d'avoir des connaissances en POO préalable pour mieux en profiter.

Février 2008 – Nexen.net: SPL pour chercher des fichiers

Image pour le titre du contenu
Antoine Ughetto publie 3 billets sur l'utilisation de la bibliothèque SPL pour rechercher des fichiers dans une arborescence PHP. En fin de compte, il fait le tour de différentes interfaces de la SPL, avec le FilterIterator, le RecursiveIteratorIterator, le RecursiveDirectoryIterator et le RecursiveArrayIterator.

Février 2008 – Nexen.net: Grails pour PHP

Image pour le titre du contenu
"Comme beaucoup de frameworks populaires, Grails est une plate-forme qui suit la philosophie "La convention prime la configuration". Similairement, de nombreux choix nécessaires pour démarrer un projet sont déjà fait pour vous. Vous pouvez évidemment échanger des composants dès le démarrage, si vous savez ce que vous faîtes, mais, après installation, Grails fournir une base de données en mémoire sans configuration (HSQL), un moteur de gabarits (Sitemesh), un ORM (GORM) et une couche de persistance (Hibernate), le tout est déjà lié et en place, fonctionnel sans configuration particulière.

Février 2008 – Apprendre-PHP.com: Visibilité des propriétés et des méthodes

La visibilité des propriétés et des méthodes d'un objet constitue une des particularités élémentaires de la programmation orientée objet. Ce tutoriel a pour objectif de présenter les différents niveaux de visibilité que propose le modèle objet de PHP 5. Nous les passerons en revue un par un au travers d'exemples pratiques et nous apporterons quelques bonnes pratiques à adopter lorsqu'on les utilise.

Février 2008 – Nexen.net: PHP Frameworks

Image pour le titre du contenu

Le site phpframeworks.com propose un rapide comparatif des différents frameworks pour Php mais aussi de l'actualité autour de ces frameworks. Le tableau comparatif est très bien fait, très agréable à lire et très simple.

Février 2008 – z-f.fr: Site comparateur de framework

Forum: Brèves
Auteur: Mr.MoOx
Écrit le: Tue, 19 Feb 2008 14:11:21 +0100
Dernier message: Tue, 19 Feb 2008 14:11:21 +0100

Février 2008 – Nexen.net: Nouvelle extension PHP PECL OCI8 1.3.1 Beta

Image pour le titre du contenu
Christopher Jones publie une nouvelle version de l'extension OCI8, avec deux améliorations notables : le pooling de connexions et un système de messagerie interne rapide.
Le pooling de connexions est une solutions alternatives aux connexions permanantes : pour éviter le coût de connexion au serveur, ces dernières ne sont pas refermées à la fin du script, mais conservées par le processus apache, au cas où elle pourraient être réutiliser. Or, cela produit des effets indésirables, où des paramétrages de connexions d'un hit perturbent le hit suivant. Les pooling de connexions devraient résoudre au moins ce type de situation, et permettre une montée en puissance plus efficace. Oracle semble le seul à être doté de cette solution à l'heure actuelle.

Février 2008 – Nexen.net: Quel processus MySQL peut être tué innocemment?

Image pour le titre du contenu
Méfiez-vous de la commande KILL pour MySQL. Morgan Tocker a tenté de modifier une table (ALTER TABLE), sans réaliser que InnoDB allait reconstruire toute la table : pour une simple reconfiguration de auto_increment, cela fait beaucoup. Mais tuer le processus Alter Table conduit InnoDB à annuler la commande, et cela peut prendre encore 30 fois plus de temps. Au final, un redémarrage de MySQL est nécessaire, avec à la clé, une reconstruction de table... sic.
Bref, méfiez-vous des commandes à tuer : select ne pose aucun problème. UPDATE, DELETE et INSERT peuvent se révéler terriblement long, et, au pire, conduire à une table à réparer : REPAIR TABLE n'est pas un rapide...

Février 2008 – Nexen.net: MySQLfs : système de fichiers sur MySQL

Image pour le titre du contenu
MySQLfs est un système de fichiers qui enregistre les données dans une base MySQL. Les données sont découpées en portions réduites, puis archivées dans des tables. La navigation est identique à celle d'un système de fichiers, et vous pouvez alors utiliser la réplication ou le cluster MySQL pour mettre vos fichiers à l'abri des pannes.
Cela ressemble au projet Fuse, qui offre une interface de système de fichiers (avec dossiers et fichiers) universelles. MacFuse propose ainsi des accès aux RSS, webcam ou google docs avec une présentation de volume de fichiers.

Février 2008 – Nexen.net: Premières requêtes sur un serveur MySQL installé

Image pour le titre du contenu
Matt Reid publie les premières requêtes SQL qu'il exécute sur une nouvelle installation MySQL :
 
 
mysql> use mysql
 
mysql> delete from user where User='';
 
mysql> delete from db where User='';
 
mysql> update user set Password=password('password_here') where User=root;
 
mysql> flush privileges;
 

Cela modifie le mot de passe root (ligne 4), et supprime les utilisateurs anonymes (ligne 2), ainsi que les utilisateurs globaux (ligne 3).
J'ajouterai aussi avant la ligne 6, la suppression des utilisateurs sans mot de passe.
 
 
mysql> delete from user where Passwd='';
 

Et ceux qui ont suivi mes conférences sur la sécurité, sauront qu'il est bon de surveiller les connexions distantes, notamment celles qui contiennent des %. Je ne suggère pas de les supprimer directement, mais au moins de jeter un oeil sur leur liste.
 
 
mysql> select *  from user where Host LIKE '%\%%';
 

Février 2008 – Nexen.net: Livre : construisez votre application en PHP

Image pour le titre du contenu
 

Réaliser une application en PHP, telle est la question que s'est posée Christophe Villeneuve. Cet auteur propose à partir de son ouvrage la réalisation d'une application. Il nous montre également, une autre approche pour réaliser un site internet, intranet ou extranet, avec l'utilisation d'un certain nombre de fonctions PHP disponibles.
Cette approche se présente sous la forme d'un cas pratique (exercice), dont l'application est disponible sur le site Internet de l'éditeur des Editions ENI. Ce cas pratique concerne tout simplement la gestion en ligne d'un carnet d'adresses. Ce carnet d'adresses est proposé avec trois formats de bases de données : MySQL - MySQLi - PDO. L'auteur propose des fichiers et une structure identique pour permettre à toutes les personnes désirants progressées de passer d'un format d'une base de donnée vers un autre format.
Bien sur un chapitre sur les principes de bases est présent et un autre montre comment communiquer avec d'autres formats comme le CSV, XML, PDF.

Février 2008 – Nexen.net: PHP Québec innove avec le salon d'emploi PHP

Image pour le titre du contenu
Je transmet le message de Sylvain Mathon et Anna Filina sur la conférence PHP Québec, qui s'en vient à grands pas. Cette année, PHP Québec propose un salon d'emploi PHP, où les développeurs et les compagnies pourront se rencontrer durant une soirée, dans une ambiance décontractée.
Trouver une bonne entreprise pour faire évoluer ses compétences, et dénicher la perle rare qui s'intègre dans les équipes sont deux problèmes différents qui doivent se résoudre par le même accord. Avec des salons comme ceux-ci, bien ciblés, on peut rencontrer rapidement des développeurs et des responsables, et se faire une idée rapide de l'intérêt d'une candidature : dans les deux sens!
De notre coté, Philippe Gamache et moi-même mettons les dernières touches à une belle application pleine de trous de sécurité. Nous rions comme des lutins démoniaques à toutes les vulnérabilités et exploitations que nous envisageons, mais je crois que cela sera encore plus intéressant quand cet atelier sera livré aux visiteurs de PHP Québec : quelles idées encore plus tordues vont-ils trouver?
Par ailleurs, durant notre atelier, tous les participants recevront un livre 'Sécurité PHP 5 et MySQL 5', de chez Eyrolles. Et cela sera surement les premiers exemplaires à être dédicacés par les deux auteurs...
Bref, on vous attend avec impatience!


Du 12 au 14 mars 2008 prenez part à la 6e édition de la Conférence PHP Québec à l'hotel Sofitel Montréal.
Assistez à plus de 30 conférences le jeudi et vendredi avec les meilleurs conférenciers locaux et internationaux et des sujets actuels à la pointe de la technologie, permettant d'améliorer la performance des employés et de leur entreprise.
Participez aux PHPLabs où l'interactivité avec les conferenciers et autres participants sera favorisée, par exemple le PHPLab sur la sécurité mettra les visiteurs face à une application construite exprès pour la Conférence qu'il faudra débogguer et sécuriser. Plus de 1000 lignes de code, 100 boggues ou trous de securité, 2h30 pour corriger!
A partir de 15h30 le mercredi, profitez du salon d'emploi Open Source ouvert au public. Venez rencontrer et discuter avec des développeurs, chefs d'équipe et administrateurs talentueux. Vous souhaitez plus de visibilité? Des kiosques sont disponibles en nombre limité. Réservez le votre dès maintenant!
Le salon d'emploi se poursuit à 17h00 avec un cocktail, dans une ambiance détendue ainsi qu'un décor luxueux et moderne. Invitez vos collègues ou partenaires d'affaires.
Inscrivez-vous maintenant, les place sont limitées!

Février 2008 – PHP Québec: Conférence PHP Québec: Le rendez-vous des experts TI

Du 12 au 14 mars 2008 prenez part à la 6e édition de la Conférence PHP Québec à l'hotel Sofitel Montréal.
http://conf.phpquebec.com/fr

Assistez à plus de 30 conférences le jeudi et vendredi avec les meilleurs conférenciers locaux et internationaux et des sujets actuels à la pointe de la technologie, permettant d'améliorer la performance des employés et de leur entreprise.

Participez aux PHPLabs où l'interactivité avec les conferenciers et autres participants sera favorisée, par exemple le PHPLab sur la sécurité mettra les visiteurs face à une application construite exprès pour la Conférence qu'il faudra débogguer et sécuriser. Plus de 1000 lignes de code, 100 boggues ou trous de securité, 2h30 pour corriger!

A partir de 15h30 le mercredi, profitez du salon d'emploi Open Source ouvert au public. Venez rencontrer et discuter avec des développeurs, chefs d'équipe et administrateurs talentueux. Vous souhaitez plus de visibilité? Des kiosques sont disponibles en nombre limité. Réservez le votre dès maintenant!
http://conf.phpquebec.com/fr/emplois

Le salon d'emploi se poursuit à 17h00 avec un cocktail, dans une ambiance détendue ainsi qu'un décor luxueux et moderne. Invitez vos collègues ou partenaires d'affaires.


Inscrivez-vous maintenant au http://conf.phpquebec.com/fr/tarif

Février 2008 – Hello Design: Nouveau Record avec les ElePHPants

Un nouveau record vient de tomber... Actuellement détenu par Damien Seguy avec une piramide à 6 niveaux, comprenant 21 ElePHPants...

Maintenant il faut compter sur Christophe Villeneuve (Alias Hello) qui a pu tout d'abord égaler et réaliser une piramide à 6 niveaux

 

Février 2008 – Hello Design: Un record ElePHPant pousse un autre

Il est souvent pas rare de voir un record dépassé par un autre record...

Aujourd'hui, ce fut le cas : 2 records en très peu de temps... Les ElePHPants PHP

Février 2008 – Nexen.net: Elephpants : des records et des filles

Image pour le titre du contenu
Quatre nouvelles concernant les éléphpants:

  • Les stocks d'éléPHPants sont très bas : il en reste actuellement moins d'une centaine en stock. Une fois le stock écoulé, on relancera une production, qui devrait arriver pour cet été.

  • Les éléPHPants sont très aimés, comme vous le montrera la vidéo du jour.

  • Les éléPHPants se rangent très facilement : ils sont empilables. Christophe Villeneuve a battu deux fois mon record de 6 niveaux, en portant la marque à 8 niveaux. Qui dit mieux?

  • Oracle a commandité la conférence PHP Québec en offrant à chaque visiteur un éléphpant, portant les logos PHP et Oracle. Sur cette idée, PHP Women envisage de faire une production en rose... Un éléphpant Rose? .. quelle idée...

Février 2008 – Nexen.net: Vidéo PHP et MySQL, édition 33

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.

Février 2008 – Nexen.net: Plug-in du schéma d'information de MySQL

Image pour le titre du contenu
La semaine dernière, j'ai montré comment utiliser l'interface de plug-in de MySQL pour produire un plug-in de la base information schema, un 'Hello World' minimaliste. L'objectif de cet exemple était de montrer les pré-requis minimaux pour utiliser cette interface.
Dans ce nouvel article, je veux passer au niveau supérieur, et montrer comment écrire un plug-in du schéma d'information qui accède à des informations internes de MySQL. Pour cela, nous allons écrire un plug-in qui affiche les SAVEPOINT durant le débogage d'un script et de procédures stockées. Ce plug-in MYSQL_SAVEPOINTS pourra être utile pour déboguer des situations avec des scénarios complexes de transactions et point de sauvegarde.

Février 2008 – Nexen.net: GetBoo : applications de signets sociaux

Image pour le titre du contenu
GetBoo est une application de signet sociaux, comparable à Delicious. Après enregistrement, on peut déposer ses signets, leur assigner des tags (des étiquettes), et les partager. Getboo est même capable d'aller chercher les signets de FireFox, IE et Safari. Il permet ainsi d'intégrer un système de partage de signet sur votre site.

Février 2008 – Nexen.net: 103 techniques CSS pour être un pro

Image pour le titre du contenu
Entre les 50 techniques CSS de 2008, et les 53 techniques CSS de 2007, Smashing Magazine propose pas moins de 103 techniques CSS pour rendre votre site plus moderne et impressionnant.
Vous y trouverez des effets 3D avec des PNG, des menus en surimpression, des protections de copyright, des effets de MouseOver, des effets de favicon, des menus circulaires, des listes ordonnées, des menus déroulants et bien d'autres. Difficile de resister.

Février 2008 – PHP Québec: 3/8 19:00 PHP Cheers Pré-Conférence (QC)

Rencontre spéciale "cheers", samedi le 8 mars 2008

IMPORTANT: Changement de lieu pour le St-Hubert sur la Grande-Allée.

N.B. Une confirmation est obligatoire pour cette activité à info@phpquebec.org afin d'ajuster adéquatement la réservation au restaurant.

Bonjour,

L'équipe de Québec de PHP Québec vous invite à leur traditionnel "Cheers" qui aura exceptionnellement lieu ce samedi le 8 mars à partir de 19h00 au tout nouveau Restaurant "St-Hubert" de la Grande-Allée. Cet événement se veut spécial car vous aurez le privilège de recevoir quelques-uns des conférenciers internationaux qui prendront part à la conférence 2008 de PHP Québec ainsi que quelques organisateurs. En tout, un contingent d'une quinzaine de personnes se déplaceront de Montréal afin de venir rencontrer les gens de Québec.

C'est une occasion unique pour ceux qui souhaitent discuter, bavarder de tout, de rien, de PHP avec les conférenciers. D'ailleurs, si vous souhaitez participer à la conférence PHP 2008, il est toujours possible de s'inscrire à ce lien : http://conf.phpquebec.com/ (Il ne reste pas beaucoup de place ! Hurry up !). Il nous fera plaisir de répondre à vos questions.


AIDE-MÉMOIRE

Quand
Samedi, le 8 mars 2008 à 19h00


Restaurant St-Hubert (Grande-Allée)
693, Grande-Allée Est
Québec, QC, G1R 2K4

Qui
Tous les intéressés, inscrits ou non à la conférence, membres ou non de PHP Québec.

Carte
http://tinyurl.com/2b5lpn


Merci beaucoup,
Au plaisir de se voir samedi soir.

Février 2008 – Narno.com: Modgento.com : modules pour Magento Commerce

Voilà quelques semaines, je me suis décidé à ouvrir mon site dédié à Magento Commerce : Modgento.

Modgento est un site communautaire à destination des développeurs de modules pour Magento. L'objectif est de centraliser la publication des modules et de proposer une plate-forme de publication simple et pratique.

Cette première version permet :

  • aux membres de proposer leurs idées et besoin de modules
  • aux développeurs de publier les releases de leurs modules

Si vous aussi, vous souhaitez participé au développement de la communauté francophone des développeurs pour Magento Commerce, je vous invite à nous rejoindre sur Modgento.com

Février 2008 – Narno.com: Modgento.com : modules pour Magento Commerce

Voilà quelques semaines, je me suis décidé à ouvrir mon site dédié à Magento Commerce : Modgento.

Modgento est un site communautaire à destination des développeurs de modules pour Magento. L'objectif est de centraliser la publication des modules et de proposer une plate-forme de publication simple et pratique.

Cette première version permet :

  • aux membres de proposer leurs idées et besoin de modules
  • aux développeurs de publier les releases de leurs modules

Si vous aussi, vous souhaitez participé au développement de la communauté francophone des développeurs pour Magento Commerce, je vous invite à nous rejoindre sur Modgento.com

en lire plus

Février 2008 – PHP Index: IBM : Débuter avec les frameworks PHP, partie 5

Dernière partie sur la série des comparatifs des trois frameworks CakePHP, Symphony et Zend Framework, où Duane O'Brien nous explique comment intégrer des tâches automatisées.

Dans l'exemple, le script permettra de supprimer quotidiennement les articles de plus de 30 jours. Le but est de montrer comment instancier ce genre d'action sur chacun de ces frameworks et comment planifier l'exécution via une tâche « cron ».

Vous pourrez voir qu'il s'agit d'une opération très simple à mettre en place et à intégrer dans ces frameworks.

Retrouvez l'article complet

Février 2008 – PHP Index: Zend Framework 1.5 : Zend_Auth et le support OpenId

Cal Evans propose un article pour mettre en place une authentification par OpenId via le composant Zend_Auth_Adapter_OpenId.

Pour rappel, OpenId est un système d'authentification permettant de centraliser vos identifiants à divers services web (AOL, Google, Microsoft ou Yahoo). L'intérêt est d'avoir un identifiant unique "OpenId" pour vous connecter à plusieurs comptes ou pour vous inscrire rapidement à de nouveaux services supportant le protocole OpenId.

Comme il est rappelé dans l'article, l'avantage du Zend Framework est de proposer des briques totalement indépendantes, le composant "Zend_Auth_Adapter_OpenId" vous permettra ainsi d'implémenter le support OpenId dans une application existante.

Retrouvez l'article complet

Février 2008 – Nexen.net: Critique de PHP 5

Image pour le titre du contenu
Jacob Santos répond par blogue interposé aux critiques adressées à PHP 5 par Matt Mullenweg, auteur de WordPress.
Parmi les reproches qui sont fait, on trouve le manque de fonctionnalités nouvelles, ce à quoi Jacob répond par une liste impressionnante et non-exhaustive de raisons pour passer à PHP 5.
Matt mentionne aussi le fait que les utilisateurs (de wordpress) ne s'intéressent pas à la technologie sous-jacente, et qu'il recommande PHP pour sa montée en charge, que ce soit pour de petits projets ou des compagnies globales.

Février 2008 – Nexen.net: 6 pop quiz pour MySQL et MyISAM

Carsten Perdersen publie 3 autres Quiz pour MySQL et MyiSAM. Cette fois-ci, les astuces portent sur le transtypage, les dates et les entiers.
Vous pouvez aussi revoir les trois premières questions.

Février 2008 – Nexen.net: Galerie de calendriers

Image pour le titre du contenu
SI vous envisagez d'afficher la date sur votre site Web, jetez donc un oeil sur les différentes approches utilisées pour faire un widget de date propre et accrocheur, comme les a repéré SmashingMagazine. Juste pour l'inspiration, c'est bon.

Février 2008 – Nexen.net: Actualité de développement PECL, edition 189

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

  • en yaz (0 visite) : client Z39.50 pour PHP (YAZ)

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

  • en svn (0 visite) : Interface avec le client Subversion

  • en oci8 (0 visite) : fonctions OCI8

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

  • en python (0 visite) : python intégré


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

 



 

Février 2008 – Nexen.net: Nouvelle constante magique en PHP 5.3 : __DIR__

Image pour le titre du contenu
La constante __DIR__ contiendra en permanence le dossier du fichier d'exécution courant, c'est à dire la même chose que dirname(__FILE__); Pratique, à défaut d'être compatible avec les anciennes versions.
Décidémenent, PHP 5.3 va contenir beaucoup de petites pépites comme celles-la.

Février 2008 – Nexen.net: Conférence MySQL 2008 : Keynotes et early bird

Image pour le titre du contenu
Les tarifs de prévente de la conférence MySQL 2008 se termine le 26 février. Si vous avez prévu d'y aller, il est temps de s'y enregistrer. Sachez aussi que j'ai un code promotionnel à diffuser pour ceux qui souhaitent 20% de réductions. Mailez-moi et je vous le transmet immédiatement.
Même si vous n'avez pas besoin du code, je serai à la conférence, et je serai heureux de pouvoir faire la rencontre de la communauté française sur place. J'ai même quelques noms à partager des maintenant.
Par ailleurs, MySQL a annoncé la liste des intervenants pour son Keynote, et Jonathan Schwartz sera l'invité d'honneur cette année, suivant le rachat de MySQL par Sun.

Février 2008 – Nexen.net: Podcast generator

Image pour le titre du contenu
Podcast generator est une application en ligne de podcast : elle permet de publier des podcasts et des fichiers audio/video en ligne, via un formulaire Web classique. L'application se charge alors de créer pour vous les ressources RSS standards nécessaires, y compris les balises iTunes. L'application propose aussi un espace d'administration complet.

Février 2008 – Nexen.net: Alertes sécurité des applications PHP et MySQL, édition 184

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.5 et 4.4.8; MySQL 5.0.51 (communauté) , 4.1.22, ainsi que 5.1.22-beta et 6.0.3.
Les mises à jour sont recommandées vers ces versions.



7 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
Claroline, Gallery, Horde, Invision Power Board, Joomla, PHP Nuke et WordPress



Février 2008 – Apprendre-PHP.com: Migration de PHP 4 vers PHP 5

Le support de PHP 4 appartient au passé. Il devient donc urgent de migrer vers PHP 5 car en 2008 nulle nouvelle version de PHP 4 ne verra le jour (un support sera tout de même assuré sur les failles de sécurité jusqu'au 08/08/2008).

Février 2008 – Glagla.org: Un générateur de Criteria pour Propel

Si vous faites beaucoup de Propel(*), et si vous rencontrez des difficultés à écrire vos requêtes, cet utilitaire en ligne est pour vous : http://propel.jondh.me.uk/ * Propel est un système d'ORM pour PHP5

Février 2008 – Nexen.net: Une brève histoire des logos PHP

Image pour le titre du contenu
Philipp Olson, responsable de la documentation PHP, a rassemblé les différentes variations du logo PHP, y compris de (très) vieilles versions du logo PHP 3 que je ne connaissais pas. Vous trouverez aussi les différentes versions d'EasterEgg possibles, différentes suivantes les versions. Et sans attendre le prochain 1er avril.

Février 2008 – Nexen.net: Concours de programmation PHP : extracteur de liens

Image pour le titre du contenu
Paul Reinheimer lance un concours de programmation PHP sur le sujet des extracteurs de liens : le but est de produire un script PHP qui extraie les liens d'une page HTML valide, et liste chacun une seule fois.
Une belle regex vous donnera les solutions les plus faciles, mais regardez donc les commentaires, pour voir les cas plus tordues, comme les ancres internes, les guillemets simples, les domaines sans / final ou encore les javascripts et les liens vides. Amusez-vous!

Février 2008 – Nexen.net: Actualité de développement PEAR, edition 184

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

  • en Pager (0 visite) : Pagination des résultats

  • en HTTP_Session2 (0 visite) : Gestionnaire de sessions PHP

  • en PHP_CompatInfo (0 visite) : Recherche les versions et extensions minimum pour exécuter un script PHP

  • en MDB2_Schema (0 visite) : Gestionnaire de schéma de base de données en XML

  • en Translation2 (0 visite) : Classe de support des applications multi-lingues

  • en Services_OpenSearch (0 visite) : Interroge les moteur de recherche compatibles A9 OpenSearch

  • en Console_CommandLine (0 visite) : Analyseur de ligne de commande

  • en Services_Akismet (0 visite) : Client PHP pour Askimet (REST)

  • en File_Infopath (0 visite) : Paquet de lecture de schéma à partir de fichier Microsoft Infopath

  • en Validate_HU (0 visite) : Classe de validation pour la Hongrie


PEAR est la bibliothèque de composants PHP.

 



 

Février 2008 – PHP Québec: Mise à jour de l'Annuaire des Services PHP au Québec

Février 2008 – CreaOne: Expression régulière : solution de fortune pour sauvegarder les données de son blog

Un premier billet relatait un problème d'export de données que je rencontre actuellement. Gandi via l'interface de dotclear2.0 ne permet pas un export  des données images, sons, vidéos... Si vous lisez mon premier article vous vous rendrez compte qu'il existe une solution avec wget en utilisation (...)

Février 2008 – Nexen.net: Incidents de sécurité sur le Web en 2007

Image pour le titre du contenu
Le Breach Labs (laboratoires des bris, littéralement) vient de publier une étude basée sur les incidents qui sont survenus sur le Web en 2007. Cette étude se base sur une base de données d'incident, et complète les bases de données de vulnérabilités (comme secunia, fsirt ou securityfocus) en étudiant les attaques réalisées. On y apprend différents aspects des attaques :

  • la principale motivation d'une attaque est une rénumération

  • 20% des attaques sont des injections SQL, elles prélèvent autour de 1000 à 10000 lignes

  • les autres problèmes de sécurité sont des divulgations involontaires d'information, des vulnérabilités connues et des XSS.

  • les attaques les plus simples sont toujours en vogue : des informations "oubliées" sont plus dangereuses qu'une CSRF.

Février 2008 – Nexen.net: PHP Simple HTML DOM Parser

Image pour le titre du contenu
"Un analyseur HTML DOM simple, et écrit en PHP 5. Il permet de traiter du code HTML et XHTML invalide, des sélecteurs CSS et opérations simples, tout en préservant le contenu HTML original."
Les outils d'analyse de code HTML invalides ne sont pas légions, et il est toujours bon d'en avoir un ou deux dans sa botte, au cas où. L'exemple proposé sur le site travaille sur Google, et extrait des données utiles.

Février 2008 – Nexen.net: Un filtre à spam par scoring de commentaire blogue

Image pour le titre du contenu
Jonathan Snook livre le secret de son plus récent filtreur de commentaire à blogue : un système de scoring assez simple, où on gagne des points s'il n'y a pas trop d'URL (moins de deux), et pas trop de texte (moins de 20 caractères et sans lien... ouch), et où on perd des points pour tout le reste (ou presque) : URL trop longue, texte trop long, mot clés, mot au début du script... etc.
Apparemment, les résultats sont intéressants.

Février 2008 – PHP Index: Microsoft ouvre l'accès à ses formats Office

Dans le cadre de la "Microsoft Open Specification Promise", Microsoft a annoncé une importante initiative visant à fournir à la communauté des développeurs l'accès à plusieurs de ces protocoles ainsi qu'aux formats de ses fichiers (dont les formats Microsoft Office).

Beaucoup de ces spécifications sont dès à présent disponibles et vont permettre, aussi bien pour les communautés Open-source que les sociétés commerciales, de les implémenter et les utiliser au sein de leurs projets.

A noter aussi que la plupart des protocoles concernés sont couverts par des brevets. Par conséquent, toute distribution commerciale devra s'accompagner d'une acquisition de licence contre rémunération. De plus, nul ne peut encore dire quel sera le niveau de fonctionnalité offert et si les développeurs pourront exploiter ces formats sans perte de fonctionnalité.

Consulter les spécifications des formats Microsoft Office

Source : Zend

Février 2008 – PHP Index: Comment créer et appliquer des filtres aux images avec PHP ?

Le site DevX.com vient de publier un article intéressant expliquant comment créer ses propres filtres à appliquer sur des images au format jpeg à l'aide de la librairie GD.

Après une brève présentation de la librairie GD et de ses fonctions principales, vous découvrirez plusieurs exemples de filtres créés grâce à cette librairie. Parmi les nombreux exemples proposés, vous verrez entre autres comment jouer sur la luminosité, la saturation ou encore les couleurs de vos images, mais aussi comment appliquer des effets de noirs et blancs, de négatifs ou de peintures.

Sachez néanmoins qu'il existe une dizaine de filtres prédéfinis dans la librairie GD, pouvant parfois vous éviter de réinventer la roue; l'auteur en présente quelques un, toujours accompagnés d'exemples.

Enfin pour terminer vous aurez le droit à une présentation de la technique de convolution de matrice, qui permet de créer des filtres encore plus poussés.

Lire l'article
Librairie GD

Proposé par LACHAUD Fabien

Février 2008 – Glagla.org: PHP va t’il enfin prendre un virage décisif ?

Le langage PHP a été crée en 1994 au niveau des versions 1 et 2 il ne valait pas grand chose. La version 3 a changé la donne, notamment par le fait que certains hébergeurs proposaient à bas prix des services tout public disposant de PHP3. Différents clichés sont apparus alors ...

Février 2008 – Rom's blog: Un serveur AMP sur mon Iphone, mon intranet en local!

Ce week end, un pote m’a rapporté un Iphone des US. Après m’être amusé avec les fonctionnalités de base telles que la triangulation GSM avec google Maps ou encore les recherches Utube, je me suis lancé dans l’installation de Apache, PHP et MySQL.

La première étape passe par l’installation de SSH et d’un terminal (vt100) sur la bête. Plutôt simple avec tous les sites dédiés à l’Iphone sur le net.

Je suis ensuite passé à l’installation de Apache, PHP et MySQL. En fait, le plus compliqué a été de trouver un dépôt de données “up” disposant de ces applications. Une fois installés, un peu de configuration et le tour était joué.

php sur mon Iphone

Un problème subsiste toutefois. La version compilée de PHP (5.2.3) ne dispose que de l’extension mysql, pas de mysqli ni de PDO-mysql et pas de chargement dynamique d’extensions, ça restreint donc les possibilités.

Je vais tout de même continuer mes recherches pour compléter cela, l’intérêt pour moi étant de pouvoir synchroniser une partie de notre intranet sur mon Iphone et donc de disposer d’une version mobile sans pour autant être obligé de souscrire à un forfait 3G auprès de la mafia des opérateurs qui s’entendent pour nous arnaquer en gros!

Par exemple, je dispose déjà d’une version fonctionnelle de notre calendar (gestion des plannings). Il ne me reste plus qu’à configurer une réplication entre notre serveur MySQL et celui installé sur mon Iphone pour que l’application se mette à jour à chaque fois que mon Iphone se connecte sur notre réseau Wifi, autrement dit, dés que je l’active dans nos locaux!

Calendar sur mon Iphone

Joli non ?
A suivre…

Février 2008 – Nexen.net: Un serveur AMP sur Iphone

Image pour le titre du contenu
Romain Bourdon a réussi à installer un serveur Apache-MySQL et PHP sur son iPhone. Après avoir mis en place la connexion SSH et un terminal, il a pu charger les applications et les configurer. Désormais, le iPhone se synchronise directement avec l'intranet d'Anaska lorsqu'il détecte qu'il est activé dans la bonne zone. Les agendas sont immédiatement mis à jour, et disponibles localement.

Février 2008 – Nexen.net: Concepts avancés de gabarits (templates)

Image pour le titre du contenu
En partant du moteur Smarty, Brett Zamir aborde un moteur de template qui permet à la fois de séparer le modèle de l'affichage, mais aussi de le conserver mélangé. En fait, il est souvent plus pratique de placer le style dans une balise HTML (attribut style), alors que les bonnes pratiques recommandent de toujours l'exporter dans un fichier externe (pour la réutilisation). L'approche de Brett Zamir est un ensemble d'indicateur, qui déplaceront les styles du code HTML vers la feuille CSS à la volée.

Février 2008 – Nexen.net: Phergie : client IRC en PHP, avec extension

Image pour le titre du contenu
Ben Ramsey et Matthew Turland ont joint leurs forces pour produire une extension PHP pour la bibliothèque libircclient (hébergé chez sourceforge), et un client IRC (hébergé chez Assembla). Cette extension pourrait remplacer les vénérables classes PHP4 de PEAR (Smart_IRC), et proposer une interface plus standard aux réseaux IRC.
Cela fait longtemps que l'on avait pas entendu parler de projet pour PHP et IRC. Une extension dédiée devrait simplifier l'accès à ce système de messagerie, mais le problème final reste le même : comment marier une connexion permanente à IRC, avec un script PHP éphémère?

Février 2008 – Nexen.net: Imagefilter() : les effets spéciaux

Image pour le titre du contenu
Le langage PHP permet de manipuler les images depuis de nombreuses années et pour appliquer des effets spéciaux sur celle-ci, nous étions souvent obligés d'écrire de nombreuses lignes de programmation. Depuis la version PHP 5, une nouvelle fonction est apparue : « IMAGEFILTER » permettant dobtenir des effets avec la même qualité que des logiciels de dessins.
Cette fonction permet de personnaliser laspect visuel de votre site ou aussi de réaliser une galerie photos différentes des autres.
Nous verrons donc les bases, la fonction ImageFilter() et comment jouer avec quelques filtres ?

Février 2008 – Nexen.net: Menus de navigation : tendances du moment

Image pour le titre du contenu
Smashing magazine propose aujourd'hui les différentes tendances de menus de navigation : au programme, les blocs parlants, les menus style Mac, les menus à icones, les menus verticaux, les personnalisés, et les menus expérimentaux. Ouf..Il manque peut être les menus déroulants, à moins que cela ne soit pas à la mode.

Février 2008 – Nexen.net: MySQL fait officiellement partie de Sun

Image pour le titre du contenu
Le 16 janvier, le monde apprenait le mariage de Sun et MySQL. C'est maintenant chose faite, après les accords des gouvernements (USA, Allemagne, Autriche), et les deux compagnies vont passer à la phase d'intégration véritable. Les employés de MySQL vont maintenant se rapporter à leur antenne locale de Sun, et signer un nouveau contrat de travail, ce qui ne va pas sans risque : cela prendra quelques temps.
En attendant, c,est business as usual.

Février 2008 – Apprendre-PHP.com: Imagefilter() : les effets spéciaux

Le langage PHP permet de manipuler les images depuis de nombreuses années et pour appliquer des effets spéciaux sur celle-ci, nous étions souvent obligés d'écrire de nombreuses lignes de programmation. Depuis la version PHP 5, une nouvelle fonction est apparue : « IMAGEFILTER » permettant d’obtenir des effets avec la même qualité que des logiciels de dessins.

Février 2008 – Dur Comme Faire: PHP 5.3 : Une étape importante sur la route vers PHP 6

Le semaine dernière, j'ai eu le plaisir de présenter PHP 5.3 et PHP 6 aux étudiants de la Licence PRO WebDéveloppeur de l'INSSET de Saint Quentin. La présentation est disponible sur la page des conférences données par Kanopée. Donner cette présentation était quelque chose d'important...

Février 2008 – Hello Design: Imagefilter() : les effets spéciaux

 

Un nouvel article de ma part concernant la fonction imagefilter() de PHP 5. Cet article a été publié sur le site Apprendre PHP. Vous pourrez découvrir toutes les possibilités de cette fonction permettant ainsi de réaliser facilement des galeries photos personnalisées.

 Pour accéder à l'article : cliquer ici

 

Février 2008 – Prendre un Café: CleverSvg, librairie SVG pour PHP5

Il y a quelques temps sur un projet professionnel arrêté prématurément, j'avais développé un jeu de classes PHP5 destinées à produire des graphiques au format SVG.

Et bien le code source vient d'être mis à disposition sur le nouveau site dédié open source de Clever Age sous licence LGPL et a pris le doux nom de CleverSvg.

Voici un rapide exemple d'utilisation du joujou :

<?php
require_once('cleversvg.php');
$doc = new csDocument(550, 400, 'SVG test document');
 
$gradient = new csLinearGradient(0, 0, '100%', '100%');
$gradient->addStop('0%', 'yellow');
$gradient->addStop('100%', 'red');
$doc->addAsDefinition($gradient, 'gradient');
 
$star = new csPolygon();
$star->setPointsArray(array(array(350,75),  array(379,161),
                            array(469,161), array(397,215),
                            array(423,301), array(350,250),
                            array(277,301), array(303,215),
                            array(231,161), array(321,161)));
$star->setStroke('blue');
$star->setFill('url(#gradient)');
$star->setStrokeWidth(4);
$linkedstar = new csLink();
$linkedstar->setHref('http://prendreuncafe.com/blog/');
$linkedstar->addElement($star);
$doc->addElement($linkedstar);
 
header("Content-type: image/svg+xml");
echo $doc->toXML();

Ce qui donne quelque chose approchant ceci. Si vous surfez avec un navigateur vieillissant insensible aux avancées technologiques de son temps, ça donne à peu près ça :

Démo CleverSVG

Je suis pour l'instant le développeur principal et mainteneur du projet, et il y a de fortes chances que ce soit le cas pour un petit bout de temps [1]. Une documentation, une liste d'information et support utilisateurs et un bugtracker sont disponibles.

D'autres choses viendront en suivant, dont une librairie destinée à produire des graphes SVG (camemberts, histogrammes, etc.)

J'en profite aussi pour vous faire part de la sortie du projet libre cleverbox, qui permet de déployer et administrer des instances Trac+Subversion en trois coups de cuiller à pot et sans se faire mal.

Notes

[1] Je veux dire, y compris après avoir quitté Clever Age à la mi-mars.

Février 2008 – Nexen.net: Techniques de performances en PHP

Image pour le titre du contenu
Mike Willibanks passe en revue les différentes techniques qui permettront d'accélérer votre site PHP.

  • Cache d'opcode
  • Précalculs
  • Cache de variables
  • Cache de fichiers
  • Cache en mémoire
  • Tables en mémoire
  • Disques en RAM

Février 2008 – Nexen.net: Plus d'une manière de faire une injection de javascript

Image pour le titre du contenu
Les exemples de sécurité tentent tous d'injecter la fameuse alerte alert('XSS') dans du code, au point que certains filtres se basent sur cette injection pour tenter de se prémunir contre les problèmes de XSS.
En lisant le site de Gareth Heyes, vous trouverez différentes manières de publier le même code Javascript que l'alerte ci-dessus, en utilisant des encodages variés, ou des fonctions et des opérateurs ternaires. Les possibilités sont infinies...

Février 2008 – Nexen.net: le fichier .my.cnf

Image pour le titre du contenu
Le fichier .my.cnf est le fichier de configuration par défaut du client MySQL. En en plaçant un à la racine de votre compte, mysql va le trouver et y utiliser les options qu'il y trouve, notamment le nom d'utilisateur, le mot de passe ou l'hôte de connexion. Cela permet de simplifier la ligne de commande pour se connecter à son serveur préféré.

Février 2008 – Nexen.net: SSL ne peut rien contre les XSS

Image pour le titre du contenu
Ceux qui croient encore que l'ajout d'un certificat SSL va les protéger efficacement vont devoir revoir leur copie. Les XSS (et surtout les CSRF), sont parfaitement capables d'utiliser le navigateur pour passer sur une liaison SSL et causer des dommages importants.
Le problème des SSL est le même que celui qui revient à limiter l'accès à l'administration d'un site à une IP unique (ou un accès VPN). A l'aide d'une XSS, on réalise une injection dans le site, et on attire un administrateur, qui lui, possède les bons droits : hop, le tour est joué.

Février 2008 – Nexen.net: Support de PUT et DELETE par PHP

Image pour le titre du contenu
PHP supporte les méthodes GET et POST du protocole HTTP, ce qui est l'utilisation habituelle des scripts. GET et POST diffèrent par leur méthode d'envoi des paramètres, mais le résultat est une page HTML, basée sur un script indiqué par le protocole HTTP.
Pour PUT et DELETE, le problème est différent. Primo, PHP ne les supporte pas et secundo, il y a un problème simple d'existence. PUT pose un fichier sur le serveur : ce dernier n'existe probablement pas (quoique...). Pour DELETE, le résultat sera au contraire, la disparition de la ressource appelée...
Ben Ramsey en parle plus longuement sur son blogue, et indique sa technique pour supporter ces instructions : PUT et DELETE sont dirigés sur /index.php par la configuration Apache, qui peut alors se charger d'effacer ou accepter des données entrantes. Quand on travaille avec un serveur REST, c'est un avantage apréciable.

Février 2008 – Rom's blog: Les développeurs PHP préfèrent Firefox!

Par curiosité, j’ai généré quelques statistiques avec Google Analytics sur la fréquentation du site http://www.wampserver.com pour l’année 2007.
Et grande surprise, sur les 2.3 Millions et des brouettes de visiteurs qui sont venus l’année dernière, la majorité utilisaient le Navigateur Firefox :

Firefox : 1,173,067 soit 49,71%
Internet Explorer : 1,076,285 soit 45,61%

Le reste se répartit entre Opéra et le reste des navigateurs.

Comme quoi la communauté PHP est bien en avance sur le reste du monde ;-)

Février 2008 – Nexen.net: Nouvelle Forge MySQL, par Jay Pipes

Image pour le titre du contenu
Jay Pipes, allié à Guiseppe Maxia, lance la version 2.0 de la forge MySQL : la forge est un portail qui rassemble les contributions à MySQL, sous forme de procédures stockées, d'extensions, de plug-in, etc.
Le nouveau projet a été réécrit avec des fonctionnalités moderne (web 2.0) et beaucoup d'effort pour mettre en valeur les commentaires, ainsi que les personnes qui participent à la forge. C'est un portail totalement dédié à la communauté.
Allez-y jeter un oeil : si ce n'est pas pour la présentation, alors vous y trouverez sûrement un utilitaire MySQL fait pour vous. C'est bien simple, j'en ai trouvé un en rédigeant cet article.

Février 2008 – Nexen.net: Vidéo PHP et MySQL, édition 34

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.

Février 2008 – PHP Index: Tutoriel Zend_Form

Un tutoriel sur le Zend_Form par Rob Allen

Le site de Zend vient de publier un article présentant un tutoriel sur leur Zend_Form posté par Rob Allen, auteur du prochain livre "Zend Framework in Action".

Dans ce tutoriel, vous apprendrez très facilement à créer un formulaire de type contact avec Zend_Form en utilisant des objets (cf notre précédent article sur Zend_Form).

Très bien détaillé avec les parties de codes nécessaires et des commentaires, vous aurez dans un premier temps les paramétrages à mettre en place pour réaliser ce tutoriel, puis la création du formulaire et son affichage, avec l'ajout de décorateurs en option et enfin le contrôle du formulaire.

Source de Zend [uk]
Tutoriel [uk]

Proposé par Clément Péronneaud

Février 2008 – PHP Index: Zend Framework 1.0.4 et Zend Framework 1.5 RC1

Nouvelles versions pour Zend Framework

Avec l'arrivée de la version 1.5 de Zend Framework, l'équipe de Zend et toute la communauté de Zend Framework ont investi beaucoup de temps et d'efforts pour réaliser une version 1.0 ayant le moins d'erreurs possibles.
La mise à jour mineure 1.0.4 corrige donc 111 erreurs allant de problèmes critiques à de simples corrections de CSS.

Source
Changelog
Téléchargement

Le même jour, le site annonce aussi la sortie de la version 1.5 RC1 proposant de nouvelles fonctionnalités telles que le support d'Ajax dans les formulaires de Zend_Form ou le support de l'UTF-8 pour les documents PDF.
Une fois encore, la communauté est sollicitée pour tester cette version et retourner à l'équipe de Zend toutes erreurs potentielles via leur outil en ligne.

Source
Téléchargement

Proposé par Clément Péronneaud

Février 2008 – Nexen.net: Le meilleur de Février 2008 par Smashing Magazine

Image pour le titre du contenu
Smashing magazine passe en revue le meilleur du mois de Février, alors que ce dernier est encore moribond (année bissectile). On y trouve les stats de progression de FireFox face à IE7 (Finlande, champion avec 45%, loin derrière nexen.net qui est à 60% en Février!!), des photos en HDRI, des icones vectorielles, drapeaux et polices, et un article sur l'évolution des logos d'entreprise hilarant (j'adore le premier de Kwanon!). Bonne lecture.

Février 2008 – Nexen.net: CleverSVG : bibliothèque SVG pour PHP

Image pour le titre du contenu
"Il y a quelques temps sur un projet professionnel arrêté prématurément, j'avais développé un jeu de classes PHP5 destinées à produire des graphiques au format SVG.
Et bien le code source vient d'être mis à disposition sur le nouveau site dédié open source de Clever Age sous licence LGPL et a pris le doux nom de CleverSvg." par Nicolas Perriault.

Février 2008 – Nexen.net: Actualité de développement PECL, edition 190

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

  • en rar (0 visite) : manipulations des fichiers .rar

  • en yaz (0 visite) : client Z39.50 pour PHP (YAZ)

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

  • en oci8 (0 visite) : fonctions OCI8

  • en python (0 visite) : python intégré

  • en xrange (0 visite) : Itérateur d'intervalle pour SPL


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

 



 

Février 2008 – Nexen.net: 9 questions quiz sur MySQL

Image pour le titre du contenu
Carsten Perdersen publie 3 nouveaux Quiz pour MySQL : une question sur les standards et a portabilité d'une commande, une enigme de mathématique, et une autre d'insertion. Bon courage.
Vous pouvez aussi revoir les six premières questions.

Février 2008 – PHP Index: Developer Tutorials: "Zend Framework: The Best Framework for Use With Other Frameworks"

Zend Framework : le meilleur Framework à utiliser avec d'autres Framework ?

Selon le site de www.developertutorials.com, Zend Framework a comme grand avantage de pouvoir être utilisé conjointement avec n'importe quel autre Framework.

En effet, Zend Framework utilise ses propres classes, méthodes et librairies pour ajouter des fonctions qui n'existeraient pas dans votre Framework de base et fonctionne donc de façon indépendante. Vous pourrez ainsi manipuler les dates et heures, lier des fils RSS et interagir avec les API de Google même si votre Framework de base n'incluait pas ces fonctions.

Source
Site de Zend

Proposé par Clément Péronneaud

Février 2008 – PHP Index: Des formations en ligne chez Zend

Zend, dont l'activité repose sur la plateforme PHP, propose à partir du 3 mars prochain de toutes nouvelles formations en ligne et surtout en français.

Attention, par cours en ligne, n'allez surtout pas comprendre « cours à télécharger et à étudier sois même », les prix n'en serait d'ailleurs pas justifiés. Ainsi, Zend dispensera des formations complètes, via Internet dans un « environnement de classe virtuelle » et adaptées au niveau de chacun – débutant, intermédiaire ou confirmé.

D'une durée comprise entre 6 et 18h, ces formations aborderons d'une part des problématiques assez classiques :

  • les fondamentaux, PHP approfondi,
  • sécurité PHP,
  • application client riche avec Ajax,
  • ...

D'autre part, Zend a axé certaines sessions autour de ses produits et services. On retrouvera donc des formations au Zend Framework ou encore liées au programme de certification Zend (séances de préparation prévues).

Enfin, concernant les prix, il faudra compter entre 600 et 1000 euros la session ou 2750 euros pour un pack contenant entre autre les fondamentaux, PHP Approfondi, une formation à la certification Zend ainsi qu'un voucher pour passer la certification.
Notez de plus que ces formations bénéficient d'un prix « discount » - compter 15% d'économie tout de même- jusqu'au premier avril.

Site de Zend
Offres de formation