mardi, 4 mars 2014
Par Samuel MARTIN le mardi, 4 mars 2014, 11:59
from datetime import datetime
from django.db.models import Manager
from django.db.models.query import QuerySet
class TodoMixin(object):
def is_done(self):
return self.filter(done=is_true))
#ecrire ici vos nouvelles méthodes
def order_by_user(self):
return self.order_by(user)
class TodoQuerySet(QuerySet, TodoMixin):
pass
class TodoManager(Manager, TodoMixin):
def get_query_set(self):
return TodoQuerySet(self.model, using=self._db)
class Todo(models.Model):
done = models.BooleanField()
objects = TodoManager()
L'implémentation permet de passer de :
Todo.objects.filter(done = True)
à
Todo.objects.is_done()
Très pratique côté template.
Et il est possible de chainer de la facon suivante :
Todo.objects.is_done().order_by_user()
lundi, 21 janvier 2013
Par Samuel MARTIN le lundi, 21 janvier 2013, 22:53 - Linux Ubuntu
Utilisant intialement Yakuake je viens de trouver le duo gagnant
Tilda et
dtvm. Contrairement à Yukuake les paquets à installer sont léger et ne contraint pas à installer des librairies dépendantes de l'environnement graphique KDE.
Lire la suite...
mardi, 20 novembre 2012
Par Samuel MARTIN le mardi, 20 novembre 2012, 10:16 - Bricolage
Amateur, passionné de bricolage, vous avez sans doute croisé la scie plongeante Festool TS55. Elle vous semble idéale, seulement voilà, selon le modèle elle coûte entre 410€ et 575 €. Vous avez bien regardé la concurrence Dewalt DWS520KR , Mafell MT55CC ou encore Bosh GKT55GCE, Makita SP6000K, tout ceci est encore bien cher. Après essai d'un modèle FESTO ancêtre Festool j'ai pu terminer ma cuisine encastrée à l'aide d'une scie plongeante Scheppach CS55. Je vous propose mon avis très personnel.
Lire la suite...
mercredi, 7 novembre 2012
Par Samuel MARTIN le mercredi, 7 novembre 2012, 03:09 - Liens
vendredi, 2 novembre 2012
Par Samuel MARTIN le vendredi, 2 novembre 2012, 02:48 - Livres
Dérouler du code CSS pour ne pas dire pisser du CSS, ajouter quelques propriétés ici et là, surcharger une feuille de style, tout le monde sait faire ou presque. Si vous travaillez à plusieurs, reprenez le travail d'une précédente agence, ou travaillez seul sur un ancien projet vous êtes confronté au problème de maintenance des CSS : c'est inévitable. Vous suivez les normes du W3C, vous vous référez aux bonnes pratiques et pourtant rien ne semble plus pénible que d'intervenir sur votre feuille de style, pas de panique, c'est NORMAL.
Vous avez besoin de méthodes métiers, d'organisation, d'un process solide.
Je pense que le livre CSS Maintenables de Kaelig Deloumeau répond à ce besoin. Dans la critique suivante je vais tenter de donner mon avis sur cet ouvrage.
Lire la suite...
mercredi, 28 mars 2012
Par Samuel MARTIN le mercredi, 28 mars 2012, 10:57
Bien que tous les candidats souhaitent s'adresser au plus grand nombre de citoyens, voyons voir si leur site web le leur permet vraiment. Ici je propose de vous focaliser sur la partie "images". Si vous voulez comprendre brièvement les différentes étapes de la web performance
l'article "prélude" est pour vous.
Lire la suite...
mardi, 27 mars 2012
Par Samuel MARTIN le mardi, 27 mars 2012, 23:48

