Archives de l’auteur : foxmask

A propos foxmask

WebDev since PHP3, Founder of PhpFr.Org to help developers in PHP, admin of the french community on PunBB.Fr. Actually core developer on Jelix PHP5 Framework, and author of HaveFnuBB and Huanui, projects made with Jelix

Django Python Framework

Django Trigger Happy 0.2

Hop une nouvelle version !

Django Trigger Happy : La page d'accueil

Django Trigger Happy : La page d’accueil

Celle ci se voit agrémenter de :

  • Nouveautés :
    1. Dans une note Evernote, ajout dans l’url de la note, du lien du flux, ceci permet d’utiliser la fonction « aller à la source »
    2. Ajout d’un « statut » à son trigger permettant de l’activer ou non sans pour autant avoir à le supprimer si on n’en veut plus, temporairement
    3. Ajout d’une pagination sur la liste des triggers

    Django Trigger Happy : ajout d'une pagination et gestion de l'activation/désactivation des triggers

    Django Trigger Happy : ajout d’une pagination et gestion de l’activation/désactivation des triggers

  • Améliorations:
    1. Dans le pied de page de la note, remplacement du lien par l’affichage de l’origine de la source des données + le lien vers celle-ci

    Django Trigger Happy : 2 améliorations dans la note evernote

    Django Trigger Happy : dans evernote, dans votre note se trouve le lien vers la source de l’information. Elle est répétée dans le « pied de page » afin que l’utilisateur sache vers où il va puisque le rollover sur téléphone ….

  • Corrections de bugs:
    1. L’imposition d’un tag, pour la création des notes, n’est plus :)
    2. Le traitement des flux Atom faisait planter le traitement batch
    3. Edition d’un trigger rendu possible à présent

    Django Trigger Happy : modification d'un trigger

    Django Trigger Happy : modification d’un trigger

Edit
si vous vouliez l’installer via

pip install django_th

oubliez !
pour cette version ca ne fonctionne pas ; balot que je suis je n’ai pas mis le setup.py là où pypi l’attendait.
Donc en attendant 2 solutions, l’archive est dispo

Debian

Les Cahiers Debian Libérés : Wheezy

Sur Ulule, a été lancé un projet d’édition d’un livre, à la base en anglais, mais entièrement traduit in French par Raphael Hertzog, yeah !

Ce projet participatif de financement a été lancé il y a 10j et le voilà financé en 2 coups de cuillère à pot ;) Les Cahiers Debian.

Utilisateur de debian depuis la Slink, même si j’en connais un rayon sur la distrib’ ça fait toujours plaisir un livre sur les dernières nouveautés renfermées dans cette distrib.

Let’s wait mon exemple de Eyrolles now :)

Django Python Framework

Django Trigger Happy un IFTTT like , en images

BonjEllo !

Je ne vous referai par « l’article » j’ai déjà longuement détaillé ce petit projet ici, je vous montre juste ce à quoi il ressemble pour le moment, dans une version très « toute neuve » ;)

Les services activés par l’utilisateur :

Liste des services activés par l'utilisateur

Liste des services activés par l’utilisateur

Wizard de création d’un trigger en 3 petites pages :

Wizard page 1 ; quel flux RSS veux je utiliser ?

Wizard page 1 ; quel flux RSS veux je utiliser ?

dans quel notebook et avec quel tag veux créer mes notes ?

dans quel notebook et avec quel tag veux créer mes notes ?

Une description à mon "trigger"

Une description à mon « trigger »

Les des triggers prêts à l’emploi
Une fois le wizard utilisé pour définir ce qu’on veut « grabber », on a notre jolie page d’accueil qui ressemble à ceci :

Liste des triggers créés

Liste des triggers créés

fire !
à présent que tout est prêt il nous reste un petit script python qui va nous faire notre tambouille et qui au lancement vous donne le cours des opérations :

./fire.py
INFO PROVIDER ServiceRss CONSUMMER ServiceEvernote : News Sam et Max
INFO PROVIDER ServiceRss CONSUMMER ServiceEvernote : News de Numerama
INFO PROVIDER ServiceRss CONSUMMER ServiceEvernote : Python Package Index
INFO PROVIDER ServiceRss CONSUMMER ServiceEvernote : mes news pourries :)

