samedi, décembre 15, 2007

DBWrapper, coder sans vous soucier du type de BD utilisée

Dans un article précédent je parle brièvement d'une classe appelé DBWrapper qui me permet de coder sans me soucier du type de BD utilisé.

Voici donc un article qui parle en profondeur de cette classe et vous permet même de la télécharger.

mercredi, décembre 05, 2007

Venez me rencontrer

Pour une deuxième fois, je serais conférencier lors de la prochaine conférence PHP Québec (qui se tiendras le 12 mars 2008 à Montréal à l'hôtel Sofitel).

Je parlerais d'analyse web dans un monde où AWStat est roi.

Si le sujet vous intéresses, vous êtes les bienvenue.

dimanche, septembre 30, 2007

vendredi, septembre 28, 2007

Quand un contrat tourne mal.

Je fais des contrats par plaisirs et pour me payer un peu de luxe (mon Nokia N800 Internet Tablet par exemple :-).

Hors, quand un contrat tourne mal c'est vraiment difficile pour le morale.

J'ai fais un petit contrat pour deux gars de Montréal (dont je fais taire le nom et la compagnie). Après 10 heures (2 heure et demi de moins qu'estimé initialement) je demande à être payé. Plus aucune nouvelles. Je laisse plusieurs messages vocaux et par courriel, rien à faire, ils m'ignorent totalement. Après plusieurs heures de recherches, je trouve enfin leur adresse personnel ainsi que leur numéro de téléphone. Mais encore une fois, pas moyen de les rejoindre. J'envoie alors une mise en demeure à mes deux clowns. Un des deux signe et accepte celle-ci. Ils ont donc 10 jours pour me répondre sans quoi j'entame une poursuite aux petites créances.

Aujourd'hui ça fait 11 jours, et malgré l'assurance d'un de mes deux bozos, je n'ai toujours pas reçu mon dû. Je suis donc dans l'obligation de les poursuivres.

Arghhh!

dimanche, août 05, 2007

SlideCast - Introduction à l'analyse web

Après une fin de semaine à temps partiel, voici mon premier SlideCast. J'ai hâte de lire vos commentaires.



P.S. : Si vous lisez ce blog à partir de Google Reader ou un autre aggrégateur, vous ne verrez peut-être pas le SlideCast.

jeudi, août 02, 2007

OpenSurvey

Voici mon dernier projet : OpenSurvey

Il sera possible de générer des sondages, de collecter les donnes et générer des rapports par la suite. Le tout utilisera PHP 5.2.x

Quatre module existeras : OpenSurveyBuilder, OpenSurveyRenderer, OpenSurveyCollector et OpenSurveyAnalyzer. Des fichiers XML seront utilisé pour la gestion du Renderer, du sondage lui-même ainsi que pour la gestion du Collector.

Je vous tient au courant.

samedi, juillet 07, 2007

Application PHP portable (lire ici sur une clé USB), est-ce un rêve?

J'ai reçu un message intéressant aujourd'hui. Je vous en fait part.

Bonjour,

Je vous écris pour savoir si vous pouvez m'aider à résoudre le problème suivant:

Je dois créer un formulaire html dans lequel des gens doivent répondre à des questions et écrire des commentaires. Ce formulaire ne dois pas être en ligne, il doit tenir sur une clée usb. J'ai choisi le html car ce formulaire doit pouvoir être consulter sur n'importe quel ordinateur (la majorité ont un navigateur web qui peut au moins servir à consulter un document sans être branché).

Est-ce possible de créer un tel formulaire où les infos ne sont pas envoyées mais sauvegardées dans les cases remplies, de le visionné en ouverture automatique à l'insèrement de la clée usb et modifiables seulement avec un mot de passe de l'utilisateur.

Le formulaire doit être autonome sur la clée et ne dois pas avoir besoin d'un serveur distant pour fonctionner.

Est-ce possible de créer un document semblable ?

