Le singleton est un modèle de conception (design pattern pour les grands bretons). En clair c'est une façon éprouvée de résoudre un problème. Avec le sinleton on cherche à n'avoir qu'une seule instance d'un même objet.
Qui veut du cacou ?
Vous avez faim à quatre haures et vous ne savez pas quoi manger. Faites un cacou! C'est un dessert très simple à réaliser.
C'est plus fluide!
J'ai légèrement modifié la feuille de style CSS du jounal pour passer d'une largeur fixe à une largeur relative. J'ai choisi de ne pas utiliser toute la largeur de la page mais seulement 80%. J'ai aussi supprimé le bandeau bleu dégradé. J'ai d'autre part utilisé la propriété -moz-border-radius pour […]
Faut-il utiliser $_REQUEST ?
Depuis que je suis tout petit, j'utilise $_GET pour les données provenant de l'url et $_POST pour celles provenant de mes formulaires (utilisant la méthode "post"!).
En lisant divers articles, je me demande si je ne prends pas un peu la tête et si je ne devrais pas utiliser $_REQUEST quelle que soit la provenance des données. Peu importe la provenance, de toute façon il faut filtrer, vérifier, contrôler la cohérence de ces données.
Ne pas réinventer la roue.
On répète souvent que lorsqu'on fait un script il ne faut pas réinventer la roue et utiliser au maximum les fonctions natives du langage. Cela a de multiples avantages: c'est optimisé, sans bug,... Mais on n'imagine pas toujours lorsqu'on est débutant à quel point cet adage doit être pris au sérieux!
Cache moi cette page!
Derrière ce titre pour le moins étrange se cache l'idée d'optimiser le temps de réponse des requêtes faites à un serveur http (apache par exemple). Il y a de nombreuses façon de faire et c'est ce que je vais tenter de résumé et d'expliquer.
Tout est propre
Je me suis finalement décidé ce matin à faire le grand ménage dans le bac: nettoyage du filtre, retrait des feuilles mortes, siphonage du fond, nettoyage des vitres. J'ai aussi enlever environ 50 litres d'eau. L'aquarium retrouve une prime jeunesse et il en avait vraiment besoin! Ce petit nettoyage […]
Gestion de plusieurs projets avec trac
Pour ajouter un projet dans trac, voici la marche à suivre: trac-admin /path/to/projetenv initenv (répertoire où sont placés les pages du wiki entre autre) Il faut ensuite choisir un nom pour le projet ainsi que le chemin vers le dépôt subversion Exemple: trac-admin /var/trac/projets/essai (le dépôt […]
Que de tags!
J'ai installé hier soir deux nouveaux plugins: la gestion des métadonnées et la gestion des tags. Comme d'habitude l'installeur de plugins a parfaitement fait son boulot. Il ne reste plus qu'à faire la configuration! Rien de bien complexe car ces deux plugins viennent (comme les autres) avec une […]
il marche!
Non je ne parle pas de mon premier programme, quoi que! C'est lucas! Après des débuts laborieux où il se lachait de plus en plus souvent et où il faisait un peu ou deux pas pour aller d'un meuble à un autre, hier il a marché. Il marche vraiment! Bon il a encore quelques difficultés mais ça va […]
Sauce diable
Je n'aime pas trop la fondue bourguignognne. Je préfère nettement la fondue savoyarde. Mais l'autre jour, j'ai préparé une fondue bourguignonne à base de saucisses aux herbes, merguez, poitrine de porc et boudins antillais. Pour agrémenter tout cela, j'ai fait une sauce diable. Délicieux!
Revenir à une version antérieure avec subversion
Cela fait un moment que je travaille sur le même projet en faisant des branches, des tags... Je fais des "commit" réguliers. Et tout à coup, arrivant à la révision 2347 je me suis apperçu que j'avais introduit, par mégarde, un nouveau bug qui n'était pas présent à la révision 2346. La […]
Gestion des sources
Que l'on travaille seul ou à plusieurs sur un projet, le besoin se fait rapidement sentir de pouvoir garder un historique des modifications que l'on a faites. La méthode, qui consiste à commenter une partie du code pour éventuellement la réutiliser, atteint rapidement ses limites lorsqu'on travaille […]
Les gaufres à la Lyonnaise
Quelle belle initiative!
Aujourd'hui, un peu par hasard, j'ai découvert l'association Sésamath qui propose des manuels scolaires de mathématiques sous la licence libre GNU FDL. Je trouve cette démarche tout simplement admirable. Le manuel de la classe de 5ème est téléchargeable gratuitement sur internet. Le manuel sera […]
Quel est mon mot de passe ?
Dans une interface d'administration qui se respecte, on doit pouvoir à un moment créer des comptes. Il est souvent agréable de se voir proposer un mot de passe aléatoire. En général, je n'utilise pas un mot de passe complétement alétaoire: je supprime les caractères ambigus tels que 0, 1, i, j, l, […]
J'attends les commentaires!
En ayant un peu cherché, j'ai fini par trouver une solution satisfaisante. J'avais dans un premier temps décidé de différer la publication des commentaires mais ça ne me satisfaisait pas complétement. Pendant mes pérégrinations sur le web je suis tombé sur une solution pour ne pas dire la solution: […]
Pollution des commentaires
Depuis quelques jours les commentaires de plus en plus de billets sont pollués par des robots venant mettre des liens vers sites à contenus plus que douteux. J'utilise l'extension MComment pour gérer les commentaires par lots mais je ne peux pas forcément me connecter tous les jours pour aller faire […]
Nettoyage de printemps
Ce n'est pas encore tout à fait le printemps mais j'ai quand même fait un début de nettoyage dans le bac. J'ai refait le niveau d'eau pour compenser ce qui s'était évaporé. J'ai frotté les vitres avec mon aimant nettoyeur de vitres flottant. Cela est la première étape. La deuxième étape consistera à […]
Développement piloté par les tests.
Il ne semble pas évident au premier abord de faire des tests du code que l'on écrit. En général, on se borne à vérifier qu'il n'y a pas d'erreurs de syntaxe. On vérifie que les 3 ou 4 pages que l'on vient de modifier fonctionnent toujours de la même façon. Cette manière de fonctionner atteint rapidement ses limites au fur et à mesure que l'application grossie. Comment se rappeler que le code écrit aujourd'hui n'aura pas d'impact sur le code écrit il y a 6 mois ? Sans tests exhaustifs, c'est tout simplement impossible.