ce script est collé dans une crontab toutes les 10minutes

Résultat dans Evernote
ah oui tout de même last but not least, il est bien beau avec son script mais zoukilé le résultat de toutes ces pages remplies ? c’est là ça vient ;)

Résultat de l'exécution de django- trigger happy dans son compte evernote

Résultat de l’exécution de django- trigger happy dans son compte evernote

Comme on le voit, comme dans le wizard ci dessus, sur la partie droite de l’écran sous le titre « Nexus 10″, on lit bien les noms des notebook et tags, correctement repris et bien créés à la volée.

Si ce petit bidule vous plait, libre à vous de l’essayer, contribuer, critiquer. C’est open bar !

Le projet ne risque pas de pourrir dans un coin, j’en suis le premier client et est moult idées ;)

ps: si vous l’essayer, utiliser plutot le dépôt github que pypi qui n’est pas uptodate avec les dernières corrections

Edit: je vous rajoute 2 captures pour illustrer le rendu …

1) reçu directement par mail en s’abonnant à la ml de sam&max

Sam et Max : les news via Email

Sam et Max : les news via Email

2) reçu via DTH

Sam et Max : les news via DTH "Django Trigger Happy"

Sam et Max : les news via DTH « Django Trigger Happy »

Rester au chaud ou se mouiller sous la pluie : plus besoin de choisir

En partant tardivement manger, j’ai croisé un camion bleu délavé, façon EDF, à l’arrêt et ayant ouvert sa guérite façon « baraque à frites ».

Baraque à frites

Baraque à frites

2, 3 badauds, à tout casser, s’affairaient à voir le produit maison ; pas plus ;)

Django Python Framework

Django Trigger Happy – une première

Voici le premier projet un peu plus conséquent que les petits modules que je faisais de ci de là.

Ce dernier est entièrement inspiré du service IFTTT « If This Then That » .

Description
Le principe du service est d’effectuer une action (souvent, stocker une information, ou la relayer) en fonction d’un événement se produisant n’importe où sur internet à partir d’une source donnée.
Ce projet peut être utiliser pour vos besoins propres tout comme votre blog, ou vous pouvez également décider  » d’héberger  » les Triggers de vos potes.

Pourquoi ce projet ?
Comme à chaque fois que je me lance dans un truc c’est par réaction (épidermique ?) d’une solution qui ne fonctionne pas comme j’escomptais.
Ici IFTTT marche bien, mais pas assez à mon goût, j’ai des problème d’encoding UTF8 très très désagréable ;) genre « cet été je pars en lozère » devient « cet t je pars en lozre »…
Donc après avoir testé d’autres solutions genre CloudWork, j’étais ravi … mais estomaqué du coût ! l’offre fonctionne au nombre de triggers à journée. Or un trigger chez CloudWork ce n’est pas un trigger chez IFTTT. Chez CloudWork un trigger c’est UN déclenchement, et non pas la programmation d’un déclenchement. Donc quand on est limité à 100 triggers à raison d’un toutes les 10min … bonjour la facture :P

Exemple d’utilisation
Par exemple, vous suivez les billets d’un blog régulièrement, et vous ne souhaitez pas en perdre une miette. Vous définissez alors un « trigger » qui se déclenchera quand un nouveau billet paraîtra, alors ensuite vous déciderez d’en faire ce que bon vous semble, comme le publier sur vos réseaux sociaux favoris ou encore stocker le billet dans Evernote ou ailleurs.

C’est très pratique car vous ne dépendez plus d’aucune solution de lecteur de flux RSS par exemple comme Feedly, GoogleReader ou autre.

Aujourd’hui
Actuellement « Trigger Happy » ne sait faire que 2 choses : lire des flux RSS, et stocker ceux ci dans Evernote, dans le carnet de votre choix avec le tag de votre choix.

Mise en route

1) On procédera comme pour tout projet django avec un

python manage.py syncdb

suivi du lancement du serveur.

