L’expérience est une lanterne que l’on porte sur le dos et qui n’éclaire jamais que le chemin parcouru. Confucius

Aller au contenu | Aller au menu | Aller à la recherche

mardi, 4 mars 2014

Chainer les requêtes Django


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

Terminal léger : Tilda + dvtm

Utilisant intialement Yukuake 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

Alternative low cost à la Scie plongeante Festool TS55

Scie Plongeante Scheppach CS55Amateur, 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

En vrac

vendredi, 2 novembre 2012

Avis livre : Css maintenables avec Sass et Compass

CSS maintenables : Couverture du livreDé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

Comparatif web performance des candidats 2012 - les images

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

Comparatif web performance des candidats 2012 - Prélude

Drapeau françaisPrenant 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

Stratégie de sauvegarde - Partie 2

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

Femme d'Ubuntu

Ubuntu WomenCet é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...

Stratégie de sauvegarde

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

Django - Dénormalisation d'un queryset

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

Django - QuerySetManager - Bonnes pratiques

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

Avis VPC Boost, une bonne expérience client

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

Django : Trier vos utilisateurs par ordre alphabétique

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

Template Tag pour Django extended choices

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

Annuler un git push

Astuce rapide :

  1. Obtenir le numéro de version des commits grâce à la commande git log -2
  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.
  3. Appliquer le patch inversé : patch -p1 -R < 01.patch
  4. "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

Linutop 4 : Le micro-ordinateur écolo

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

Django extended choices

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

Récursivité au sein d'un template django

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

Turpial, client twitter rapide et complet pour 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...

- page 1 de 10