Vous l'avez peut-être remarqué si vous êtes entrain de développer avec votre langage favoris (PHP bien sûr) mais le phpinfo() qui donne la configuration d'un serveur web a été hacké par une équipe d'informaticiens professionnels. Remarquez le logo PHP qui n'est plus tout à fait le même...
La version 1.1 beta 2 de symfony a été lancée en phase de test depuis quelques jours.
Il s'agit d'une version importante car elle clôture pour un temps l'ajout de nouvelles fonctionnalités majeures. Les travaux des prochaines semaines devraient essentiellement porter sur les tests, le débogage et la documentation de ce framework, dans le but d'obtenir une version stable d'ici un mois ou deux.
Les changements principaux par rapport à la version 1.0 portent sur :
- Remaniement complet de l'utilisation en ligne de commande
- Amélioration de la gestion des formulaires (classes, widgets, protection CSRF, ...)
- Amélioration pour la gestion des pluggins
- Amélioration des performances du cache
- ...
A noter : François Zaninotto assure que la rétro-compatibilité a été particulièrement soignée et que 99.9% du code des applications développée avec Symfony 1.0 sera pris en compte par Symfony 1.1 sans qu'il soit nécessaire d'y retoucher.
Pour plus d'informations, vous pouvez l'article correspondant sur le site du projet Symfony.
Forum:
Brèves
Auteur: philippe
Écrit le: Tue, 01 Apr 2008 10:21:36 +0200
Dernier message: Tue, 01 Apr 2008 13:26:57 +0200
Forum:
Brèves
Auteur: Mr.MoOx
Écrit le: Tue, 01 Apr 2008 09:48:17 +0200
Dernier message: Wed, 09 Apr 2008 11:22:14 +0200
Dans sa lancée pour donner aux développeurs PHP de nouveaux outils et marchés à explorer, Zend et SAP examinent les possibilités d'amélioration sur le Netweaver PHP connector.
Afin de déterminer quelles sont les fonctionnalités importantes, un sondage est mis à la disposition des utilisateurs de SAP intéressés par l'intégration de PHP et des développeurs PHP confrontés à des problématiques de liaison d'applications PHP à SAP.
Pour en savoir plus, vous pouvez consulter l'article sur le site de Zend.
Derick Rethans publie deux versions de ses extensions : translit, qui assure la translitération, soit la transformation de texte en différents caractères vers l'alphabet romain que nous connaissons tous (pratique pour manipuler du chinois, par exemple); ainsi que VLD, Vulcan Logic Disassembler, une extension du moteur Zend pour extraire les op code de PHP et les retraiter avant exécution. Deux petites extensions bien pratique.
Ed Finkler suggère deux améliorations pour la sécurité de WordPress, qui peuvent s'appliquer au développement de toutes les autres applications.
D'abord, l'utilisation de phpass (PHP et Pass), qui est un framework de signature pour PHP. La bibliothèque s'assure que les mots de passe sont bien protégés par une clé de signature avant d'être stocké en base, ce qui rend les attaques systématiques très coûteuses.
Le deuxième est une structuration des cookies qui inclut une clé de vérification dans la valeur du cookie : cookie = nom|date d'expiration|HMAC( utilisateur|date d'expiration|, cle du serveur) De cette manière, la clé reste sur le serveur et permet de vérifier que chaque cookie reçu est bien bien une valeur en provenance du serveur lui-même, sans altération de la part du navigateur.
L'ancienne équipe de direction de MySQL, menée par Zack Urlocker et Marten Mickos ont gonflé des centaines de dauphins bleus et roses (???) pour les déposer sur le campus de Sun durant la nuit. Puis, ils ont enregistré l'émission de dolphin TV ci-dessous pour couronner le tout.
(note : quelqu'un connaît l'expression "française" que cite Zack ? Et la différence entre les dauphins bleus et rouge? :)
Coté PHP, David Coallier a fait croire qu'il passait à Microsoft Leopard et à RoR...
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.
Deux rendez-vous importants sont au calendrier : ce soir, MySQL-Sun rencontre la communauté pour faire le point sur l'évolution de la base de données depuis l'événement du rachat par Sun. Un impressionnant aréopage de personnalités de MySQL (incluant Kaj Arno et Guiseppe Maxia), seront sur place pour discuter de l'évolution et de la fusion de MySQL. Cela se passera au Patricks Irish Pub, 33 rue de Montreuil, 75011, Paris, sur invitation. Je vous tiens au courant.
Jeudi, c'est à Lyon que se passera la rencontre AFUP du mois, consacré à PHP 6 et aux architectures PHP. La salle promet d'être comble, avec les inscriptions fermées depuis la semaine dernière, et du monde qui vient de loin. Vous pourrez toujours tentez votre chance sur place.
Stubbles est un nouveau cadre d'application réalisé en PHP 5.
Stubbles installe ses propres environnements au lieu d'utiliser les paquets que vous aimez et les combines avec PEAR, Zend Framework...
Acceleo est un générateur de code qui permet de transformer des modèles vers du code (approche MDA).
Acceleo est simple à utiliser et dispose de générateurs prêts à l'emploi entre autres...
Après plus de deux ans et demi de travail, l'équipe de Joomla vient d'annoncer la sortie de la version stable de Joomla 1.5.
Cette nouvelle version est basée sur trois maîtres mots :...
Lors de la réalisation d'un projet en PHP, il est possible de repérer les développeurs PHP qui sont dits "paresseux ". Reinhold Weber dresse sur son blogue une liste de 40 signes permettant...
Gary Gygax est mort le 4 mars 2008 à l'âge de 69 ans. Il est l'un des pères du jeu de rôle et coauteur de Donjons & Dragons.
Grands passionnés de wargames, Gary Gygax et Dave Arneson avaient...
PHP 4 est maintenant officiellement terminé. Depuis le 1er janvier 2008, le développement de PHP 4 est abandonné au profit de PHP 5.3 et PHP 6. La toute dernière version (4.4.8) a été...
«Copix 3.0.2 est disponible dans l'espace téléchargements. Cette version inclus essentiellement des correctifs vous permettant de profiter pleinement de Copix.
Quelques nouveautés toutefois,...
La version "still furry as hell" (toujours poilu comme l'enfer) a été publiée.
Rien de bien nouveau dans cette version, sinon qu'un nombre important de bogues ont été corrigés et même une...
« Quand on a un tableau multidimensionnel, 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...
«Google, Microsoft, VeriSign, IBM et Yahoo rejoignent le conseil d'administration de la fondation OpenID, qui encadre le développement du standard d'identification du même nom. Quelques semaines...
Sur le site Developper Shed, Alejandro Gervasio a proposé récemment plusieurs guides pour gérer l'upload de fichiers en PHP5.
Ces articles montrent notamment comment réaliser un mécanisme d'upload de fichiers, intégrablement dans des applications PHP existantes à moindre effort.
Les articles suivants sont disponibles :
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...
Un dictionnaire représente une colonne dans une table avec un nombre fini de valeurs : par exemple, la liste des provinces canadiennes, ou les mois de l'année. Ce type de liste peut être plutôt...
« Inspekt sert de pare-feu entre les données des visiteurs et le reste de l'application. Elle prend les tableaux superglobaux de PHP, encapsule les données dans une 'cage', et supprime la variable...
« Toutes les applications PHP ont besoin d'un fichier de configuration, ne serait-ce que pour enregistrer les informations de connexion à la base de données. Une des méthodes populaires pour cela...
La pagination découpe un résultat trop grand en une série de pages plus petites. À la base, cette approche permet de réduire la quantité de travail à faire, puisque les pages sont plus...
Ludovic Toinel nous parle de son truc de grande mère (c'est une supermamie cette grande mère).
« Rares sont les personnes qui connaissent la fonction register_shutdown_function, et pourtant, elle...
Bon, c'est très loin de la vérité, j'en ai vu des pires, puisqu'ils étaient réels, ceux-ci, j'en suis pas si sûr, mais vous rirez sûrement beaucoup à lire ou essayer les CAPTCHA proposés sur...
En prenant quelques minutes pour réfléchir, Lukas Smith a imaginé et propose la création d'un groupe pour aider à promouvoir et à défendre le PHP, celle-ci se nommerait emPHPower.
Le but de EmPHPower devrait être un interlocuteur entre différents participants dans le monde PHP. En tant que tel emPHPower pourrait servir de médiateur entre les développeurs et les PHP.net sa base d'utilisateurs, PHP.net entre sociétés et entre les sociétés locales et les organisateurs etc...
Lukas parle plus de faire de ses idées et des choses comme le mentionne le projet de budget ou pourrait venir des membres honoraires. Vous pouvez découvrir l'integralité de son projet sur son blog et bien suren savoir plus en le contactant.
J'ai publié le compte-rendu de la rencontre de MySQL et Sun avec la communauté dans un dossier séparé. Ce fut une très belle rencontre, avec peu de discours et beaucoup de réponses aux questions qui entourent la fusion.
Il me faudra encore un peu de temps pour publier les photos de la rencontre AFUP de Lyon.
Dans le but de donner plus d'informations à la communauté, et de faire participer plus de monde, un wiki est maintenant organisé sur le site de php.net. Il a pour but de rassembler les discussions...
Un tournant important dans l'ère des dates en PHP avec la prise en compte du format normal jj/mm/aaaa dans le futur moteur PHP. De nombreux développeurs se sont plaints lors de la dernière...
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...
Matthew Weier O’Phinney (Master of the ZF-MVC) a récemment publié un tutoriel sur l'utilisation conjointe de Zend_Auth et Zend_Form pour construire un formulaire d'identification persistante.
Ayant pu observer que l'un des problèmes les plus fréquents lorsqu'on cherche à gérer une authentification persistante est de savoir combiner les différents éléments de base, il propose sur son blog un tutoriel pas à pas pour répondre à ce problème.
La version 4.2 RC1 de TYPO3 est disponible depuis hier soir.
Cette version apportent essentiellement la correction d'environ une centaine de bugs. Les autres changements sont minimes et peuvent être consultés sur le changelog.
Il est important de noter que PHP 5.2 est requis pour le bon fonctionnement de cette version.
Les Evênements se multiplient en France autour de PHP & MySQL...
Un autre moyen de rencontrer les utilisateurs du langage PHP, consistent de se rendre dans un PHP Apéro et de rencontrer de nombreuses personnes actives et aussi quelques membres de l'AFUP (Association Françaises des utilisateurs de PHP)
Il ne reste plus qu'a choisir votre ville...
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é) , 5.1.23-rc et 6.0.4.
Les mises à jour sont recommandées vers ces versions.
3 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
Drupal, Joomla et phpMyAdmin
Php.js est un projet de Kevin van Zonneveld qui a pour but de reproduire plus d'une centaine de fonctions PHP en javascript !
La configuration permet d'utiliser la totalité de la bibliothèque PHP.JS dans vos pages pour avoir toutes les fonctions.
Soit sélectionner les fonctions qui vous interressent.
Zend Technologies par l'intermédiaire de AL'X communication, propose des webinars axés PHP.
Plusieurs rendez-vous sont prévus pour le mois d'avril et vous pouvez participer à distance.
Les thèmes pour ce mois Avril sont :
* Webinar "Créer et déboguez vos applications avec Zend Studio for Eclipse"
* Webinar "Supervisez et optimisez vos applications PHP avec Zend Platform »
* Webinar "Zend Framework 1.5 : Zend_form & Zend_layout"
Gmapper est une classe PHP qui facilite l'intégration de l'(JS-based) API Google Maps dans vos pages Web.
Nous connaissons depuis quelques temps la possibilité de créer vos propres cartes avec API Google.
Maintenant, il est possible de créer vos propres itinéraires et par conséquent vos directions d'un point A vers un point B
Gmapper est aussi doté de fonctionnalités avancées telles que le géocodage, un support XML, KML, Zoom à bornes, et Streetview.
L'AFUP organise une conférence gratuite sur le thème du Développement d'Applications riches avec PHP et Silverlight, le 14 mai à la Cantine.
Cette conférence sera animée par Christophe Lauer et Pierre Lagarde, à partir de 19h00.
Sur son blog, Christophe Lauer invite d'ailleurs les personnes instéressés à s'inscrire via le site de l'AFUP.
1 L'AFUP est l'Association Française des Utilisateurs de PHP.
AL'X communication propose plusieurs rendez-vous concernant les webinars de Zend Technologies axés PHP destinée à tous les développeurs ou développeuses.
Plusieurs rendez-vous sont prévus pour le mois d'avril et en plus vous pouvez participer à distance et qui concernent les thèmes suivant :
Webinar "Créer et déboguez vos applications avec Zend Studio for Eclipse" le 14 avril 2008 à 14h30
Zend Studio for Eclipse est notre IDE PHP de nouvelle génération basé sur Zend Studio "Classique" et l'environnement Eclipse. Studio possède de nombreuses nouvelles fonctionnalités telles que le Code coverage, le test unitaire, le profiling...
L'objectif de ce webinar est de mettre en rapport les fonctionnalités de Studio for Eclipse avec les problématiques quotidiennes de développement.
Nous vous montrerons donc comment créer et déboguer une application PHP en utilisant les outils Zend Studio for Eclipse.
Nous aborderons de manière pratique la gestion de projets, les fonctionnalités de base (édition, complétion, templates), les fonctionnalités avancées (génération de code, débogage, profiling, test unitaire).
Notre expert répondra à l'ensemble de vos questions tout au long de cette présentation.
Durée : 40 minutes
Intervenant : Gauthier Delamarre, Consultant Zend Technologie France
---------------------------------------------
Webinar "Supervisez et optimisez vos applications PHP avec Zend Platform" le 21 avril 2008 à 14 h 30
Superviser les applications PHP, détecter les bugs et être à même de les corriger en un temps record, c'est la gageure de toute équipe informatique.
La Zend Platform est un serveur d'applications Web qui propose de telles fonctionnalités parmi bien d'autres.
Proposé par hello
Un moyen de rencontrer les utilisateurs de PHP, consistent de se rendre dans un PHP Apéro et de rencontrer de nombreuses personnes actives et aussi quelques membres de l'AFUP (Association...
Un moyen de rencontrer les utilisateurs de PHP, consistent de se rendre dans un PHP Apéro et de rencontrer de nombreuses personnes actives et aussi quelques membres de l'AFUP (Association...
Un moyen de rencontrer les utilisateurs de PHP, consistent de se rendre dans un PHP Apéro et de rencontrer de nombreuses personnes actives et aussi quelques membres de l'AFUP (Association...
Voici la question que c'est posé la question le blog Digital Sandwich - PHP ?
Cette question, nous devrions se la poser car souvent par simplicité, nous effectuons des tests rapides pour aller plus vite, mais ces tests peuvent provoquer certains problèmes.
L'article montre une approche qu'il est important de connaitre avec l'utilisation d'appel pour permettre d'effectuer des tests propres et suivant le niveau de l'appel.
Traduction d'une série d'articles de Lorenzo Alberton
Il s'est souvent posé des questions sur la façon d'utiliser PEAR::Pager dans un certain nombre de cas,
de la manière efficace de paginer des résultats lu dans une base de données,
à l'utilisation combinée de Pager et javascript
ou de Pager et AJAX,
en passant par l'utilisation de Pager et de mod_rewrite.
Étant donné que ces questions sont de plus en plus récurrentes sur sa boîte mail ou sur les mailing-lists de PEAR,
il a décidé d'écrire cette série de petits tutoriaux :
- Comment efficacement paginer base de données des résultats. (trad en cours / original).
- Créer de beaux liens avec Pager et mod_rewrite. (original)
- Navigation avec Pager et AJAX (ou simple Javascript) (original)
- Pagination d'article , ou comment naviguer dans des paragraphes avec Pager (original)
- Pagination de résultats db avec Pager_Wrapper et de les afficher avec AJAX. Utiliser Pager avec le moteur de template Smarty (original)
Vous désirez un sujet particulier? vous voulez utiliser Pager de façon inhabituelle?
S’il vous plaît envoyez un mail à Lorenzo avec votre idée.
PEAR:: Pager est écrit dans le but de paginer des tableaux.
Bien que vous puissiez récupérer tous les enregistrements d'une base de données,
de les stocker dans un tableau et de les transmettre aux Pager,
cette méthode n'est pas particulièrement efficace.
Si vous avez des résultats un tant soit peu imposants,
ce n'est pas du tout éfficace .
Il doit y avoir une meilleure façon!
En fait, il y a ...
la méthode #1
Traduction d'une série d'articles de Lorenzo Alberton
La première méthode utilise Pager seulement pour créer des liens, et vous permettent de récupérer les enregistrement pertinents.
Plutôt que de transmettre le tableau de données à paginer Pager,
vous venez juste de passer le nombre d'enregistrements.
Dans l'exemple suivant, nous allons récupérer les enregistrements d'une table contenant certains produits.
PEAR::MDB2 DBAL est utilisée ici, but how you fetch the records isn't relevant.
[php]
<?php
require_once 'Pager/Pager.php';
require_once 'MDB2.php';
// on saute le code de connection
// Supposons que nous disposons d'une connexion valable dans $db.
//d'abord on utilise pager pour créer les liens
$num_products = $db->queryOne('SELECT COUNT(*) FROM products');
$pager_options = array(
'mode' => 'Sliding',
'perPage' => 10,
'delta' => 2,
'totalItems' => $num_products,
);
$pager = Pager::factory($pager_options);
//ensuite on récupère les enregistrements pertinents pour la page courrante
list($from, $to) = $pager->getOffsetByPageId();
//set the OFFSET and LIMIT clauses for the following query
$db->setLimit($pager_options['perPage'], $from - 1);
$query = 'SELECT prod_name, prod_description FROM products';
$products = $db->queryAll($query, null, MDB2_FETCHMODE_ASSOC);
//show the results
echo '<ul>';
foreach ($products as $product) {
echo '<li>'.$product['prod_name'].': '.$product['prod_description'].'</li>';
}
echo '</ul>';
//show the links
echo $pager->links;
?>
Bien que cette méthode soit acceptable, il faut quand même beaucoup de code.
Méthode #2: Pager_Wrapper à la rescousse!
Après la la méthode #1 voici
Méthode #2: Pager_Wrapper à la rescousse!
La seconde méthode est d'utiliser le plus maniable Pager_Wrappers que vous pouvez trouver dans le répertoire /examples/ de votre installation de PEAR (ou via le visualiseur CVS).
Ces fonctions faire tout le sale boulot pour vous, alors jetez un coup d'oeil.
[php]
<?php
//copy the Pager_Wrapper file where you can include it
require_once 'Pager_Wrapper.php';
require_once 'MDB2.php';
//skipped the db connection code...
//let's just suppose we have a valid db connection in $db.
$pager_options = array(
'mode' => 'Sliding',
'perPage' => 10,
'delta' => 2,
);
$query = 'SELECT prod_name, prod_description FROM products';
$paged_data = Pager_Wrapper_MDB2($db, $query, $pager_options);
//show the results
echo '<ul>';
foreach ($paged_data['data'] as $product) {
echo '<li>'.$product['prod_name'].': '.$product['prod_description'].'</li>';
}
echo '</ul>';
//show the links
echo $paged_data['links'];
?>
Ces méthodes sont beaucoup plus efficaces que d'aller récupérer de tous les enregistrements de la base de données dans un tableau, et de le paginer ensuite.
Seuls les enregistrements utiles sont récupérés, ce qui réduit considérablement la charge sur le serveur (et sur le réseau, si vous avez la db sur une autre machine).
Pager_Wrapper, qui est fourni avec le paquet PEAR::Pager, contient les fonctions prête à l'emploi fonctionnant avec PEAR DBALs: DB, MDB, MDB2, DB_DataObject, et avec la bibliothèque PHP Eclipse.
Vous pouvez facilement écrire les vôtres en suivant les exemples.
e-TF1 va présenter au prochain rendez-vous AFUP (Association Françaises des utilisateurs PHP) sa méthodologie et ses outils permettant une réelle industrialisation des projets PHP.
Ce rendez-vous est prévu le 29 avril 2008 sur Paris.
Il sera question : "Comment faire pour garder le contrôle de la plateforme, la maitrise de la qualité et des connaissances tout en assurant une productivité optimale"
L'AFUP (Association Française des Utilisateurs de PHP) annonce l'appel à conférenciers pour le Forum PHP 2008.
Pour cet évènement unique en France nous recherchons les experts francophones qui souhaitent partager leurs expériences et leur savoir-faire. Une liste non-exhaustive inclue les sujets suivants:
- Comment gérer un projet PHP (outils, méthodes, ...)
- Assurer la qualité du code
- Le Droit sur Internet
- Monter son entreprise autour de PHP
- La montée en charge
- Connecter des services (web services)
- Les interfaces riches (choix technologie, implémentation, ...)
Pour postuler rendez vous sur cette page: http://afup.org/pages/forumphp2008/appel-a-conferenciers.php
Perrick annonce une nouvelle release de SimpleTest : 1.0.1.
Une occasion pour moi de dire comme je suis content d'enfin l'utiliser réellement dans mes développement. Sur le projet claroline, la sauce n'a jamais pris. Maintenant pour skynet, on utilise la pratique du "écrire le test puis le code" et c'est vrai que sur le premier jet ca parait fastidieux, mais quel confort ensuite. J'ai même pris le réflexe d'écrire un test dès qu'un bug est trouvé.
Pour ceux qui s'intéressent à ces techniques : Test Driven Development
L'AFUP (Association Française des Utilisateurs de PHP) annonce l'appel à conférenciers pour le Forum PHP 2008.
Pour cet évènement unique en France nous recherchons les experts francophones qui souhaitent partager leurs expériences et leur savoir-faire. Une liste non-exhaustive inclue les sujets suivants:
- Comment gérer un projet PHP (outils, méthodes, ...)
- Assurer la qualité du code
- Le Droit sur Internet
- Monter son entreprise autour de PHP
- La montée en charge
- Connecter des services (web services)
- Les interfaces riches (choix technologie, implémentation, ...)
Pour postuler rendez vous sur cette page: http://afup.org/pages/forumphp2008/appel-a-conferenciers.php
suite à la partie 1 concernant la discution sur la doctrine, voici la suite de discution avec Rasmus Lerdorf :
Partie 2 : Cette partie est axée sur la mise au droit MaxClient des options de configuration d'apache.
Partie 3 : Cette partie traite de la mise en forme correcte des entêtes HTTP (et dyslexique serveurs Web)
Par ailleurs, si vous n'avez pas encore cherché et trouvé, jetter un oeil à la YSlow, l'extension de Firebug
L'AFUP (Association Française des Utilisateurs de PHP) annonce l'appel à conférenciers pour le Forum PHP 2008.
Pour cet évènement unique en France nous recherchons les experts francophones qui souhaitent partager leurs expériences et leur savoir-faire. Une liste non-exhaustive inclue les sujets suivants:
* Comment gérer un projet PHP (outils, méthodes, ...)
* Assurer la qualité du code
* Le Droit sur Internet
* Monter son entreprise autour de PHP
* La montée en charge
* Connecter des services (web services)
* Les interfaces riches (choix technologie, implémentation, ...)
Pour postuler rendez vous sur cette page: http://afup.org/pages/forumphp2008/appel-a-conferenciers.php
Proposé par hello
Pour rappel, EyeOS est une plate-forme Open Source, écrit en PHP et qui est prévu pour l'hébergement de différentes applications Web. Il s'agit d'une nouvelle dématérialisation de votre bureau informatique.
Maintenant l'utilisation de la langue française se trouve supporter, mais aussi deux nouvelles fonctionnalités :
- La synchronisation des données entre un ordinateur et le bureau virtuel
- l’accès depuis un mobile
L'AFUP (Association Française des Utilisateurs de PHP) annonce l'appel à conférenciers pour le Forum PHP 2008.
Pour cet évènement unique en France nous recherchons les experts francophones qui souhaitent partager leurs expériences et leur savoir-faire. Une liste non-exhaustive inclue les sujets suivants:
* Comment gérer un projet PHP (outils, méthodes, ...)
* Assurer la qualité du code
* Le Droit sur Internet
* Monter son entreprise autour de PHP
* La montée en charge
* Connecter des services (web services)
* Les interfaces riches (choix technologie, implémentation, ...)
Pour postuler rendez vous sur cette page:
L’AFUP (Association Française des Utilisateurs de PHP) vient de faire son appel à conférenciers pour le Forum PHP 2008.
Comme chaque année depuis maintenant 6 ans (et oui, déjà), nous recherchons des intervenants souhaitant partager leurs expériences et leur savoir-faire autour de PHP. Les thèmes abordés cette année seront:
* Comment gérer un projet PHP (outils, méthodes, …)
* Assurer la qualité du code
* Le Droit sur Internet
* Monter son entreprise autour de PHP
* La montée en charge
* Connecter des services (web services)
* Les interfaces riches (choix technologie, implémentation, …)
Pour postuler rendez vous sur cette page:
http://afup.org/pages/forumphp2008/appel-a-conferenciers.php
Comme chaque année, le Forum PHP se tiendra cet automne.
Si vous avez envie de présenter une technique, un outil, un savoir-faire lié au monde PHP ou faire un retour d'expérience de l'utilisation de PHP au sein de votre entreprise, n'hésitez pas à postuler....
L'AFUP et e-TF1 organisent une conférence sur le thème de l'industrialisation des développements PHP, le 29 avril 2008 à la FIAP.
e-TF1, filiale de la chaîne TF1 en charge des nouveaux médias, avec son équipe travaillant sur plusieurs milliers de fichiers PHP, a été confronté à des problèmes d'optimisation et se propose aujourd'hui de présenter sa méthodologie et ses outils permettant une réelle industrialisation des projets PHP.
L'AFUP, Association Française des Utilisateurs de PHP,
a le plaisir d'annoncer le Forum PHP 2008 qui aura lieu
les 8 et 9 décembre 2008 à Paris.
Pour cet évènement unique en France l'AFUP recherche les experts francophones
qui souhaitent partager leurs expériences et leur...
Passer une grosse partie de son temps devant l'ordinateur à programmer avec votre langage favoris et de l'autre coté, votre peluche elePHPant, qu'il est souvent nécessaire de passer un peu de temps entre collègues pour voir et faire autre chose que de l'informatique.
Il ne s'agit pas vraiment d'une nouveauté pure PHP, mais nous pensons à votre santé car prendre l'air devient très important.
Le site Flick'r propose quelques vidéos de distractions autour de quelques membres de PHPGroup et de quelques bières (Abus d'alcool est dangereux pour votre santé)
C'est pourquoi, penser aux nombreux rendez-vous qui vous sont proposés et n'hésitez pas à être présents.
phpPgAdmin est un projet proposant d'administrer un ou plusieurs de vos serveurs PostgreSQL à partir de votre navigateur et réalisé en PHP.
Cette nouvelle version apporte la gestion de PostgreSQL 8.3 et aussi quelques nouvelles fonctionnalités, ergonomies et correctifs.
L'ouvrage "Mastering Joomla! 1.5 – Extension and Framework Development" est recommandé sur le site de Zend.
Ce livre a été écrit par James Kennard [ISBN 978-1-847192-82-0]. Il s'adresse aux développeurs PHP avertis, voulant comprendre Joomla en vue d'une customisation avancée et/ou du développement d'extensions.
Joomla ayant récemment subi de grands ramaniements, sa documentation en ligne n'est pas satisfaisante d'après l'auteur de l'article. C'est pour pallier à ce manque qu'il a acheté le livre "Mastering Joomla! 1.5 – Extension and Framework Development" et qu'il le recommande chaudement aujourd'hui.
Pour plus d'informations, vous pouvez consulter l'article correspondant sur le site Zend.
Une version 6.2 de DRUPAL, corrigeant une faille de sécurité, est disponible depuis hier.
Cette version n'apporte aucune nouvelle fonctionnalité. Elle corrige essentiellement les problèmes reportés sur le système de suivi des bugs et surtout une faille de sécurité présente depuis la version 6 de DRUPAL. Si vous utiliser DRUPAL 6, il est fortement recommandé d'upgrader ou de patcher votre version.
Pour plus d'informations, vous pouvez consulter l'article correspondant sur le site dédié à DRUPAL.
Forum:
Brèves
Auteur: philippe
Écrit le: Thu, 10 Apr 2008 10:48:11 +0200
Dernier message: Thu, 10 Apr 2008 22:40:23 +0200
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.
Pour :
- Connaitre le communiqué
- L'interview de l'auteur
- Extrait du livre
- La table des matières
http://www.editions-eni.fr/Livres/PHP-et-MySQL---MySQLi---PDO-Construisez-votre-application/.4_3a6222cf-b921-41f5-886c-c989f77ba994_122b93d8-8d5b-4998-94f9-f507cad15d99_1_0_d9bd8b5e-f324-473f-b1fc-b41b421c950f.html?partner=A50027&xtor=AL-50027
L'AFUP (Association Française des Utilisateurs de PHP) annonce l'appel à conférenciers pour le Forum PHP 2008.
Pour cet évènement unique en France nous recherchons les experts francophones qui souhaitent partager leurs expériences et leur savoir-faire. Une liste non-exhaustive inclue les sujets suivants:
* Comment gérer un projet PHP (outils, méthodes, ...)
* Assurer la qualité du code
* Le Droit sur Internet
* Monter son entreprise autour de PHP
* La montée en charge
* Connecter des services (web services)
* Les interfaces riches (choix technologie, implémentation, ...)
Pour postuler rendez vous sur cette page:
http://afup.org/pages/forumphp2008/appel-a-conferenciers.phpen Anglais :
http://afup.org/pages/forumphp2008/appel-a-conferenciers.php#english-version
6 paquets ont été mis à jour cette semaine :
vld (0 visite) : translittération des caractères en alphabet romain
PDO_IBM (0 visite) : exporte la représentation interne des scripts PHP
doublemetaphone (0 visite) : Pilote PDO pour les bases de données IBM
uuid (0 visite) : double metaphone
funcall (0 visite) : Support des fonctions uuid
PECL (0 visite) : Ajoute des callback à n'importe quelle méthode ou fonction
PECL est la bibliothèque d'extensions C de PHP.
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.
Il y a eu récemment une discussion comme sujet la mort de la réplication MySQL avec la participation de Brian Aker, puis Farhan, Arjen et Paul.
La prochaine génération de réplication approche et sera clairement à l'ordre du jour de l'industrie Les dirigeants et les adeptes pack. Nous devrions regarder et de se demander l'orientation de la programmation en se posant toutefois quelques questions. Tels que:
1. L'utilisation - Quel est / a été utilisée pour la réplication MySQL?
2. Les motifs - Pourquoi était-il utilisé?
3. Les problèmes - Pourquoi y at-il un besoin pour quelque chose de meilleur, différent ou amélioré?
Cependant vous pouvez obtenir les directions et orientations concernant cette futur réplication.
L'AFUP (Association Française des Utilisateurs de PHP) annonce l'appel à conférenciers pour le Forum PHP 2008.
Pour cet évènement unique en France nous recherchons les experts francophones qui souhaitent partager leurs expériences et leur savoir-faire. Une liste non-exhaustive inclue les sujets suivants:
* Comment gérer un projet PHP (outils, méthodes, ...)
* Assurer la qualité du code
* Le Droit sur Internet
* Monter son entreprise autour de PHP
* La montée en charge
* Connecter des services (web services)
* Les interfaces riches (choix technologie, implémentation, ...)
Pour postuler rendez vous sur cette page: http://afup.org/pages/forumphp2008/appel-a-conferenciers.php
Dans cet article paru ce Vendredi, NetEco s'est interressé aux CMS utilisés par les rédactions web. PHP ou java, open Source au propriétaires. Découvrez ce qui à motivé le choix de ces rédactions comme France 24, l'AFP ou encore Rue89.
Si vous souhaitez déployer un système de gestion du contenu pour votre site web, cet article vous aidera peut être à faire votre choix parmi le grand nombre de CMS existants.
L'article sur NetEco
Proposé par Fabien LACHAUD
Un jour, Lukas Smith avait quelques minutes pour réfléchir et il a imaginé et propose la création d'un groupe pour aider à promouvoir et à défendre le PHP, celle-ci se nommerait...
Xdebug est une extension de PHP et permet de vous aider à déboguer vos applications.
Cette version apporte quelques correctifs, mais la grosse nouveauté concerne le support de PHP 5.3 (actuellement version dev).
Une très approche avec l'approche de PHP 5.3
Chose promise chose due ! Les archives de Bienvenue chez moi, mon ancien blog, sont désormais disponibles. Tous les commentaires et articles ont étaient restaurés. Vous y trouverez un grand nombre de tutoriels pour Ubuntu et Linux en général ainsi que les anciennes version de Easy Ubuntu, des (...)
14 paquets ont été mis à jour cette semaine :
PEAR est la bibliothèque de composants PHP.
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é) , 5.1.23-rc et 6.0.4.
Les mises à jour sont recommandées vers ces versions.
3 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
Drupal, Gallery et ez components
XMPPHP est le successeur de Class.Jabber.PHP qui était un projet prometteur depuis quelques années. Avec la puissance de PHP5, XMPPHP semble être une solution élégante avec une approche directe.
Certaines de ces caractéristiques sont les suivantes:
* Connectez-vous à n'importe quel serveur XMPP 1,0 (Google Talk, LJ Talk, jabber.org, etc)
* Supporte le cryptage TLS
* Plusieurs approches de traitement de XML et soutenu styles (processus indéfiniment, processUntil un événement, processTime pour un certain nombre de secondes), etc
* Les connexions persistantes
Sans surprise, Sun annonce la version GA (generaly available) de MySQL 5.1, en guise d'ouverture de la conférence annuelle MySQL, à Santa Clara. C'est la version 5.1.23 qui est maintenant la version de référence, 30 mois après la sortie de 5.0.
Les formats habituels (windows, Solaris, freebsd, linux, macosx, source) sont disponibles dors et déjà.
Pour rappel, la version 5.1 apporte le support des partitions, du programmateur de tâches et de la réplication à la ligne, sans compter nombre de corrections diverses, et la possibilité de tester Maria, le dernier moteur de la maison MySQL AB.
Delphi, filiale de Borland, vient d'annoncer la nouvelle version orienté PHP.
Cet IDE permet de réaliser des applications internet (web) sous le principe du glisser-déposer.
Une des nouveautés concerne l'intégration du framework zend et une nouvelle gestion des erreurs et de débogage.
Cet outil a subit de nombreuses évolutions concernant la gestion des templates HTML, ainsi d'une meilleure gestion des bases de données pouvant exister (MySQL, Oracle, PostgreSQL...). Par ailleurs, il est possible de créer des applications et sites en utilisant Ajax.
Wez Furlong a lancé le chantier de PDO2 par un appel à commentaire. PDO, la couche d'abstraction de base de données pour PHP, est maintenant un ajout permanent à la plate-forme, et le groupe de...
Jeremiah Grossman publie la liste des 10 meilleurs (et des 80 candidates) au titre de vulnérabilité de l'année. Flash et PDF, avec leur caractère universel, finissent en haut de la liste, avec...
Après avoir décidé un visiteur à s'inscrire, et à rester à moyen terme sur un site, il faut que ce dernier passe le test de l'inscription. C'est-à-dire qu'il ne fait pas fuir le visiteur...
PHP_SELF (ou $_SERVER['PHP_SELF']) est sujet à des injections XSS tout comme n'importe quelle variable $_GET, $_POST, $_REQUEST ou $_COOKIES. En fait, le serveur Web prend les informations provenant...
« TCPDF est une classe PHP 5 pour produire des fichiers PDF à la volée, sans aucune extension particulière. TCPDF se base sur FPDF (http://www.fpdf.org) et lui apporte nombre de modernisation....
Bien que la plupart des graphistes web travaillent sous Firefox et qu'il existe de nombreuses extensions qui leur facilitent le travail.
Cependant, il est difficile de corriger les erreurs dans les...
L'AFUP (Association Française des Utilisateurs de PHP) annonce l'appel à conférenciers pour le Forum PHP 2008.
Pour cet évènement unique en France nous recherchons les experts francophones...
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...
Les flots de données sont une abstraction qui permet d'accéder à de nombreuses ressources exactement comme on accède à un fichier. En PHP, les gestionnaires de flots sont choisis directement...
Automap est une extension PHP qui étend le concept de __autoload() aux fonctions et aux constantes. __autoload() est une fonction PHP5 qui, quand elle est définie, intervient pour charger...
Les stats, les sondages permettent de connaitre différentes informations concernant la répartition, la part de marché d'un langage, ce qui permet d'orienter l'entreprise dans ses différents choix de développements.
Le portail Nexen est très heureux de participer dans la fourniture de ces analyses car de nombreux portails et magazines d'informations attendent ces informations très précieuses pour en parler (ceux qui ravi le portail)
Concernant l'analyse de ce mois ci (mars 2008), nous pouvons voir :
- Du coté serveur : Apache 1 et 2 s'octroient environ 70 % de parts de marché.
- Du coté langage : PHP avec une pénétration de 33.4 % se décompose avec 2 versions majeures : PHP 4.4.8 et PHP 5.2.5 qui représentent plus de 96 % d'installations. Pour la France PHP est de 40 %
-
Du coté base de donnée : MySQL est toujours en tete
Vikram Vaswani par l'intermédiaire du site IBM montre le processus d'utilisation et l'integration de YouTube dans nos applications PHP avec l'utilisation de l'extension SimpleXML de PHP.
Une série d'exemple permet de montrer différentes possibilités :
- Introduction des liens YouTube
- Effectuer des recherches de videos par catégorie et mot clé
- Extraire les données des vidéos, les commentaires, les vidéos, le profil de l'auteur.
L'article montre une partie des possibilités qui sont offertes par cette Application et montre une assez grande souplesse.
Firecookie permet d'avoir une intégration de la gestion des témoins dans Firebug. Il vous permet de voir les témoins en temps réel qui sont ajoutés par un site web, d'en voir leur contenu, et...
La version 2.11.5 de PhpMyAdmin vient de paraître.
Cette nouvelle version corrige 9 failles de sécurité de type injection SQL, il est donc recommandé de migrer vers cette version.
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...
« 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...
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...
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...
Quelle serait votre réponse à cette question?
Ryan Barnett analyse sept réponses jusqu'à la réponse adéquate : inutile de dire qu'elle est longue et capillotractée.
La première réponse...
PHP dispose de nombreuses méthodes magiques. Quand elles sont absentes, elles forcent PHP à utiliser un comportement par défaut. Dans le cas contraire, elles permettent de personnaliser un...
À l'aide de PHP_CodeSniffer, Raphael Stolt publie 2 méthodes pour détecter les méthodes qui sont trop longues, et les classes qui ont trop de méthodes. De plus, PHP_CodeSniffer s'emploie à...
Après de nombreuses années d'attente, voici la sortie officielle de PHP-GTK 2.
PHP-GTK est une extension de PHP qui permet de créer des applications graphiques pour Windows et Linux.
Dans...
Je me permets de relayer cette information qui pourra intéresser une partie du lectorat de ce blog : Sensio Labs organise le mercredi 23 avril un petit-déjeuner de présentation du framework symfony à destination des sociétés de services en informatiques (SSII, agences web, cabinets de conseil, indépendants, etc.) au Centre Etoile Saint-Honoré (Paris).
Fabien Potencier, créateur de symfony et développeur principal y présentera les atouts du framework en entreprise et fera quelques annonces sur les perspectives à venir. Ça sera également l'occasion de rencontrer une grande partie de l'équipe en charge du développement du coeur de symfony, de me serrer la pince et de grapiller quelques croissants gratos 
N'hésitez pas à vous inscrire en ligne sur le site de SensioLabs.
Ce billet intitulé Petit-déjeuner de présentation symfony le 23 avril prochain a été rédigé par Nicolas Perriault et publié sur le blog Prendre un Café sous licence Creative Commons BY-NC-SA.
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.
Sans surprise, Sun annonce la version GA (generaly available) de MySQL 5.1, en guise d'ouverture de la conférence annuelle MySQL, à Santa Clara. C'est la version 5.1.23 qui est maintenant la...
La constante __DIR__ contiendra en permanence le dossier du fichier d'exécution courant, c'est à dire la même chose que "dirname(__FILE__);". C'est bien pratique, mais au défaut d'être...
GetBoo est une application de signet social, comparable à Delicious. Après enregistrement, on peut déposer ses signets, leur assigner des tags (des étiquettes), et les partager. Getboo est même...
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...
« eval() est décidément un gouffre à performance ! »
Olivier Mansour nous fait une démonstration... Et en plus, eval() est très dangereux pour la sécurité.
Ilia Alshanetsky publie la première version candidate pour PHP 5.2.6, la RC1. C'est une version de stabilité, qui corrige 97 bogues, et met à jour PCRE vers la version 7.6. Ilia annonce un cycle...
Apprendre PHP fait une revue de Symfony 1.1 Bêta 2.
« Fabien Potencier et François Zaninotto ont dévoilé samedi la version 1.0.12 du framework PHP. Cette nouvelle mise à jour corrige un...
« Comme nous le savons tous, le but d'un mot de passe est avant tout de rester connu d'une personne ou d'un groupe de personne. Sa divulgation entraine alors la perte complète de son efficacité et...
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...
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...
Comme je l’ai déjà décrit dans un post précédent, mysqlnd (pour MySQL Native Driver) est un driver développé depuis peu par MySQL et optimisé pour être utilisé avec PHP et notamment le Zend Engine. Celui-ci va permettre, en remplacement de la libmysql, d’atteindre un meilleur niveau de performance dans l’utilisation du couple PHP/MySQL.
Ce driver, initialement intégré à l’extension php_mysqli est en cours d’intégration à PDO. MySQL vient d’annoncer aujourd’hui la disponibilité d’une première version “preview” de cette nouvelle version de PDO_MySQL. Ils ne précisent pas quand la version définitive sera disponible :
http://forge.mysql.com/wiki/PHP_PDO_MYSQLND
L'équipe de Typo3 annonce la sortie de la version 4.2 RC2
Pas beaucoup de changements dans cette release puisqu'elle corrige principalement les bugs de la version précédente.
On peut cependant noter une amélioration de l'interface graphique et le changement de la version minimum de PHP. Typo3 accepte désormais la version 5.0 (contre la 5.2 dans les versions précédentes).
Lire l'article
Télécharger cette version
Bugreport
Changelog
La version 5.1 qui devait être disponible fin mars ne le sera finalement que fin juin...
Divers bugs seraient à l'origine du retard, mais pour nous faire patienter, Sun nous propose une "release candidate "de la version 5.1.
Cette version de MySQL améliore considérablement les performances puisqu'elle est globalement 15% plus rapide que son prédécesseur.
A cela s'ajoutent les nouvelles fonctions de partitionnement et de réplication de données qui permettront d'accélérer les opérations de maintenance et de sauvegarde. La répartition de la charge entre différents serveurs sera également facilitée.
A noter également la sortie de MySQL Workbench 5.0, un outil graphique qui facilite la création et l'administration de base de données.
Disponible sous licence GPL et version payante (ajout de modules qui permettront d'optimiser la gestion des flux).
Lire l'article
Télécharger MySQL 5.1
Télécharger MySQL Workbench 5.0
Jonathan Snook livre le secret de son plus récent filtreur de commentaire à blogue : un système d'évaluation par score assez simple, où on gagne des points s'il n'y a pas trop d'URL (moins de...
Podcast generator est une application en ligne de podcast : elle permet de publier des podcasts et des fichiers audio/vidéo en ligne, via un formulaire Web classique. L'application se charge alors...
Xdebug est une extension de PHP et permet de vous aider à déboguer vos applications.
Cette version apporte quelques correctifs, mais la grosse nouveauté concerne le support de PHP 5.3...
SimpleTest 1.0.1 est disponible au téléchargement. Ce sera la dernière mise à jour pour PHP4. À partir de maintenant, il faudra utiliser PHP5.0.5 au moins...
Si on fait un petit retour en...
e-TF1, filiale de la chaîne TF1 en charge des nouveaux médias, vous propose propose de découvrir sa méthodologie et ses outils permettant une réelle industrialisation des projets PHP.
e-TF1...
Derick Rethans publie deux versions de ses extensions : translit, qui assure la translittération, soit la transformation de texte en différents caractères vers l'alphabet romain que nous...
Ed Finkler suggère deux améliorations pour la sécurité de WordPress, qui peuvent s'appliquer au développement de toutes les autres applications.
D'abord, l'utilisation de phpass (PHP et...
Johannes Schülter annonce que PHP 5.3 apporte 30 % d'accélération par rapport aux versions précédentes. Ces chiffres ont été obtenus avec l'utilisation de différents CMS écrits en PHP, qui...
« Il y a souvent des identifiants de bases de données à mettre dans les scripts PHP : si vous êtes dans ce cas là, voici quelques idées pour renforcer votre sécurité.
Eviter d'utiliser un...
Le but de ESAPI est de proposer à partir d'une interface simple toutes sortes de fonctions de sécurité pour vos développements PHP.
L'architecture de ESAPI est très simple puisquune série...
Get the Flash Player to see this player.
Aujourd’hui un petit tour du coté du design pattern singleton implémentable en PHP5.
Voici un audioscript de la vidéo :
- Le singleton est facilement implémentable en PHP5 grâce à la POO native du language et la possibilité de paramétrer la visibilité des attributs d’un objet (public, private, protected …)
- Un singleton est une simple classe en PHP qui ne peut pas être instanciée plus d’une fois (unicité de l’objet). Sa principale utilité se trouve dans la gestion des connexions à une base de données. En bloquant le nombre d’instanciation possible de l’objet gérant le traitement des requêtes, on s’assura ainsi qu’une seule connection à la base de donnée sera possible dans le script.
- Un singleton se différencie d’une classe par les spécificités suivantes :
- Un constructeur private (donc l’objet ne sera instanciable qu’au sein de sa classe)
- Un attribut static contenant l’instance actuelle, par défaut null (aucune instance créée)
- Une méthode public et static qui créera une instance de l’objet ou renverra celle précédemment créée.
- Interdire le clonage
J’ai réalisé quelques erreurs/manque de rigeur dans la vidéo :
- Des inversions entre accesseurs/objets/types/méthodes/attributs
- Pour interdire le clonage vous pouvez aussi passer la méthode magic __clone en private
- La constante E_USER_ERROR ne renvoi pas une erreur de type warning mais de type fatal.
- La méthode connect de la classe sql doit avoir un accesseur private et non public sauf si vous souhaitez utilisez la méthode connect manuellement (par exemple pour utiliser mysql_real_escape_string qui nécessite une connexion préalable). Dans ce cas, ajouter au début de la méthode un return si la connexion est déjà active :
class sql
{
//...
public function connect()
{
if($this->is_connected) return;
//...
}
//...
}
Code source de la vidéo
<?php
$sql = sql::get_instance();
$sql->query('SELECT id FROM test');
$sql->close();
class sql
{
private $serveur = 'localhost';
private $user = 'root';
private $pwd = '';
private $bdd = 'test';
private $is_connected = false;
private static $instance = null;
public static function get_instance()
{
if(self::$instance === null)
self::$instance = new sql();
return self::$instance;
}
public function __clone()
{
trigger_error('Clonage non permis', E_USER_ERROR);
}
private function __construct()
{
}
private function connect()
{
mysql_connect($this->serveur,$this->user,$this->pwd) or die('SQL Error');
mysql_select_db($this->bdd) or die('SQL Error');
mysql_query("SET NAMES 'UTF8'") or die('SQL Error');
$this->is_connected = true;
}
public function query($requete)
{
if($this->is_connected === false)
$this->connect();
$query = mysql_query($requete);
return $query;
}
public function close()
{
if($this->is_connected)
{
mysql_close();
$this->is_connected = false;
}
}
}
?>
Première revue de presse de phpnews pour vous faire découvrir ce que j’ai trouvé d’intéressant cette semaine dans d’autres blogs et sites concernant les technologies du Web 2.0, le tout agrémenté de mini-news :
- On s’approche de la version finale de MySQL 5.1 qui devait normalement être déjà disponible ce mois-ci mais qui a été reportée pour le moi de Juin. A la place, Sun nous livre une “Release Candidate Development Release” en version 5.1.24.
- De son coté PHP 5.3 continue d’intègrer de nouvelles features intéressantes telle que la syntaxe NOWDOC et une nouvelle constante magique, __DIR__
- Facebook a rencontré quelques problèmes sur des ré initialisation de connections intempestives. Le problème a été marqué comme résolu le 16 avril au soir, mais a continué le lendemain, et encore aujourd’hui je récupère de temps en temps des erreurs de connections (ça va cependant en s’arrangeant).
- Facebook toujours. Les appels à l’API sont lents, que ce soit des requêtes FBQL ou des récupérations d’informations utilisateurs, chaque appel dure environ une demi seconde. De plus la génération du HTML depuis le FBML sur les pages canvas est lui aussi lent et cette fois ça a pas l’air d’aller en s’arrangeant.
- Linuxfr nous présente Piwik, le successeur de phpMyVisites qui se veut être une alternative open source à Google Analytics. Personnellement, je ne suis pas vraiment enthousiasmé de placer un script de génération de stats en PHP comme Piwik, gourmand en SQL et en taille de base de données, alors que Google Analytics s’en charge actuellement brillamment et que ça ne coûte absolument rien au niveau du serveur.
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é) , 5.1.23-rc et 6.0.4.
Les mises à jour sont recommandées vers ces versions.
5 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
Gallery, Joomla, WordPress, e107 et phpBB
6 paquets ont été mis à jour cette semaine :
mailparse (0 visite) : manipulations de messages courriels
Xdebug (0 visite) : profileur et traceur de scripts PHP
enchant (0 visite) : correction orthogrpahique avec libenchant
oci8 (0 visite) : fonctions OCI8
tdb (0 visite) : Interface Trivial DB
sqlite3 (0 visite) : sqlite 3
PECL est la bibliothèque d'extensions C de PHP.
6 paquets ont été mis à jour cette semaine :
PHP_CompatInfo (0 visite) : Recherche les versions et extensions minimum pour exécuter un script PHP
Cache_Lite (0 visite) : Un système de cache rapide et sécuritaire
PEAR_Info (0 visite) : Informations sur l'installation PEAR
Net_Vpopmaild (0 visite) : Classe d'accès à vpopmaild
Services_Akismet (0 visite) : Client PHP pour Askimet (REST)
Net_Nmap (0 visite) : Interface simple pour Nmap
PEAR est la bibliothèque de composants PHP.
__autoload() est une fonction bien pratique de PHP 5 pour charger dynamiquement des définitions de classes dans PHP quand celui-ci a besoin d'un objet. Avec SPL, il est désormais possible de définir plusieurs fonctions __autoload(). SPL définit une pile d'exécution à utiliser avec __autoload(). La fonction est disponible en standard, depuis PHP 5.1.2.
"Si vous utilisez MySQL depuis un moment, vous savez, malheureusement, que MySQL n'a pas d'interface pratique pour gérer les performances, comme les bases propriétaires peuvent avoir, telles que Oracle. Poser un diagnostic complet sur un système en sous-performances est un défi. Heureusement, les dernières versions de MysQL ont apporté de plus en plus de tableaux de bord pour surveiller les serveurs.
Une des dernières innovation est disponible dans le nouveau moteur de table transactionnel Falcon de MySQL 6.0. L'équipe Falcon a conçu de nouvelle tables dans la tabe information_schema, pour vous aider à comprendre comment Falcon se comporte, et quels sont les problèmes. Voyons donc de plus près ces tables, comment les utiliser."
Smashing magazine "présente plus de 40 exemples de formulaire Web beau et bien conçus, ainsi que des solutions modernes et créatives pour la conception Web. Certains exemples sont en Flash, mais la plupart sont en XHTML et CSS.
Gérer des hiérarchies dans une base de données est un problème. Il y a bien CONNECT BY PRIOR de chez Oracle, et le standard SQL définit par le UNION récursif de IBM, mais quand même... est-ce que cela ne serait pas agréable si les hiérarchies (ou même, des graphes complets comme un graphe social) pouvait fonctionner proprement dans une base relationnelle?
C'est un sujet que Kim et moi ([NTJ :Arjen Lentz]) avons étudié depuis un moment. Le moteur qui en est sorti s'appelle OQGRAPH (OQ for Open Query), car un simple moteur GRAPH serait en conflit avec des symboles internes."
Arjen Lentz a finalisé un prototype de moteur pour OQGRAPH durant la conférence MySQL, et nous avons maintenant à attendre une version beta à tester pour MySQL 5.1. Encore une bonne raison de migrer directement à cette version!
Il est désormais possible d'utiliser les API de Youtube dans vos sites PHP. IBM propose là un bon tutoriel pour manipuler les données de Youtube à l'aide de l'extension PHP SimpleXML.
L'accès aux vidéos de Youtube se fait à l'aide d'urls bien précises.
Toutes ces URLs renvoient un flux XML qu'il est possible de parser ensuite de différentes manières (Dans le tutoriel d'IBM, c'est SimpleXML qui est utilisé, mais on peux aussi utiliser une feuille XSL ou autre...).
Voici des exemples d'urls appelées :
- Pour obtenir les vidéos les plus récentes :
http://gdata.youtube.com/feeds/api/standardfeeds/most_viewed
- Pour obtenir les vidéos d'une catégorie précise :
http://gdata.youtube.com/feeds/api/videos/-/Sport/
- Pour obtenir les vidéos suite à une recherche :
http://gdata.youtube.com/feeds/api/videos/-/nancy/lorraine
Voici le lien de ce tutoriel qui explique parfaitement comment récupérer et traiter les données :
Tutoriel "Use the YouTube API with PHP"
Proposé par David KAPOLA
"J'ai eu a chance de rencontrer les gars de Symfony durant la conférence MySQL, il y a quelques jours. Nous avons fait le point sur le projet Symfony, et regardé vers ce qui nous attend à l'avenir. "
Un podcast de Michael Kimsal.
Selon Tim Bray, Keynote speaker à Open Web Vancouver 2008 : 'il y a beaucoup plus de femmes dans l'assistance, proportionnellement, que dans une conférence Ruby ou Rails ou Java'.
Je n'ai rien noté de pareil, mais je ne suis pas un adepte des conférences Ruby ou Java. À MySQL conférence, il y en avait effectivement, un peu moins (proportionellement). Et puis, il y a les PHP Women, qui veulent se faire un éléphpant avec du vernis sur les ongles et du rouge à lèvres...Cela doit surement aider.
Smashing Magazine livre un dossier consacré à la conception de site Web. À partir de 4 constats, ils vous proposent 10 règles à suivre pour préparer correctement votre site Web.
* Les...
Vikram Vaswani par l'intermédiaire du site IBM montre le processus d'utilisation et l'intégration de YouTube dans nos applications PHP avec l'utilisation de l'extension SimpleXML de PHP.
Une...
« XMPPHP est le successeur de Class.Jabber.PHP que je promettais depuis quelques années. Avec la puissance de PHP5, XMPPHP semble être une solution élégante avec une approche...
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,...
phpPgAdmin est un projet proposant d'administrer un ou plusieurs de vos serveurs PostGreSQL à partir de votre navigateur et réalisé en PHP.
Au début, c'était un port de phpMyAdmin, mais c'est...
Teresa Nielsen Hayden, modératrice sur le site de boing-boing à publier sous forme de question / réponse les méthodes qu'elle et les modérateurs du site utilisent pour valider les commentaires...
MySQL a annoncé à ses partenaires qu'il va publier certaines fonctionnalités nouvelles uniquement à ses clients (via MySQL Enterprise). Le communiqué n'est pas encore en ligne, mais la fureur fait rage sur le sujet. Il y a, au moins, deux faces à cette histoire.
Une première qui concerne la sauvegarde. MySQL 6.0.4 et plus récent est livré avec des commandes de sauvegarde en ligne : backup et restore database. Elles permettent de faire des sauvegardes sur un serveur en production, sans passer par mysqldump. Ces commandes seront les premières à être affectées par la nouvelle politique de MySQL, puisque les versions à chaud, compressée et chiffrées (séparément) seront des services payants. En fait, comme le précise Guiseppe Maxia, BACKUP est bien livré en GPL, mais tous les services avancés sont des plug-ins payants.
L'autre aspect est le changement de politique de développement de MySQL. Jusqu'à présent, l'éditeur publiait tout son code en GPL, puis proposait des services complémentaires. La communauté, qui doit être 1000 fois plus grande que les clients, rapportait alors des bugs. Pour les plug-in ci-dessus, ce sera les clients qui vont déboguer, puisque la communauté n'y aura pas eu accès avant. C'est une décision purement business, qui fait du sens du point de vue de la valeur, mais reste difficile à accepter d'un point de vue technique : en fait, cela touche le modèle de développement originel de MySQL.
Enfin, il semble que cela soit une décision MySQL, qui avait été prise avant le rachat par SUN. Une preuve encore que cette fusion est en cours de réalisation, et que les surprises ne proviennent pas seulement de la nouvelle direction.
Baron Schwartz publie un truc pour estimer la durée d'exécution d'une requête. Avec Explain, on peut obtenir une estimation du nombre de lignes qui devra être traité par MySQL. En divisant cela par Handler_read_rnd_next, qui est une mesure de la vitesse de lecture des données sur le disque, on peut obtenir une telle estimation.
Bien sur, ce chiffre est perturbé en cas de nombreuses requêtes simultanées.
Selon le site de hackademix, le site des nations unies est vulnérables à des injections SQL. En fait, il semble que le site utilise des commandes préparées, qui sont la protection la plus recommandée d'un point de vue sécurité. Mais le site a été programmé sans faire usage des variables de requêtes (les ? dans les requêtes SQL), et les requêtes sont toujours construites dynamiquement. Au final, quelques pertes de performances, vraisemblablement, et un faux sentiment de sécurité.
PHP et MySQL ont recu chacun 10 et 14 bourses étudiantes. 24 étudiants seront financés par Google durant l'été pour travailler à l'optimisation de PHP, son site Web ou son système de compilation; un moteur de table en mémoire, le script d'installation de phpMyAdmin ou le paralellisme pour mysqldump.
Voyez ci-dessous la liste complète des projets. Ils auront sûrement un impact sur vous d'ici la fin de l'année.
D'autres projets, comme Gallery, Joomla!, Coppermine, Drupal ou Wordpress on aussi reçu des bourses.
"Tous les développeurs Web doivent faire face à un formulaire, à un point ou à un autre. Que ce soit pour de l'inscription en base de données, du mail ou n'importe quoi d'autre, les formulaires représentent le moyen premier pour demander des données à un utilisateur. Et, par conséquent, il est important que les données collectées par ces formulaires, soient contrôlée, pour obtenir une application sans bug."
Développeur et Passionné(e) ? Rejoignez Stonfield InWorld !
Ecrit par Pierre-Olivier Carles le Lundi 14 avril 2008 à 12:07
Développeur PHP/MySQL (Réf. : Dev)
Statut : CDI
Lieu(x) : Oloron Sainte Marie (64) ou Toulouse (31)
Date : A partir du 15 Avril 2008
Pour renforcer son équipe technique et participer au lancement dun de nos plus gros projets, Stonfield InWorld recherche un développeur PHP/MySQL qui soit passionné de e-Commerce.
H/F - Travaillant au quotidien avec moi (Pierre-Olivier), vous serez en charge de faire évoluer sur le plan technique un projet e-Commerce plutôt innovant et de grande envergure.
Vous êtes un développeur de talent, maîtrisant bien-sûr PHP et MySQL. Votre niveau de diplôme importe peu car ce sont surtout vos compétences techniques et votre potentiel qui vous seront utiles. Sur le plan humain, vous devez être enthousiaste, entrepreneur, positif et curieux, avoir envie de rejoindre une équipe plutôt sympa et qui avance vite Idéalement, vous avez également envie de changer le monde. Ce nest pas sur cela que vous travaillerez au tout début mais nous avons dautres projets
(Lisez la suite sur le site de Stonfield InWorld.
Matt Jurmann nous donne une liste de raisons (et les explications) pourquoi il vaut mieux utilisés les CSS que les tableaux pour faire votre design de site.
1. Chargement plus rapide de la...
Smashing magazine "présente plus de 40 exemples de formulaire Web beau et bien conçus, ainsi que des solutions modernes et créatives pour la conception Web. Certains exemples sont en Flash, mais...
__autoload() est une fonction qui charge dynamiquement des définitions de classes dans PHP quand celui-ci a besoin d'un objet. Avec SPL, il est possible de définir plusieurs fonctions __autoload()....
La version 6.2 de DRUPAL, qui corrigeant une faille de sécurité, est maintenant disponible.
Cette version n'apporte aucune nouvelle fonctionnalité. Elle corrige essentiellement les problèmes...
Le site de Barrack Obama, candidat à l'investiture démocrate aux USA, a été victime d'une attaque XSS : une simple redirection renvoyait les visiteurs vers... le site de Hillary Clinton, sa rivale à l'investiture.
Une simple injection HTML (aussi appelée XSS), permet de rediriger automatiquement les personnes qui vont sur le blogue de Mr Obama, vers le site de Hillary Clinton. Imaginez les proportions que cela peut prendre. Ce ne sont encore que les site de campagnes, mais qu'adviendra-t-il lorsque le vote par internet sera démocratisé? (sic).
Bref, méfiez vous des injections.
Alejandro Gervasio lance un dossier sur les mesures de performances PHP. Le premier volet est consacré à microtime(), la méthode la plus rudimentaire pour identifier les problèmes de performances.
Cette fonction donne une mesure de l'horloge interne, précise à quelques micro-secondes près. On peut donc s'en servir pour poser des jalons d'exécution, et identifier les parties qui prennent le plus de temps. L'ajout de code PHP ralentit l'ensemble du script, mais permet de cerner les parties de code lentes, et ne demande aucune installation particulière.
3 conférences publient leurs conférences :
- PHP London : avec les slides et l'enregistrement sonore.
- MySQLUC : slides uniquement
- OpenWebVancouver : en cours, mais trouvez mes slides sur nexen.net
Maciej Dobrzanski signale deux patch MySQL qui améliorent grandement le suivi des utilisateurs MySQL.
Le premier est micro-slow, un patch qui donne la possibilité d'identifier les requêtes lentes en donnant une précision inférieure à la seconde, comme c'est le cas actuellement. La requête la plus lente qui soit mesurable doit faire au moins une seconde, ce qui est un filtre très large pour la plus part des requêtes SQL pour le Web. micro_slow permet de descendre sous cette barre.
Le deuxième est une série de nouvelles commandes SHOW : SHOW TABLE_STATISTICS, SHOW INDEX_STATISTICS et SHOW USER_STATISTICS. On peut maintenant suivre le nombre lignes lues, de connexions, de connexions simultanées, etc. pour un utilisateur durant sa durée de vie. Dans un environnement fortement multi-utilisateur, cela permet de faire la différence entre ceux qui sont inactifs, et ceux qui surchargent la machine.
mysql> SHOW USER_STATISTICS LIKE 'hosting2'\G
*************************** 1. row ***************************
User: hosting2
Total_connections: 84
Concurrent_connections: 0
Connected_time: 20
Busy_time: 1
Rows_fetched: 7861
Rows_updated: 240
Select_commands: 1759
Update_commands: 254
Other_commands: 85
Commit_transactions: 0
Rollback_transactions: 0
Forum:
Brèves
Auteur: whitespirit
Écrit le: Tue, 08 Apr 2008 19:46:40 +0200
Dernier message: Thu, 10 Jul 2008 08:05:17 +0200
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.
SI vous êtes anglophone, vous pouvez jeter un oeil sur la liste de pagechain, qui a rassemblé 15 sites qui dispense des tutoriels sur PHP. La liste inclut OnLamp, SitePoint et DevShed, et KillerPHP, qui publie surtout des videos.
En francais, il y a plusieurs sites à citer :
En avez-vous d'autres à conseiller ? Cela fait longtemps que je n'ai pas trouvé de nouveau sites de tutoriels.
"Like it or not, it is the MySQL Conference and Expo". que vous aimez cela ou pas, c'est la conférence et exposition MySQL, résume Baron Schwartz. La conférence de Santa Clara était un show professionnel, et non pas une rencontre d'utilisateurs.
Il suggère que la communauté abandonne sa timidité, et s'organise pour avoir sa propre rencontre d'utilisateur. Le concept a été baptisé OurSQL, et se cherche actuellement un modèle : une ou deux journée, un coût raisonnable autour de 100 Euro, avec la nourriture, et des localisations bien plus proches des utilisateurs.
Autant que je le sache, PHP Québec et l'AFUP proposent des conférences de cette gamme, à des tarifs très raisonnables, et dans un format très attrayant. Même sur Paris, cela pourrais se faire. Qu'en pensez-vous?
"Un nouveau dossier technique "PHP Scalability and High Availability" est publié sur OTN.
Ce livre blanc parle de l'extension PHP OCI8 1.3, explique certains concepts derrière DRCP et FAN, et donne les bonnes pratiques et les conseils de paramétrage.
Il inclut aussi un nouvel atelier de performances, qui montre que PHP supporte 20000 connexion directement sur Oracle, et sur du matériel quelconque, en utilisant uniquement 2Go de RAM. Une de mes conférences l'an dernier indiquait que cet réserve de puissance n'imposait pas que le site soit vraiment gros : mais vous avez ce potentiel pour vous."
Par Christopher Jones.
Le journal du net a lancé un appel à contribution pour savoir pourquoi PHP a été choisi comme langage de script coté serveur. Il y a actuellement 8 contributions, et vous pouvez déposer vos propres expériences directement sur le site. Une excellente initiative.
"Pour réaliser vos projets de site Web dynamique, vous avez choisi le langage de script côté serveur. Expliquez ce choix ainsi que ses avantages et inconvénients."
Cette page décrit le fonctionnement général du MVC du Zend Framework et précise le rôle et l'utilisation des Plugins et des Helpers.
Note : cet article ne s'adresse pas aux débutants sur le Zend Framework. Il faut être déjà bien familiarisé avec ce framework pour comprendre l'intérêt de cet article.
3 paquets ont été mis à jour cette semaine :
enchant (0 visite) : correction orthogrpahique avec libenchant
oci8 (0 visite) : fonctions OCI8
tdb (0 visite) : Interface Trivial DB
PECL est la bibliothèque d'extensions C de PHP.
« Tous les développeurs Web doivent faire face à un formulaire, à un point ou à un autre. Que ce soit pour de l'inscription en base de données, du mail ou n'importe quoi d'autre, les...
PHP à dix étudiants qui seront financés par Google durant l'été pour travailler à l'optimisation de PHP, son site Web, des outils ou son système de compilation.
D'autres projets en PHP,...
Baron Schwartz publie un truc pour estimer la durée d'exécution d'une requête. Avec la commande EXPLAIN, on peut obtenir une estimation du nombre de lignes qui devra être traité par MySQL. Ce...
Le site de Microsoft était vulnérable à des injections SQL, selon un article sur le site de 0x0000000.
En fait, c'est sur une ancienne adresse, surement oubliée depuis le temps. La commande...
Le site des Nations unies est vulnérable à des injections SQL, selon un article sur le site dhackademix
Bien qu'il semble que le site utilise des commandes préparées, celui si a été...
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é) , 5.1.23-rc et 6.0.4.
Les mises à jour sont recommandées vers ces versions.
13 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes :
DotClear, Drupal, Gallery, Horde, Invision Power Board, Joomla, PHP Nuke, PostNuke, WordPress, e107, ming, phpBB et phpMyAdmin
En plus de la documentation officielle MySQL, il existe désormais un guide utilisateur, dont le but est la prise en main du serveur, et non pas l'exhaustivité de la référence. En bref, ce guide est plus court, plus pragmatique, mais beaucoup moins complet. Il sera probablement plus adapté au débutant que la documentation complète, car il devrait se perdre un peu moins dans différents points de détails, et rester concentré sur les utilisations les plus classiques.
Et on peut aussi y contribuer, comme en lançant une version française. Un candidat?
Léquipe de PHP Québec vous invite à une autre édition des légendaires PHPBeer au Pub Pub Ste-Elizabeth
Invitez vos amis, collègues de travails à ce joindre à nous pour prendre un verre, célébrez la victoire des Canadiens, discuter de toutes sorte de sujets et peut être parler de PHP.
Confirmer votre présence sur :
Upcoming :
http://upcoming.yahoo.com/event/498800FaceBook :
http://www.facebook.com/event.php?eid=13512083316Ou : Pub Ste-Elizabeth
1412 Ste-Elizabeth
Montreal, Québec
Quand : 25 Avril à 17:30
Map:
http://tinyurl.com/6z5gdm
Voici un compte rendu du eZ developer day du 17/04/2008 qui s'est déroulé dans les locaux de Sun Microsystems réunissant une cinquantaine de développeurs intéressé par le CMS eZ Publish
. Nous avons tout d'abord eu droit à une première présentation de la stratégie "Open Source" de Sun. Rien de très intéressant techniquement parlant, si ce n'est quelques fonctionnalités avancées d'Open Solaris
comme le système de fichiers ZFS
ou la solution de virtualisation et une volonté affichée avec l'ouverture de Solaris de concurrencer les distributions Linux autant au niveau professionnel avec des niveaux de support avancés qu'au niveau communautaire.
La suite était heureusement nettement plus intéressante. Comme en octobre dernier
Paul Borgermans nous a présenté la roadmap des différents produits eZ (eZ Publish, eZ Components
, eZ Flow, eZ Find
, ...). Le moins qu'on puisse dire est que de grosses évolutions voire des révolutions sont en marche au moins au niveau d'eZ Publish.
La version 4.1 d'eZ Publish
Cette version devrait voir apparaître le très attendu Online Editor basé sur TinyMCE
bien plus configurable et souple que l'actuel. La compatibilité avec l'existant sera assuré de manière transparente. Cette version verra aussi le retour de la compatibilité avec Oracle, le support de Solaris 10 ou encore une fonctionnalité d'expiration des mots de passe développé par un partenaire.
Une extension fournissant un flash permettant l'upload massif sera également fournie. La démonstration était vraiment bluffante, ce sera une alternative très intéressante au WebDAV
, protocole qui manque cruellement de client fiable en particulier sous Windows.
La version 4.5 d'eZ Publish
Cette version verra beaucoup de changements internes selon 2 axes principaux
- L'intégration des eZ Components
- L'amélioration de performances
Le second étant en partie remplie par le premier. en vrac les nouveautés annoncées sont les suivantes :
- allègement du code kernel en déplaçant plusieurs fonctionnalités dans des extensions permettant leur activation/désactivation simplement
- nouveau système de template et donc de surcharge (override) bien plus performant. Paul citait un exemple d'un template complexe qui s'éxécute 20 fois plus rapidement avec le nouveau système !
- amélioration du système de cache pour le rendre plus granulaire. Une possible implémentation de la norme ESI (Edge Side Includes)
a également été évoquée pour être compatible avec Akamaï
ou le reverse proxy Varnish
.
- support de IIS avec PHP en mode FastCGI ainsi que de MS SQL. D'autres SGBD pourrait également être supporté l'écriture de la couche d'interface nécessaire
- introduction des "object states" personnalisables permettant de brancher facilement l'exécution d'un processus de workflow externe
- refonte du fichier index.php
dans le but de l'alléger et de le rendre plus performant mais aussi de pouvoir y brancher l'exécution d'un script sans passer par toute la pile d'eZ Publish lorsque le besoin de performances est important
- réécriture du système multi-lingue et des URL alias car le code est actuel est complexe et est basé sur des opérations bit à bit en base de données
ce qui compromet la portabilité sur différent SGBD
- "dé-normalisation" de la base de données, en particulier dans un premier temps la gestion des utilisateurs permettant de supporter plus d'utilisateurs. La "dé-normalisation" au niveau des contenus a également été abordée mais reste pour le moment un projet à plus long terme...
ouf ! voila déjà une belle et ambitieuse liste rien que pour eZ Publish ! Cette version devrait paraître avant la fin de l'année.
eZ Find, eZ Flow, eZ Components
eZ Find 1.1 apportera la recherche par facets
dans le courant du second trimestre 2008. La version 2.0 sera une réécriture complète via le composant Search
des eZ Components de manière à profiter de l'ensemble des fonctionnalités de Solr
.
De nouvelles version d'eZ Flow et d'eZ Components sont annoncées pour la eZ conférence en Norvège au mois de juin
. Enfin, eZ Flow 2.0 est également annoncée pour la fin de l'année.
BarCamp !
L'après midi s'est terminé par un barcamp axé sur les questions apportées par les différents participants. Chacun a pu échanger sur ses "recettes de cuisine" eZ Publish, je retiens plusieurs points très en vrac :
- PHP 5.3 apporte des gains significatifs de consomation mémoire
- Le mode cluster d'eZ Publish pose souvent problème (d'où les améliorations annoncées). Des solutions de contournements ont été mises en place par plusieurs prestataires.
- La gestion des utilisateurs est parfois problématique (volume, synchronisation LDAP, ...), là aussi des améliorations sont en cours.
- Enfin au niveau du volume de contenus possibles dans eZ Publish, Paul explique qu'avec du bon matériel eZ Publish est capable de gèrer un million de contenus sans vrai problème même si c'est dépendant de l'organisation de l'aborescence.
Bon au final, mon sentiment sur cette après midi fort instructive est que le développement d'eZ Publish tente de combler les lacunes au niveau des (très) gros sites autant en terme de volume qu'en terme de performances.
9 paquets ont été mis à jour cette semaine :
PEAR est la bibliothèque de composants PHP.
Une analyse de Peter Zaitsev sur le rôle central qu'occupe les disques durs dans les performances MySQL, et pourquoi ils sont importants, ou pas. Il liste notamment différents critères à surveiller pour bien comprendre les limitations d'un système : la taille de stockage, la vitesse d'écriture/lecture, les accès aléatoires,
Via une bévue technique de Tim O'reilly, nous avons la chance de lire une entrevue entre les acteurs de la conférence Web 2.0 de San Francisco. Cela concerne SUN, et bien sûr MySQL, mais aussi d'autres aspects comme l'environnement, et le Web 2.0.
John Coggeshall demande à Jonathan l'impact de Sun sur MySQL, et on y apprend que cette dernière vient de conclure un deal de 10 millions de dollars, et que les entreprises traditionnelles, et plus seulement Web 2.0, s'intéressent désormais à MySQL pour lancer des produits commerciaux qu'elles ne se sentaient pas prêtes à lancer. On retrouve ici le thème classique que les entreprises n'utilisent pas MySQL en production car elles n'ont pas confiance.
Enfin, il y a cette réponse très pertinente sur l'intérêt d'un blogue pour une entreprise comme SUN : "Si je blogue, ceux qui sont intéressés le lise. Si je ne dit rien, ils n'ont rien à entendre."
Depuis la fin de PHP 4, il faut passer à PHP 5, et Marco Tabini a extrait une liste de 5 technologies de la dernière version qui sont incontournables :
- SimpleXML
- JSON et SOAP
- PDO
- SPL
- SQlite
Au passage, via les commentaires, j'ai retrouvé __set_state, une fonction qui est appelée par var_export, pour permettre un formatage des objets avant publication. Très pratique.
Durant la conférence MySQL, les responsables techniques de Sun, MySQL, Fotolog, Facebook, Youtube, Wikipedia, et Flickr étaient présents sur la scène pour présenter leurs architectures techniques. On y apprend notamment que Wikipedia fonctionne sans DBA, et que Facebook en a 2 pour gérer 30 000 bases de données, sur 1800 serveurs.
Parvesh Garg a lancé le mois de la variable MySQL : une fois par jour, il braque les spotlights sur une variable MySQL, son utilisation et ses fonctionnalités. Un bon moyen d'en savoir un peu plus sur les variables de configuration MySQL, qui sont parfois beaucoup plus accessibles qu'elles n'y paraissent. Il en est déjà à la 9eme variable, et a couvert :
- long_query_time (pour les requêtes lentes),
- innodb_autoinc_lock_mode (pour les auto_increment et innodb),
- innodb_thread_concurrency (pour le nombre de thread en cours de fonctionnement),
- max_connect_errors (pour bloquer un hôte trop mal connecté),
- key_buffer_size (pour les performances d'index).
"Déjà voulu générer des documents PDF à la volée avec PHP ? peut-être pour remplir un formulaire de contract avec le nom du client et son adresse? FPDF et FPDI sont deux superbes bibliothèques qui aident grandement dans cette tâche."
Eirik Hoem a un exemple complet sur son site Web.
Pour rappel l'appel à conférenciers pour le forum PHP 2008 est en cours, n'hésitez pas à envoyer vos propositions de sessions !
http://afup.org/pages/forumphp2008/appel-a-conferenciers.php
Pour rappel l'appel à conférenciers pour le forum PHP 2008 est en cours, n'hésitez pas à envoyer vos propositions de sessions !
http://afup.org/pages/forumphp2008/appel-a-conferenciers.php
Arjen Lentz nous rappelle comment copier une table : il y a la clause LIKE, qui permet de créer une nouvelle table, en utilisant la structure d'une table existante. Cette clause permet notamment d'utiliser les types et les index qui ont été définis dans la table initiale, et non pas de créer des colonnes adaptées aux valeurs à stocker, comme le fait CREATE TABLE ... SELECT.
De son coté, Carsten Perdersen nous rafraîchit la mémoire à propos du tri par numéro de colonne. ORDER BY 2 va trier une table en fonction de la deuxième colonne produite par la requête, et sera un vrai tri. Cette fonctionnalité a été abandonnée du standard SQL, mais MySQL la supporte toujours.
"Dans le dernier volet de cette série, je vous montrerai comment réaliser un panier d'achat en utilisant PHP, les sessions, et la bibliothèque JavaScript Prototype. Le panier permet aux utilisateurs d'ajouter et retirer des produits, ainsi que de changer des quantités. Et, bien sûr, l'interaction est instantanée, et permet au visiteur de continuer ses courses sans recharger la page."
PHP Québec vous invites à son à la septième édition du Barbecue PHP Québec qui aura lieu au Parc du Mont-Royal tout près de la Maison Smith (à l'arrière du lac aux castors) Samedi le 2 Août à 13:00.
Le coût pour le souper est de 5$.
Au programme: hot dog, chips, salade, liqueur, biscuits et surtout, du plaisir.
Veuillez confirmer votre présence par téléphone, au (514)581-8497. Laisser votre prénom, nom, numéro de téléphone, courrier électronique et le nombre de personne qui vous accompagnerons.
Ainsi, Nous serons en mesure de préparer les portions nécessaires.
Si la température ne permet pas de faire le Barbecue nous nous rencontrerons au Mont-Royal pour ce déplacé vers un restaurant.
Si vous ne nous trouvez pas vous pouvez contacter Yann Larrivée au 514-581-8497
Au plaisir de vous voir en grand nombre!
Date : 02 Août 2008
Heure : 13 00
Lieu : Montréal, Parc du Mont Royal, Maison Smith
Carte :
http://www.lemontroyal.qc.ca/carte/2.htmlhttp://www.lemontroyal.qc.ca/pdf/carte-f.pdfVille : Montréal
Voir cette évènement sur :
FaceBook :
http://www.facebook.com/event.php?eid=15685461890Upcoming :
http://upcoming.yahoo.com/event/528001Évènement avenir :
1 Août : PHP Beer Montreal
2 Août : BBQ PHP Québec
8 Août : Début de l'appel aux Conférenciers pour la conférence PHP Québec 2009
4 Septembre : Première rencontre mensuel de la saison 2009
12-14 Septembre : CodeFest 2.2
The PHP Quebec association would like to invite you to it's 7th annual barbecue that will be held on the 2st of August 2008.
We will be meeting on the 5th of august at 1:00pm near the Smith House (behind the beaver lake) at the Mont Royal Parc.
There is a small fee to access to this activity. It includes hot dogs, chips, salad, cookies and lots of fun!
Please confirm your presence ASAP by calling at 1-514-693-5657. Leave your full name, phone number, email address and the number of person coming with you. This way we will be able the necessary portions.
In case of rain meet us at the Mont-Royal will then move to a nearby restaurant.
If you cannot find us you can contact Yann Larrivee at 514-581-8497
Date : 2 August 2008
Time : 1:00pm
Location : Montréal, Parc du Mont Royal, Maison Smith
Map :
http://www.lemontroyal.qc.ca/pdf/carte-f.pdfhttp://www.lemontroyal.qc.ca/carte/2.htmlCity : Montréal
View this event on:
FaceBook :
http://www.facebook.com/event.php?eid=15685461890Upcoming :
http://upcoming.yahoo.com/event/528001Events to come :
August 1st : PHP Beer Montreal
August 2sc : BBQ PHP Québec
August 8th : Début de l'appel aux Conférenciers pour la conférence PHP Québec 2009
September 4th : Première rencontre mensuel de la saison 2009
Septembre 12-14th : CodeFest 2.2
"Nous pouvons conclure qu'une API testable possède les caractéristiques suivantes :
- Elle est décomposée en composants distinct et mono-fonctionnalité
- Ces composants ont des entrées facilement identifiables et des sorties vérifiables.
- Ces composants peuvent être facilement séparés de leur environnement.
- Ces composants sont, si possible, sans état, ou bien avec un état qui est géré indépendamment de l'algorithme testé.
"
Larry Garfield se réjouit de l'arrivée d'un framework de test pour Drupal, et se penche sur ce qui va permettre de couvrir l'ensemble du code avec des tests unitaires.
Comment utiliser une image pour remplir un texte, à la place d'une couleur unie.
"L'exemple que j'ai posté récemment utilise une image comme motif de remplissage [d'un texte]. Le motif est utilisé pour annoter le texte, mais le même motif peut être utilisé pour remplir n'importe quelle forme particulière (cercles, ellipses, rectangles, polygones, etc.) Le code est direct : lecture de l'image, création du motif, et utilisation du motif pour remplissage."
Par Mikko Koppanen.
Une nouvelle version de la branche 1.5 de Joomla est sortie. Cette version 1.5.3 intervient seulement 1 mois après la sortie de la version 1.5.2 et confirme les engagements de l'équipe de Joomla qui souhaite fournir des mises à jour régulières du CMS.
Voici la liste des corrections apportées :
- Correctif Validation de Base de données
- Correctif et Respect du standard XHTML
- Écran d'aide et mises à jour
- Filter input boucle infinie fixer
- Correctif PDF pour PHP 4
- Correctif mineur sur CSS et RTL
Article
Téléchargements
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.
PHP émet des erreurs par défaut, et PHP 5 supporte les exceptions. Comment réconcilier les deux? Stefan Priebsch a la solution : un gestionnaire d'erreur. Via la fonction set_error_handler(). on peut introduire un gestionnaire personnalisé pour traiter les erreurs que PHP détecte, et y placer du code pour émettre une exception.
Voici une liste de modules pour FireFox entièrement tournés vers la sécurité de la navigation. Il y a des outils pour éviter les malwares, générer des mots de passe sécuritaires, surveiller les cookies, nettoyer l'historique, naviguer par proxy, et évaluer la qualité d'un site via un réseau social de validateurs (Web Of Trust). Très intéressant.
C'est la mode des sliders, ces animations de site Web où le contenu glisse d'un point à l'autre, d'une page à l'autre, d'une image à l'autre sans rechargement. Cela donne une impression de fluidité incroyable dans la navigation du site, et ce petit plus très design.
3point7designs a rassemblé 12 méthodes différentes pour des slides, horizontal, vertical, par page ou autre. Si vous cherchez de l'inspiration, ou un peu de code, allez-y : tout est en Javascript!
Si vous avez raté la première génération d'éléphpant, il est temps de vous rattraper avec la génération 2008 ! Comme pour la première génération, le projet est ouvert à tous les groupes d'utilisateurs et enthousiastes de PHP qui souhaitent acquérir des éléphpants, petits et gros.
Tant que vous commandez avant le 1er Juin 2008, vous pouvez profiter des tarifs de production :
4 euros / elephpant, pour chaque boîte de 50 : pas de vente à l'unité pour le moment.
50 euros pour les gros éléphants : introuvables autrement.
Sachez aussi que vous pouvez lancer votre propre production d'éléphpant, avec un logo d'entreprise ou de conférence ou autre.
Dans tous les cas, contactez-nous sur le lien ci-dessous.
Selon une étude récente de Tamir Khason, il semble que les langages les plus cool de la planète ait été définis par des barbus! Les langages les moins cools sont donc F#, IronPython et Prolog, tandis que C, Perl, Ruby et Python tombent dans la catégorie des plus cool.
Où en est PHP, en ce moment? Chris Cornutt a fait le point sur l'état de pilosité de PHP, à l'exception des PHP Women.