PROJET AUTOBLOG


Sam & Max: Python, Django, Git et du cul

Site original : Sam & Max: Python, Django, Git et du cul

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

FIRST !

vendredi 2 août 2013 à 01:04

Cherchant un post pas trop long à faire car j’ai été malade comme un chien depuis hier, je m’étais chauffé pour faire une intro au module array. Et puis, changeant d’avis par flemme, j’ouvre le code de batbelt, et je cherche un petit snippet que je n’ai pas présenté.

Bonne pêche !

Voici des fonctions qui s’utilisent sur des itérables, n’importe lequel, même un dont la taille est inconnu ou infini. La première retourne le premier élément, et, si l’itérable est vide, elle retourne une valeur par défaut :

def first(iterable, default=None):
    for x in iterable:
        return x
    return default

C’est une sorte de [0], mais valable pour tous les itérables, par juste les indexables comme les tuples, les strings ou les listes. Et en prime, pas besoin de faire un try / catch dessus puisqu’il permet une valeur par défaut :

>>> first([0, 1, 2, 3])
0
>>> first([], 'flammkuchen')
'flammkuchen'

Le second est aussi sympathique, il fait la même chose, mais retourne l’élément seulement si il est vrai :

def first_true(iterable, key=lambda x: x, default=None):
    for x in iterable:
        if key(x):
            return x
    return default

key fonctionne comme pour la fonction sorted(), à savoir que c’est une injection de dépendance. C’est cette fonction qui va déterminer si l’élément est vrai ou non. Par défaut la fonction retourne l’élément tel quel, et le fait qu’il soit vrai ou non sera donc déterminé par son contexte booléen :

>>> first_true([0, 1, 2, 3])
1
>>> first_true([(0, 1), (2, 3)])
(0, 1)
>>> first_true([(0, 1), (2, 3)], lambda x: x[0])
(2, 3)
>>> first_true([], lambda x: x[0], 'socca')
u'socca'

Ce petit article m’a fait réaliser qu’on pourrait sans problème fusionner les deux en faisant :

def first(iterable, key=lambda x: True, default=None):
    for x in iterable:
        if key(x):
            return x
    return default

Mais j’ai pas la foi de faire un commit ce soir, donc fuck.

flattr this!

Variables d’environnement utilisées par Python

mercredi 31 juillet 2013 à 17:07

Avant même l’utilisation d’options, de fichiers de conf, et outils installés, les variables d’environnement sont un moyen pratique de configurer un programme. Il s’agit simplement d’une variable globale accessible dans le shell courant.

Par exemple, sous bash, pour créer une variable, il suffit de faire :

$ NOMDEVARIABLE='valeur' # mettre la variable à la bonne valeur
$ export NOMDEVARIABLE # rendre la variable globale

La convention est de mettre leur nom en majuscule.

Et pour afficher la variable, il suffit de faire :

$ echo $NOMDEVARIABLE
valeur

Pourquoi c’est pratique ? Et bien parce qu’un programme comme Python va aussi aller regarder dans ces variables d’environnement pour se configurer. Donc, si vous settez la variable avec le bon nom dans votre shell et que vous lancez l’interpréteur Python, vous pouvez démarrer ce dernier avec un comportement différent, comme le ferait une option ou un fichier de config. La différence ? La variable est valable pour toute la session de shell, donc même si vous ressortez de l’interpréteur Python, et que vous le relancez, tant que vous êtes dans la même session de shell, la configuration reste la même.

Variables attendues

PYTHONSTARTUP: un module à exécuter au démarrage de Python.

Pratique si vous savez que vous allez utiliser souvent le même code dans votre prochaine session de travail avec le shell. Par exemple, je crée un module /tmp/imports.py et je met dedans :

import json
import pickle
from datetime import datetime

Ensuite, je set ma variable :

$ PYTHONSTARTUP='/tmp/imports.py' 
$ export PYTHONSTARTUP

Et en lançant l’interpréteur, même en sortant et en le relançant 50 fois de suite, je n’ai pas à importer ces modules.

PYTHONPATH : une liste de dossiers séparés par ‘:’ qui va être ajouté à sys.path

Vous savez qu’il y a des packages qui ne sont pas dans le PYTHON PATH, donc non importables. Mais pour le moment, vous voulez les utiliser quand même pour faire des tests vite fait (vous corrigerez le problème plus tard ^^).