Prenant une place de plus en plus importante, nouveau critère inpactant le référencement, la web performance est aujourd'hui un sujet brûlant. Passer les étapes désormais élémentaires à savoir "être présent sur internet" et "avoir un site agréable et joli", on cherche désormais
un site rapide. Quantifiables et donc monétisables, les sites d'e-commerce sont aujourd'hui capables d'estimer assez précisément le coût de chaque millisecondes perdues. Assez rare pour le souligner, l'amélioration significative de la performance peut être en partie gérée par des processus automatique simple, c'est à dire apporter beaucoup avec très peu d'efforts contrairement à d'autres disciplines comme l'accessibilité, la sécurité ...
Le gain est immédiat, c'est
aisément percevable par la cible, le
retour sur investissement est facilement calculable, ce qui explique l'engouement grandissant pour cette discipline.
Lire la suite...
lundi, 30 janvier 2012
Par Samuel MARTIN le lundi, 30 janvier 2012, 14:37
Rembobinons.
Dans la première partie, nous avons conclu que le plan le plus sûr de stockage de données ressemble à peu près à ceci:
- disque sur la machine locale : original ou copie master ;
- disque de stockage en réseau : copie commune ou partagée ;
- le stockage hors ligne, qui signifie de nos jours stockage à distance dans le nuage (le « Cloud » en anglais) ou sauvegarde en ligne.
Extrait du Magazine Full Circle 54 p18 - Allan J. Smithie (version FR)
Lire la suite...
jeudi, 5 janvier 2012
Par Samuel MARTIN le jeudi, 5 janvier 2012, 01:11 - Linux Ubuntu
Cet été, l'équipe d'Ubuntu Women a élu, comme chaque année, ses chefs de projets. Parmi ceux-ci, il y a deux nouvelles venues, Cheri Francis et Jessica Ledbetter, ainsi qu'une responsable en place, Elizabeth Krumbach. Nous avons posé à ces dirigeantes des questions concernant leur travail jusqu'à ce jour et les objectifs actuels du projet d'UbuntuWomen.
Extrait du Magazine Full Circle 53 p43 - Elizabeth Krumbach
Lire la suite...
Par Samuel MARTIN le jeudi, 5 janvier 2012, 00:25
Il n'y a rien de pire pour un mordu d'informatique que l'idée d'une perte
de données, surtout si ce « geek » est un accumulateur de trucs depuis une
ou deux décennies. Nous sommes tous en train d'opter pour le numérique : musique,
albums photographiques, correspondance, tout est si commode, tout, si
éphémère.
Ce n'est pas bon pour l'état d'esprit de quiconque de savoir que les disques durs
tombent en panne : la gravité, la surtension, les maliciels et la bêtise humaine
font tous bien des ravages. Ce dont on a besoin, c'est un filet de sécurité ; une
stratégie de sauvegarde. Oh, regardez ! il se trouve que j'en ai une…
Extrait du Magazine Full Circle 53 p17 - Allan J. Smithie
Lire la suite...
jeudi, 24 novembre 2011
Par Samuel MARTIN le jeudi, 24 novembre 2011, 12:05 - Programmation
Dans quelques rares cas, l'ORM de Django ne suffit plus. Lorsque votre requête est spécifique il existe plusieurs solutions que j'expose dans cet article illustré par le tri de liste.
Lire la suite...
mercredi, 23 novembre 2011
Par Samuel MARTIN le mercredi, 23 novembre 2011, 12:09 - Programmation
J'ai déjà parlé de l'intérêt des querySetManager et de leur mise en place dans un projet Django. Désormais avec un peu de recul et l'intervention d'Olivier Meunier (l'homme aux milles pseudonymes), il semble plus pertinent d'externaliser la création du manager et du queryset. C'est à dire, pour l'exemple ci-dessous, définir tout ce joyeux code en dehors de la classe "Project".
Lire la suite...
jeudi, 6 octobre 2011
Par Samuel MARTIN le jeudi, 6 octobre 2011, 23:05 - Humeurs
Très souvent, dans un élan de rage, soif de justice, on empoigne le clavier pour dénoncer la boutique en ligne qui nous contriste avec ses délais prolixes et son S.A.V chimérique. Bref une fois n'est pas coutume. Je vais dire du bien d'une boutique, oui je vous assure. Cette expérience est mienne, si vous rencontrez des problèmes avec cette boutique, je suis peiné d'avance mais je ne peux vous aider.
Lire la suite...
jeudi, 15 septembre 2011
Par Samuel MARTIN le jeudi, 15 septembre 2011, 16:36 - Programmation
Il existe probablement d'autres solutions. Dans cet article je vous donne les clés pour réussir à trier correctement les utilisateurs par nom et prénom. L'exercice est assez simple lorsque l'utilisateur a renseigné correctement son identité, c'est à dire "Nom et Prénom". Cela devient plus chaotique, quand un seul des champs est renseigné.
Lire la suite...
dimanche, 11 septembre 2011
Par Samuel MARTIN le dimanche, 11 septembre 2011, 23:42 - Programmation
Voici un simple tag à copier coller dans votre projet afin d'utiliser très simplement "extended choices" côté template. Cet article est un complément de Django Extented Choices.
Edit : 15/10/2011 Il existe une méthode directement intégrée à Django : https://docs.djangoproject.com/en/dev/ref/models/instances/#extra-instance-methods. (Merci Dom). Cette méthode suffira dans la majorité des cas, sinon voir exemple ci-dessous.
Lire la suite...
jeudi, 8 septembre 2011
Par Samuel MARTIN le jeudi, 8 septembre 2011, 22:18 - Programmation
Astuce rapide :
- Obtenir le numéro de version des commits grâce à la commande
git log -2
- Créer une patch entre la dernière version du dépot et la version -1 :
git diff <version_anterieure> <version_actuelle> > 01.patch.
- Appliquer le patch inversé :
patch -p1 -R < 01.patch
- "Comiter" puis envoyer de nouveau vers le dépôt central :
git ci -a -m "Annulation dernier push"
puis git push
Note : Il me semble qu'avec git diff <version_actuelle> <version_anterieure> > 01.patch, il n'est pas utile d'utiliser la commande -R lors de l'application du patch
jeudi, 25 août 2011
Par Samuel MARTIN le jeudi, 25 août 2011, 00:14 - Actualités et évènements
Linutop, rare spécialiste européen des ordinateurs à faible consommation d'énergie, nous propose aujourd'hui sa dernière machine le LINUTOP 4. Sur la même trajectoire que les précédentes versions testées, le linutop se veut compact, léger, économe et à l'épreuve du temps (pas de pièce mobile). Basé sur un système d'exploitation et une batterie de logiciels libres, le linutop est capable de répondre à divers besoins bureautiques.
Lire la suite...
mardi, 16 août 2011
Par Samuel MARTIN le mardi, 16 août 2011, 23:40 - Programmation
Django extended choices permet de gérer avec simplicité et efficacité les constantes au sein d'une application Django. Cet article fait suite à la publication de J-Mad.
Lire la suite...
lundi, 11 juillet 2011
Par Samuel MARTIN le lundi, 11 juillet 2011, 09:36 - Programmation
Pas de nouveauté fracassante, juste l'exemple d'une syntaxe simple et dépouillée présentant la récursivité du côté des templates. L'exemple présente l'affichage d'une liste de commentaires en cascade. Cf Screenshot. (Valide Django 1.2)
Lire la suite...
vendredi, 8 juillet 2011
Par Samuel MARTIN le vendredi, 8 juillet 2011, 10:05 - Linux Ubuntu
Bien que complet, je me suis vite lassé de Gwibber et notamment de son extrème lenteur. Le client twitter (écrit en python) que je vous propose aujourd'hui gère uniquement Twitter et Identica. Rapide, efficace parfaitement intégré à Gnome, c'est LE client desktop qu'il faut installer.
Lire la suite...