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.
En fait, il est fabriqué par les banques quand vous empruntez de l’argent … dingue non ?
En pensant à la crise financière qui massacre actuellement mon PEA, je me demandais comment était il possible que tout le monde soit tellement endetté :
J’ai trouvé quelques éléments de réponses sur l’excellent blog Café-Croissant qui propose ce reportage d’une heure à ses lecteurs :
L’Argent Dette de Paul Grignon (Money as Debt FR) from Bankster on Vimeo.
“Toute personne croyant qu’une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste.”
Kenneth Boulding, économiste.
ça laisse rêveur …
Article original publié sur Glagla Dot Org. Tous droits réservés.
REST en JAVA avec la JSR-311 - OCTO talks !
(categories: java rest jsr311 octo)
Internet : les FAI français furieux des combines budgétaires de l’Hadopi
La ministre de la Culture l’avait dit dans la présentation de son budget 2009 : « Le budget annuel de l’HADOPI est estimé à 6,7 millions d’euros, auxquels s’ajoutent le coût du repérage des actes de piratage et de leur signalement à l’HADOPI (pris en charge par les ayants droit) et celui des l’identification des internautes responsables, qui devraient reposer sur les fournisseurs d’accès à Internet, sur requête de l’HADOPI. »
(categories: internet fai hadopi)
Ig Nobel : Harvard descerne un prix aux recherches ridicules | Rue89
Jeudi soir, les locaux de la prestigieuse Université de Harvard accueillaient une cérémonie où, pour une fois, on pouvait se poiler en toute bonne conscience. On remettait les prix « Ig Nobel », récompensant les travaux scientifiques les plus ridicules, aussi rigoureux qu’inutiles. Palmarès.
(categories: rue89)
Ajaxian » jQuery finds its way into Microsoft and Nokia stacks
Microsoft is looking to make jQuery part of their official development platform. Their JavaScript offering today includes the ASP.NET Ajax Framework and they’re looking to expand it with the use of jQuery. This means that jQuery will be distributed with Visual Studio (which will include jQuery intellisense, snippets, examples, and documentation).
(categories: javascript framework ajax microsoft jQuery)
Le blog des bits - Pascal Jehanno - Nurdcartoon
Pearl Jam - Alive (live) | Le Choix de Mlle Eddie
Un bon gros classique grunge, “Alive” par Pearl Jam, en concert au Pink Pop Festival de 1992
(categories: pearl jam)
Article original publié sur Glagla Dot Org. Tous droits réservés.
La plupart des codes PHP ressemblent à cela :
Cela marche très bien. Le problème c'est que si vous laissez des espaces après le tag fermant il seront aussi envoyé aux navigateurs. Quel est le soucis me direz vous ?
Imaginons que vous vouliez générer un fichier binaire comme par exemple une image, les espaces supplémentaires risque de corrompre le fichier.
Autres problèmes plus courant c'est dans le cadre de l'utilisation de session. Nous avons deux fichier
lib.php :
index.php :
<?php
include("lib.php");
session_start();
?>
Vous allez voir ce type d'erreur : Warning : session_start() : Cannot send session cookie - headers already sent by
En effet le mécanisme de session de PHP nécessite de modifier les headers HTTP et lorsque PHP voit le premier caractère du contenu de la page il envoi les headers.
La solution est de ne pas mettre le tag fermant votre code marchera parfaitement et vous éliminés le risque de caractères parasites.
Le framework Symfony vous propose maintenant de tester l’intérêt de vos tests unitaires sous l’angle de la couverture de code en utilisant une fonction de xdebug. C’est un test de tests en quelque sorte ! Il vous indiquera si vous avez bien testé toutes les méthodes de vos classes et si vos tests envisagent tous les effets de bord possibles.
Je ne l’ai pas encore essayé mais je trouve cet ajout excessivemement pertinent dans le cadre de la professionalisation du développement avec PHP et du “test driven development” . Bravo donc à Symfony !
Article original publié sur Glagla Dot Org. Tous droits réservés.
Symfony outille ses tests unitaires avec de la couverture de code !
La version 6.7.1 d'Ovidentia est maintenant disponible sur le site communautaire http://www.ovidentia.org.
Ovidentia est un outil de 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é…
Cet outil intègre dans son noyau les principales fonctions suivantes :
* Publication et gestion d’articles
* Publication et gestion de fichiers
* Gestion de FAQs
* Mise en place de forums de discussion
* Gestion d’annuaires partagées
* Création et administration d’organigrammes
* Gestion d’agendas personnels partageables, agendas collectif ou agenda de ressources.
* Mise en place de « Délégations » (communautés)
* Workflows d’approbation nominatifs ou fonctionnels (s’appuyant sur un organigramme)
* Gestion des demandes de congés (avec génération des planning de congés, calcul des soldes de congés, RTT, jours fractionnés…)
* Gestionnaire de tâches et de projets.
* Moteur de recherche transversal qui peut s’appuyer sur un moteur d’indexation pour la recherche plein texte sur l’ensemble des fichiers publiés.
* Gestion des utilisateurs, groupes et droits.
* Authentification possible sur LDAP ou Active Directory
* Génération de statistiques et de tableaux de bord sur l’utilisation de l’outil.
* API de développement pour ajout fonctionnel
* Interface et navigation personnalisable (charte graphique et ergonomie)
* Installation sur un système Windows ou Linux, s’appuyant sur PHP et MySQL
Parmi les évolutions notables de la 6.7.1 :
* Amélioration du Gestionnaire de projets: dates de début et de fin prévisionnelles, de dates de début et de fin réelles et coûts estimé et réel, cumul des coûts en fin de liste des tâches, ergonomie du Planning de Gantt revue pour présenter plus d'informations, définition des champs à afficher dans les listes de tâches
* Module Captcha
* Option "anti-surbooking" dans les agendas collectifs et de ressources
* Amélioration de la gestion des droits d'accès à un agenda : interface revue et configuration d'accès par défaut aux agendas existants pour un nouvel utilisateur
* Ajout du container OCRecentFaqQuestions
* Notification de l'administrateur lors de l'enregistrement d'un nouvel utilisateur par authentification LDAP
* Contrôle des conflits entre événements répétitifs et jours fériés ou non-travaillés
* Affichage du numéro du mois dans l'affichage mensuel des agendas
* Présentation arborée des thèmes d'articles dans la gestion des articles
* Présentation arborée des thèmes d'articles dans la pop-up de lien vers un article
* Présentation des Organigrammes améliorée
* Nombreuses améliorations ergonomiques de l'interface globale...
Proposé par Nicolas
Un Barcamp autour de MySQL...
1er BARCAMP LeMUG.fr
Rendez-vous à La Cantine
Samedi 25 octobre de 11h à 19h
Un peu plus d'un mois après son lancement, l'association francophone des utilisateurs de MySQL organise son 1er BarCamp.
L'occasion pour la communauté open source et les DBA de se retrouver et d'échanger autour de MySQL, et de contribuer activement au développement de la base de données.
Au programme : démos, présentations et surtout interaction entre les participants.
D'ores et déjà le Mug.fr lance le débat sur les sujets suivants :
* MySQL encapsulé avec PDO
* MySQLi
* L'analyse d'un système en production
* La sécurité sous MySQL
* Echange d'expérience
Infos pratiques
Date : Samedi 25 octobre 2008
Horaire : 11h-19h
Déjeuner offert
Tarif : Gratuit
Capacité : 100 places
Lieu : LA CANTINE
151 rue Montmartre,
Passage des Panoramas
12 Galerie Montmartre
PARIS 2ème
(M° Grands Boulevards ou Bourse)
Inscriptions : http://www.barcamp.org/BarCampLeMugParis
Contact : vloquet@alx-communication.com
Proposé par Hello
L’engin expérimental a crevé les 50 noeuds le 04 Octobre à Fos Sur Mer.
Article original publié sur Glagla Dot Org. Tous droits réservés.
La version 4.6.5 de Mambo est disponible au téléchargement.
La version 4.6.5 de Mambo est disponible au téléchargement.
Cette nouvelle version corrige notamment des failles de sécurité. Il est recommandé aux utilisateurs des versions 4.6.x de passer à cette version.
Proposé par Jules Texier
PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes :
PHP 5.2.6 et 4.4.9; MySQL 5.0.67 (communauté) , 5.1.26 et 6.0.6.
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 XAMPP
Je suis un fidèle utilisateur d’ooshop. La gamme de produits n’est pas trop mal mais surtout le service client est irréprochable : livreurs toujours à l’heure notamment, voire même poli.
Aujourd’hui, surprise ! Je constate qu’Ooshop vient de mettre à jour son site avec un visuel définitivement plus moderne.