Facile:

PYTHONPATH='/home/sam/un_dossier_qui_contient_mes_libs:/home/sam/projects/autre_projet'
export $PYTHONPATH

Et voilà, tout ce qui est dans ces deux dossiers est importable.

Il y a encore :

PYTHONHOME : choisir un autre dossier dans lequel chercher l’interpréteur Python.
PYTHONCASEOK : ingorer la casse dans le nom des modules sous Windows
PYTHONIOENCODING : forcer un encoding par défaut pour stdin/stdout/stderr
PYTHONHASHSEED : changer la seed hash() (renforce la sécurité de la VM)

Variables d’environnement permanentes

Les programmes Python utilisent beaucoup les variables d’environnement : Django, Celery, nose, virtualenv, pip… Tous peuvent être aussi configurés avec ces variables.

Parfois, on voudra que cette variable soit accessible depuis tous les shells, et même après le reboot. Bref, rendre la configuration permanente.

Il y a plusieurs solutions. L’une est de mettre la déclaration de la variable dans le script de démarrage de votre shell, par exemple sous bash, de mettre la variable dans .bashrc.

Ainsi, j’ai des entrées comme celle-ci dans mon .bashrc :

# évite à pip de télécharger plusieurs fois la même lib à la réinstallation
PIP_DOWNLOAD_CACHE='/opt/pip-cache';
export PIP_DOWNLOAD_CACHE;

Une autre est de la mettre dans un hook, c’est à dire un script exécuté à un moment donné par un programme. De nombreux programmes ont des hooks, et il y a des exemples sur le blog pour virtualenv et git.

Variables d’environnement personnalisées

Vos propres programmes peuvent lire (pour se configurer) et écrire (pour configurer d’autres programme ou forcer leur propre configuration en cas de multiprocessing) des variables d’environnement. Il suffit de faire :

>>> import os
>>> os.environ
{'LC_NUMERIC': 'fr_FR.UTF-8', 'gs_max_changes': '99', 'scmbDir': '/home/sam/.scm_breeze', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'AUTOJUMP_DATA_DIR': '/home/sam/.local/share/autojump', 'LC_IDENTIFICATION': 'fr_FR.UTF-8', 'XDG_CURRENT_DESKTOP': 'Unity', 'GNOME_KEYRING_PID': '2787', 'LOGNAME': 'sam', 'USER': 'sam', 'PROMPT_COMMAND': 'set_bash_prompt;preexec_invoke_cmd', 'PATH': '/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games', 'LC_PAPER': 'fr_FR.UTF-8', 'GNOME_KEYRING_CONTROL': '/home/sam/.cache/keyring-1rkOf1', 'design_av_dirs': 'Animations Videos Flash Music Samples', 'DISPLAY': ':0', 'SSH_AGENT_PID': '2849', 'LANG': 'fr_FR.UTF-8', 'TERM': 'xterm', 'SHELL': '/bin/bash', 'XDG_SESSION_PATH': '/org/freedesktop/DisplayManager/Session0', 'XDG_SESSION_COOKIE': 'ccef8e8a757563a3c14c304f00000003-1375177738.724796-1812587231', 'LANGUAGE': 'fr_FR:fr_CA:en', 'SESSION_MANAGER': 'local/sam:@/tmp/.ICE-unix/2798,unix/sam:/tmp/.ICE-unix/2798', 'LC_MONETARY': 'fr_FR.UTF-8', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'MANDATORY_PATH': '/usr/share/gconf/ubuntu.mandatory.path', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-4sjzHNl8JS,guid=6ea6a72c49faf1630800018', 'VIRTUALENVWRAPPER_LOG_DIR': '/home/sam/.virtualenvs', 'COMPIZ_CONFIG_PROFILE': 'ubuntu', 'EDITOR': '/usr/bin/textadept', 'DESKTOP_AUTOSTART_ID': '10b40d4ebf3d1cf3fd700000027980010', 'GPG_AGENT_INFO': '/home/sam/.cache/keyring-1rkOf1/gpg:0:1', 'HOME': '/home/sam', 'WORKON_HOME': '/home/sam/.virtualenvs', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/home/sam/.cache/keyring-1rkOf1/ssh', 'VIRTUALENVWRAPPER_HOOK_DIR': '/home/sam/.virtualenvs', 'LC_ADDRESS': 'fr_FR.UTF-8', 'COMP_WORDBREAKS': ' \t\n"\'><;|&(:', 'root_design_dir': '/home/sam/Dropbox/Design', 'GDMSESSION': 'ubuntu', 'project_design_dir': 'design_assets', 'git_status_command': 'git_status_shortcuts', 'XDG_SEAT_PATH': '/org/freedesktop/DisplayManager/Seat0', 'LC_ALL': 'fr_FR.UTF-8', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'git_env_char': 'e', '_': '/usr/bin/python', 'DEFAULTS_PATH': '/usr/share/gconf/ubuntu.default.path', 'VIRTUALENVWRAPPER_PROJECT_FILENAME': '.project', 'DESKTOP_SESSION': 'ubuntu', 'GIT_REPO_DIR': '/home/sam/Work', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'GTK_MODULES': 'canberra-gtk-module:canberra-gtk-module', 'UBUNTU_MENUPROXY': 'libappmenu.so', 'AUTOJUMP_HOME': '/home/sam', 'LC_TELEPHONE': 'fr_FR.UTF-8', 'XAUTHORITY': '/home/sam/.Xauthority', 'LC_MEASUREMENT': 'fr_FR.UTF-8', 'PWD': '/home/sam', 'PIP_DOWNLOAD_CACHE': '/opt/pip-cache', 'design_ext_dirs': 'Fonts IconSets', 'ga_auto_remove': 'yes', 'LC_NAME': 'fr_FR.UTF-8', 'design_base_dirs': 'Images Backgrounds Logos Icons Mockups Screenshots', 'LC_TIME': 'fr_FR.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/', 'GIT_REPOS': ''}

