Cipher Bliss

avoir une vie privée

une petite vidéo de la quadrature du net, expliquant en deux minutes pourquoi il est essentiel d'avoir une vie privée, et qu'avoir des choses à cacher de quelqu'un ce n'est pas suspect, c'est juste privé.
Pas convaincu? Alors donnez moi plein accès à vos comptes email, les clés de chez vous et à vos comptes en banques. Vous ne voulez pas? c'est pour votre bien, pour lutter contre le terrorisme, pour votre sécurité. Ah, vous voyez, vous commencerez à douter. Profitez en, on risque de ne plus y être autorisé sous peu.
Ce n'est pas si ironique de poster cette vidéo sur youtube, un site qui fait open bar de vos données à la NSA. c'est justement un bon endroit pour se faire entendre.

les couleurs de la RATP dans SASS

si vous avez dans l'idée de faire un petit projet web incluant les couleurs des lignes de métro / RER / Tram parisien, voici les codes couleurs choppées à coup de pipette (on peut aussi trouver ces codes hexadécimaux sur wikipedia). Vous pouvez les utiliser dans votre css avec ces variables faites pour le language de preprocessing SASS.

Vous pouvez voir ce que donnent les compilations sass en ligne et vous exercer sur sassmeister.com

/**variables for lines colors**/ $metro_1: #fdce00; $metro_2: #0267af; $metro_3: #a1971b; $metro_3BIS: #96d7dd; $metro_4: #b74288; $metro_5: #de8b53; $metro_6: #79bb92; $metro_7: #e8a8b8; $metro_7BIS: #7cc485; $metro_8: #cfa9d0; $metro_9: #cec92b; $metro_10: #dfb039; $metro_11: #8e6538; $metro_12: #328e5b; $metro_13: #a0cccb; $metro_14: #612684; $tram_1: #0564b1; $tram_2: #c74896; $tram_3: #90613b; $tram_3a: #90613b; $tram_3b: #ec8a42; $tram_4: #fcc11b; $tram_5: #0564b1; $tram_6: #ec5738; $tram_7: #90613b; $tram_8: #999738; $rer_a: #cf532e; $rer_b: #5191cd;

ensuite il vous faudra des classes pour appliquer ces couleurs sur vos lignes.

