Développeur web touche à tout (ou presque)
In: Développement
3 juil 2009Je ne m’en cache pas, je suis un pro git à fond.
Cependant et malheureusement, git n’est pas (encore) très répandu et beaucoup de projets sont encore hébergés sur des repositories SVN.
C’est le cas chez O2Sources (mais on parle d’y remédier, notamment lorsque Townce gèrera cela).
Vu que je viens de migrer ma machine de Windows vers [...]
In: Ruby
29 juin 2009Il est particulièrement simple, en Ruby, de parser un flux RSS.
Tout d’abord, dans le contrôleur, nous chargeons le contenu et le parsons :
require ‘rss’
require ‘open-uri’
@content = RSS::Parser.parse(open(’http://feeds2.feedburner.com/DmathieuFr’), false)
La variable @content contiendra alors votre flux RSS parsé et chacun de ses éléments accessible.
Par la suite dans votre vue, vous pouvez récupérer les éléments de votre flux [...]
In: Django
25 juin 2009Quelque soit le langage, un élément est toujours délicat à traiter : créer des url cool, avec des vrais mots.
Mais en ne plaçant pas de caractères qui vont rendre l’url toute pas jolie avec des %20 et autres.
Pour cela, il faut supprimer tous les accents (et les remplacer par leur lettre sans accent); supprimer les [...]
In: Python
23 juin 2009Derrière ce mot compliqué « circulaire» se cache l’un des effets pervers de Python.
En effet, pour obtenir accès à des méthodes situées dans des fichiers différents, Python requiert que l’on importe celles-ci.
from mon_fichier import ma_methode
Dans l’idée, c’est cool. Ca permet de ne charger que la méthode désirée en mémoire et évite la surcharge.
Dans la pratique, supposons [...]
In: Rails
17 juin 2009Je suis un peu genre obsédé par les statistiques de mes applications.
Du coup beaucoup d’entre elles ont des outils me permettant de générer des graphiques avec divers indicateurs d’évolution des données de celles-ci en fonction du temps.
Sur RefStats par exemple, ce graphique m’affiche l’évolution du nombre de positions; du nombre d’utilisateurs; de sites et le [...]
In: Rails
16 juin 2009Vous le savez probablement déjà , il est possible, avec Active Record, de faire vos conditions proprement de deux manières différentes :
Model.find(:all, :conditions => ['champ = ?', valeur])
Model.find(:all, :conditions => {:champ => valeur})
Le second est plus propre. Cependant à première vue, il n’est pas possible d’y faire des conditions autres que le égal (=).
Du coup dès [...]
In: Django
11 juin 2009Vous avez normalement déjà manipulé les commandes console de Django, accessibles via manage.py.
./manage.py runserver
Cependant il peut être utile, dans plus d’une application, d’avoir des méthodes console pour lesquelles vous désirez obtenir l’environnement web, mais en console.
Pour charger des données depuis un flux XML par exemple. Ou encore vider une base de données.
Ainsi, vous pourrez faire [...]
In: Rails
10 juin 2009Vu que je me veux de toucher un peu à tous et que je balance sur un peu tous les frameworks lorsque quelque chose ne me plait pas, autant également le faire sur Rails …
Tout en essayant, pour une fois, de faire quelque chose de vraiment structuré et pas juste trois paragraphes ou je raconte [...]
In: Rails
4 juin 2009Une faille de sécurité a été détectée récemment dans l’identification par http digest de Rails.
Dans la méthode authenticate_with_http_digest plus précisément.
Cette méthode permet d’identifier un utilisateur. J’en ai déjà parlé ici.
Si vous regardez cet article, vous constaterez le code suivant :
authenticate_or_request_with_http_digest(» Identification requise» ) do |name|
users[name]
end
(enfin pas exactement car j’ai appliqué la correction « dans l’application» ).
Si l’utilisateur correspond, on [...]
In: Django
3 juin 2009Supposons le cas suivant :
J’ai des pages et des catégories. Une page peut avoir une catégorie.
Nous avons donc les modèles suivants :
class Category(models.Model):
name = models.CharField(max_length=200)
slug = models.SlugField(max_length=200,unique=True)
class Page(models.Model):
title = models.CharField(_(’title’), max_length=200)
content = models.TextField(_(’content’))
category = models.ForeignKey(Category, related_name = ‘cat’)
Maintenant supposons que à cela, nous désirions ajouter, pour une catégorie, une page principale.
Dans mon cas, cela me [...]