C’est un simple dico dans lequel vous pouvez lire et écrire. Comme vous pouvez le voir, il ne s’agit pas juste des variables qui concernent Python mais de toutes celle de la session, donc attention, de grands pouvoirs impliquent de grandes possibilités de merder.

flattr this!

Entreprendre en France, Autopsie d’un échec.

mardi 30 juillet 2013 à 17:41

Tout a commencé il y a 7 ans, d’une humeur fort incompatible avec ma hiérarchie et d’un tempérament plutôt entrepreneur je décida un peu par force de me lancer dans l’aventure avec un ancien collègue de travail.

Pour resituer le contexte nous sommes en 2003, je bosse pour une boite spécialisée dans l’affiliation sur internet. Un patron débile parachuté dans notre service alors qu’il n’avait jamais touché une bille. Un collègue de bureau pour qui la prog n’avait pas de secret, le genre de killer avec qui on aime boire une binouse le midi en refaisant le monde de l’internet tant ses connaissances sont illimitées.
Bref un job sympa car on pensait ne pas être emmerdé par le boss et pouvoir développer nos produits, les faire évoluer, conquérir le monde, vous connaissez la suite…

En fait non. Le boss ne comprenait rien à rien, a planté la boite et nous a fait virer. On a fait un procès qu’on a gagné. Nous voilà au chômage, en procès, mais avec des cerveaux supervitaminés.
On épluche les dossiers ACCRE, les aller-retour dans les jeudis de l’entreprise, les formations données par la chambre de commerce du coin.
Au passage évitez tout ça, vous n’apprendrez rien, la France est à 100 000 années lumière du désir d’entreprendre, tout est fait pour vous démoraliser.
Petites anecdotes:
- Lors d’une demande d’aide un bureau d’études de faisabilité nous a reçu avec un grand sourire puis nous a défoncé auprès de l’ANPE.
- Des anciens “chefs d’entreprise” à la retraite bossant dans le textile version boutique du coin venant donner des conseils à des mecs qui veulent se lancer dans l’info, voilà les jeudis de l’entreprise auxquels j’ai eu droit, bref…

Monter une boite à deux demande de créer une SARL, ce n’est pas une micro entreprise (qui de toutes façons n’est plus vraiment avantageux car bien taxé avec CA limité, etc).
Pour une SARL il faut un comptable ou faire la compta soit-même mais je ne suis pas comptable alors on sous-traite, ça fait des frais mais on est sûr que c’est bien fait (normalement) et on peut se concentrer sur la création.