/** metros**/ .metro_1 { background: $metro_1 !important; } .metro_2 { background: $metro_2; } .metro_3 { background: $metro_3; } .metro_3BIS { background: $metro_3BIS; } .metro_4 { background: $metro_4; } .metro_5 { background: $metro_5; } .metro_6 { background: $metro_6; } .metro_7 { background: $metro_7; } .metro_7BIS { background: $metro_7BIS; } .metro_8 { background: $metro_8; } .metro_9 { background: $metro_9; } .metro_10 { background: $metro_10; } .metro_11 { background: $metro_11; } .metro_12 { background: $metro_12; } .metro_13 { background: $metro_13; } .metro_13BIS { background: $metro_13; } .metro_14 { background: $metro_14; } /** trams **/ .tram_1 { color: $tram_1; border: solid 3px $tram_1; } .tram_2 { color: $tram_2; border-color: $tram_2; } .tram_3 { color: $tram_3; border-color: $tram_3; } .tram_4 { color: $tram_4; border-color: $tram_4; } .tram_5 { color: $tram_5; border-color: $tram_5; } .tram_6 { color: $tram_6; border-color: $tram_6; } .tram_7 { color: $tram_7; border-color: $tram_7; } .tram_8 { color: $tram_8; border-color: $tram_8; } Et si vous voulez personnaliser tout ça dans un mixin pour choisir que colorer avec vos variables, c'i possible!
Admettons que, comme ci dessus l'on veuille une classe pour chaque ligne afin de colorer une bordure.
Pour ça on va utiliser des tableaux associatifs(clé: valeur), sta dire des maps,
et des tableaux non associatifs, des listes (élément1, élément2).
On définit une map de famille de transport (métro, tram, rer), puis une couleur pour chaque ligne.
Puis on définit notre @mixin qui fait une classe avec bordure correspondante.
grâce à l'interpolation de variable on peut faire des noms de classe css (et d'autres choses) dynamiques.
exemple:
$name: foo; $attr: border; p.#{$name} { #{$attr}-color: blue; }
Allez donc voir les quelques fonctions existantes sur les maps. Ici on se servira uniquement de celle qui retourne la valeur pour une clé donnée.
Avec @each on va parcourir notre map et créer des classes en conséquence avec notre mixin, appelé par la directive @include.
Ensuite si on veut que nos classes soient différentes pour les métros et les trams on a plus qu'a faire un autre mixin, et voilà!
// variables de couleurs $metro_1: #fdce00; $metro_2: #0267af; $metro_3: #a1971b; $metro_3BIS: #96d7dd; $metro_4: #b74288; $metro_5: #de8b53; $metro_6: #79bb92; $metro_7: #e8a8b8; $metro_7BIS: #7cc485; $metro_8: #cfa9d0; $metro_9: #cec92b; $metro_10: #dfb039; $metro_11: #8e6538; $metro_12: #328e5b; $metro_13: #a0cccb; $metro_14: #612684; $tram_1: #0564b1; $tram_2: #c74896; $tram_3: #90613b; $tram_3a: #90613b; $tram_3b: #ec8a42; $tram_4: #fcc11b; $tram_5: #0564b1; $tram_6: #ec5738; $tram_7: #90613b; $tram_8: #999738; $rer_a: #cf532e; $rer_b: #5191cd; // maps de couleurs $metro_colors: ( '1' : $metro_1, '2': $metro_2, '3':$metro_3, // etc ); $tram_colors: ( '1' : $tram_1, '2': $tram_2, // etc ); $rer_colors: ('a' : $rer_a, 'b': $rer_b); // map de famille $sisi_la_famille: ( 'metro' : $metro_colors, 'tram' : $tram_colors, 'rer' : $rer_colors, ); // mettre une bordure à gauche selon la famille et le numéro de ligne @mixin lineBorder($famille,$nom) { $famille_map: map-get($sisi_la_famille, $famille); .#{$famille}_#{$nom} { border-left: 3px solid map-get($famille_map, $nom); } } // faire un style différent pour les trams @mixin tram($nom,$color) { .tram_#{$nom} { color: $color; border-color: $color; } } @warn "yeah"; // boucle-ception @each $famille, $list in $sisi_la_famille { @each $key, $val in $list { // traitement différent pour les trams @if ($famille == 'tram') { @include tram($key, $val); } @else { @include lineBorder($famille, $key); } } }
Enjoy!

des live templates pour angular dans intelliJ

(ceci est un live template)
j'utilise PHPstorm pour faire des projets avec du angular dedans (entre autres), et pour gagner en performance et en confort, heureusement qu'il y a les live templates.
éditables dans les settings, ils permettent de créer des fichiers xml dans le dossier de templates, ( dans le dossier: ~/.WebIde80/config/templates , avec un nom qui ressemble à .WebIde80 selon la version de votre IDE)
et de vous faire des raccourcis paramétrables.

des projets sur github permettent de rajouter des suites de code template pour vous faciliter la vie. aujourd'hui je vais vous vanter les mérites d'un dépot fort sympa pour faire des tests jasmine et divers trucs de routine dans angular: angularjs-webstorm-livetpls

clonez le dépot, copiez ses fichiers .xml dans votre dossier de templates, redémarrez votre IDE, et hop, magie vous avez des code templates trop bien. zieutez de quoi ils ont l'air dans les settings, vous pourrez les renommer à votre convenance tant que deux templates n'ont pas la même abbréviation. et si vous voulez en savoir plus sur les live/code templates pour faire les vôtres, zieutez la doc officielle.

le bash de vos rêves

on peut personnaliser son bash ultrafacilement grâce a ce merveilleux site, bashrcgenerator: http://bashrcgenerator.com/

glissez déposez les éléments, cliquez sur un élément pour choisir sa couleur, et hop vous avez le code a rajouter dans votre .bashrc pour mettre de la couleur dans votre console.

Essayez donc de mettre cette commande d'export à la fin de votre .bashrc, et de relancer bash.

$ nano ~/.bashrc # titre du terminal personnalisé PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"' # prompt personnalisé export PS1="\[\033[38;5;214m\]\T\[$(tput sgr0)\]\[\033[38;5;15m\] \[$(tput sgr0)\]\[\033[38;5;192m\]\u\[$(tput sgr0)\]\[\033[38;5;42m\]@\[$(tput sgr0)\]\[\033[38;5;84m\]\h\[$(tput sgr0)\]\[\033[38;5;70m\]:\[$(tput sgr0)\]\[\033[38;5;6m\]\w\[$(tput sgr0)\]\[\033[38;5;15m\] \[$(tput sgr0)\]"