Enfin une mise à jour ! Depuis combien de temps le site se trainait une vieille image. Toutefois, en quelques minutes, des problèmes fonctionnels et ergonomiques sautent à la figure :



Bref, une volonté de moderniser la boutique qui passe complètement à coté de ses objectifs - certes ce n’est plus dix ans de retard mais cinq ans que le site accuse, mais bon sang, même si juste un coup de peinture était prévu, comment faire tant d’erreurs …!
Pour terminer, tout est d’une lenteur assez pénible. Ooshop a carrément raté sa refonte.
Article original publié sur Glagla Dot Org. Tous droits réservés.
La version 1.1.4 de symfony est disponible au téléchargement
La version 1.1.4 de symfony est disponible au téléchargement. Cette nouvelle version corrige des bugs de sécurité.
Lire la news sur le site officiel
Proposé par Jules Texier
Drupal v6.5 est disponible au téléchargement.
Drupal v6.5 est disponible au téléchargement.
Cette nouvelle version corrige des bugs liés à la sécurité et apporte quelques fonctionnalités en vue de la sortie de la version 7.0 de Drupal.
Site officiel.
Liste des modifications.
Lien pour le téléchargement
Suite à la sortie de Drupal V6.5, SiteHound Drupal met à disposition une nouvelle version de son outil.
SiteHound est une version pré-configurée de Drupal. Cette version est basée sur ce que les clients ont l'habitude d'utiliser sur Drupal et s'appuie sur la dernière version de Drupal
(v6.5). Elle apporte des corrections liées à la sécurité.
Télécharger la version 2.3.
Proposé par Jules Texier
Le 20/10 et le 21/10 Zend Technologies organise 2 webinars sur deux sujets différents :
Proposé par Marie Minassyan