On se lance!
Vers 2006 on décide de se lancer, pour démarrer il a fallu quand même 20 000 € (création de société 1400€, capital de base 1000€, bureaux 700€/mois, internet pro, un peu de matos, etc…).
On s’est dit qu’avec 20 000€ on tiendrait quelques temps. La grosse erreur, au bout de quelques mois le RSI qui a l’époque était l’URSSAF + CSG qui nous avait épargné jusqu’à là grâce à un dossier monté à L’ACCRE commence son racket, une note de 6000€ tombe en prévision du salaire que je ne me suis pas versé l’année d’avant car la société datait de l’année en cours (les impots calculent les prélèvements à N-1, mais quand il y a pas eu d’activité avant ils estiment un montant, ici 6000 c’est pas mal pour un début).
Mon associé ne s’étant pas payé on a limité la casse. à l’époque je me payais environ 800€/mois.

une journée aux impôts...
On arrive à monter quelques projets mais on a besoin d’un employé, ouille!
L’erreur ou l’horreur qu’on a pas fait là! On embauche un petit jeune, un tueur, à l’époque il m’avait codé une espèce de serveur de streaming basique en C++, il codait vite, avait les idées claires, que du bonheur, mais…

Coucou c’est nous les impôts!
Qui dit employé dit charges, et pas dans un an! Jeune pousse on avait pas beaucoup d’argent chaque mois, alors on a négocier le SMIC avec ce jeune, j’en ai encore honte aujourd’hui, on payait un killer le SMIC sans pouvoir lui garantir d’avenir.

Entre le marteau et l’enclumme
D’un côté les impôts me demandaient environ 600€ de charges pour le payer le SMIC et de l’autre le jeune devait se taper 30 bornes par jour pour venir bosser (essence, autoroute, bouffe le midi, etc). Il y avait beaucoup de tension vers la fin et nous avons finalement trouver un commun accord pour en terminer, lui ne gagnait pas assez, nous payons trop.

C'est le premier pas qui compte...
La persévérance
Les projets sont au point mort, sans employé tout devenait plus dur, il fallait faire de l’admin système, gérer des clients, essayer de trouver des partenaires, etc… Je me sépare de deux projets qui demandaient du temps pour me consacrer à un seul sur lequel j’avais bossé.


La mini success-story
Je me suis retrouvé tout seul, mon associé étant occupé à bosser pour une autre boîte car ayant une famille à nourrir.
Pas mal de nuits blanches, des serveurs qui pétaient de partout, je n’avais jamais fait d’admin système auparavant. Des scripts qui bouffaient de la mémoire, je restais au bureau tous les week-end jusqu’à 2 heures du mat parfois.
Mais mon projet me rapportait de l’argent, j’ai commencé à voyager, rencontrer des gens, ramener quelques idées, des MST, etc.


L’évolution impossible
Bien que mon projet me rapportait je ne me payais guerre plus de 2000€/mois, l’état et le comptable se chargeaient du reste, des charges de 10000€ annuelles auxquelles on rajoutait le comptable 3000€ quand il était de bonne hummeur, les loyers des bureaux, etc…
Réembaucher quelqu’un n’aurait pas été envisageable au SMIC car j’avais retenu la leçon, il aurait alors fallut sortir au moins 40000€ / ans ( salaire + charges), trouver la bonne personne, etc.
J’ai donc laissé l’entreprise stagner, toujours en réparant les “fuites”, bref être l’homme à tout faire.

L’envie de tout arrêter
la dernière année m’a achevé, le RSI est monté à 980€/mois alors que ma rémunération avait baissée (je dois d’ailleurs récupérer un trop perçu, on verra…). Le comptable me facturait 350€ / mois pour 3 factures envoyées par email et 3 feuilles de relevés de compte.
Plus trop envie de continuer dans un pays où il ne se passe pas un mois sans qu’on apprenne qu’un dirigeant ou homme politique a gagné des millions en magouilles sans être inquiété une seconde alors que moi j’ai droit à des mises en deumeurre quand j’ai une semaine de retard sur le paiement d’un acompte de TVA de quelques centaines d’euros…


Autour de moi, des esclaves
Point important qui m’a poussé à fermer la boite et à quitter le pays, la sensation d’être entouré d’esclaves.
En effet beaucoup de mes amis sont aigris, moroses, n’ont pas vraiment de vision d’avenir, ils veulent juste arriver à finir le mois, attendent le samedi pour sortir car ils bossent pas le lendemain, veulent pas sortir en semaine, ne me parlent que de série TV ou de leurs gosses qu’il faut emmener à dysneyland mais ça coûte cher, tu comprends…


