News PHP

le 27/08/2008 à 20:35
En conférence à php|Works, Atlanta
Note de l'auteur :

Je viens juste d'apprendre que je serais en conférence à php|Works, organisé par l'incommensurable Marco Tabini, et sa bande. Les PHP|Works et PHP|Tek, rassemblent toujours une forte proportion de membre de la communauté. Cette année, PHP|Works sera couplé à PyCON, une conférence Python, qui rassemble des noms ... que je ne connais pas du tout. Cela sera intéressant de participer à des sessions où il y a beaucoup à apprendre.

Je donnerai la conférence 'Hack this App' sur la sécurité, et une nouvelle session sur l'audit de code PHP. J'y retrouverai aussi avec plaisir Louis-Philippe Huberdeau, de PHP Québec. Si vous êtes de passage sur cette conférence, tenez moi au courant !

- PHP¦Works 2008
Johannes Schlüters a écrit une extension PHP rien que pour transmettre les messages des dernières erreurs PHP qu'il écrit sur son profil Twitter : on y voit alors apparaître les dernières erreurs qui surviennent. Comme Twitter peut vous prévenir directement par SMS, mail ou autre qu'un tel événement est survenu,

Sur un serveur de production, cela peut être difficile à utiliser, mais pour un outil qui produit peu d'erreur, mais qui demande à être signalé, cela peut être une alternative à un log.

Il y a aussi un peu de ridicule à poster ses propres listes d'erreurs sur internet...

- I have nothing to say - but maybe PHP...
- twittererror
- Twitter : phperroer
- Twitter
- Ne faites pas d'erreurs PHP
le 25/08/2008 à 21:28
introduction à php doctrine
Doctrine est un ORM pour PHP : Object Relational Mapper. Il établit une correspondance entre les lignes d'une base de données et les objets créés dans un script PHP.
Doctrine assure l'abstraction de la base de données, en fournissant des objets, indépendamment de la base de donnés sous-jacente. Comme Hibernate, il propose aussi son propre langage de requête SQL, pour améliorer la réutilisation de code.

Doctrine est utilisé dans Symfony.

- PHP Doctrine introduction for dummies
- Smarty and Doctrine combination
- Extending PHP Doctrine Record - Check Box Groups
- CRUD with PHP Doctrine
- PHP Doctrine
Le tokenizer de PHP est le moteur d'analyse de PHP lui-même. En lui donnant un script PHP, il retourne une longue liste de tokens, qui seront la base de l'exécution de PHP. Que faire de tout cela, sans réinventer APC ?

Stan Vassilev vous propose alors de compacter le code en supprimant les commentaires et les espaces inutiles (cela permet de gagner un peu de vitesse, mais rend le tout illisible); d'ajouter des commandes de pré-compilation, comme en C (#IF_DEFINED, qui évitent de traiter les mêmes conditions durant l'exécution), ou encore de détecter les classes et interfaces.

- Practical Uses for the PHP Tokenizer
A cause de l'initialisation classique, il doit être évident pour tout le monde que ni rand() ni mt_rand() ne sont suffisamment aléatoire pour être utilisé dans un contexte cryptographique. Malheureusement, les programmeurs d'applications Web utilisent rand() ou mt_rand() pour créer des mots de passe, des clés d'activation ou des cookies d'auto-identification. Dans certaines situations, il semble que cette approche soit sécuritaire, car il faudrait deviner 32 caractères, mais aussi les valeurs précédentes. Une attaque est donc difficile à mettre en place.

Mais il y a des situations où l'attaque systématique est faisable, voire même inutile.

Une revue des mauvaises pratiques et utilisations des générateurs de nombres aléatoires.

- mt_srand and not so random numbers
le 18/08/2008 à 22:59
Ne faites pas d'erreurs en PHP
Vous connaissez tous ce gag qui consiste à balayer la pièce, puis à soulever un coin de tapis pour mettre les poussières : il s'applique tout à fait à la directive error_reporting de PHP. Si vous codez sans vous soucier des erreurs que PHP vous retourne, en prévoyant de mettre cette directive à 0 en production, alors attendez-vous à le payer chèrement sur les performances de vos scripts.