Merci à l'avance
Et voici ma réponse.

Difficilement.

Les pages HTML ne peuvent sauvegarder des informations. C'est pourquoi des langages tel que le PHP, l'ASP ont été créer. La langage JavaScript qui est utiliser en HTML pour valider des champs d'un formulaire est très limité. Il n'est pas possible (pour des raisons de sécurité) d'utiliser JavaScript pour écrire dans un fichier.

Votre seul option possible selon moi est d'installer un serveur web sur la clé USB (Apache par exemple) et d'y installer PHP. Vous aurez à démarrer le serveur web à chaque fois que la clé sera utiliser.

Heureusement pour vous, le tout se fait assez facilement un utilisant XAMPP (que vous pouvez télécharger gratuitement ici : http://portableapps.com/apps/development/xampp ).

Il vous resteras ensuite qu'à faire votre formulaire en PHP, vous aurez même accès à MySQL.

jeudi, juin 28, 2007

Nouveau - Service d'analyse web

J'ai décidé d'ajouter à mon offre de service l'analyse web.

Que vous désiriez :

  • augmenter vos ventes
  • augmenter votre référencement
  • choisir et installer une solution d'analyse web
  • apprendre comment mieux gérer vos campagnes de publicité (AdWord, Overture, etc)

...je peux vous aider.


Visiter mon site pour en savoir plus.

mercredi, avril 11, 2007

Visiter mon nouveau blog sur l'analyse web

Venez visiter mon nouveau blog sur l'analyse web.

http://un-analyste-web.blogspot.com/

Petite présentation d'introduction à l'analyse web

Je fais faire une présentation d'introduction à l'analyse web le 3 mai à 19h à l'ETS. (Vous pouvez avoir plus d'information sur ce site.)

Date : 3 Mai 2007
Heure : 19h00
Lieu : École de technologie supérieure (ETS)
Salle : B1510
Metro : Bonaventure
Carte : http://www.etsmtl.ca/zone2/enbref/rendre.html
Ville : Montreal

Voici quelques sujets abordés :

  • L'évolution de l'analyse web
  • Pourquoi c'est important?
  • Quelques définitions
  • Exemple de KPI
  • Le processus
  • Quels sont les outils disponibles?
    • Google Analytics
    • CrazyEgg
    • Google Website Optimizer
Si vous désirez en apprendre plus sur l'analyse web, ça sera une belle occasion.

lundi, mars 19, 2007

Conférence PHP Québec 2007

La semaine passé, j'ai assisté avec 2 collègues à la conférence PHP Québec 2007.

Wow, toute une conférence.


  • Technique d'estimation agile pour les applications Web (Louis-Philippe Huberdeau)

    Technique pour mieux évaluer un projet basé sur des données recueillis projets après projets. Le présentateur manquait de préparation (désolé Louis-Philippe).


  • An introduction to PHP 5.2 (Ilia Alshanetsky)

    Comment et pourquoi migrer à PHP 5.2. Première slide, PHP 4 SUCKS. Hé hé, je suis d'accord. Si vous ne l'avez pas fait encore, migrer à PHP5.


  • PHP & Design Patterns (Gerald Croës)

    Factory, Proxy, Observer. Le lot habituel de Design Pattern.


  • The Truth about Sessions (Chris Shiflett)

    Chris est un excellent vulgarisateur. Très intéressant, mais pas assez avancé à mon goùt.


  • Testing in the PHP world (Marcus Böerger)

    Comment faire du Unit Testing en PHP SANS devoir utiliser PHPUnit. Faire une recherche sur run_test.php pour en savoir plus.


  • Bigger and Faster (Rasmus Lerdorf)

    Comment utiliser Callgrind pour diagnostiquer et optimiser des applications PHP. Aussi, pourquoi le XSS est-ci dangereux.


  • Writing Maintainable PHP (Laura Thomson)

    Quelques meilleurs pratiques à appliquer pour que votre code soit plus facile à modifier.


  • Using views in MySQL 5 for data migration (Morgan Tocker)

    Après la 3iemm slide j'étais perdu. Dissonsque je ne suis pas un administrateur de BD :-)


  • Service Component Architecture (Graham Charters)

    Comment utiliser les classes SCA et SDO de Pear pour créer des Web Services en PHP.