Non je ne comprends pas
Je ne comprends pas ce monde en général, ce pays en particulier où on doit à tout prix avoir un iPhone, une caisse à crédit, un écran oled à crédit, un appartement à crédit, bref une vie à crédit.
Pourquoi je continuerais dans un pays ou un système où je ne me reconnais pas ? Cela pourrait faire l’objet d’un autre article d’ailleurs.

Bon ok j’arrête. Ha oui mais non monsieur faut encore payer.
Alors voilà après cette aventure je décide de fermer mon entreprise et de prendre le large. Je change de comptable au passage et en trouve un moins cher et plus cool.
Il veut bien récupérer mon dossier (oui entre eux, les comptables se piquent pas toujours les clients, ils doivent faire une lettre, déontologie, tout ça…) mais me dit qu’il va falloir payer pour fermer l’entreprise. J’ai été surpris, la société est saine, jamais eu de défaut de paiement pourtant.
Oui mais j’avais oublié que l’état se sert à l’entrée ET à la sortie. Il faut y inclure aussi les greffiers et autres administrateurs (journaux de publications), c’est une machine bien rodée.
Au final pour fermer cette SARL cela m’a coûté 3174€, c’est pas mal quand même pour une TPE.
“honoraires juridiques” – 400€ (sans précision)
“annonce dans un journal de clôture” – 200€
“annonce dans un journal de dissolution” – 120€
“greffe” – 215 €
“frais d’enregistrement au SIE” – 415 €
“bilan comptable année en cours” – 700 €
etc…
Faites donc attention à avoir encore de l’argent sur le compte si vous décidez de fermer votre entreprise. Et encore là c’est dans le cas d’une petite entreprise saine sans passif.

Conclusion
Tout n’a pas été négatif, je vais essayer de résumer ce que j’en ai retenu:

Bon:
- J’ai bossé avec 2 personnes surdouées en info et j’ai beaucoup appris.
- La liberté de bosser à l’heure qu’on veut.
- L’excitation de mettre au jour des projets avec des associés, d’entreprendre ensembles.
- Je comprends les patrons qui râlent pour augmenter les employés (sans toutefois les excuser)
- ça m’a permis de rencontrer Sam (un ancien stagiaire de la boite d’à côté), j’allais pas l’oublier celui-là même si j’aurais pu le rencontrer ailleurs.
- J’ai passé de bons moments sur des projets funs et beaucoup appris avec mes collaborateurs.

Moins bon:
- j’ai compris que si un employé n’a pas à mangé le midi il va travailler moins bien.
- L’Etat est là pour encaisser, L’Etat est là pour encaisser, L’Etat est là pour encaisser…
- La France est une jungle en administratif et c’est ce qui va la perdre (la perd déjà en fait)
- La France a pour but de tuer les TPE et PME, je ne vois pas comment il pourrait en être autrement, Total paye 0€ d’impôts, moi j’étais taxé à 60-70%.

PS: Je précise que j’aurais pu continuer à payer et me verser un salaire correct, mais je ne veux plus que mon argent aille , ou encore .
Je ne veux plus attendre le week-end pour sortir boire un verre.
Je ne veux pas vivre à crédit.

PS: ne comparez pas cette expérience à des entreprises comme Meetic, là je parle de petite structure. Merci ;)

Et puis merde! Je suis jeune, je veux être libre et voir le monde ! :)

flattr this!

Le ratio santé / sex

lundi 29 juillet 2013 à 09:41

On dit qu’avoir une activité sexuelle régulière est bon pour la santé.

Je dis OK.

Mais quel est le prix, en terme de santé, d’une activité sexuelle régulière, quand on est pas en couple ?

Dans mon cercle social, les opportunités de s’envoyer en l’air se font en soirée. Bien entendu, il est possible de draguer dans la rue, au super marché, au club de sport, dans une asso… Mais soyons franc, la taux de succès est bien plus important en soirée car :

Maintenant, si vous voulez avoir une vie saine, cela exclut l’alcool, la malbouffe, et le fait de se coucher tard. C’est à dire absolument tout ce qui est concentré dans une soirée.

Pourquoi les soirées entre amis en France impliquent la plupart du temps un manque de sommeil, la présence de psychotropes et de nourriture de provenance douteuse ? Aucune idée. Ou plutôt, trop d’idées, et ce n’est pas le but de l’article.