On mettra dans une crontab (ou tout autre service de gestion de tâches préprogrammées) le script fire.py à intervalle régulier, genre tous les 10min (mais en prenant bien garde de ne pas avoir des « pas » trop courts afin de ne pas saturer le service cible qui pourrait vous bloquer l’accès à leur service). Le script se chargera de collecter les « nouvelles fraîches » pour vous les propager sur le(s) service(s) cible(s).

2) L’administrateur (ou même vous;) peut décider que tel ou tel service soit mis à disposition ou non. Ceci permettant une modularité la plus flexible possible.
Donc, de là, la première chose à faire est d’aller dans l’admin et activer les 2 services RSS et Evernote, en cochant la case « auth required » pour d’Evernote. (cf explication ci dessous)

3) Ensuite l’utilisateur, disposera des services qu’il devra à son tour activer. Pour le service Evernote, comme l’administrateur aura coché la case « auth required », l’utilisateur sera envoyé vers le service Evernote pour demander que l’utilisateur autorise « Django Trigger Happy » de créer des notes dans ses carnets.

4) Une fois les services activés, il ne reste plus qu’à créer un trigger avec le wizard existant, d’où on indiquera depuis quel flux RSS on veut lire les sources de données, puis vers quel service on souhaite stocker/publier ces données.

Si vous êtes accoutumé à IFTTT, vous vous rendez compte qu’il s’agit du même processus ;)

Demain
J’ai déjà prévu de pouvoir filtrer les flux RSS en fonction de contenu que je ne veux pas. Imaginons un blog ou tout n’est pas SFW :P ou plus simplement, sur le site de Pypi, énormément de projets publiés arrivent avec une description « UNKNOWN » qui à mon goût ne mérite pas qu’on s’y attarde puisque l’auteur n’a pas pris le temps de mettre une description, il semblerait. Donc ce filtre permet d’éviter d’avoir un contenu pollué vous l’aurez compris.

Avenir
L’architecture produite me permet d’ajouter facilement un service tels Twitter, Facebook, etc.

et l’API
Pour le moment le projet débute tout juste mais je publierai un prochain billet (et une page wiki) pour expliquer comment on s’ajoute un service de plus, le plus aisément possible.

Quelques Liens

Last but not Least : Greetings !
Un petit mot de remerciements pour Sam&Max que j’ai longuement sollicité et m’ont aidé sur l’archi à tenir ;)

Debian

Debian 7 Wheezy – re mise à jour du driver NVIDIA

Je viens de finir d’installer cette mise à jour de Debian Wheezy sur 2 PC ; un portable Dell Latitude sans aucun soucis mais comme d’hab mon PC de bureau n’en fait qu’à sa tête…

Le soucis se situe à plusieurs endroits :

  • GRUB
  • Carte Graphique

GRUB :

La mise à jour m’a flingué grub sans que j’ai eu le temps de voir ce qu’il s’était passé… au reboot j’étais stuck « dans le noir »… condamné à refaire une installation from scratch …

NVIDIA GT 220
Comme on change de release Debian, on change de kernel, donc on est « bon » pour se retaper l’installation du driver NVIDIA en version 304.64 pour 64Bits ; toutes autres versions antiérieures ne compilera tout bonnement pas ne trouvant pas le fichier version.h dans les sources du kernel ; rien que ça.

Donc pour ce faire :

arreter X

/etc/init.d/gdm3 stop

lancer

./NVIDIA-Linux-x86_64-304.64.run

A l’invite il peut vous dire que vous utilisez un GCC 4.7 et que le module était prévu pour compiler avec GCC 4.6 vous lui dites donc « non » et ça passera.

La compilation se passe les doigts dans le nez !
L’installeur vous demandera s’il peut vous exectuer

nvidia-xconfig

pour pondre le fichier /etc/X11/xorg.conf
Dites lui oui !

finissez par un petit

modprobe nvidia

lancer gdm3

/etc/init.d/gdm3 start

Et là comme par enchantement on retrouve un environnement graphique paisible.
Par paisible j’entends que l’installation précédente allait très bien mais que le ventilo du proc de la CG tournait comme un débile à qui l’on aurait demander de faire du traitement vidéo… Alors qu’une fois le module NVIDIA chargé tout redevenait clamos.

