Côté GEEK › How-to, astuces et tutoriels

Fil des billets - Fil des commentaires

samedi 20 février 2016

Réalisation d'un hologramme 3D avec son smartphone

Vous avez peut-être vu passer la news sur internet, il est possible de recréer une image holographique en 3D avec son smartphone. Bon, ce n'est pas réellement un hologramme 3D puisque l'image est reconstituée via des images 2D. Mais l'effet est bluffant et la réalisation simple.

hologram3d.jpg

Pour que cet hologramme puisse fonctionner correctement, un format de vidéo spécial, le Holho 4 faces Pyramid est nécessaire. Ce type de vidéo propose quatre angles différents d'une même image, condition indispensable pour créer un hologramme 3D parfait.

Le Youtubeur Mrwhosetheboss, spécialisé dans les nouvelles technologies, a mis en ligne un mode d’emploi pour pouvoir réaliser soi-même un hologramme 3D avec n’importe quel smartphone à partir d'une boîte de CD en plastique transparente Il suffit de suivre les différentes étapes de la vidéo et le tour est joué.

Tweet

tweet200220161536_hologram3d.png

Pour en savoir plus:

dimanche 22 février 2015

Installer l'IDE Arduino sur CentOS 7

Voici comment installer l'IDE Arduino sur CentOS 7

Prérequis

Vous avez besoin :

  1. d'une platine Arduino
  2. d'un cable USB
  3. de l'IDE Arduino (téléchargeable ici ==> http://arduino.cc/en/Main/Software)

Installation de l'IDE Arduino

Après avoir téléchargé le package Arduino 1.x.x en version 32 ou 64 bit, décompressez l'archive téléchargée. Ensuite, copiez le dossier arduino-1.x.x dans /usr/local/arduino ou /opt/arduino

sudo cp -R ~/Téléchargements/arduino-1.x.x /opt

Branchez votre platine Arduino au port USB de votre choix et lancez la commande dmesg | tail pour savoir sur quel port série, la communication se fera.

Par exemple, pour un Arduino Duemilanove, c'est le port ttyUSB0 Capture_arduino2009_dmesg.png

Par exemple, pour un Arduino Uno, c'est le port ttyACM0 Capture_arduinoUno_dmesg.png

Pour lancer l'IDE, tapez la commande /opt/ardiuno-1.x.x/arduino ou cliquez sur un raccourci. La fenêtre suivante s'ouvre : IDE Arduino 1.6.0

Comme vous pouvez le voir, la sélection du port série, sur lequel est relié la platine Ardiuno, est désactivé. En fonction de la version de la platine connectée, vous devrez choisir entre /dev/ttyUSBX ou /dev/ttyACMX.

Configuration

Voyons la configuration à modifier pour permettre l’accès en lecture/écriture sur le port série.

Ajouter les droits aux utilisateurs

Ajoutez les utilisateurs aux groupes uucp, dialout et lock avec la commande usermod -a -G uucp,lock,dialout nom_user ou via le gestionnaire d'utilisateurs (system-config-users).

Modifier le fichier de configuration du systemd-tmpfiles

Premièrement, copiez le fichier legacy.conf dans /etc/ avec la commande cp /usr/lib/tmpfiles.d/legacy.conf /etc/tmpfiles.d/.

Deuxièmement, modifiez le fichier copié nano /etc/tmpfiles.d/legacy.conf en changeant la ligne (dans mon cas, la ligne n°13) d /run/lock 0775 root root – par d /run/lock 0775 root lock –.

Modifier les permissions des répertoires lock

Modifiez les permissions de /run/lock et /var/lock avec respectivement les commandes suivantes : chmod o+rwx /run/lock et chmod o+rwx /var/lock

Lancement de l'IDE Arduino

Rebootez votre système pour que l'ensemble des paramètres soit pris en compte.

Branchez votre platine Arduino et relancez l'IDE Arduino. Vous devriez pouvoir modifier le port de communication. Capture_arduinoUno_port.png ou Capture_arduino2009_port.png

