Des commentaires efficaces

Posté le lun. 12 octobre 2015 • Tags : commentaire, code, efficace

Dans mes fichiers de test j'utilise souvent des commentaires pour tester qu'une fonctionnalité de code.

Par exemple pour tester une api :

// Obtenir le livre #1
api_get('books/1');

// Ajouter un livre
api_add('books', $datas);

Je test généralement chaque élément séparement.

Pour tester la première portion de mon code :

//* Obtenir le livre #1
api_get('books/1');
//*/

/* Ajouter un livre
api_add('books', $datas);
//*/

Pour tester la seconde portion de mon code :

/* Obtenir le livre #1
api_get('books/1');
//*/

//* Ajouter un livre
api_add('books', $datas);
//*/

Il me suffit d'ajouter ou d'enlever un slash sur le premier commentaire pour commenter ou non tout le bloc.

Ce n'est pas forcément très lisible donc je fais ça uniquement pour mes tests.


Mettre à jour Gentoo

Posté le dim. 27 septembre 2015 • Tags : update, mise à jour, gentoo, eix, emerge

Pour mettre à jour Gentoo j'utilise différentes commandes.

Dans un premier temps je fais la mise à jour d'eix :

eix-sync

Ensuite :

emerge -pvuDN world

-p ou --pretend, permet d'afficher ce qui sera mis à jour. Affiche également les différents flags (N = new (not yet installed), U = updating (to another version) etc…) -v ou --verbose, mode verbeux. -u ou --update, met à jour les programmes dans la meilleur version disponible. -D ou --deep, met à jour les dépendances des programmes si nécessaire. -N ou --newuse, met à jour les programmes dont le "USE" a été modifié depuis son installation.

Une fois la liste des programmes et ses modifications vérifiée nous pouvons lancer la mise à jour :

emerge -vuDN world

Compilation Kernel Gentoo

Posté le dim. 06 septembre 2015 • Tags : compilation, kernel, gentoo

Pour compiler le kernel sous gentoo :

cd /usr/src/linux

make menuconfig

make && make modules_install

make install

Le kernel est maintenant compilé.

Maintenant il faut mettre à jour grub. :

grub2-mkconfig -o /boot/grub/grub.cfg

Puis lancer uname -a qui affiche le kernel actuellement utilisé ainsi que le nombre de compilation.

Il faut maintenant redémarrer la machine :

reboot

Au final vérifier avec uname -a si le bon kernel est chargé.


Compression Décompression tar.gz tar.bz2 tar.xz

Posté le dim. 30 août 2015 • Tags : tar.gz, tar.bz2, tar.xz, tar, gz, gzip, bz2, xz, lzma

J'ai toujours du mal pour décompresser un fichier de type "tar.bz2" ou "tar.xz". Je n'ai pas encore trouvé le moyen de me souvenir de la syntaxe…

tar.gz

Pour les fichiers tar.gz j'arrive parfaitement à compresser ou décompresser ce format exemple :

On compresse avec :

tar -cvzf archive.tar.gz dossier_a_compresser/

On décompresse avec :

tar -xvzf archive.tar.gz

Il suffit de retenir :

-c comme compression / "x" comme eXtract ou eXtraction. -v pour le mode verbeux. -z pour le "gzip" d'ou le ".gz". -f pour spécifier le fichier.

tar.bz2

Pour les tar.bz2 je ne sais JAMAIS qu'il faut remplacer "z" de gizip par "j" de Bzip… (la lettre "b" étant sans doute utilisé avant que le bzip n'apparaisse). L'alternative est d'utiliser "--bzip"

On compresse avec :

tar -cvjf archive.tar.bz2 dossier_a_compresser/

Ou :

tar --bzip2 -cvf archive.tar.bz2 dossier_a_compresser/

On décompresse avec :

tar -xvjf archive.tar.bz2

Ou :

tar --bzip2 -xvf archive.tar.bz2

tar.xz

Pour ce qui est de Lzma ou le tar.xz c'est un "J" majuscule cette fois ou d'utiliser "--xz".

On compresse avec :

tar -cvJf archive.tar.xz dossier_a_compresser/

Ou :

tar --xz -cvf archive.tar.xz dossier_a_compresser/

On décompresse avec :

tar -xvJf archive.tar.xz

Ou :

tar --xz -xvf archive.tar.xz

Suppression des branches distantes inexistantes

Posté le mar. 25 août 2015 • Tags : git, branch, remote, prune, origin

Lors d'un developpement j'ai créé une branche "add_namespace" qui m'a permis d'ajouté des namespaces a différents fichiers PHP.

Une fois la modification faite j'ai envoyé ma branche sur l'origin, en faisant un "pull request" (github) ou "merge request" (gitlab).

Un autre développeur a accepté mon pull request (il a donc mergé la branche) et a supprimé ma branche de l'origine.

Sur mon environnement je vois toujours cette branche.

git branch -a

* master

remote/origin/HEAD -> origin/master

remote/origin/add_namespace

remote/origin/master

Pour pouvoir effacer cette branche dans le remote, il suffit de tapper la commande :

git remote prune origin

Élimination de origin

URL : git@git.mondomain.com:mondepot.git

* [éliminé] origin/add_namespace

Maintenant, vérifions que tout est propre :

git branch -a

* master

remote/origin/HEAD -> origin/master

remote/origin/master


Migration de Tumblr à Pelican

Posté le jeu. 20 août 2015 • Tags : tumblr, migration, pelican, site, static, python

