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

Si vous aimez ce que nous faisons à Cipher Bliss, vous pouvez nous soutenir de plusieurs façons: en faisant un micro don sur liberapay , ou en cryptomonnaies. Le plus simple nous pour nous faire connaître étant de partager cet article.
Suivez moi sur Mastodon @tykayn@mastodon.cipherbliss.com.
Ce site restera libre comme un gnou dans la nature et sans pubs, parce qu'on vous aime. Que la source soit avec vous!

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!

Si vous aimez ce que nous faisons à Cipher Bliss, vous pouvez nous soutenir de plusieurs façons: en faisant un micro don sur liberapay , ou en cryptomonnaies. Le plus simple nous pour nous faire connaître étant de partager cet article.
Suivez moi sur Mastodon @tykayn@mastodon.cipherbliss.com.
Ce site restera libre comme un gnou dans la nature et sans pubs, parce qu'on vous aime. Que la source soit avec vous!

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!

Si vous aimez ce que nous faisons à Cipher Bliss, vous pouvez nous soutenir de plusieurs façons: en faisant un micro don sur liberapay , ou en cryptomonnaies. Le plus simple nous pour nous faire connaître étant de partager cet article.
Suivez moi sur Mastodon @tykayn@mastodon.cipherbliss.com.
Ce site restera libre comme un gnou dans la nature et sans pubs, parce qu'on vous aime. Que la source soit avec vous!

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.

Si vous aimez ce que nous faisons à Cipher Bliss, vous pouvez nous soutenir de plusieurs façons: en faisant un micro don sur liberapay , ou en cryptomonnaies. Le plus simple nous pour nous faire connaître étant de partager cet article.
Suivez moi sur Mastodon @tykayn@mastodon.cipherbliss.com.
Ce site restera libre comme un gnou dans la nature et sans pubs, parce qu'on vous aime. Que la source soit avec vous!

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.

Si vous aimez ce que nous faisons à Cipher Bliss, vous pouvez nous soutenir de plusieurs façons: en faisant un micro don sur liberapay , ou en cryptomonnaies. Le plus simple nous pour nous faire connaître étant de partager cet article.
Suivez moi sur Mastodon @tykayn@mastodon.cipherbliss.com.
Ce site restera libre comme un gnou dans la nature et sans pubs, parce qu'on vous aime. Que la source soit avec vous!

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 » 😀 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

Si vous aimez ce que nous faisons à Cipher Bliss, vous pouvez nous soutenir de plusieurs façons: en faisant un micro don sur liberapay , ou en cryptomonnaies. Le plus simple nous pour nous faire connaître étant de partager cet article.
Suivez moi sur Mastodon @tykayn@mastodon.cipherbliss.com.
Ce site restera libre comme un gnou dans la nature et sans pubs, parce qu'on vous aime. Que la source soit avec vous!

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!

Si vous aimez ce que nous faisons à Cipher Bliss, vous pouvez nous soutenir de plusieurs façons: en faisant un micro don sur liberapay , ou en cryptomonnaies. Le plus simple nous pour nous faire connaître étant de partager cet article.
Suivez moi sur Mastodon @tykayn@mastodon.cipherbliss.com.
Ce site restera libre comme un gnou dans la nature et sans pubs, parce qu'on vous aime. Que la source soit avec vous!

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.

Si vous aimez ce que nous faisons à Cipher Bliss, vous pouvez nous soutenir de plusieurs façons: en faisant un micro don sur liberapay , ou en cryptomonnaies. Le plus simple nous pour nous faire connaître étant de partager cet article.
Suivez moi sur Mastodon @tykayn@mastodon.cipherbliss.com.
Ce site restera libre comme un gnou dans la nature et sans pubs, parce qu'on vous aime. Que la source soit avec vous!

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 😀

Si vous aimez ce que nous faisons à Cipher Bliss, vous pouvez nous soutenir de plusieurs façons: en faisant un micro don sur liberapay , ou en cryptomonnaies. Le plus simple nous pour nous faire connaître étant de partager cet article.
Suivez moi sur Mastodon @tykayn@mastodon.cipherbliss.com.
Ce site restera libre comme un gnou dans la nature et sans pubs, parce qu'on vous aime. Que la source soit avec vous!

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!

Si vous aimez ce que nous faisons à Cipher Bliss, vous pouvez nous soutenir de plusieurs façons: en faisant un micro don sur liberapay , ou en cryptomonnaies. Le plus simple nous pour nous faire connaître étant de partager cet article.
Suivez moi sur Mastodon @tykayn@mastodon.cipherbliss.com.
Ce site restera libre comme un gnou dans la nature et sans pubs, parce qu'on vous aime. Que la source soit avec vous!