on enregistre avec ctrl +o, on sort avec ctrl + x. et hop!

$ bash

et vouala:

02:23:52tykay@mycomputer:/usr/local/src
Arpès, si vous êtes des fifous, vous pouvez aussi blinder votre prompt en lui rajoutant des infos du dépôt git dans lequel vous vous trouvez.

customiser son serveur

Certaines commandes sont nécessaires à la maitrise d'un environnement unix, et puis il y a celles absolument pas indispensable. Par example, celles qui vous permettent de mettre un ASCII art au login sur votre serveur avec le message du jour (message of the day, motd).

changer le nom de votre machine (hostname).

il faut aussi changer le nom de l'hôte dans /etc/hosts

$ sudo nano /etc/hosts

redémarrez le service hostname.

$ sudo service hostname restart

et voilà votre nom d'hôte changé \O/

mettre un message du jour à la connexion.

le message du jour est généré grâce aux scripts dans /etc/update-motd.d/ vous pouvez donc ajouter un script perso.

$ nano /etc/update-motd.d/99-tktrucs

et mettre dedans des trucs trop importants. 

#!bin/bash echo "un grand pouvoir entraine de grandes responsabilités"

et il faudra lui donner les droits de s'exécuter.

$ sudo chmod +x /etc/update-motd.d/99-tktrucs

ce fichier permet de rajouter du contenu à la fin du message du jour

$ sudo nano /etc/motd.tail

utilisez le générateur d'ASCII art pour faire des trucs trop impressionants.

http://www.network-science.de/ascii/

astuce bonus pour se loguer de façon plus sécurisée.

copier sa clé publique sur un serveur distant

$ ssh-copy-id -i ~/.ssh/id_dsa.pub titi@toto.host.org

Password:

sources: http://doc.ubuntu-fr.org/motd https://askubuntu.com/questions/87665/how-do-i-change-the-hostname-without-a-restart

http://www.generation-linux.fr/index.php?post/2008/06/07/117-changer-le-message-d-accueil-sur-ssh

http://www.network-science.de/ascii/

des tests plus rapides avec jasmine

Jasmine, framework de test en javascipt dispose de quatre fonctions intéressantes pour rendre l'exécution de vos nommmmmmbreux tests JS. Parce que bien sûr, vous testez votre javascript, nesspa?

Bien, donc, on développe des blocs de test avec describe() et it()

vous pouvez demander à jasmine de ne pas exécuter de bloc en utilisant xdescribe() et xit(). et vous pouvez lui demander de n'exécuter que certains blocs et assertions avec fdescribe() et fit()

ce qui devrait faire tourner le tout plus vite, notamment si vous avez dans les 500 assertions et que vous bossez seulement sur une certaine partie.

une astuce pour ensuite ne pas faire de push avec ces blocs spéciaux, c'est de se créer un hook sur git. parce que vous utilisez git, nesspa? Bien, donc, avec un terminal ouvert dans votre projet, dans le dossier .git.

touch .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit

et mettez y de quoi vérifier que vous n'avez pas de fdescribe( , de fit( dans vos fichiers de tests.

#!/bin/sh
# A git pre-commit hook that verifies that the change does not introduce
# the use of a Jasmine exclusive test , which would
# prevent most other tests from being run without any clear indication thereof

 FILES_PATTERN='\.(js|coffee)(\..+)?$'
FORBIDDEN='fit('
git diff --cached --name-only | \
    grep -E $FILES_PATTERN | \
    GREP_COLOR='4;5;37;41' xargs grep --color --with-filename -n $FORBIDDEN && echo 'COMMIT REJECTED Found "$FORBIDDEN" references. Please remove them before commiting' && exit 1

paye ton arrondi en js

F12. dans la console javascript écrivez:
999999999999999
faites entrée. la console vous répond:
999999999999999

mais écrivez un 9 de plus
9999999999999999
faites entrée. la console vous répond:
10000000000000000

narmol.

installer cozy cloud sur son serveur ubuntu 14.04