vendredi, février 23, 2007

Nouvelle version de mon article sur AJAX

Mes détracteurs :-) serons heureux d'apprendre que j'ai finalement pris le temps de réécrire mon article sur AJAX.

J'ai non seulement corrigé mes erreurs de JavaScript, j'ai aussi bonifié mon article de nouvelles connaissance.

N'hésité pas à me laisser un commentaire.

samedi, février 17, 2007

Finalement...

Finalement, j'ai décidé de supprimer les commentaires les moins constructifs.

Et je fais essayé de trouver le temps de récrire mon article sur AJAX.

samedi, février 10, 2007

Petit JavaScript pour faire du A/B testing

Voici un petit JavaScript qui vous permet de faire du A/B testing. A utiliser en conjoncture avec CrazyEgg ou Google Analytics.

<script language="JavaScript">
<!--

var test_id = "test1"; // Identificateur unique du test.
var url_1 = "page_a.html"; // Url 1
var url_2 = "page_b.html"; // Url 2
var test_lenght = 14; // Durée du test en jour.
var version = ""; // Quel version de la page utiliser?

version = getCookie(test_id);

if (version == null || version == "") {
var randomnumber = 2 * Math.random();
randomnumber = Math.ceil(randomnumber);

if (randomnumber == 1) {
version = "1";
document.write("<a href='" + url_1 + "'>Link 1</a>");
}
else {
version = "2";
document.write("<a href='" + url_2 + "'>Link 2</a>");
}

var now = new Date();
now.setTime(now.getTime() + test_lenght * 60 * 60 * 1000);

setCookie(test_id, version, now);
}
else if (version = "1") {
document.write("<a href='" + url_1 + "'>Link 1</a>");
}
else if (version = "2") {
document.write("<a href='" + url_2 + "'>Link 2</a>");
}

// -->
</script>
<noscript>
<a href="page_a.html">Link</a>
</noscript>

Il ne vous reste qu'à mettre ce code au lieu de votre hyperlien que vous désirer tester.

P.S. : N'oubliez pas de fournir un URL valide dans la partie <noscript>

dimanche, janvier 28, 2007

Ma petite erreur

J'ai voulus modifier mon code JavaScript pour mon implantation de Google Analytics pour ajouter mon moteur interne dans les engins de recherches. Mais j'ai oublié un point-virgule (;) et depuis 3 jours je n'ai plus connecter de donnée pour mon site.

N'oubliez jamais de tester vos modifications, aussi bénigne semble-elle. :-)

samedi, janvier 27, 2007

J'ai eu un petit problème avec mon blog en fin de semaine

J'ai eu un petit problème avec mon blog en fin de semaine.

Tout est revenu à la normale.

vendredi, janvier 19, 2007

Comment réagir au commentaire négatif?

Pour que les gens puisses partager leur impressions ainsi que des trucs et astuces en complément de mes articles sur le PHP, j'ai ajouté la possibilité aux gens d'ajouter un commentaire qui sera visible par tous à la fin de chaque articles.

Hors voila que je retrouve des commentaires peu constructif concernant mes articles. Des commentaires du genre :

Tu fais quoi exactement chez Desjardins? C'est toi qui compresse les .gif ???

Pas trop protes affaire. En plus, les 2 sites que tu as fais, ils sont pareil!

Pas très impressionnant

Source : http://www.un-programmeur-php.ca/articles/ajax.php

Comment dois-je réagir a de tel commentaires? Par soucis de transparence je préfères laisser tel quel ces commentaires, mais ça me fais mal à chaque fois que je les vois. Surtout que la raison première de ce site est de me faire connaître pour pouvoir arrondir mes fin de mois.

