07 mars 2010 ¤ Classé dans Actualité - Réaction ¤ Aucun Commentaire

Simon vient d’annoncer la date de la prochaine soirée « Blogueurs de l’ouest« . Elle se tiendra mercredi 31 mars à partir 19h, toujours au café Flesselles.

Pour ma part je ne peux que regretter la date choisie, en pleine semaine je ne peux pas y aller (surtout le mercredi). A moins qu’on descend en voiture avec Antoine et Garry mais les cours du mercredi termine très tard.

Bref je ne vais pas vous racontez toute ma vie. En tout cas sachez que l’association cherche un nouveau trésorier donc si vous êtes intéressé. Si vous êtes interessé complétez le traditionnel formulaire (obligatoire) pour vous inscrire.

Partagez et abonnez-vous

06 mars 2010 ¤ Classé dans Programmation ¤ Aucun Commentaire

Comment réécrire les messages d’erreurs MySQL générés par mysql_error() en francais et avec son CSS.

Lorsque vous développez avec PHP vous utilisez très souvent une base de données et généralement une MySQL. Pour faire une requête une fonction mysql_query() existe et lorsqu’on débute on nous apprend souvent qu’il faut l’utiliser comme suit:


<?php
$res = mysql_query('SELECT something FROM sometable WHERE id=1');
if (!$res) {
echo('Requête invalide : ' . mysql_error());
}
?>

La fonction mysql_error() affichant un message pour vous aidez à comprendre l’erreur. Si c’est pratique en débuggant, cela fait mauvais genre lorsque le visiteur se retrouve un avec message d’erreur en anglais sur son écran.

Dans ce cas il suffit de ne pas afficher de message d’erreur?!

Et bien parfois ces messages d’erreurs sont utiles au fonctionnement du site. Par exemple lorsque vous voulez vérifier si un élément existe déjà dans la table afin de ne pas l’insérer deux fois (typiquement un nom d’utilisateur ou une adresse email pour l’ajout d’un compte).

Une première méthode consisterait à faire une requête pour savoir si l’élément a été trouvé dans la table et si ca n’est pas le cas on exécute la requête d’ajout. Une autre méthode (la bonne mon sens) est de spécifier à votre SGBD (MySQL en l’occurrence) que tel ou tel élément doit être unique et d’exécuter la requête d’ajout et afficher un message d’erreur si le paramètre existe déjà.

Réécrire la fonction mysql_query()

Dans votre fichier de fonction, définissez une fonction my_query() que vous utilisez à la place de celle fournie par PHP.

La méthode est assez simple, exécution de la requête puis selon le numéro d’erreur affichage d’un message personnalisé. Pour continuer sur l’exemple précédemment choisie je propose la fonction avec l’erreur généré si un élément doit être unique.

PHP fournit la fonction mysql_errno() qui renvoie un numéro d’erreur.


<?php
function my_query($req) {
$result = mysql_query($req);
if (mysql_errno() == 1062) {
echo "<p class='error'>Un des éléments existe déjà dans notre base de données</p>";
}
return $result;
}
?>

En faisant une fonction générique comme ci-dessus, vos messages doivent rester générique mais en en faisant des plus précise vous pouvez afficher le champs qui pose problème (une pour l’ajout de compte justement).

La liste des erreurs MySQL est disponible sur cette page.

Partagez et abonnez-vous

22 février 2010 ¤ Classé dans Ressources ¤ Aucun Commentaire

Un set d’icônes pour vos documents PDF DOCX DOC RTF et LOG.

Je cherchais pour un site des icones de documents pdf et docx pour en faire des boutons à cliquer et apres quelques recher j’ai enfin trouvé mon bonheur, comme souvent sur Deviant Art.

Les images sont de très bonnes qualités (plusieurs centaines de pixels de large) et bien sur le fond est transparent.

Preview des icones DOC DOCX RTF LOG

Preview des icones DOC DOCX RTF LOG

Preview de l'icone Adobe PDF

Preview de l'icone Adobe PDF

Télécharger le pack d’icones doc/docx
Télécharger l’icone Adobe PDF

Partagez et abonnez-vous

20 février 2010 ¤ Classé dans Objets Trouvés ¤ Aucun Commentaire

J’achète parfois des DVDR sur le meilleur site en ligne que j’ai trouvé: www.nierle.com. Du coup je me suis abonné à leur newsletter, et ce matin, hô surprise, une merveilleuse montre.

La montre est équipé d’une mini camera qui peut vous permettre de faire de très discrètes vidéos. Autant dire que c’est complètement indispensable.

Le prix est raisonnable: 50€.