Voilou !

Edit 16/5 : un truc qui m’a quand même fortement déplu avec ces mises à jour. (j’en ai fait 3), il n’y a aucun avertissement sur le non support du driver NVIDIA lors de l’upgrade. On est dans le noir si le driver ne passe pas … et pour retrouver ses billes, « interroger » la « toile » ; si on n’est pas familier de links ou w3m c’est la mort

Android

Nexus 10 de pied en cap

Au départ nue la voici parée d’une house poetic slim et d’un clavier aux dents bleus

Debout

image

Fermé avec le clapet qui met en veille ou reveille la tablette à l’ouverture / fermeture
image

Avé lé clavier ;)
image

Un clavier mini grand comme un smarphone 5″
image

image

image

havefnubb

HaveFnuBB les archives sont de retour du futur

Avec mon déménagement de site web du projet HaveFnuBB (le forum sous GPL produit avec Jelix), j’ai malencontreusement oublié de récupérer mes archives du forum que je vous proposais au téléchargement. Rien que ça :-)

Fort heureusement on me l’a fait remarquer et j’ai donc remis en ligne les versions

  • 1.3.6 pour jelix 1.1
  • 1.4.0 pour jelix 1.2
  • 1.5.0 pour jelix 1.2 (aussi)

Tout est là

hmm??

Bug Firefox 20 sous Linux Debian 6 driver Nvidia

Un truc que je n’avais encore jamais vu jusqu’alors… un bug assez curieux m’est arrivé avec Firefox v20 sous Linux Debian 6 et le driver NVidia

Firefox 20 bug video carte nvidia linux debian 6

Firefox 20 bug video carte nvidia linux debian 6

Comme on peut le voir en haut à gauche , une sorte de modale me plombe tout l’affichage.

en cliquottant sur un lien pour accessoire de nexus 10 chez eBay.

Là on pourrait dire « ok c’est pas grave … » sauf que ca impact non seulement TOUS les onglets, c’est persistant… mais ca impact aussi tout mon desktop … je reduis la fenetre de firefox et lance n’importe quel autre programme et le même bug surgit … la fenêtre qui me pourrie la vue est rémanente …
dès que j’ai ferme l’onglet incriminé, tout redevient comme avant. fou non ?

Sous windows le même onglet avec la même version de firefox et même carte graphique (évidement c’est un dual boot) ne me pose aucun soucis.

Evernote

Evernote food looks good smell well

La dernière version d’Evernote food nous gratifie de moult améliorations comparativement à la version précédente où on ne pouvait que prendre en photos de ce qu’on voulait et étaient stockées telles quelles dans un carnet Evernote.

Page d’accueil :

image

A présent comment ça se passe :

Vous naviguez parmi des recettes en sélectionnez une fournie dans la pile (cf ci dessus):

image

Ce qui vous expédié directement sur le site de la recette d’où vous pouvez la sauvegarder en cliquottant en haut a droit sur la tête de l’éléphant

image

Et de là elle atterrie avec d’autres recettes stockées dans le même carnet évidemment :-)

image

Le menu de gauche vous permet de gérer, outre vos autres recettes, vos repas.

image

Avant tout était mélangé, à présent chacun chez soi !

image

Enfin dernier choix, les restaurans des alentours. Ceux-ci  sont geolocalises avec foursquare, de ce qu’on peut en voir dans le footer de la capture et de la page, bien que n’ayant aucun compte foursquare.

Pour ma part je trouve que les produits Evernote se bonifient avec le temps.
D’aucun pourraient penser qu’étant gratuit ces derniers pourraient suivre, un jour, la voie de google reader, mais aucun risque, sinon les clients premium et business leur tomberaient dessus très lourdement.

Du bon qu’on vous dit :-)

ps : sur smartphone on notera que si on ne peut pas faire faire une rotation de l’affichage de l’image quand on consulte la recette sur le site qui la publie, ben on est très mal … imaginez la page actuelle coupée en deux … verticalement… dommage … ca rend l’UX pénible