Qu'en pensez-vous?

dimanche, janvier 14, 2007

Comment utiliser cURL pour lire un fichier externe

Si comme moi vous êtes héberger sur un serveur partagé (hosted solution), il peut arriver que certaines configurations de PHP vous cause problème. C'est ce qui m'est arrivé.

Pour des raisons de sécurité, mon hébergeur a desactiver les deux directives suivantes :


  • allow_url_fopen

  • alow_url_include



Comme c'est deux directives sont PHP_INI_SYSTEM, je ne pouvais ni utiliser ini_set() ni utiliser un fichier .htaccess pour les modifier. Pourtant, j'avais besoin de ces fonctionnalités pour ajouter un feed RSS dans une page. Comment faire pour ouvrir un fichier .xml d'un autre site dans ce cas là?

Voyez la solution sur mon site.

vendredi, janvier 12, 2007

Un autre raison d'haïr Internet Explorer 7

L'autre jour j'essayais d'installer une application qui utilise le Ghost Installer, hors rien ne marchait. L'installer démarrais et arrêtais. Après vérification, le process roulais toujours mais rien ne s'affichais.

Après une petite recherche sur Internet, j'ai finis par comprendre qu'Internet Explorer 7 était la cause.

C'est frustrant.

samedi, janvier 06, 2007

C'est moi qui a la TAG

J'ai reçu la tag de Stéphane Hamel mais je n'avais pas encore eu le temps de m'en occuper.

Voici donc 5 choses que vous ne savez pas sur moi :

1) J'ai participer au gala #5 Juste Pour Rire en 1991.
Moi et deux de mes amis avions participer à un concours Jeune Pour Rire au secondaire. Les gagnants avaient la chance de présenter leur numéro au gala Juste Pour Rire, et nous avons gagné ce concours provinciale en 1991. C'est un des mes plus beaux moments de ma vie.

2) Avant de devenir programmeur, je voulais devenir animateur 3D.

Je voulais travailler dans le merveilleux monde du jeux vidéo comme animateur 3D. Mais le prix des cours m'ont découragé.

Voici 2 images que j'ai réalisé :




3) À 30 ans, je joue toujours à Dungeons and Dragons.
Chaque mercredi soir, moi et 4 autres amis (dont je tairais le nom pour ne pas gêner :-) jouons à D&D.

4) Mon auteur favoris est Isaac Asimov.
Si vous aimé la science-fiction, vous devez déjà connaitre Isaac Asimov. C'est l'auteur Américain qui a écrit le plus de livres. Très bon vulgarisateur, il sera vous enchanter avec ses histoires.

5) Je lis 300 minutes.
Je lis très vite, de plus je retiens ce que je lis. (Je dois avouer que pour celle-là, je ne savais plus trop quoi dire. :-)

Malheuresement, je ne connais pas 5 bloggers qui n'ont pas déjà reçu la tag. En fait je ne connais qu'un seul blogger.

Denis, je te passe la tag.

Mon nouvel ordinateur

Voilà ce que j'ai commander pour remplacer mon ordinateur qui a rendu l'âme :

AMD Athlon 64 X2 3800+ 2.0GHz
Asus M2R32-MVP ATI Socket AM2 ATX Motherboard
Corsair TWINX Dual Channel 1024MB PC6400 DDR2 800MHz Memory (2x512MB)
HIS Radeon X1300 HyperMemory / 512MB GDDR2 / HyperMemory with 128MB / PCI Express x 2 (en CrossFire)
Western Digital / Caviar SE 16 / 250GB / 7200 / 16MB / SATA-300


Ça devrais faire l'affaire :-)

Sniff, sniff

Juste un petit mot pour vous dire que mon ordinateur a rendu l'âme juste avant Noël.

Avis

Les opinions qui sont ici émises sont celles de Sébastien Brodeur et non pas de Desjardins.