Lite Brite en Javascript / Canvas

Voici l’histoire de la naissance d’un petit projet HTML5 / Javascript.

Un soir où je soupais avec ma chère amie Marie-Eve de Meb Web. Nous avons discuté du projet Noël en Lumière qu’Absolunet a fait pour la Tablée des Chefs, un organisme qui vient en aide aux familles dans le besoin.

Je lui dis comme ça sans trop penser…

L’application en soi est très simple à faire… Je suis sûre qu’en une soirée je pourrais faire une version basique utilisable qui ressemble à ce qu’Absolunet a fait.

Je venais de me lancer un petit défi personnel.

Continue reading « Lite Brite en Javascript / Canvas »

Les associations mentales tuent la productivité

Lorsque vous regardez un code, et que celui-ci n’est pas explicite ou utilise des noms non significatifs, vous devez retenir la signification de certain élément dans le but de comprendre la suite. Ou lorsque vous devez constamment vous remettre en contexte pour comprendre.

Par exemple lorsque vous lisez $object = new User(); vous devez vous créer une association mentale (objet signifie User) et la retenir pour être en mesure de comprendre la suite du code.

Si vous avez eu a la place $user = new User();, vous n’avez pas à vous référer à une autre ligne a un autre endroit dans le fichier ou retourner dans votre mémoire pour vous souvenir de l’association mentale. La variable est explicite et dit exactement ce qu’il y a l’intérieur. Résultat la compréhension du code s’en retrouve amélioré et facilité.

Une instance de la class User est déjà un concept abstrait puisqu’il n’est pas possible de savoir si c’est le User Roger ou Alphone.

Si vous avez une seule association, vous n’aurez probablement pas de problème à lire et comprendre. Imaginez, si vous devez faire référence à plusieurs associations, vous risquez d’avoir beaucoup de difficulté à lire et comprendre le code.
Continue reading « Les associations mentales tuent la productivité »

7 idées pour s’améliorer en programmation PHP

1.L’utilisation des constantes pour le bien de vos yeux

Trop souvent les programmeurs PHP ont utilises les constantes pour différent usage tel que configuration, langage, variable globale. Une constante devrait être une valeur qui ne change pas tout au long de l’existence de l’application et non tout au long de l’exécution du script.

Par exemple si vous avez une classe RGB vous pourriez avoir la constante RGB::RED = #FF0000 cette valeur est une valeur constante elle ne changera jamais. Ce n’est pas d’avoir une valeur qui ne change pas tout au long de l’application, mais bien une valeur qui est constante qui ne change pas.

L’utilité principale des constantes est de clarifier votre code, de donner un nom plus humain et facile a lire. Par exemple, vous avez surmènent déjà eu des fonctions / method telle que

1
$logger->log('blabla', 3, 1 | 4);

Mettez-vous a la place dans les souliers du programmeur neuf qui arrive et regarde cette ligne. Au premier coup d’oeil, il est facile de voir que l’ont veut logger « blabla » mais pour le reste… Aucune idée de ce que c’est.

Voici des exemples d’une meilleur utilisation des constantes.

1
2
3
4
5
$logger->log(
   'blabla',
   ILog::LEVEL_WARNING,
   ILog::OPTION_DELAYED | ILog::OPTION_MERGE
);

De cette façon, nous ne somme pas obliger d’aller voir la définition de la méthode pour la comprendre que le 2e paramètre est le niveau sévérité du message et que le 3e sont les options.

Voici l’exemple du RGB.

1
2
3
4
5
6
7
8
9
10
11
12
class RGB {
  const RED   = '#ff0000';
  const BLUE  = '#0000ff';
  const GREEN = '#00ff00';
  ...
}
 
// Sans constante
$color = new RGB('#ff0000');
 
// Avec constante
$color = new RGB(RGB::RED);

Continue reading « 7 idées pour s’améliorer en programmation PHP »

Facebook Widget

En collaboration avec Visicom Média, j’ai participé à la programmation ainsi qu’aux découpages et l’intégration d’un widget pour la VMN Toolbar. Ce widget permet de rester connecté à son compte Facebook. Une des particularités de cette application est qu’il utilise les serveurs de Facebook directement pour tous le contenue, donc une fois connecté, aucune requête n’est faite au serveur de Visicom Média.

Technologies : PHP, Javascript/jQuery, XHTML/CSS, Facebook API

Adresse : http://apps.mystart.com/partners/default/widget_details.php?wid=1324

Continue reading « Facebook Widget »

MyStart.com

En collaboration avec Visicom Média, j’ai participé aux découpage, intégration et développement de certaines composantes de ce service de recherche en ligne tel que la boîte de recherche sur la page d’accueil ainsi que celle  sur la page de résultat. J’ai aussi développé le sélecteur de thème sous la boîte de recherche. Toutes les composantes sont entièrement dynamiques au niveau de la largeur. J’ai aussi développé l’outil de proposition de mot clé.

Technologies utilisées : jQuery, XHTML/CSS

Adresse : http://www2.mystart.com/

Continue reading « MyStart.com »

Groupe Galland – Site web

Dans ce projet, réalisé avec Tapage Communication, j’ai découpé, intégré et développé le site web français et anglais. J’ai développé des pages personnalisées pour l’affichage  d’autobus selon une structure de données précises. J’ai monté les différents formulaires pour la saisie de données sur le site web. J’ai aussi utilisé la libraire PHPExcel pour la production de rapport de satisfaction selon les données entrées sur les différents rapports par les clients. Pour la partie administrative, j’ai développé un plugin WordPress pour l’édition de données spécifiques aux autobus Groupe Galland. L’objectif était de simplifier et de normaliser les informations de chaque fiche d’autobus.

Technologies utilisées : PHP/MySQL, jQuery, XHTML/CSS et GD, PHPExcel, WordPress

Adresse :  http://www.autobusgalland.com/

Continue reading « Groupe Galland – Site web »

Posts navigation

1 2 3
Scroll to top