un cloud perso facile à étendre avec des plugins/modules en javascript? C'est possible avec Cozy Cloud, découvert lors de l'ubuntu party de paris (enfin, grâce au site qui diffuse les médias enregistrés, plein de chouettes conférences)

voici la version rapide du script d'install à exécuter en tant que root sur votre serveur ubuntu 14.04, en bash:

apt-get install ca-certificates apt-transport-https
wget -O - https://ubuntu.cozycloud.cc/cozy.gpg.key 2>/dev/null | apt-key add -
echo 'deb https://ubuntu.cozycloud.cc/debian trusty main' \ > /etc/apt/sources.list.d/cozy.list
apt-get update && apt-get install couchdb cozy

convertir un projet javascript en coffeescript

le jS ça fait aussi le café. Si vous voulez reprendre d'anciens projets en javascript pour envoyer promener toutes ces accolades et autres points virgules, réjouissez vous, car voici de quoi convertir un dossier et ses sous dossiers en fichiers coffeescript.

il faut donc copier votre dossier de scripts js dans un dossier nommé coffee, obtenir la liste des fichiers à convertir et exécuter la conversion sur chacun d'eux.

basé sur le convertisseur js2coffee (voir ce projet sur github), voici mon script bash adapté de ce merveilleux script bash trouvé sur stack overflow: pour plus de clarté je lui ai rajouté un côté explicite des actions menées et quelques couleurs.