Toujours est-il, quand on est un mec (parce que oui, une nana peut draguer même à cheval sur une moto-crotte, ça marchera), c’est dans ce genre de soirée qu’on choppe le plus. Et aussi qu’on s’abime le plus.

Du coup, on a le choix entre se ruiner la santé pour baiser, ou ne pas baiser, ce qui n’est pas très bon pour la santé.

Je suis quelqu’un de sociable, sportif, je fréquente des assos… Mais dès que j’arrête de prendre de l’alcool, dès que je décide de prendre moins de biscuits apéros, dès je quitte la soirée assez tôt pour dormir correctement, c’est foutu. Pendant ces périodes là, mes opportunités de galipette plongent rejoindre Jacques Mayol.

Évidement, on peut ressortir le vieux discours de la modération. Sauf qu’une soirée par semaine, et boire quelque verres, même en supposant que vous arrivez à ramener une petite à la maison 1 fois sur 3 (et la plupart des mecs sont loin d’avoir ce ratio), ça vous fait une session de sport en chambre voir deux par mois. Arf.

flattr this!

E-ink et confiseries

dimanche 28 juillet 2013 à 20:34

Ceci est un post invité de MrAaaah posté sous licence creative common 3.0 unported.

Pour conclure ma série d’articles autour du coffre secret de Sam et Max, je vais finir avec une présentation du cadeau qui était à décrocher.

C’est vendredi matin à l’aurore qu’une hirondelle d’Afrique m’a livré le paquet tant attendu !

Le fameux colis

Peu de chance que cela soit une Thaïlandaise ou un kilo de boudin

La Kobo et des bonbecs

À l’intérieur, un (une?) Kobo mini, qui est une liseuse numérique de 5" vendue par la Fnac, accompagnée de 4 petits sachets de Dragibus pour que rien ne bouge dans le colis.

N’ayant l’appareil que depuis hier et n’ayant jamais utilisé d’eReader auparavant, je n’ai pas eu le temps de tester la bête en profondeur, mais je vais tout de même essayer de vous faire un petit compte-rendu.

Ce qui frappe tout de suite, c’est que c’est la taille (l’écran est 4 fois plus petit qu’un iPad), on peut ainsi se demander s’il est confortable de lire sur un écran de cette taille.
En fait, cela dépend du format et du type de l’ouvrage que l’on souhaite lire. Le Kobo supporte les fichiers PDF et les epub (le JPG, le PNG et le GIF aussi, mais bon …).

Les formats

Le point fort dû format PDF qui est de garantir une mise en page identique sur tous les OS et dans tous les logiciels est ici un gros défaut. Sachant que sur le Kobo cette mise en page est gardée et que l’on est sur un écran beaucoup plus petit qu’une page de livre, on passe son temps à zoomer et se déplacer sur le contenu ; si cette contrainte ne gêne pas trop sur smartphone ou tablette, car ces actions sont immédiates et naturelles à réaliser (où presque, selon les modèles). Dans le cas d’une liseuse, nous sommes en présence d’encre électronique avec un temps d’affichage très lent (par rapport à un écran “classique”), il faut pas loin d’une seconde pour chaque action (déplacement ou zoom) ce qui rend la navigation insupportable et pas pratique du tout.
En gros c’est vraiment un format à oublier pour un appareil de cette taille. Il existe bien des convertisseurs PDF -> ePub, mais ça ne ma pas donné quelque chose de concluant. Pour le PDF, un eReader de taille supérieure serait peut-être plus adapté (à tester), même si je pense qu’une tablette (type iPad) est le top (réactivité, taille, etc.)(sauf pour les yeux).

Pdf on Kobo

Lire un pdf sur la Kobo, c'est chiant …

Le format epub, lui est tout récent, car il est apparu avec ces eReader. Je n’avais jamais eu l’occasion de tester ce format et c’est tip-top pour ce genre d’appareil. L’ePUB c’est tout le contraire du format PDF, c’est libre, ouvert et surtout il laisse le soin de gérer la mise en page du contenu au logiciel, ce qui permet d’avoir accès à une table des matières, de modifier sa police, l’interlignage et tout un tas d’options relatives à la mise en page. Là où ça peu coincer, c’est pour les BD ou les livres où la mise en page n’est plus “traditionnelle”, wiki me souffle à l’oreille que le format “Fixed Layout” a été développé pour contrer ça, je n’ai pas testé donc je ne me prononcerais pas dessus.