Car PHP traque toutes vos erreurs, et ne vous les affiche que si vous le demandez. Dans tous les cas, il fait presque le même travail.

- Ne faites pas d'erreurs PHP
le 18/08/2008 à 22:58
gdcharts pour les graphiques
Si vous avez déjà travaillé avec PHP, vous savez que ce langage rend la génération d'images dynamiques très simples : l'extension GD et quelques lignes de code PHP sont tout ce dont vous avez besoin pour créer des fichiers JPEG, GIF et PNG à partir de rien. Mais si cette approche est efficace pour des tâches simples, elle devient fastidieuse pour produire des résultats complexes comme des graphiques ou des camemberts.

GDchart vient alors à la rescousse : se basant sur GD, et proposant plusieurs centaines de formats, il devient possible de produire rapidement ces graphiques tant demandés. La bibliothèque commence à être vieille, et le poli des graphiques n'est assez web 1, mais ils sont rapides à produire et déployer.

- Dynamically Creating Graphs and Charts with PHP and GDChar
- gd charts
le 17/08/2008 à 23:55
NetBeans 6.5 beta pour PHP
La nouvelle version de NetBeans 6.5 beta de Sun Microsystems ouvre les portes de son IDE au langage PHP.

Les possibilités qui sont proposées permettent d'effectuer les inclusions, de générer du code avec une base de donnée MySQL.

L'éditeur a poussé ses tests de son nouvel outil IDE avec de nombreux serveurs d'application comme par exemple Apache Tomcat et bien d'autres.

Bien sur cet outil se trouve disponible sur tous les systèmes d'exploitations (Linux, Mac, Windows).

- Development Simplified: NetBeans IDE 6.5 Beta is now Available !
- Telecharger NetBeans 6.5 beta
le 15/08/2008 à 14:52
7 Couts pour avoir un CMS
Les CMS (ou appelés Gestionnaire de contenus) sont très répandus sur internet et de nombreux CMS sont réalisés en PHP dont Les plus connus sont Joomla, Drupla, Spip, Typo 3.

Jean-François Renaud s'est penché sur certains aspects pour choisir le bon CMS que l'on ne pense pas au début du projet. Les points à réfléchir concernent :
- Le cout de la formation
- Le cout de la propriété
- Le cout de la mise à jour et de l'entretien
- Le cout de la flexibilité
- Le cout de la personnalisation
- Le cout de l'automatisation
- Le cout de la catégorisation

Nous vous dirons notre préférence, mais vous pourrez réfléchir sur le votre que vous utilisez.

- Top 7 couts pour un CMS
Note de l'auteur :

Au même moment, deux informations se sont téléscopées devant moi : en travaillant sur un article PHP 5.3 pour programmez (pour septembre), j'ai approfondi mes connaissances sur intl, une extension spécifique de PHP 5.3, qui se charge de l'internationalisation. Elle se base sur libICU, et est écrite en C : elle prend en charge la mise au format local de centaines de pays des valeurs telles que les nombres, les montants financiers ou les dates.

Au lieu de calculer les formats en PHP pour les injecter dans le texte, on peut désormais programmer la chaîne pour adapter le format, comme ceci :

$fmt = msgfmt_create("de", "{0,number,integer} Affen über {1,number,integer} Bäume um {2,number} Affen pro Baum");

Et cette information se téléscope avec le tutoriel de Divx, qui parle justement d'internationalisation via les paquets PEAR, et une approche plus traditionnelle. Avec intl sur le point d'arriver, et libICU qui se déploie entièrement en PHP 6, cette approche semble être une réponse temporaire.

Enfin, si vous cherchez des outils pour assurer la traduction de votre logiciel, je vous recommande de jeter un oeil sur l'interface de launchpad : translations se charge de scanner le code C, d'extraire les chaînes à traduire, et de proposer une interface pour traduire ou relire chaque message, et même signaler un message pour qu'il soit relu. Avec un tel outil, Drizzle, le fork de MySQL, va bientôt être disponible en provençal.

- Base Concepts of Internationalization in PHP
- ext/intl
- PEAR/I18N
- Software translations
LoadingChargement en cours