Cipher Bliss

jeudi 2 juillet 2015

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/

vendredi 26 juin 2015

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

mercredi 17 juin 2015

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!