Pour rappel, RunCMS opère dans la lignée des CMS comme PHPnuke et Xoops dont il est le descendant.
Il est réalisé en language PHP et utilise MySQL pour accéder aux différentes données
Il permet d'effectuer :
-
La gestion des articles
- Des liens
- Des forums
- Des téléchargements
- Des sections
- Des sondages
- FAQ
- RSS
- Gestions des membres
- Personnalisation des thèmes
Une nouvelle version version avec des correctifs de sécurité.
A découvrir si vous ne connaissez pas.
Je vous souhaite une excellente année 2008, remplie de PHP, MySQL et nombreuses technologies Open Source, de réussite professionnelle et de bonheur. Puissent vos projets les plus ambitieux se réaliser! Pour ma part, je suis convaincu que lorsque l'on a réellement la passion et l'enthousiasme, nos souhaits se réalisent et bien souvent, alors qu'on ne s'y attendait pas encore!
Et je tiens aussi à vous remercier pour vos visites, vos commentaires et toutes les rencontres que je fais en conférence. Ça m'a fait bien plaisir et j'ai hâte de recommencer cette année!
Pour fêter la nouvelle année, les 5 premiers qui mettront un commentaire sur cette page, se verront offrir un
elePHPant PHP, et les 5 suivants, un
livre sur la sécurité PHP et MySQL. (Note : les commentaires sont modérés... S'ils sont moins que 10, vous avez encore une chance! ) Bonne chance!
Mise à jour du 2 janvier :
Le concours est maintenant fermé.
Olivier, Bouron, Oberon, Roger Stéphane et TiScarabee gagnent un elephpant PHP.
Hamon (Hugo), Oliv, deville, mr_xav et Cédric Marquevielle gagnent un livre 'Sécurité PHP 5 et MySQL 5'.
Bravo à tous les gagnants, et un grand merci pour tous vos voeux. Je vais vous contacter pour avoir leur adresse postale.(Note : Deville et Mr_xav : impossible de vous joindre sans adresse... Vendredi soir, je redistribue les prix aux suivants.)
(N
"Voici les similitudes et différences entre PHP et Ruby. Si vous connaissez PHP, cela vous donnera un aperçu de ce que Ruby est capable, et comment on peut l'appréhender depuis PHP."
Après avoir lu les prédictions de 2008, j'ai regardé par ma propre fenêtre, et j'ai vu de grands progrès pour PHP et MySQL cette année 2008. Notamment, l'adoption de PDO via PHP 5, et l'arrivée du futur PHP 6 après moult rebondissements. Et aussi, quelques modifications dans le paysage professionnel...
"Un commentaire nous a montré qu'il faut faire le point sur les instructions d'installation et de compilation de mysqlnd pour PHP 5.2, 5.3 et 6.0 ."
Et voila la documentation!
Après avoir obtenu en 2006 le trophée d'argent dans la catégorie "sécurité" aux Trophées du libre 2006.
GLPI (gestion libre de parc informatique) revient avec une nouvelle version de son application. Pour rappel, cette solution open source permet de gerer un parc informatique et de helpdesk et ecrit en PHP.
La plus importante nouveauté concerne la gestion des entités, permettant d'isoler des ensembles d'équipements et d'utilisateurs afin de pouvoir adapter GLPI à l'organisation de la structure utilisatrice.
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.
4 paquets ont été mis à jour cette semaine :
APC (0 visite) : cache PHP alternatif
imagick (0 visite) : interface avec la bibliothèque graphique ImageMagick
perforce (0 visite) : interface Perforce
timezonedb (0 visite) : base de données de fuseaux horaires pour PHP
PECL est la bibliothèque d'extensions C de PHP.
Les mythes, comme les mites, ont la vie dure. Jaybill McCarthy pourfend dix, qu'il entend revenir encore et encore dans la bouche de développeur Java et .NET.
Certains sont de vieux classiques, comme le manque de support objet (bienvenue PHP 5) et PHP est lent.
Plus amusant, il y a "Toutes les applications PHP se ressemblent", avec une joyeuse confusion avec PHP-Nuke. Il y a aussi le "PHP est un imbroglio de include et require", qui démontre une bonne expérience de la plate-forme.
PHP 4 est maintenant officiellement terminé. La toute dernière version a été publiée aujourd'hui par Derick Rethans, qui a aussi prononcée la fin du projet. Les développeurs du coeur de PHP souhaitent se concentrer maintenant sur les versions plus modernes du code, et ne plus perdre de temps en combats d'arrière garde. D'ici le 8 août 2008 (08/08/08), seuls les mises à jour de sécurité seront faîtes si elles sont jugées importantes. Autrement, PHP 4 est maintenant fini.
Il arrive souvent d'avoir besoin de données présentes dans la base. Il est tout aussi courant de ne pas avoir de données à disposition (ou pas assez).
Basé sur ce billet, les deux requêtes suivantes vous permettent de remplir un champ de type "date" avec des dates a peu près aléatoire pour autant d'enregistrement que vous voulez. Il vous suffit de créer plus de vues ou d'ajouter la même vue dans le "from" avec des alias pour augmenter le nombre d'enregistrement (c'est un produit cartésien).
Le code suivant génère des dates pour 9 enregistrements sur le plus petit dénominateur commun, à savoir un mois de 28 jours. L'année est mise en dur dans la requête, vous pouvez aisément la remplacer.
CREATE VIEW v3 AS SELECT NULL union ALL SELECT NULL union ALL SELECT NULL;
INSERT INTO t1 (date) SELECT concat('2007-', FLOOR(1 + RAND() * (12 - 1)), '-', FLOOR(1 + RAND() * (28 - 1))) FROM v3 a,v3 b;
Note: ce n'est pas la façon la plus élégante ni la plus efficace pour les dates mais ça fonctionne 
Il arrive souvent d'avoir besoin de données présentes dans la base. Il est tout aussi courant de ne pas avoir de données à disposition (ou pas assez).
Basé sur ce billet, les deux requêtes suivantes vous permettent de remplir un champ de type "date" avec des dates a peu près aléatoire pour autant d'enregistrement que vous voulez. Il vous suffit de créer plus de vues ou d'ajouter la même vue dans le "from" avec des alias pour augmenter le nombre d'enregistrement (c'est un produit cartésien).
Le code suivant génère des dates pour 9 enregistrements sur le plus petit dénominateur commun, à savoir un mois de 28 jours. L'année est mise en dur dans la requête, vous pouvez aisément la remplacer.
CREATE VIEW v3 AS SELECT NULL union ALL SELECT NULL union ALL SELECT NULL;
INSERT INTO t1 (date) SELECT concat('2007-', FLOOR(1 + RAND() * (12 - 1)), '-', FLOOR(1 + RAND() * (28 - 1))) FROM v3 a,v3 b;
Note: ce n'est pas la façon la plus élégante ni la plus efficace pour les dates mais ça fonctionne 
Le support de PHP4 est désormais arrêté avec la publication aujourd'hui de sa dernière version, la 4.4.8.
Cette nouvelle version, qui parait près de 8 mois après la précédente version, n'apporte pas de corrections majeures (corrections de bugs divers). A compter de ce jour, et ce jusqu'au 8 août 2008, seules des mises à jour de sécurité seront faites.
Nous vous invitons donc à migrer vos applications vers PHP5 si cela n'est pas encore fait. Vous avez pour cela à votre disposition le guide de migration de PHP4 vers PHP5.
Proposé par Fabien LACHAUD
Cette nouvelle année marque un tournant décisif dans l'histoire de PHP. Depuis le 01 janvier 2008, le développement de PHP 4 est abandonné au profit de PHP 5.3 et PHP 6. Rappelons-nous que la première version publique bêta de PHP4 date du 19 juillet 1999, soit 8 ans de bons et loyaux services. L'heure est venue de tourner la page et de laisser place aux nouvelles technologies.
Quel framework choisir est une question qui revient souvent dans la bouche des développeurs PHP. Mais aussi de nombreux autres plates-formes comme Ruby ou Python : il n'y a pas que Django ou Rails dans la vie!
Smashing magazine s'est essayé à l'exercice : pour PHP, c'est CakePHP qui sort du lot, avec le Code Igniter et le Zend Framework. Prado, et Symfony se font remarquer, ainsi que BareBones (qui a toujours été l'éditeur de BBedit pour moi, mais qui semble être aussi un framework PHP).
Notez aussi qu'il y a des framework Javascript, Ajax et même CSS! Un article à mettre ne signet de toute urgence.
"Il est très pratique pour les utilisateurs de communiquer avec une application ou une compagnie, via email, mais il n'est pas forcément très facile aux employés de cette dernière de répondre. Certaines demandes par courriel peuvent être très complexes, alors que d'autres seront très fréquentes et simples. C'est donc un avantage stratégique que de pouvoir répondre automatiquement aux message, via PHP."
Helgi Þormar Þorbjörnsson annonce une nouvelle version du site Web de PEAR : si elle semble assez cosmétique en apparence, il faut saluer le travail de forçat que Helgi a entrepris pour arriver à ses fins.
Le site est maintenant nettoyé, avec une colonne de moins, et une pléiade d'utilisateurs inactifs disparus. Le site n'est pas standard W3C, mais il en est très proche (3 erreurs). Si cela fait longtemps que vous n'y êtes pas allés, jetez-y un oeil.
PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes :
PHP 5.2.5 et 4.4.8; MySQL 5.0.51 (communauté) , 4.1.22, ainsi que 5.1.21-beta et 6.0.3.
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 Mantis
CakePHP 1.2 vient de sortir en version beta après être resté un long moment en prebeta. Cette version inclut de nombreuses fonctionnalités : enrichissement des méthodes de validation, pagination et tri sur l'affichage des enregistrements, meilleur gestion de l'authentification des utilisateurs, système de cache...
En ce qui concerne la branche stable, une nouvelle
version 1.1.19 est également disponible. En voici le changelog :
https://trac.cakephp.org/wiki/changelog/1.1.x.x
Retrouvez toutes ces informations sur le nouveau site de
CakePHP
J'aurai la chance d'être au Canada pour deux semaines de vacances début février. En plus de la découverte de ce pays qui s'annonce très beau (et froid), je participerai à la rencontre mensuelle de PHP Québec qui aura lieu le 7 février 2008 de 19h à 22h à l'École de technologie supérieure...
Parfois, on sait ce qui est bon, mais on ne sait pas comment le dire. Alors, quand on tombe sur une de ces citations lapidaires qui donne un nom à une pratique, c'est le bonheur. "Worse is better" fait partie de celles-ci.
Dans la philosophie de développement "Worse is better", la simplicité est la qualité primordiale, suivie de la rectitude, la cohérnce et l'exhaustivité. "Il est plus important que l'implémentation soit simple que son interface"; "Il est mieux d'être simple que correct.".
Dire que cela existe depuis 1989...
10 paquets ont été mis à jour cette semaine :
PEAR est la bibliothèque de composants PHP.
C'est bientot le premier apéro php Belgique 2008 le 25 janvier.
J'ai retrouvé les photos du premier apéro php que j'ai fait à Annecy en mars 2001
Entendu aux infos, un quebecois parle de "la grande odyssée "un parcours de 1000 km dans les alpes.
Moins 30 c'est pas froid !
J'suis nue-mains... Ca va être la plus grosse difficulté
difficulté pour nous: "la chaleur"
J'ai souri (bon ok j'ai pleuré de rire)
Entendu aux infos, un quebecois parle de "la grande odyssée "un parcours de 1000 km dans les alpes.
Moins 30 c'est pas froid !
J'suis nue-mains... Ca va être la plus grosse difficulté
difficulté pour nous: "la chaleur"
J'ai souri (bon ok j'ai pleuré de rire)
"TCPDF est une classe PHP 5 pour produire des fichiers PDF à la volée, sans aucune extension particulière. TCPDF se base sur FPDF (www.fpdf.org) et lui apporte nombre de modernisation. Elle supporte notamment UTF-8, Unicode, HTML et XHTML."
Merci à Hervé Touzard de rappeler que TCPDF est bien vivante, et à jour. D'ailleurs, le site de tecnik présente deux autre projets intéressants : un correcteur XHTML qui transforme du vieux code HTML en XHTML, et un pont PHP-TMX (pour les traductions).
register_shutdown_function fait partie des fonctions PHP oubliées, qui se révèlent pourtant très utiles (nous l'avions déjà choisi pour le mois de la fonction PHP l'an dernier). Elle permet d'exécuter du code PHP APRES la livraison du code HTML au client. C'est le moment de l'extinction du fichier, où on peut ranger proprement les ressources, ou bien noter des informations sans ralentir la publication (mais toujours en faisant travailler le serveur).
Ludovic Toinel nous en parle en détail, avec force schéma et code.
"Je dois admettre qu'écrire une application pour FaceBook est plutôt cool. J'ai donc décidé d'en créer un qui utilise cette plate-forme. J'ai écrit cette application en PHP, et j'ai pensé qu'il serait utile à d'autre d'écrire sa propre application Facebook, alors voici le tutoriel qui va bien."
La pagination découpe un résultat trop grand en une série de pages plus petites. A la base, cette approche permet de réduire la quantité de travail à faire, puisque les pages sont plus petites, et donc, plus faciles à générer. Elles sont au moins plus faciles à charger.
Toutefois, la majorité d'entre nous produisent les pages à l'aide de la clause LIMIT, ce qui fait que la 30eme page impose au serveur de classer les 300 premiers éléments pour n'en conserver que les 10 derniers. Du vrai gaspillage, qui se transforme en perte de vitesse.
La version 6.5.2 d'Ovidentia est disponible en téléchargement.
Ovidentia est un gestion de publication de contenu open source et une plateforme collaborative.
Ovidentia vous permet d’intégrer simplement et facilement un environnement de publication sur internet ou un portail groupware (internet, extranet, intranet) pour une entreprise, organisation, communauté…
"Depuis les dernières années, l'utilisation de services Web a connu une popularité grandissante auprès des développeurs Web. Cette tendance est due aux techniques de 'mash-up' où plusieurs services Web sont combinés élégamment, en utilisant un langage de programmation coté serveur. Dans cet article, le premier d'une série de 6, nous allons voir comment utiliser le Yahoo! Developer Framework depuis PHP 5 pour construire des services Web pratiques."
"Depuis les dernières années, l'utilisation de services Web a connu une popularité grandissante auprès des développeurs Web. Cette tendance est due aux techniques de 'mash-up' où plusieurs services Web sont combinés élégamment, en utilisant un langage de programmation coté serveur. Dans cet article, le premier d'une série de 6, nous allons voir comment utiliser le Yahoo! Developer Framework depuis PHP 5 pour construire des services Web pratiques."
'Il y a quelques mois, Johannes Schlüter et moi-même (David) avons commencé à discuter de GIT et d'autres systèmes de contrôle de sources décentralisés. Durant notre étude de GIT, nous avons envisagé d'importer le code source de PHP dans GIT. Quelques semaines plus tard, et après beaucoup de gaspillage de processeur, nousavons finalement un serveur GIT non-officiel, et son miroir. Il est proposé par Johannes Schlüter et dupliqué par moi-même."
CVS est un outil critique pour le développement de PHP, depuis que le nombre de développeur qui travaillent sur le code source a submergé son auteur initial. La technologie CVS montre son age, et plusieurs projets de remplacements sont à l'oeuvre. GIT est une solution à découvrir, pour les grands projets : ce logiciel ne dépend pas d'un serveur centralisé ni du réseau, mais fonctionne en mode distribué.
Zend Core est la version de PHP proposée par Zend Technologies : la principale différence avec la version de php.net est que Zend Core est audité et certifié par Zend, aussi bien pour le coeur que pour les extensions.
Il arrive alors que sur ce noyau, on ait besoin d'ajouter d'autres extensions, soit par besoin, soit pour inclure des fonctionnalités spécifiques, et qui ne sont pas certifiées par Zend. La compilation est alors un peu différente de celle de PHP, et John Coggeshall nous explique comment faire.
Forum:
Brèves
Auteur: philippe
Écrit le: Wed, 09 Jan 2008 09:29:36 +0100
Dernier message: Mon, 17 Mar 2008 20:16:37 +0100
Le site Developer Tutorials vient de publier un tutorial expliquant comment créer sa propre application Facebook grâce à PHP.
Ce tutorial présente, à l'aide d'un exemple concret, tout ce dont vous aurez besoin pour vous lancer dans l'écriture d'une application.
Vous verrez notamment les librairies spécifiques à installer ainsi qu'une brève présentation du FBML (Facebook Markup Language), le langage de mise en page standard sur Facebook.
Créer une application Facebook avec PHP (en anglais)
Proposé par Fabien LACHAUD
Retrouvez en JavaScript vos fonctions PHP usuelles.
Kevin van Zonneveld a lancé un projet visant à porter des fonctions PHP en langage JavaScript. Le but étant pour un développeur PHP de retrouver en JS des fonctions usuelles telles que "trim", "str_replace", "implode" n'ayant pas d'équivalents. Même si l'utilité de ces fonctions peut paraître contestable pour des gens à l'aise en JS, les développeurs ayant plus de difficultés les trouveront certainement utiles.
Le projet compte actuellement 36 fonctions et Kevin van Zonneveld invite toute personne intéressée à contribuer en portant d'autres fonctions.
Source Zend Developper
Un article sur le site de Tomas Petricek et relayé récemment sur la Developer Zone de Zend explique comment utiliser PHP et Phalanger, compilateur permettant d'utiliser des scripts PHP avec le framework .Net, pour écrire des
applications Silverlight.
Dans un premier temps, l'auteur introduit l'écriture des fichiers XAML en énumérant les modifications à apporter pour le bon fonctionnement
des scripts PHP.
Ensuite il montre comment utiliser PHP pour dynamiser l'interface XAML avec comme exemple l'écriture d'évenements onclick et onload.
Enfin il nous montre comment compiler et exécuter l'application.
L'auteur fournit, en guise d'exemple, un mini jeu reprenant l'ensemble des explications abordées dans l'article et quelques notions supplémentaires pour ceux qui voudraient appronfondir le sujet.
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.
"La page d'inscription à un site est la seconde page la plus importante sur un site (la plus importante est bien sûr la page d'accueil), car c'est là que vous demandez à vos visiteurs leur implication. Tout le monde se préoccupe de la page d'accueil (et peu de monde la réussi), mais la plupart des sites font un travail bien pire avec leur page d'inscription. Par exemple, HAMweather est horrible, et Last.fm ne donne aucune information. Cet article par Tim Bednar est aujourd'hui essentiel à lire."
Effectivement, la page d'inscription est sûrement une des pages les plus ratées, car les aspects sécurité et formulaires donnent généralement la main haute aux développeurs.
En 5 minutes, j'ai réussi à citer de mémoire 44 balises HTML. Après avoir lu toutes les réponses possibles, je me suis aperçu que j'aurai pu en citer encore 15 autres... Mais les dernières sont inconnues au bataillons.
Bref... une petite leçon d'humilité.
Pascal Blachier vous entraine dans le monde excitant des frameworks avec la mission de faire un choix raisonnable dans l'immense gamme de logiciels proposés. La maturité d'un projet, la communauté, ses fonctionnalités sont autant de points à étudier pour choisir ou écarter un framework.
Au final, Pascal recommande Wordpress, eZ publish et Drupal. Quel est votre choix?
mysqlreport propose un rapport de santé pour MySQL plus parllant que le classique SHOW STATUS.mysqlreport se base sur les statsu en cours, mais produit des ratios plus intéressants et pertinents.mysqlreport est une alternative bien plus productive à SHOW STATUS et s'installe en un simple download.
MySQL 5.0.38-Dotdeb_1.d uptime 45 20:0:51 Thu Jan 10 16:16:57 2008
__ Key _________________________________________________________________
Buffer used 14.16M of 16.00M %Used: 88.48
Current 16.00M %Usage: 100.00
Write hit 83.42%
Read hit 95.63%
__ Questions ___________________________________________________________
Total 99.18M 25.0/s
DMS 98.05M 24.8/s %Total: 98.86
Com_ 516.82k 0.1/s 0.52
COM_QUIT 345.34k 0.1/s 0.35
QC Hits 300.38k 0.1/s 0.30
-Unknown 34.56k 0.0/s 0.03
Slow (10) 16.35k 0.0/s %Total: 0.02 %DMS: 0.02 Log: OFF
DMS 98.05M 24.8/s 98.86
INSERT 97.41M 24.6/s 98.21 99.34
UPDATE 361.23k 0.1/s 0.36 0.37
SELECT 264.64k 0.1/s 0.27 0.27
DELETE 16.57k 0.0/s 0.02 0.02
REPLACE 666 0.0/s 0.00 0.00
Com_ 516.82k 0.1/s 0.52
change_db 307.35k 0.1/s 0.31
lock_tables 81.47k 0.0/s 0.08
unlock_tabl 81.42k 0.0/s 0.08
__ SELECT and Sort _____________________________________________________
Scan 116.74k 0.0/s %SELECT: 44.11
Range 231 0.0/s 0.09
Full join 32 0.0/s 0.01
Range check 0 0/s 0.00
Full rng join 0 0/s 0.00
Sort scan 79.46k 0.0/s
Sort range 0 0/s
Sort mrg pass 76.19k 0.0/s
__ Query Cache _________________________________________________________
Memory usage 182.50k of 16.00M %Used: 1.11
Block Fragmnt 4.36%
Hits 300.38k 0.1/s
Inserts 9.26k 0.0/s
Insrt:Prune 9.26k:1 0.0/s
Hit:Insert 32.44:1
__ Table Locks _________________________________________________________
Waited 5.94k 0.0/s %Total: 0.01
Immediate 72.82M 18.4/s
__ Tables ______________________________________________________________
Open 62 of 64 %Cache: 96.88
Opened 10.02k 0.0/s
__ Connections _________________________________________________________
Max used 24 of 100 %Max: 24.00
Total 345.39k 0.1/s
__ Created Temp ________________________________________________________
Disk table 47 0.0/s
Table 18.51k 0.0/s Size: 32.00M
File 152.90k 0.0/s
__ Threads _____________________________________________________________
Running 3 of 8
Cached 0 of 0 %Hit: 0.68
Created 343.04k 0.1/s
Slow 2 0.0/s
__ Aborted _____________________________________________________________
Clients 104 0.0/s
Connects 1.39k 0.0/s
__ Bytes _______________________________________________________________
Sent 2.89G 728.8/s
Received 2.79G 704.4/s
__ InnoDB Buffer Pool __________________________________________________
Usage 304.00k of 8.00M %Used: 3.71
Read ratio 0.117
Pages
Free 493 %Total: 96.29
Data 19 3.71 %Drty: 0.00
Misc 0 0.00
Latched 0 0.00
Reads 103 0.0/s
From file 12 0.0/s 11.65
Ahead Rnd 1 0.0/s
Ahead Sql 0 0/s
Writes 1 0.0/s
Flushes 1 0.0/s
Wait Free 0 0/s
__ InnoDB Lock _________________________________________________________
Waits 0 0/s
Current 0
Time acquiring
Total 0 ms
Average 0 ms
Max 0 ms
__ InnoDB Data, Pages, Rows ____________________________________________
Data
Reads 25 0.0/s
Writes 7 0.0/s
fsync 7 0.0/s
Pending
Reads 0
Writes 0
fsync 0
Pages
Created 0 0/s
Read 19 0.0/s
Written 1 0.0/s
Rows
Deleted 0 0/s
Inserted 0 0/s
Read 0 0/s
Updated 0 0/s
Avec la mort récente et annoncée de PHP 4, les statistiques de décembre laissent un goût amer dans la bouche. Plus de 70% d'utilisateurs de PHP dans le monde sont encore à PHP 4, et se retrouvent désormais avec une dernière version 4.4.8. A partir de maintenant, leur situation ne peut que se dégrader...
Si les raisons de l'abandon sont nombreuses et inexorables, il reste étonnant de voir que tant de monde utilise encore PHP 4 : plus de 70% de la base installée! En plus de 3 ans, ces millions d'utilisateurs n'ont pas fait le saut en PHP 5. Pourtant, les applications PHP sont très majoritairement PHP 5, les hébergeurs ont tous leur offre de prête, et les sociétés de développement l'affiche aussi. Qui donc sont les développeurs PHP 4?
Parmi les arguments que je vois moins souvent passer, il y a les tailles respectives des communautés PHP 4 et PHP 5. PHP 4 a attiré les pionniers et paresseux de l'an 2000, qui ont peut-être encore un site actif, et fonctionnel. (rappelez-vous que 0,5 % utilise toujours PHP 3, et que 2 douzaines de sites affichent PHP 2!).
Pour PHP 5, ces gens-là sont allés chez flickr et facebook, et on délaissé galery et wordpress : cela fait que la base installée PHP 5 est maintenant plus petite que la base PHP 4. Ce qui explique le décalage étonnant entre le fait que tout le monde se prétende PHP 5, alors que l'on compte encore des millions de sites PHP 4.
Après deux ans de développement et quelques versions intermédiaires, la première version officielle stable de Jelix est disponible. Jelix est un framework libre (LGPL), extensible et modulaire pour PHP 5. Il a déjà fait preuve de robustesse et de performances intéressantes. En effet, il est utilisé depuis de nombreux mois sur plusieurs sites en production, dont certains gros sites français à très forte charge.
Ce framework entièrement orienté objet propose nombre aspects techniques modernes :
* une logique MVC
* une bibliothèque de mapping objet-base relationnelle (ORM)
* authentification
* gestion de droits
* localisation
* un moteur de template léger et performant
* un framework de tests unitaires
* la prise en charge de nombreux formats en sortie et de différents types de services web
* etc.
Son originalité tient en particulier dans :
* son système de formulaire simple et puissant
* son système d'urls automatiques
* son système d'évènements inter-modules
* sa gestion robuste des erreurs techniques
* la possibilité de "surcharger" des fichiers de module existants.
Toutefois, bien qu’offrant de nombreuses possibilités, Jelix est conçu avec à l’esprit le soucis constant de simplicité et de performance.
Jelix est disponible en trois éditions (gratuites et libres bien sûr) : "developer", "optimized" et "gold". La première est très utile pour la phase développement de vos projets, les deux autres sont optimisées pour les serveurs en production. Il est également possible de se construire une édition optimisée en fonction de la configuration de son propre serveur, de sa version de PHP.
Découvrez et téléchargez Jelix sur http://jelix.org. Rejoignez une communauté ouverte et réactive !
Proposé par Laurent Jouanneau
On parle beaucoup des API de Google, qui permettent de faire intéragir une application avec celles de Google. Yahoo! a également développé des API pour utiliser, entre autre, la recherche d'images et de videos. Le site devshed.com vient de publier un article qui donne les bases sur l'utilisation des web services de Yahoo!.
Après une petite introduction, ce tutoriel explique le fonctionnement des API de Yahoo puis vous propose deux exemples d'utilisation, la recherche d'images et de videos. Ziff Davis va proposer d'autre tutoriel sur ce sujet dans quelques temps.
Article
L'équipe de conférence PHP Québec est fière de vous dévoiler le
programme de la conférence PHP Québec 2008 qui aura lieu les 12,13 et 14 mars
au prestigieux Hôtel Sofitel à Montréal.
La sixième édition de la conférence PHP Québec, prendra son envol sous le
thème PHP: fait le avec PHP. Cette année, l'objectif de la conférence est de
fournir des solutions pratiques aux problèmes liés au développement
d'applications ainsi qu'à la gestion de projets.
Mercredi 12 mars, se tiendra le PHPLab, une journée d'ateliers pratiques sur
les techniques de sécurité Web, des trucs et astuces sur le développement de
services Web avec SOAP, comment développer un framework avec Symfonie,
comprendre et automatiser les tests unitaires, les dix erreurs d'optimisation
les plus fréquentes et comprendre les dernières évolutions de PHP. Deux
sessions spéciales seront également présentées lors de cette journée :
une session de questions et réponses sur la sécurité ainsi qu'une
présentation des diverses solutions de base de données disponibles sur le
marché (Oracle, MySQL, DB2, PGSQL) qui sera suivie d'une période de questions
réponses. Les ateliers, donnés en groupe de 20 personnes au maximum, vous
donnent une opportunité unique d'exposer vos problématiques et obtenir des
réponses pratiques. De plus, lorsque vous assistez au PHPlab vous obtiendrez
l'accès au salon de l'emploi et au cocktail gratuitement.
La conférence se poursuivra le jeudi 13 mars et le vendredi 14 mars. Avec plus
de 30 présentations sur les techniques avancées et les dernières nouveautés
de PHP, l'accessibilité des données ainsi que la résolution de problèmes
liés au développement Web, la conférence est un bon moyen pour mettre à jour
vos connaissances.
Pour plus d'information concernant la conférence, consultez le site Web de la
conférence.
Enregistrez vous avant le 18 janvier et économisez 195$.
Le tarif de pré-vente se termine le 18 janvier.
http://conf.phpquebec.com/
"Le ODF-XSLT Document Generator (générateur de document ODF-XSLT) est une bibliothèque écrite en PHP 5, qui apporte la puissance de XSLT à vos documents OpenDocument. Il vous permet d'utiliser vos fichiers ODF comme si c'était des gabarits XSLT. Il permet aussi quelques options d'analyse supplémentaire pour éditer les fichiers ODF depuis votre suite Office préférée. ODF-XSLT est développé par Tribal Internet Marketing et est publiée sous licence libre GNU General Public License, version 3."
Des gabarits pour produire des fichiers ODF en série depuis PHP? Une bibliothèque au potentiel intéressant pour échanger des documents en ligne.
Le Magazine MySQL (un PDF gratuit) sort son troisième opus (hivers 2007).
- Comment appeler une procédure stockée avec un paramètre OUT
- Optimisation de performances Innodb
- Extrait du livre "Expert Mysql "
- Optimisation d'index en MySQL - Partie 2
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 est d'utiliser une inclusion PHP, car c'est pratique et que PHP le traite rapidement. Cette approche est celle choisie par le framework Solar PHP, et bien d'autres.
Mais, si c'est pratique pour les développeurs PHP, c'est souvent plus encombrant pour les autres. Par exemple, nous donnons souvent les applications à gérer aux administrateurs système. Comme ils ne connaissent que peu PHP, il est facile de les frustrer avec une apostrophe qui manque, une parenthèse ou un poit-virgule."
Une solution plus interopérable est YAML.
Voici une page à mettre en signet immédiatement : la liste des candidats au titre de virus XSS le plus court au monde. Il s'agit d'un concours où le but est de fournit le plus petit virus possible. Le virus a un potentiel pathogène exprimé sous la forme alert('XSS'), et le concours porte sur les capacités de réplication de diffusion du virus, sans grossir, sur un maximum de navigateurs et sans prérequis du fichier DOM.
A voir le nombre de candidats pour le titre (70 candidats, pour 270 propositions...), il y a des cheveux à se faire. Les virus sont capables de se propager d'une page à l'autre, sans intervention de l'utilisateur, et sur presque tous les navigateurs.
La bonne nouvelle est que le plus petit d'entre eux fait 161 caractères : essayez alors d'interdire les entrées plus longues que 161 caractères pour être tranquilles.
5 paquets ont été mis à jour cette semaine :