Ensuite, faites un test en téléversant le sketch Blink (Fichier>Exemples>01.Basics>Blink) dans la platine Arduino.

Pour en savoir plus :

lundi 20 mai 2013

Mettez de la couleur dans votre prompt Bash

Il y a 2 ans, j'avais rédiger un article sur la modification du prompt Bash pour différencier l'utilisateur standard et l'utilisateur root (cf. Différencier le compte root dans votre terminal). Voici une petite mise à jour :

Créer votre variable PS1

Dorénavant, il existe le site .bashrc generator permettant de générer sa variable PS1 de manière plus conviviale grâce au drag and drop.

bashrc generator

Y voir plus clair

Pour rappel, la mise en couleur des paramètres se fait grâce à une série de code qui peut ressembler à ça : [\e[1;31m] ou [\e[33m].

Remarque : [01;31m est de type [couleur de fond;couleur du textem

Afin d'y voir plus clair dans tout ces codes, vous pouvez rajouter les lignes suivantes dans votre fichier .bashrc :

## Couleurs pour le prompt
DEFAULT="[\e[00m]"
BLACK="[\e[30m]"
RED="[\e[31m]"
GREEN="[\e[32m]"
ORANGE="[\e[33m]"
BLUE="[\e[34m]"
MAGENTA="[\e[35m]"
CYAN="[\e[36m]"
WHITE="[\e[37m]"
## Effets de texte (défaut, gras, souligné)
export DEF="\e[0;0m"
export BOLD="\e[1m"
export UNDER="\e[4m"

Du coup, votre prompt pourra s'écrire d'un manière plus lisible, comme par exemple : PS1="$GREEN\u@\h$CYAN:\w$ORANGE\$ $DEFAULT"

Note: certains shell n'acceptent pas \e comme caractère d'échappement. Il faut utiliser \033 à la place. Par exemple [\033[01;31m] au lieu de [\e[01;31m].

mardi 10 janvier 2012

Mettre le cache de Firefox en RAM

Cette astuce n'est pas récente, mais est toujours utile, surtout que maintenant beaucoup d'ordinateurs fixes sont fournit avec 4 Go de mémoire vive (RAM) par défaut.

La mise en cache de tout partie du profil de Firefox vers la RAM en utilisant le système de fichiers tmpfs offre des avantages significatifs. Même si en optant pour la voie d'une amélioration partielle est par elle-même, ce dernier peut rendre Firefox encore plus réactif par rapport à sa configuration d'origine. Les avantages comprennent, entre autres:

  • un accès aux disques réduits en lecture/écriture (idéal pour les SSD)
  • une réaction plus rapide du navigateur
  • de nombreuses opérations au sein de Firefox, comme la recherche rapide et requêtes histoire, deviennent presque instantanées

Le principe est d'utiliser le périphérique /dev/shm, un répertoire qui se comporte exactement comme un systèmes de fichiers montés, à l'exception notable que tout son contenu est stocké dans la RAM.

Vérifier que /dev/shm est monté

Dans un terminal, lancé la commande df -h : df -h

La commande df (disk free) affiche la quantité d'espace occupé des systèmes de fichiers. L'option -h ajoute à chaque valeur une lettre comme M pour méga-octet, afin d'améliorer la lisibilité.

Sur mon système, on peut voir que /dev/shm est bien monté et que c'est un système de fichier en mémoire virtuelle (tmpfs).

Modifier la configuration de Firefox

Pour changer la destination du répertoire de cache disque de Firefox, il faut modifier la configuration. Pour cela, saisissez dans la barre d'adresse la commande about:config.

Une fois dans l'éditeur de configuration, recherchez la clé browser.cache.disk.parent_directory grâce au champ filtre

Si elle n'existe pas, créez la en faisant un clic droit dans la fenêtre. Un menu contextuel s'affiche, sélectionnez Nouvelle puis Chaînes de caractère. Remplissez les 2 fenêtres suivantes avec ces paramètres :

  • Nom de l'option : browser.cache.disk.parent_directory
  • Valeur de l'option : /dev/shm/firefox-cache

Lors du redémarrage de Firefox, il va commencer l'utilisation de /dev/shm/firefox-cache comme le répertoire de cache.

Ayez à l'esprit que le répertoire et son contenu ne seront pas sauvegarder après un redémarrage en utilisant cette méthode.

Vérifier la prise en compte

Pour contrôler que l'option à bien été prise en compte, saisissez dans la barre d'adresse de Firefox la commande about:cache. Dans la section Disk cache device, vous deviez retrouver le répertoire de cache ainsi défini à la ligne Cache Directory:.

dimanche 28 août 2011

14 façons de générer un mot de passe aléatoire en ligne de commande

Ceci est une compilation de commandes trouvées sur le site commandlinefu.com qui soit dit en passant est un très bons site pour trouver des scripts BASH tout fait.

Le but est de pouvoir générer des mots de passe complexes grâce à différentes fonctions.

Un bon moyen de comprendre le fonctionnement de chaque fonction est d’exécuter les instructions d'une méthode au fur et à mesure en la décomposant.

En utilisant la date

On calcule le MD5 grâce à la date :

date | md5sum

Pour plus de choix, on peut passer la date en nanoseconde :

date +”%N” | md5sum

Cette méthode est un peux plus complexe, car on utilise la date en seconde, avec laquelle on calcule sont SHA256 que l'on transforme en base 64 et l'on affiche que les 32 premiers caractères :

date +%s | sha256sum | base64 | head -c 32 ; echo

En utilisant la fonctionnalité /dev/urandom

Il s'agit d'utiliser une fonctionnalité intégrée au noyau Linux qui est le périphériques générateurs aléatoires du noyau.

man random (Fichiers spéciaux) - Périphériques générateurs aléatoires du noyau.
NOM : random, urandom - Périphériques générateurs aléatoires du noyau.
DESCRIPTION: Les fichiers spéciaux caractères /dev/random et /dev/urandom (existants depuis Linux 1.3.30) fournissent une interface avec le générateur de nombres aléatoires du noyau.

Le fichier /dev/random a un numéro de périphérique majeur égal à 1, et un numéro mineur égal à 8. Les numéros du périphérique /dev/urandom sont 1 pour le majeur, et 9 pour le mineur.

Le générateur de nombres aléatoires regroupe du bruit provenant de son environnement par l'intermédiaire des pilotes de périphériques et d'autres sources, et le stocke dans un réservoir d'entropie. Le générateur mémorise également une estimation du nombre de bits de bruit dans son réservoir d'entropie, et utilise son contenu pour créer des nombres aléatoires.

Lors d'une lecture, le périphérique /dev/random sera limité au nombre de bits de bruit contenus dans le réservoir d'entropie.

/dev/random est particulièrement adapté pour les cas où l'on a ponctuellement besoin de nombres hautement aléatoires (création de clés par exemple). Lorsque le réservoir d'entropie est vide, les lectures depuis le périphérique /dev/random seront bloquantes jusqu'à l'obtention de suffisamment de bruit en provenance de l'environnement.

Lors d'une lecture, /dev/urandom renverra autant d'octets qu'on en demande. Toutefois, s'il n'y a plus assez de bits disponibles dans le réservoir d'entropie, les valeurs renvoyées pourraient être théoriquement vulnérables à une cryptanalyse basée sur l'algorithme employé par le pilote. Il n'existe pas de documentation sur ce type d'attaque dans la littérature publique actuelle, mais cela n'élimine pas le risque théorique. Si ce risque est important pour votre application, utilisez plutôt /dev/random à la place.

Attention : ne pas oublier le caractère "<" devant /dev/urandom sinon cela générera une erreur "bash: /dev/urandom: Permission non accordée"

Cette méthode utilise la fonction tr pour éliminer les caractères de la fonction aléatoire qui n'appartiennent pas au groupe "_A-Z-a-z-0-9" et en affiche les 10 premiers caractères (grâce à la commande head :

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c10;echo;

ou celle ci qui affiche les 32 premiers caratères :

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;

Cette méthode reprend la fonction tr pour n'afficher que les caractères alphanumériques, sur une seul colonne de 30 caractères (grâce à la fonction fold), et affiche la première ligne (grâce à la fonction head) :

tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1

Cette méthode renvoie les 30 premiers caractères (fonction head) sous forme d'une ligne (fonction tr) de la sortie grep qui filtre les caractères alphanumériques issues de l'entrée de la fonction strings qui n'affiche que les caractères imprimables de la fonction aléatoire :

strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo

Ces 2 méthodes équivalentes permettent de créer un mot de passe de 8 caractères (fonction head) choisit parmi le motif donné à la fonction tr et qui n'est à taper qu'avec la main gauche sur un clavier QWERTY :

</dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c8; echo ""

ou avec un clavier AZERTY :

</dev/urandom tr -dc '12345&é(azertAZERTqsdfgQSDFGwxcvbWXCVB' | head -c8; echo ""

En utilisant la fonction openssl

L'option rand de la fonction openssl permet de générer un mot de passe aléatoire de 32 caractères en base64.

openssl rand -base64 32

En utilisant la fonction gpg

L'option --gen-random de la fonction gpg permet de générer un mot de passe aléatoire de 30 caractères en base64 (option --armor) avec moins ou plus de qualité (argument 0|1|2) dans l'entropie.

gpg --gen-random --armor 1 30

En utilisant le dictionnaire intégré

Ces méthodes permettent de générer un mot de passe XKCD formé des 4 mots pris dans le dictionnaire partagé de Linux.

Voici ce qu'est un mot de passe XKCD :

shuf -n4 /usr/share/dict/words | tr -d '\n'
RANGE=`wc -l /usr/share/dict/words | sed 's/^\([0-9]*\) .*$/\1/'`; for i in {1..4}; do let "N = $RANDOM % $RANGE"; sed -n -e "${N}p" /usr/share/dict/words | tr -d '\n'; done; RANGE=100; let "N = $RANDOM % $RANGE"; echo $N

En utilisant le paquet pwgen

Ce paquet est disponible dans toutes les bonne distribution ou sur le site web officiel du projet http://pwgen.sourceforge.net/

Voici comment générer 1 mot de passe de 30 caractères :

pwgen 30 1

mardi 26 juillet 2011

Différencier le compte root dans votre terminal

Si comme moi, vous voulez différencier le compte root lorsque vous êtes sur la console, il suffit de modifier la couleur du prompt de l'utilisateur root. capture compte root couleur

Le schéma du prompt d'un utilisateur est stocké dans la variable PS1 dans le fichier .bashrc. Vous pouvez interroger cette variable en tapant la commande suivant : echo $PS1. Par défaut, vous obtenez la réponse suivante : \u@\h \W\$.

Voici à quoi correspond la chaine ci-dessus :

  • \u : Nom de l'utilisateur (dans ce cas 'mathieu' ou 'root'. L'interpréteur original à aussi \h qui affiche le nom du domaine (soit 'FIXEMATH').
  • \W : désigne la position relative actuelle. Pour la position absolue actuelle, utilisez \w.
  • \$ : Le caractère de l’interpréteur ('#' pour root et '$' pour les utilisateurs standards).

Maintenant pour changer la couleur du prompt de l'utilisateur root, il suffit de suivre les instructions suivantes :

  • ouvrez le fichier .bashrc sous le compte root avec la commande : nano .bashrc
  • ajoutez la ligne suivante : PS1='[\e1;31m][\u@\h \W\$[\e[0m] '
  • enregistrez le fichier et reconnectez-vous en root pour prendre en compte les modifications.
Pour en savoir plus :

Propulsé par Dotclear

Sauf mention contraire, les contenus de ce site sont publiés selon les termes de la Licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International.
Licence Creative Commons I love Free Software!