Les options d'un epub sur la Kobo

On peut configurer l'affichage assez précisement sur les epub

L’engin

Bon, passons un peu à lecture et au confort. Je n’avais jamais testé d’eReader auparavant et je suis bien surpris du confort de lecture par rapport à une tablette qui t’éclaire la tronche et te crame les yeux. L’eReader simule le rendu de l’encre sur du papier, il faudra donc une source de lumière à proximité pour voir quelque chose. La résolution n’a pas l’air exceptionnelle, quand les textes sont trop petits ils sont à la limite de disparaitre, mais avec une police de taille raisonnable c’est très propre. Ça supporte aussi les images, sauf que l’écran est en noir et blanc, pour tout ce qui est schéma c’est ok, mais pour des photos ça peut vite être dégueulasse.
Le confort change également beaucoup selon le type de livre. On m’a demandé si la lecture de gros pavés n’était pas trop galère sur un reader de cette taille. Je pense que pour un livre classique (roman/nouvelle) il n’y aura pas trop de problèmes. Par contre, ça risque d’être beaucoup plus chiant pour les livres contenant de nombreux schémas/dessins (genre livre technique, manuel de maths, etc), ainsi que pour des livres d’informatique contenant du code où celui-ci sera étalé sur de nombreuses pages impliquant des retours en arrière (sans parlé du nombre de colonnes).

Un livre d'info sur Kobo

Un petit livre sur l'informatique, même avec quelques schéma, ça passe nikel

L’objet en lui même à l’air de bonne qualité, ça tient bien dans les mains et c’est bien fini. Ça tient facilement dans une poche, ça sort de veille très vite et surtout ça ne consomme rien (juste aux changements de pages).

Le moins

S’il n’y a rien à redire sur l’appareil en lui même, c’est au niveau du contenu proposé que ça pèche. Petit exemple, avec Le trône de fer, tome 1 [Poche] chez Amazon ; qu’on me vende un bouquin physique 10€ ou plus ne me dérange pas, le papier et l’encre ne se sont pas donnés, ça reste un bel objet, on peut le prêter, le revendre, en louer, etc. Mais qu’on me vende un putain d’epub au même prix, voir des fois plus chères que l’ouvrage physique, un truc doit m’échapper ! Ici, 9€ le tome 1 de GoT au format numérique et 8,10€ la version poche, euh …
Bon, je ne vais pas plus loin sur ce point, il faut savoir qu’il y a aussi des bouquins gratuits (de manières légales ou pas…).

La librairie du Kobo

Conclusion

Cette version mini est super pour stocker un tas de bouquins “traditionnels” dans sa poche (1.2 go de livre pour 134g) tout en offrant un bon confort de lecture. Pour un usage à domicile, la taille supérieure est certainement un plus. Pour les amateurs de BD’s, comics ou autre bouquin contenant plein d’images (ou du code) il faudrait tester sur une liseuse plus grosse (par contre il ne me semble pas qu’il y’ai encore de version couleur) ou alors une tablette plus classique (iPad, ou autre). Pour ceux qui veulent un test plus en détail, il y’a un article sur lesnumériques.com

En tout cas, merci Sam et Max c’est un chouette cadeau ! Je ne sais pas trop pour le moment quelle sera mon utilisation et si ça va devenir un objet utilisé au quotidien, mais pourquoi pas. Je ne lis plus depuis quelques années (excepté des bouquins techniques et quelques bds), ça pourrait être l’occasion de s’y remettre vu la praticité de l’objet ! (Ah et pour les dragibus, ils ce sont pris une grosse branlée)

flattr this!

Error happened! 0 - count(): Argument #1 ($value) must be of type Countable|array, null given In: /var/www/ecirtam.net/autoblogs/autoblogs/autoblog.php:428 http://ecirtam.net/autoblogs/autoblogs/sametmaxcom_a844ada43a979e3b1395ab9acb6afafb84340999/?141 #0 /var/www/ecirtam.net/autoblogs/autoblogs/autoblog.php(999): VroumVroum_Blog->update() #1 /var/www/ecirtam.net/autoblogs/autoblogs/sametmaxcom_a844ada43a979e3b1395ab9acb6afafb84340999/index.php(1): require_once('...') #2 {main}