des têtes vont tomber ;-)
Article original publié sur Glagla Dot Org. Tous droits réservés.
Cela vient de tomber... La 2ème vague des Pelluches ElePHPants vient d'arriver en France.
En sortant du bateau, vous pouvez les voir... ils sont bien dressés comme le montre la photo

avec en tête du cortège les gros elePHPants et
Nouvelle version de joost sans téléchargement de logiciels tiers.
(categories: joost)
DLFP: OpenOffice.org 3.0 est disponible
La version 3.0 de la suite bureautique OpenOffice.org vient de sortir.
Cette suite bureautique (sous licence LGPL v3) est largement sponsorisée par la firme Sun et propose de nombreux modules pour couvrir tous les besoins. On trouve un traitement de texte, un tableur, un module de présentation, un gestionnaire de base de données, un module de dessin vectoriel, etc.
OpenOffice.org 3.0 est disponible sous plusieurs plates-formes (Linux, BSD, Solaris, Mac OS X, Windows) et dans de nombreuses langues. Il est possible d’ajouter facilement des fonctions grâce au mécanisme des extensions similaire à celui utilisé par Firefox.
ça c’est du podcast !
(categories: podcast)
TechCrunch en français » [fr] Le “Web2.0″. Une expression à mettre au placard. Une fois pour toutes
il est mort depuis moment. Un long moment. Quand exactement? Depuis qu’il est devenu un mot fourre-tout que personne ne sait définir,
(categories: web2.0)
Royal Pingdom » Blue Screen of Death in unexpected locations
The infamous Blue Screen of Death (BSOD) probably hasn’t escaped the notice of anyone who has used a computer in the last decade or so. If you haven’t seen it on your own PC, you probably know someone it has happened to.
There is actually a ridiculous amount of BSOD photos to be found around the Web. And not just of PCs. As this post will show you, the blue error screen seems to show up everywhere, and often in highly unexpected locations.
This is a collection of some of the very best ones we could find. Enjoy!
(categories: photos BSOD microsoft)
Clean Energy 2030 - a knol by Jeffery Greenblatt
Clean Energy 2030
Google’s Proposal for reducing U.S. dependence on fossil fuels
(categories: google)
Article original publié sur Glagla Dot Org. Tous droits réservés.
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.
Sur le site d'IBM, Jake Miles, publie un article expliquant deux méthodes pour séparer le contenu de la forme d'un site web en utilisant XSLT, SimpleXML et PHP5.
Ce tutoriel vise à séparer en trois parties la programmation d'un site web.
L'équipe de Dotclear met à disposition une installation automatique.
Pour simplifier le déploiement de sa plateforme de blog, l'équipe de Dotclear a sorti une version beaucoup plus simple à installer.
Il n'y a plus qu'un seul fichier à déposer sur le site ensuite, il suffit d'aller sur ce fichier et de suivre les instructions pour avoir un dotclear prêt à l'emploi en quelques clics.
L'édition 2008 du rendez-vous français incontournable des utilisateurs PHP accueille cette année encore des intervenants d'exception : Zak Greant, Foo Associates, Laura Thompson, Mozilla, et Lukas Smith, Core Developpeur PHP.
Organisé à Paris les 8 et 9 décembre 2008 par l'Association Française des Utilisateurs de PHP (www.afup.org), le Forum PHP 2008 sera placé sous le signe des Web services professionnels et des grands projets en PHP.
Depuis 8 ans, l'AFUP organise le Forum PHP pour permettre aux utilisateurs de PHP de se retrouver et d'échanger autour de conférences et ateliers à forte valeur ajoutée. Cette année encore, les participants auront l'opportunité de débattre avec les experts internationaux présents, et ainsi mieux appréhender les enjeux technologiques du langage PHP, devenu la technologie de référence pour construire des applications web en entreprise. Des acteurs de poids dans le monde PHP comme Zend, Oracle et Anaska/AlterWay ont apporté leur soutien pour cette huitième édition.
Les deux journées seront l’occasion d’assister à des conférences et ateliers techniques ou fonctionnels, ainsi qu'à des retours d’expériences. Cet événement intéressera les responsables informatiques et décideurs souhaitant découvrir le potentiel de la plate-forme PHP, et les développeurs attirés par les aspects plus techniques tels que la sécurité et la montée en charge.
** Focus : les temps forts du Forum **
Le Forum PHP 2008 permettra aux participants d'approfondir leurs connaissances du langage PHP, et d'échanger avec les intervenants au travers de 3 prismes :
✔ les conférences
✔ les retours d'expériences
✔ ateliers pratiques et démonstrations.
A ne pas manquer :
✔ Conférences :
Les solutions « Haute disponibilité » avec MySQL, Olivier Dasini, LeMUG.fr / Alter Way
PHP, a mystery success story!, Lukas Smith
Nouvelles fonctionnalités Oracle database 11g pour PHP, Kuassi
Mensah, Oracle
Scaling Mozilla's websites with PHP, Laura Thompson, Mozilla
✔ Les retours d'expériences :
20minutes.fr Rue89.com BNP Paribas
Place des Tendances.com
✔ Atelier « Hackez-moi ça ! », animé par Damien Seguy, Nexen.net / Alter Way : une application PHP sera lancée dans l'arène, et les participants devront l'analyser et tenter d'en prendre le contrôle.
Le programme complet de l'événement ici : http://afup.org/pages/forumphp2008/sessions.php
Proposé par Hello
Mais son album lui l’es tout à fait !!!!
J’ai vraiment du mal avec la nouvelle vague de la chanson française sauf avec quelques exceptions comme Bénabar. C’est son quatrième album je crois et c’est toujours beau honnête. Et puis zut, quel plaisir de profiter de la musique ET des paroles ;-).
A découvrir gratuitement sur deezer.
Article original publié sur Glagla Dot Org. Tous droits réservés.
Sur le site d'IBM, Jake Miles et Dave Wegman ont publié un tutoriel permettant de personnaliser l'affichage d'une GoogleMap.
Ce tutoriel vise à modifier l'affichage d'une carte GoogleMap. Pour illustrer ce tutoriel, Jake Miles et Dave Wegman, expliquent comment récupérer les informations du flux RSS météo de Yahoo pour finalement les afficher sur une carte GoogleMap.
À la fin de ce tutoriel, vous devriez être en mesure de modifier l'affichage d'une carte GoogleMap pour y ajouter ce que vous voulez.
Deux solutions sont développées :
Drupal a mis en ligne une documentation complète de son CMS.
Cette documentation pourrait être très utile pour les débutants, mais aussi pour les développeurs plus confirmés.
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.
Drupal V6.6 est disponible au téléchargement.
Cette mise à jour corrige des bugs ainsi que des failles liées à la sécurité.
Il est fortement recommandé de faire la mise à jour.
PhpMyAdmin V3.0.1 est disponible au téléchargement.
Cette mise à jour n'apporte que des correctifs de bugs.
Wilco Jansen vient d'annoncer que la version 1.0 de Joomla! ne bénéfiera plus du support officiel à partir du 22 Juillet 2009.
En complément, l'équipe du projet a aussi annoncé que, bien que la version 1.5 contienne une couche (partielle) de compatibilté ascendante permettant d’utiliser des extensions tierces codées pour Joomla! 1.0, celle-ci ne sera plus disponible dans la future version 1.6.
Il est donc fortement conseillé d'effectuer une migration vers la version 1.5 de Joomla! avant l'été prochain.
Site officiel Joomla!
Cette version n'est que transitoire, mais une mise à jour fera l'objet d'un nouveau post
En réfléchissant sur mon prochain boulot, j'ai essayé de lister les valeurs, les points que je voudrais vraiment mettre en avant.
Ils sont assez bateau peut-être mais ils me guideront.
Il va falloir étoffer tout cela.
En pratique je sais que je ferai ca avec des méthodes agiles
Je prends en compte la qualité sécuritaire du code, les injections, les XSS, .... pour protéger l'application. Mais aussi la sécurité de l'utilisateur, l'utilisateur ne doit pas pouvoir être lésé. Dès qu'il y a "compte utilisateur', il faut des groupes, si possible non hiérachiques mais thématiques. (un membre du groupe d'administration technique a des droits qu'un admin commercial n'a pas ET VICE VERSA)
Pouvoir ajouter un hardware et zou on réparti la charge (quelle soit sur la vitesse, la quantité d'information, la sécurité,...) La redondance pour assurer et la redondance pour répartir la charge. Le code doit si pas le permettre, au moins rendre facile l'implémentation de ces redondances. (classiquement savoir séparer les lectures des écritures,
cette valeur peut entrer en conflit avec les autres mais il ne faut surment pas l'ignorer, les méthodes agiles apportent déjà des solutions.
les tests, le test coverage, la documentation, les scanners de failles, les sections inutilisées ou désuète,
C'est une évidence. Le code doit permettre facilement d'ajouter des nouvelles fonctionnalités.
Parce que c'est ce qu'on fait le plus dans un projet vivant.
Une fonctionnalité peut être amennée à disparaitre mais les pages affichées ne devrait pas forcément disparaître. Sur le web il y a trop d'info disparait trop vite pour l'utilisateur, des url qui exitaient ne répondent plus juste parce que l'info qu'elle ciblait à changé de place... et ca j'aime pas
le code doit être scanné par des outils qui vérifient de manière systématique et automatique ce qui peut l'être ainsi. Cela demande parfois d'adapter son style d'écriture.
Le code fournit aussi de quoi facilement traquer une erreur , une anomalie une attaque, via des logs et autre manière de faire remonter l'information
http://wiki.php.net/rfc/namespacese...
wait, we're not April 1st ?
L’édition 2008 du rendez-vous français incontournable des utilisateurs PHP accueille cette année encore des intervenants d’exception : Zak Greant, Foo Associates, Laura Thompson, Mozilla, Lukas Smith, ….
Vous pourrez bien sûr m’y retrouver comme tous les ans. Cette année, je serais sur le stand de ma société Anaska, sponsor de l’évènement. N’hésitez pas à venir me faire un petit coucou!
Organisé à Paris les 8 et 9 décembre 2008 par l’Association Française des Utilisateurs de PHP (www.afup.org), le Forum PHP 2008 sera placé sous le signe des Web services professionnels et des grands projets en PHP.
Le Journal des Finances : Carte Bourses Mondiales
soit déprimé avec la bourse !
(categories: )
Le Cobol, une valeur refuge pour les programmeurs ? - Actualités - ZDNet.fr
L’un des plus vieux langages de programmation connaît une relative pénurie de main d’œuvre. D’où des salaires en hausse et des qualifications demandées par les employeurs.
(categories: )
Article original publié sur Glagla Dot Org. Tous droits réservés.
Dans cet article publié sur le site d’IBM, Nathan A. Good décrit les problèmes de sécurité rencontrés sur les applications web et les techniques pour les sécuriser.
L’auteur a découpé son article en sept parties et aborde les principales failles de sécurité rencontrées sur le web. Il explique notamment comment contrôler les données en entrée et les fichiers mais aussi comment sécuriser les bases de données et les sessions utilisateur. Pour terminer, Nathan A. Good aborde les failles XSS (Cross Site Scripting) et CSRF (Cross-Site Request Forgeries) et nous donne de précieux conseils pour ne pas devenir victime de ces attaques.
Lire le tutorial
L’édition 2008 du rendez-vous français incontournable des utilisateurs PHP accueille cette année encore des intervenants d’exception : Zak Greant, Foo Associates, Laura Thompson, Mozilla, Lukas Smith, ….
Vous pourrez bien sûr m’y retrouver comme tous les ans.

Organisé à Paris les 8 et 9 décembre 2008 par l’Association Française des Utilisateurs de PHP (www.afup.org), le Forum PHP 2008 sera placé sous le signe des Web services professionnels et des grands projets en PHP.
Le calendrier des futures versions de TYPO3 est disponible.
Le site de typo3.org a publié un billet nous informant de la disponibilité d'un calendrier concernant les futures évolutions de TYPO3 prévues lors d'un regroupement de développeurs, la plupart appartenant à la core team de TYPO3.
Les principaux points intéressants de cette réunion seraient:
- Les deux branches de TYPO3 (v4 et v5) continueront d'être développées en parallèle, ceci apaisant les craintes d'un abandon trop hâtif de la v4
- les prochaines versions de TYPO3 bénéficieront des avancées introduites par la version 5. C'est déjà le cas avec une intégration du nouveau système de cache dans la version 4.3, du modèle MVC de FLOW3 (TYPO3 v5 est basé sur FLOW3), Typoscript V2...
- migrer le contenu d'un site de la version 4 à la version 5 ne devrait pas être très compliqué (à vérifier tout de même !)
Parmi les évolutions à venir, on notera par exemple un nouveau système de templating avec la version 4.4 afin de profiter un maximum des fonctionnalités de TYPO3 ce que ne permettraient pas d'autres systèmes tels que Smarty.
Bien que toujours en préparation, une
démonstration de la nouvelle interface en Ajax est disponible. A noter qu'une entreprise privée, InnerEcho, a accepté de travailler "gratuitement" sur la conception de cette nouvelle interface, pour la communauté TYPO3.
Voilà maintenant quelques jours que plusieurs nouvelles versions de MySQL sont sorties. Faisons le point.
En premier lieu, la version candidate 5.1.29 apporte, en plus des corrections de bugs habituelles, quelques changements notables concernant les options, certaines destinées à disparaître dans les prochaines versions. Par conséquent, il est dorénavant déconseillé d'utiliser l'option --skip-thread-priority, celle-ci étant vouée à disparaître dans la version 6.0. De plus, l'option --log est remplacée par --general_log et l'option --log-slow-queries est remplacée par --slow_query_log.
La version 6.0.7-alpha quant à elle propose de nouvelles options pour mysqlbinlog, une nouvelle variable système backupdir, une amélioration de la commande mysqltest, un nouveau privilège CREATE TABLESPACE et plus encore.
Pour les entreprises, la version 5.0.70 de MySQL Entreprise améliore la sécurité de l'application grâce à la nouvelle variable système plugin_dir reprise de MySQL 5.1 et corrige une faille de sécurité pouvant être exploitée lors de la création de tables MyIsam avec les options data directory et index directory.
Enfin, il est bon de noter qu'une nouvelle version de MySQL GUI Tools est également à disposition.
PHP DEVELOPER pour Delcampe International sprl
On recherche des développeurs avec plus d’un an d'expérience en php, à Petit-Enghien (entre Halle et Ath), l'équipe Delcampe est composée de 11 personnes pour gérer le support aux membres, les stratégies marketing et les évolutions techniques.
Delcampe.net est le plus important site de ventes aux enchères réservé aux collections.
Fondé en 2000, Delcampe accueille aujourd'hui plus de 300,000 personnes et 18 millions d'objets de collection.
Il est récemment entré dans le Top 10 des sites sur lesquels les français passent le plus de temps.
Basée dans le cadre verdoyant d'une grande maison.
L'offre sur références.be : http://www.references.be/Jobs/DisplayVacancy.aspx?ID=1039194
Intéressé ?
Contactez Evelyne Lorand, Responsable Recrutement.
Le script “tuning-primer” (qui en passant est un script vraiment très utile dans l’optimisation de son serveur MySQL) produit une sortie avec coloration synthaxique qui rend sa lecture bien plus aisée.
C’est en voulant conserver la sortie du script dans un fichier (par redirection du flux) que le problème de la conservation de la colorisation se pose. En effet, celle-ci n’est pas conservée (texte simple en noir et blanc). Du coup, c’est moins sexy pour la relecture. La solution de se problème est l’utilitaire “script”
Tout d’abord, ”script” est disponible dans le package “util-linux” (Miscellaneous utilities for Linux) qui est un package de base que vous devez donc posséder sans rien installer (il contient entre autre quelques programme inconnus nommés dmesg, kill, mount, rename etc… :p)
$ script /tmp/script.out
$ exit
$ cat /tmp/script.out
Ayant récemment eu besoin de travailler sur une application utilisant memcached, j’ai du l’installer sur ma machine perso tournant sous Mac OS X. Pour mémoire, memcached est un système de stockage distribué de paires clé/valeur en mémoire vive, très rapide et performant. Cela peut s’avérer un outil de choix pour faire monter en charge une architecture, par exemple en ajoutant des frontaux web et en utilisant memcached comme espace partagé de stockage des données de session utilisateur. On peut également imaginer d’y stocker les résultats de traitements complexes, des templates compilés, des jeux de résultats SQL, etc.
J’ai trouvé un excellent tutoriel d’installation de memcache pour OS X pour cela, que je vous invite à suivre pour mettre en œuvre les exemples ci-après. Une fois l’installation effectuée, vous pouvez lancer le démon memcached avec cette ligne de commande :
$ sudo memcached -d -u nobody -m 128 127.0.0.1 -p 11211
Notez que cette dernière ligne de commande lance le démon memcached sous l’utlisateur nobody, en local sur le port 11211 et alloue 128 Mo de mémoire vive au service de stockage.
Le tutoriel couvre également l’installation de l’extension PECL memcache, fournissant une API particulièrement simple et efficace à PHP pour utiliser le service.
Exemple d’utilisation basique :
<?php $m = new Memcache; $m->connect('localhost', 11211) or die ("Could not connect"); $m->set('toto', 'tata'); echo $m->get('toto'); // tata
Pour utiliser memcached comme système de stockage des sessions, PHP dispose d’un gestionnaire de sessions memcache qu’il suffit d’activer par configuration dans votre fichier php.ini. Il suffit de remplacer la valeur :
session.save_handler = files
Par ces deux lignes, en adaptant au besoin les valeurs de connexion au démon :
session.save_handler = memcache session.save_path="tcp://127.0.0.1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"
Attention cependant, en cas de coupure du service memcached, toutes les données de sessions actives seront perdues.
Ce billet intitulé Utiliser Memcached avec PHP sous Mac OS X a été rédigé par Nicolas Perriault et publié sur le blog Prendre un Café sous licence Creative Commons BY-NC-SA.
Article original publié sur Glagla Dot Org. Tous droits réservés.
It’s been quite a long time I didn’t give a go to Doctrine, so as it’s gonna be bundled by default in with the upcoming 1.2 release of symfony, I thought it was a good occasion to play with it.
So let’s checkout the 1.2 SVN branch of symfony and create a test project with a main application[1]:
$ mkdir sf12test && cd sf12test $ mkdir -p lib/vendor $ svn co http://svn.symfony-project.com/branches/1.2 lib/vendor/symfony $ php lib/vendor/symfony/data/bin/symfony generate:project sf12test $ ln -s ../lib/vendor/symfony/data/web/sf web/sf $ ./symfony generate:app main
Create a webserver vhost pointing to the web folder of the project directory. I’ve already explained plenty of times how to achieve this step.
Now, let’s enable the sfDoctrinePlugin and disable the Propel one by editing the setup() method of the config/ProjectConfiguration.class.php file:
public function setup() { $this->disablePlugins('sfPropelPlugin'); $this->enablePlugins('sfDoctrinePlugin'); }
You can list the available tasks running this simple command:
$ ./symfony list doctrine
First, configure your config/databases.yml file to set the database connection parameters. If you want to quick test Doctrine, use a local SQLite db, like this:
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: sqlite://<?php echo dirname(__FILE__).'/../data/data.db' ?>
We’re going to make a very simple weblog application, so let’s configure our database schema. We can do it in YAML[2], so fire up your favorite editor/IDE and edit a brand new config/doctrine/schema.yml:
BlogPost:
actAs:
Sluggable:
fields: [title]
Timestampable:
columns:
title: string(255)
body: clob
author: string(255)
BlogComment:
actAs: [Timestampable]
columns:
blog_post_id: integer
author: string(255)
email: string(255)
content: clob
relations:
BlogPost:
class: BlogPost
local: blog_post_id
foreign: id
foreignType: many
type: one
Note that Doctrine offers several pretty cool features including native behaviors (timestampable and slugable are used here).
Now, create a data/fixtures folder and put a data.yml file in, containing some test data in YAML format:
BlogPost:
p1:
title: My first post
body: |
This is cool.
author: NiKo
created_at: "<?php echo date('Y-m-d H:i:s', time() - 86400) ?>"
p2:
title: My second post
body: |
This is still cool.
author: NiKo
created_at: "<?php echo date('Y-m-d H:i:s', time() - 7200) ?>"
p3:
title: Third post
body: |
Is this one cool?
author: Roger Hanin
created_at: "<?php echo date('Y-m-d H:i:s') ?>"
BlogComment:
c1:
BlogPost: p3
author: John
email: john@doe.com
content: Hey, you're right there.
created_at: "<?php echo date('Y-m-d H:i:s', time() - 86400) ?>"
c2:
BlogPost: p3
author: Paul
email: paul@doe.com
content: Nope, he's not.
created_at: "<?php echo date('Y-m-d H:i:s') ?>"
Okay, now run the command below to generate the needed files, create the database and fill it with the data fixtures:
$ ./symfony doctrine:build-all-load
We can run several DQL queries in command line to check if everything is fine. DQL is very powerful, and compatible with a lot of RDBMS. You’ll find more information on DQL on the doctrine website.
For example, to find all blog posts:
$ ./symfony doctrine:dql "From BlogPost p" found 3 results - id: '21' title: 'My first post' body: "This is cool.\n" author: NiKo slug: my-first-post created_at: '2008-10-29 15:14:25' updated_at: '2008-10-30 15:14:25' - id: '22' title: 'My second post' body: "This is still cool.\n" author: NiKo slug: my-second-post created_at: '2008-10-30 13:14:25' updated_at: '2008-10-30 15:14:25' - id: '23' title: 'Third post' body: "Is this one cool?\n" author: 'Roger Hanin' slug: third-post created_at: '2008-10-30 15:14:25' updated_at: '2008-10-30 15:14:25'
Another example, to find informations about the blog post with slug third-post and its associated comments:
$ ./symfony doctrine:dql "Select p.title, p.author, c.author, c.content From BlogPost p, p.BlogComment c Where p.slug = 'third-post' Group by c.id"
found 3 results
-
id: '23'
title: 'Third post'
author: 'Roger Hanin'
BlogComment: [{ id: '15', author: John, content: 'Hey, you''re right there.' }, { id: '16', author: Paul, content: 'Nope, he''s not.' }]
The Model part of any MVC architecture must contains the business data and associated logic. In other words, these data and logic should never be handled anywhere else, to decouple your components at max. So we’ll add some query methods in the lib/model/doctrine/BlogPostTable.class.php file, which represents our blog_post table and available operations on it:
<?php class BlogPostTable extends Doctrine_Table { public function getAll() { return Doctrine_Query::create()-> select('p.title, p.slug, p.body, p.author, p.created_at, count(c.id) numcomments')-> from('BlogPost p, p.BlogComment c')-> orderBy('p.created_at DESC')-> groupBy('p.id')-> execute(); } public function getOneBySlug($slug) { $posts = Doctrine_Query::create()-> from('BlogPost p')-> leftJoin('p.BlogComment c')-> where('p.slug = ?')-> orderBy('c.created_at ASC')-> limit(1)-> execute(array($slug)); return isset($posts[0]) ? $posts[0] : null; } }
Okay, let’s add pretty controllers and templates to give some life to our blog. First, generate a post module in the main app:
$ ./symfony generate:module main post
Then, edit the apps/main/modules/post/actions/actions.class.php file:
<?php class postActions extends sfActions { public function executeIndex($request) { $this->posts = Doctrine::getTable('BlogPost')->getAll(); } public function executeShow($request) { $this->post = Doctrine::getTable('BlogPost')->getOneBySlug($slug = $request->getParameter('slug')); $this->forward404Unless($this->post, 'No post with slug=' . $slug); $this->comments = $this->post->getBlogComment(); } }
We should have display templates too. The first one will show the posts list, in apps/main/modules/post/templates/indexSuccess.php:
<?php foreach ($posts as $post): ?> <?php include_partial('post/post', array('post' => $post, 'numComments' => $post->getNumcomments())) ?>
<?php endforeach; ?>
Note that we must create the _post partial template, in apps/main/modules/post/templates/_post.php:
<?php echo link_to($post->getTitle(), 'post/show?slug='.$post->getSlug()) ?>
Posted by <?php echo $post->getAuthor() ?> on <?php echo $post->getCreatedAt() ?> <?php if (isset($numComments)): ?> - <?php echo $numComments ?> comments <?php endif; ?>
<?php echo $post->getBody(ESC_RAW) ?>
The other main template will display one post and its comments, in apps/main/modules/post/templates/showSuccess.php:
<?php include_partial('post/post', array('post' => $post)) ?>Comments
<?php if (!count($comments)): ?>No comment yet.
<?php else: ?> <?php foreach ($comments as $comment): ?>By <?php echo $comment->getAuthor() ?> on <?php echo $comment->getCreatedAt() ?>
<?php echo $comment->getContent() ?><?php endforeach; ?> <?php endif; ?>
That’s it. A rough but functional weblog if you lauch your browser to yourhost/main_dev.php/post/index:

And if you click a post title:

Symfony 1.1 introduced the new forms framework, and good news, Doctrine can take part of it. So maybe you’ve already noticed it, we have form classes generated already, in the lib/form/doctrine folder of the project.
So let’s add a neat commenting system to our blog, by first editing the lib/form/doctrine/BlogCommentForm.class.php file:
<?php class BlogCommentForm extends BaseBlogCommentForm { public function configure() { unset($this['id'], $this['created_at'], $this['updated_at']); $this->widgetSchema['blog_post_id'] = new sfWidgetFormInputHidden(); $this->validatorSchema['author'] = new sfValidatorString(array('min_length' => 3)); $this->validatorSchema['email'] = new sfValidatorEmail(); $this->validatorSchema['content'] = new sfValidatorString(array('min_length' => 5)); } }
Now, use the form in the executeShow() method of our controller:
<?php // ... public function executeShow($request) { $this->post = Doctrine::getTable('BlogPost')->getOneBySlug($slug = $request->getParameter('slug')); $this->forward404Unless($this->post, 'No post with slug=' . $slug); $this->comments = $this->post->getBlogComment(); $comment = new BlogComment(); $comment->setBlogPost($this->post); $this->form = new BlogCommentForm($comment); if ($request->isMethod('post') && $this->form->bindAndSave($request->getParameter('blog_comment'))) { $this->redirect('post/show?slug='.$this->post->getSlug()); } }
And in the showSuccess.php template, we’ll append the form display:
Add a comment
<?php echo $form->renderFormTag(url_for('post/show?slug='.$post->getSlug())) ?>
| "submit"/> |
We’ve now a pretty commeting system added to our blog, thanks to all the goodness provided by symfony and Doctrine:

The time when everyone choosed Propel because it was more stable than Doctrine seems to be over. Doctrine is robust, and performs quite well on my box. Furthermore, it handles complex relationships and dynamic object hydratation natively and better than Propel. Doctrine is also very well integrated into symfony, certainly because Jonathan Wage - the Doctrine lead developer - now works for Sensio, creator and main sponsor of symfony.
[1] Note that Windows users should replace calls to ./symfony by php symfony.
[2] If you hate YAML, you can still write Doctrine table definition classes in raw PHP by hand
Ce billet intitulé Let's Play with Symfony 1.2 and Doctrine a été rédigé par Nicolas Perriault et publié sur le blog Prendre un Café sous licence Creative Commons BY-NC-SA.
Le site www.wordpress-fr.net a récemment publié quelques articles sur l'actualité du CMS WordPress.
Afin de corriger une vulnérabilité découverte dans la classe PHP Snoopy, classe contenue dans WordPress depuis sa version 1.5, les développeurs ont publié la version 2.6.3 même si le risque est faible pour les utilisateurs de WordPress.
Deux manières de mettre votre version à jour :
- Récupérer la version 2.6.3 complète,
- Télécharger seulement les 2 fichiers modifiés et les mettre dans le dossier wp-includes de WordPress 2.6.2
Référez-vous à l'article d'origine pour plus de détails et avoir les liens des téléchargements : Source
Suivant de peu, WordPress Mu 2.6.3 corrige la même faille mais on notera aussi la correction de quelques chaines de texte non internationalisées et de bugs réellement mineurs.
Enfin, si vous avez un blog sous WordPress, n'oubliez pas d'ajuster l'heure !