#!/bin/bash
#text formatting
neutre='\e[0;m'
bleuclair='\e[1;34m'
bold=$(tput bold)
normal=$(tput sgr0)
# get the name of the js scripts folder
echo -e "${bleuclair} ${bold} conversion de projet ${normal} vers coffeescript "
read -p "nommez le dossier où se trouvent vos scripts .js [js]: " -e -i "js" name
# if the coffee folder doesnt exist, create it
if [ ! -e coffee ]; then
echo "pas de dossier coffee, on le crée"
mkdir coffee
fi
echo -e " copie du dossier ${bleuclair}${bold}${name}${normal} vers le dossier ${bold}coffee${normal} ${neutre}"
cp -R ${name}/* coffee
echo "lire les fichiers du dossier coffee"
# list files and exclude node modules
COUNTER=0
for FILE in `find coffee -name "*.js" -type f -o -path './node_modules' -prune -o -path './components' -prune`
do
if [ -e $FILE ] ; then
COFFEE=${FILE//\.js/\.coffee}
echo -e "    converting ${FILE} to ${bleuclair}${COFFEE}${neutre}${normal}"
js2coffee "$FILE" > "$COFFEE"
rm $FILE
COUNTER=$((COUNTER+1))
else
echo "File: $1 does not exist!"
fi
done
echo -e "${bleuclair}${bold} $COUNTER ${normal}${neutre} fichiers convertis"
cd ../

vous pouvez enregistrer ce script bash sous le nom de alljs2coffee.sh le copier dans votre répertoire d'exécutables,

cp alljs2coffee.sh /usr/local/bin

lui donner les droits pour être exécuté par tout le monde 

chmod +x alljs2coffee.sh

et voilà vous pourrez l'exécuter dans n'importe quel dossier contenant un de vos projets avec la commande alljs2coffee

go go gadgetto modernisation du JS!

voir l'issue sur github. comme toujours, si vous avez des amélioratoins à proposez faites donc!

se créer un historique complet de git log

 mise à jour: j'ai fait un projet sur github nommé git all

Vous avez un projet et vous aimeriez savoir comment il a évolué à travers les commits que vous avez écrits avec assiduité durant de nombreux mois, voire de nombreuses années. Vous pourriez le compiler sous forme de log complet dans un fichier texte.

Par example pour voir sur quoi vous galérez le plus et comment améliorer vos projets, ou pourquoi pas en avoir ensuite une représentation graphique, l'enregistrer dans votre appli de calendrier favorite, ou bien pour remplir une fiche de suivi dans un logiciel spécialisé comme Works, Redmine, Pivotal tracker, ou ProjeQtOr.

Il suffit de lire un peu la doc de la commande git log et particulièrement la partie sur les pretty formats pour se bidouiller un log clair et concis. avec la date, l'auteur, le sha1, et le message du commit à chaque ligne.

git log --pretty=format:"%cd , %cn, %h, %s" --full-history > git-history.txt

Vous pouvez aussi filtrer par auteur du commit en rajoutant l'option

--author="tykayn"

et donc:

git log --author="tykayn" --pretty=format:"%cd , %cn, %h, %s" --full-history > git-history.txt

ce qui donnerait plein de lignes comme ceci: 

Sat May 30 11:30:11 2015 +0200 , tykayn-ubuntu, 463e52c, accessoires produits

Sat May 30 11:20:45 2015 +0200 , tykayn-ubuntu, 9efab6c, footer grille 

Sat May 30 10:29:26 2015 +0200 , tykayn-ubuntu, 96f25f6, insertion de grille bootstrap dans le tpl

et si vous avez comme moi la flemme de retaper tout, créez vous un alias dans votre fichier de .bash_aliases

gedit ~/.bash_aliases

rajoutez cette ligne pour créer la commande "gitall":

alias gitall='git log --pretty=format:"%cd , %cn, %h, %s" --full-history > git-history.txt';

sauvegardez, fermez le fichier, rechargez le fichier d'alias

gedit ~/.bash_aliases

et magie, vous pourrez vous servir de la commande gitall pour créer un fichier git-history.txt attention tout de même, si un fichier git-history.txt existait avant, il sera remplacé.

vous pourrez ensuite lui appliquer des traitements plus complexes pour conquérir le monde, changer l'affichage, ranger par journée, ou tout du moins comprendre comment vous améliorer. Enjoy!

Voir mon projet sur github nommé git all contribuez zy!

générateur angular jeej

trop biennn, j'ai profité de ce jour férié pour publier mon premier package NPM, un générateur yeoman utilisant mes outils favoris. Le tout avec du readme.md, des infos et un dépot sur github (génétareur-tk). https://www.npmjs.com/package/generator-angular-jeej Voilà ce que cela comprend:

Gulp, Angular, coffeescript, jquery, bootstrap, font awesome, commitement to open source. browser sync, karma, jasmine, jslint, uglify, coverall and more.

comment utiliser le générateur angular jeej

il vous faut avoir installé yeoman de chez NPM. dans un terminal, exécutez cette commande:


$ npm i -g yo

pour lancer le générateur, placez vous dans le dossier où vous voulez avoir votre webapp, et utilisez yo.

$ yo angular-jeej

Il vous sera demandé quelques infos a inclure dans votre webapp.

Chaque fois que vous modifierez un fichier source (dans le dossier src), que ce soit un fichier .scss, .coffee, .js, ou html, ils seront recompilés dans le dossier dist, et réinjectés dans le navigateur grâce à browser sync.

$ gulp

après install, vous pouvez voir que tout a merveilleusement fonctionné, lancez gulp. rendez vous sur http://localhost:3000 et voyez le mirâaaaacle s'accomplir. dans votre console de commande vous pourrez voir aussi que j'ai déjà mis en place quelques tests chargés de vérifier qu'angular fonctionne bien avec le module et son controlleur basiques.

notez que j'ai inclus des dépendances qui ne donnent encore aucune action au niveau de gulp mais que je compte bien mettre en place, par exemple coverall. Je n'ai pas encore clairement défini si je vire la partie js dans le dossier src pour laisser la place aux fichiers coffee. je vais sans doute proposer une option lors de l'exécution du générateur. Enfin c'était un chouette défi!

Vous aussi pouvez créer votre générateur yeoman perso.

Pourquoi jeej comme nom de générateur? Parce que j'ai trop regardé de youtube poop, et que mon générateur contient du SASS. Si ça ne vous dit rien, considérez que vous avez un esprit sein dans un corset. Allez donc le tester et n'hésitez pas à me donner des conseils sur comment l'améliorer.

faites bosser internet pour vous avec "if this then that"

if this then that, abrégé IF, c'est un service fort aimable qui vous propose des tas de recette pour relier plusieurs canaux de service entre eux. Par example, vous voulez que lorsqu'un de vos clients vous appelle, vous gardiez une trace dans votre agenda de boulot de cet appel.
Si vous voulez avoir un dossier en commun entre dropbox et google drive, c'i possible.
Si lorsque vous vous approchez de votre maison votre téléphone allume le wifi et éteigne les données internet pour vous faire économiser du forfait, c'i possible.
Si vous voulez un arrière plan qui change tous les jours selon la méga photo de la NASA, c'i possible.
Ou bien, vous voulez que lorsque vous appellez le 112, un message soit envoyé à votre femme, il y a une recette pour ça.
Vous pouvez construire vos recettes comme ça.
Ils ont aussi lancé un service nommé DO. comme le verbe faire, pas la note de musique.
cela vous permet d'avoir une recette qui s'active sur demande, lorsque vous appuyez sur une icone dans votre mobile.
Par example, "dire à ma femme que je viens de partir du boulot" , ou bien "proposer à mes potes d'aller boire un coup" :D ou encore "ouvrir ma porte de garage" si vous donnez dans la domotique. c'est personnalisable à souhait comme les autres recettes
Installez IFTTT sur votre téléphone, inscrivez vous sur le site, et commencez à jouer avec les recettes.
Pour mettre en place les recettes il faut activer les canaux correspondants. Dropbox, gmail, github et bien d'autres sont des canaux à activer en se loguant.

"Oh noez, me dites vous, s'inscrire encore sur un service, mondieu mais jamais je ne me souviendrai de mon mot de passe, ou alors je vais en utiliser un seul pareil pour tous et si on le trouve je suis dans la caguade." Ou sinon vous pouvez utiliser un gestionnaire de mots de passe comme lastpass, ou 1password. vous ne passerez plus la moitié de votre temps sur internet à rechercher quel était ce foutu mot de passe. Faites travailler internet pour vous!

https://ifttt.com/recipes

transférer des fichiers en wifi direct entre son ordi et son tel android

Quelle misère que de mettre en place du wifi direct me direz vous. Y'a bien Dropbox ou google drive qui existent pour avoir des partages entre sont tel et son ordi, mais si comme moi, votre téléphone a un débit vingt fois meilleur que votre abonnement internet fixe qui est à 4.5 km du raccord au monde et que votre fournisseur n'a pas envie de faire de travaux, ça risque d'être lent du côté de l'ordi.

Mais si vous voulez du vraiment pratique pour transférer toutes vos photos de vacances ou des gros fichiers en un zip depuis votre tel à votre ordi, Wifi file transfert est super sympa. Vous installez l'appli sur votre téléphone, vous allumez le wifi, vous appuyez sur start dans l'appli et vous avez une adresse IP locale qui vous permet d'accéder aux fichiers de votre téléphone, en la recopiant dans la barre d'adresse de votre navigateur sur votre ordi. (vous pouvez mettre un accès par mot de passe dans les paramètres)
Ce qui est encore plus cool que le pôle nord c'est qu(une fois dans la page web vous pouvez sélectionner plusieurs fichiers/ dossiers et les exporter dans un zip.
vous pouvez bien sûr également envoyer des fichiers sur votre téléphone. Le tout se fera avec un débit énorme, vu que c'est du wifi.

Et si vous voulez un lien encore plus pratique entre votre ou vos ordis et votre téléphone, votre tablette, votre chat au collier bluetooth ?
J'appréciais déjà que le play store permette de lancer l'installation et la désinstallation d'applis via mon ordi, mais on peut aller encore plus loin dans la connectivité.

PushBullet vous permet de relier votre téléphone (une fois l'appli installée) a votre navigateur web via une extension Chrome ou Firefox.
Vous pouvez répondre à des sms avec votre ordi, en écrire, partager une page web sur votre tel pour la lire hors ligne quand vous aurez le temps, choisir quelles notifications vous voulez voir apparaître, transférer un MMS reçu vers votre ordi, et aussi des fichiers dans les deux sens, sur plusieurs machines (où vous aurez installé pushbullet, évidemment). c'est fort bien.
Enjoyez!

Un testament par e-mail

Vous vivez une vie fort dangereuse (par exemple vous avez des lacets à vos chaussures qui vous font vous casser la gueule et hop hop aux urgences, dédicace à Kelly ;D ) vous êtes mal réveillés et vous tombez sur les rails du métro, ou alors vous mettez vos clés dans vos poches tout en faisant de la moto avec un sac à dos et bam pouf paf pastèque vous vous prenez une carapace bleue.

Qui héritera de vos biens, quel message auriez vous aimé faire passer à vos proches, de quels mots de passe auraient ils besoin, voudriez vous rockroller musicalement vos proches à votre enterrement ? Hébien y'a pas une application pour ça mais un site web.

Vous pouvez maintenant créer un ou deux message à envoyer à vos proches grâce au Dead Man Switch. Ce site, après inscription vous demandera à intervalle via votre boite email de cliquer sur un lien pour signalez que votre heure n'est pas venu, comme le font les missionnaires. L'intervalle peut être de 45 jours ou davantage, si vous partez en vacances. le site propose une version payante à 20 dollars pour toute la viiiie. Le site vous permet aussi de faire un envoi d'essai. Enjoyez! https://www.deadmansswitch.net/

push the button des frères chimiques en cadeau.

calculez votre heure de réveil

bonne nuit les petits version pedobear

Comme la plupart des êtres humains alignés sur les horloges du monde absurde du travail, vous avez des difficultés à dormir assez longtemps pour aussi profiter de vos moments en dehors du travail.

Voici un site qui va sauver vos journées: sleepyti.me vous donne un temps optimal de sommeil en vous permettant de deviner à quelle heure vous devriez vous coucher pour vous lever à l'heure voulue.
Vous pouvez aussi chercher l'heure à laquelle vous lever en fonction de l'heure à laquelle vous vous couchez.
La plupart des humains mettent 14 minutes à s'endormir, (moi j'ai l'impression que c'est bien plus, plutôt 40 minutes) et il semblerait qu'une durée de sommeil optimale dure 5 à 6 cycles de sommeil de 90 minutes.
Après ce nombre de périodes, Il faut idéalement se réveiller entre deux cycles de sommeil pour se sentir frais et alerte.

Bonne nuit :D

un datepicker dans un formulaire symfony2

de base les formulaires symfony fournissent des sélecteurs pour choisir nos dates. pas besoin de jquery ou d'un bundle entier pour avoir des datepicker en HTML5, il suffit de définir les options du champ de formulaire avec un widget de single_text, de mettre le format de date en année-mois-jour, et de définir l'attribut type d'input à "date".

// ajouter un usage use Symfony\Component\Form\Extension\Core\Type\DateType; // déclaration de classe FactureType pour l'exemple class FactureType extends AbstractType { // dans le constructeur de form on ajoute notre champ /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) { $builder // ... dans le builder de votre formulaire ->add('paid_date', DateType::class, ['widget' => 'single_text', 'format' => 'yyyy-MM-dd', 'attr' => [ 'type' => 'datetime']])

enjoyez!

whatis love

Si dans un terminal unix vous écrivez whatis love, vous saurez ce qu'est l'amour. 

whatis love
baby don't hurt me, don't hurt me, no more.

Bizarrement, quand je rentre la commande dans un shell, j'ai comme retour:

love : rien d'adéquat

Joyeux poissons d'avril.

les dates importantes de votre vie

miam des dates! vous imaginez que votre date de naissance est la seule que vous pourriez retenir?
Que nenni, l'expérience JS du jour vous permet d'estimer aussi la date de votre mort selon les chiffres de l'insee, et d'autres choses étonnantes.
Saviez vous que vous avez gagné votre premier milliard de secondes en seulement 11 jours?
Votre millième semaine débutera avant ou après votre dix millième jour?
Quel était le jour de la semaine où vous êtes nés?

Définissez votre date de naissance et soyez carrément émerveillé par ces quelques dates de votre vie dont vous ne soupçonniez pas l'existence!
http://artlemoine.com/dates-de-vie

du PHP sexiste

à quoi ça peut bien ressembler du code sexiste? C'est possible, j'en ai fait un tuto pour la journée des droits des femmes 2015. Allez voir par ici sur le tykayn blog.

les 24h de la BD et autres évènements ont leur planning

l'expérience JS du jour c'est de donner la possibilité aux particpants des 24hBD, des 23hBD, des 12hBD et de tous les plannings similaires de mesurer le temps qu'il leur reste dans leurs projets. http://artlemoine.com/24hbd il suffit de donner le nombre de pages que vous avez fait dans l'encadré vert (on peut changer avec les flèches du clavier) et le planning se met à jour en vous précisant si vous êtes dans les temps ou si vous êtes en retard. vous pouvez changer la date et l'heure de début, ou de fin de l'épreuve. l'autre date se changera automatiquement en fonction de la durée de l'épreuve spécifiée en jours et en heures entre deux. Enjoyez!

- page 2 de 6 -