J'ai testé pelican, lors de mon voyage à Bruxelles en Thalys le 15 Août 2014. Depuis cette date je n'avais pas pris le temps de m'occuper de la migration de mon blog de tumblr vers pelican.

Pelican est un générateur de site statique, il est pratique pour la gestion des articles tel que mon blog.

Il suffit de créer un fichier texte avec le contenu de l'article et l'envoyer sur github pour que celui-ci soit publié.


Touche pour sortir sa machine de veille

Posté le sam. 08 août 2015 • Tags : touche, sortie, veille, ordinateur, shift, clavier

Il y a quelques années, pour sortir ma machine de veille j'utilisais la touche "enter" ou "escape".

Ce qui fonctionne mais, si vous êtes dans un programme d'installation qui demande une confirmation (formater tout le disque par exemple), en appuyant sur "enter" vous allez confirmer le formatage…

Avec la touche escape vous allez généralement annuler l'action que l'on vous propose.

Même problème avec toutes les autres touches : "espace" qui confirme généralement, "o" pour "oui", "y" pour "yes", "n" pour "no" ou "non", ou une quantité "1", "2", ou toute autre lettre défini tel que "a" pour "annuler", "c" pour "cancel"…

Bref la seule touche que j'utilise pour sortir mon ordinateur de veille est "shift". Que ça soit le "shift" droit ou gauche il ne fais jamais d'action spécifique à ma connaissance ;-)


Récupérer le master depuis le remote origin avec git

Posté le ven. 07 août 2015 • Tags : git, origin, remote, master, branch, checkout, track

Dans certains projets j’utilise git avec plusieurs remote, par exemple :

  • un remote “origin” se trouve sur un serveur perso.
  • un remote “github” qui lui est sur github.com.

Quand je vais sur le master il m’arrive d’avoir ce message :

"your branch is up-to-date with “github/master”."

Je préfèrerai que ma branche soit à jour avec mon origin/master et non github/master.

La solution que j’ai trouvé est la suivante :

  1. supprimer ma branche master locale :

    git branch -d master
    
  2. récupèrer mon master depuis le remote origin :

    git checkout -t -b master origin/master
    

Pour info :

-t ou --track pour rattacher à l’origin/master

-b pour créer ma nouvelle branche “master”

Plus d’info avec man git-checkout ;-)


Gentoo utilisation de layman & eix

Posté le dim. 19 juillet 2015 • Tags : dépôt, repos, layman, eix, emerge, gentoo, vagrant-bin, overlay

Certains programmes n’étant pas en dernière version dans les dépôts gentoo l’utilisation de layman peut faciliter la vie.

Étant à la recherche de vagrant, la seule version disponible à ce jour sur gentoo est vagrant-1.4.3-r2… En allant sur le site officiel de vagrant je me rend compte que nous sommes à la version 1.7.3.

J’ai donc trouvé un overlay avec vagrant-bin version 1.7.3 : http://gpo.zugaina.org/app-emulation/vagrant-bin

Pour utiliser cette overlay nous avons besoin de layman.

Installation :

emerge -a layman

echo "source /usr/portage/local/layman/make.conf" >> /etc/make.conf

Pour afficher tous les overlays disponible :

layman -L

Ajouter l’overlay stefantalpalaru (dans lequel nous avons vagrant-bin-1.7.3) :

layman -f -a stefantalpalaru

Maintenant si on recherche dans eix “vagrant” rien n’a changé.

Il faut mettre à jour eix :

eix-update

Maintenant avec eix vagrant nous avons la ligne vagrant-bin et donc nous pouvons installer vagrant-1.7.3 via emerge.


Ma config : Clevo w650sz i7 4910MQ

Posté le sam. 18 juillet 2015 • Tags : clevo, clevo w650, kernel, ethernet, realtek, audio, hdaudio, achat, i7 4910MQ, mSata

Ayant vendu mon Macbook Air 13" il y a quelques mois, j'ai pris le temps de comparer les différents portables. La marque Taïwanaise "clevo" propose des machines avec ou sans OS (gain d'une centaine d'euros pour Windows).

J'ai donc commandé chez Anyware un w650sz avec un i7 4910MQ (qui a un score sur cpubenchmark plutôt remarquable).

Je l'ai commandé sans ram, sans disque dur, avec un rack pour disque dur à la place d'un graveur dvd ou autre cd, sans extension de garanti pour un peu moins de 1000€ (j'ai bénéficié d'une réduction de 5% et des frais de port gratuit). J'ai commandé mes barrettes de ram et mon mSata ailleurs, car les marques en stock ne me plaisaient pas. Note l'équipe de Anyware est bien sympa (ils ont enlevé les 2Go de ram qui m'étaient inutiles donc non facturé) Plutôt que payer 2Go de ram et ne jamais les utiliser… J'ai donc ajouté 2 barrettes de 8Go ainsi qu'un mSata de 128Go pour un peu moins de 200€.

J'ai utilisé cette machine 2 jours, pour l'instant et elle est parfaite pour mon utilisation. L'écran 1080p sur un 15" est appréciable, avec mon iiyama 27" j'ai un dualscreen en 2x1080p ce qui est mieux que ma config précédente avec un écran en 1080p et l'autre avec une résolution moindre…

Pour la compilation de chrome qui prenait 2/3h à elle seule sur mon ancien laptop, en 45mn c'était fait avec d'autres grosses applications tel que gimp ou darktable…

Pour l'instant rien a redire sur cette machine.

Voici les modules a activer dans le noyau pour le réseau et le son :

Realtek 8169 gigabit ethernet support
Build Analog Device HD-audio codec support