Spécifications techniques:

  • Mémoire: 4 Go
  • Résolution 640 * 480 AVI
  • USB 2.0
  • Vitesse de lecture: 900K / s
  • Ecriture: 700K / s
  • Autonomie: 2 heures

Allez franchement qui oserait dire qu’il n’en veut pas?

Une montre d'espion avec une minicamera

Partagez et abonnez-vous

18 février 2010 ¤ Classé dans Ressources ¤ Aucun Commentaire

Reset le mot de passe administrateur de MediaWiki.

Je suis en train d’installer un MediaWiki (moteur de wikipedia) pour documenter quelques projets et j’ai eu quelques problemes que je detaillerai ici et notamment le coup de mot de passe admin oublié.

Une première option permet l’envoi d’un mot de passe temporaire par email seulement dans mon gars je n’avais pas renseigné ce champ. C’est curieux parce que pourtant j’aurais parié l’avoir fait.

Donc si vous avez effectué votre propre installation vous allez devoir le changer directement dans la base de données. Connectez-vous à PhpMyAdmin (ou autre) et excecutez la commande suiante:


<em>UPDATE user SET user_password = MD5( CONCAT( user_id, '-', MD5( '<strong>ENTREZ VOTRE MDP ICI</strong>' ) ) ) WHERE user_id =1 </em>

Pensez à modifier le nom de la table (« user » dans l’exemple) si vous utiliser un prefixe comme « wiki_ », ce qui est le cas des « one click install » de Dreamhost.

Et pendant que vous etes dans la base de données renseignez ou modifiez le champs approprié avec votre email.

Partagez et abonnez-vous

18 février 2010 ¤ Classé dans Programmation ¤ Aucun Commentaire

La fonction strftime() permet d’afficher des dates au format français SANS utiliser de remplacement.

La fonction date() permet d’obtenir une date de façon très simple néanmoins il vaut mieux être américain puisque les noms des jours et des mois sont en anglais.

Pour afficher la date en français on peut utiliser une simple fonction de remplacement mais reconnaissons que c’est pas très stylé… limite looser.

PHP défini une fonction dédié aux dates localisées: strftime(). Voici un exemple simple pour afficher une date francaise:


setlocale(LC_TIME, 'fr_FR');
echo strftime("%A %d %B %Y.");

%A %d %B %Y affiche la date comme ceci jeudi 18 fevrier 2010.

setlocale() permet de définir le format à utiliser. Même si l’exemple ci-dessus devrait fonctionner la documentation recommande l’exemple suivant.


setlocale(LC_TIME, 'fr', 'fr_FR', 'fr_FR.ISO8859-1');
echo strftime("%A %d %B %Y.");

A lire:

Partagez et abonnez-vous

16 février 2010 ¤ Classé dans Geek ¤ Aucun Commentaire

Upside-Down-Ternet retourne Internet

On a tous le reflex de protéger notre réseau wifi avec des clef WEP ou WPA. Le WPA est suffisamment resistant mais par contre le systeme WEP ne tient pas très longtemps, et aujourd’hui même un -plus ou moins – novice peut cracker une clé WEP.

Pete Stevens (que je ne connaissais pas) propose une méthode alternative assez interessante: retourner toutes les images du net.

En modifiant le DHCP il sélectionne les adresses autorisés. Pour les autres il redirige vers un proxy squid et retourne toutes les images avec mogrify.

Bon pas à la porté de tout le monde mais plutôt fun.

Plus d’information sur cette page.

Partagez et abonnez-vous

14 février 2010 ¤ Classé dans Actualité - Réaction ¤ Aucun Commentaire

Tout le monde est au courant de la situation actuelle du disque: les majors qui pleurent et ne signe plus beaucoup d’artistes, les ventes de disques qui s’effondrent et pourtant les gens écoutent de plus en plus de musique.

Et bien il se peut que Peter Sunde, ancien porte-parole et co-fondateur présumé de ThePirateBay ait trouvé une solution intéressante: un système de micropaiement.

Le concept est simple, vous donnez une somme d’argent puis vous choisissez comment vous voulez la répartir. Vous séléctionnez les artistes que vous voulez soutenir.

Double avantages: vous payez ce que vous voulez et surtout vous rémunérez qui vous voulez. Donc a priori cela devrait être bénéfique aux plus petits, les gens devraient avoir des réticences (sauf les fans bien sur) à filer de l’argent à un multimillionnaire.

La vidéo ci-dessous détaille le fonctionnement.

Flattr.com – How Flattr Works from Flattr on Vimeo.

J’ai aussi découvert par la même occasion le français Moozar.

Partagez et abonnez-vous