jeudi 12 décembre 2013

Crayon électronique: apen A3


Le apen A3 est un crayon électronique. Il permet de sauvegarder tout ce qui est écrit avec le crayon.



Le tout est composé de plastique de piètre qualité. Le crayon est léger et agréable à utiliser. La base possède une clip pour s'accrocher à du papier. Je n'ai pas eu le temps de la clipper à une feuille qu'elle était brisé. Je dois maintenant la mettre sur le haut de la feuille pour que le tout fonctionne.

Le logiciel fourni supporte Windows et Mac. Un logiciel non officiel est disponible sous Linux, il s'agit de Pegasus Scribble. Il n'est pas évident à compiler.  Dans le fichier makefile, j'ai dû ajouter à la variable PEGASUS_LIBS la valeur -lX11, autrement la compilation échouait sous Suse 12.3 64bits.

Il faut installer ces packages pour compiler l'application

  • gcc
  • libgthread
  • libpoppler-glib-devel
  • gtk2-devel
  • libusb-1_0-devel


Le projet n'est pas très actif.

J'ai pu télécharger les fichiers du crayon électronique vers ma machine grâce à ce logiciel.
Cependant, les fichiers ps n'étaient pas lisibles et la conversion vers un autre format a toujours échoué. Si vous parvenez à lire les fichiers, n'hésitez pas à me le faire savoir.

J'ai donc dû utiliser le Windows pour être en mesure de télécharger les fichiers créés.

Le produit manque un peu de précision comme vous pouvez le constater. Il faut faire attention de ne pas bloquer le capteur sur la base. Il faut soigner son écriture et écrire le plus clairement possible afin d'obtenir de bon résultat.


Feuille originale



Fichier généré




J'ai pu acheter ce produit sur ebay pour moins de 40$, il était neuf. La tablette adessos cyberpad est beaucoup plus précise, mais plus cher en neuf et plus lourde. Il est cependant possible de la retrouver sur des sites d'annonces classées.

samedi 2 novembre 2013

Adesso CyberPad et linux


Adesso CyberPad permet de prendre des notes sur du papier standard et de tout sauvegarder numériquement.




Cette tablette peut être branchée sur l'ordinateur et agir comme une souris.
la commande lsusb a retournée pour cette tablette

Bus 003 Device 015: ID 172f:0022 Waltop International Corp. Tablet

J'ai été en mesure de faire des cliques, double cliques, mais le curseur de la souris ne bougeait pas.

Linux détecte aussi la mémoire de la tablette et permet ainsi d'avoir accès au fichier qui s'y trouve. Autrement, une carte mémoire peut être utilisé.

Les fichiers générés sont au format top. Différents logiciels existent pour convertir ces fichiers sous Linux.

Cet outil en python convertit les fichiers  top en format svg. 

Cet outil graphique permet de convertir les fichiers top en format svg, PDF et différents types d'images.
https://github.com/vectorpen/vectorpen




Si vous désirez convertir les notes prises en format texte, différents OCR existent

Prenez les paquets disponibles de votre distribution.

samedi 14 septembre 2013

Suse Studio, créer sa distribution

SUSE Studio permet de créer une image système de SUSE selon différent paramètre.
Nous allons voir chaque étape pour en générer une.

Écran d'accueil

Cet écran présente les images déjà créées
Il faut cliquer sur Create new applicane afin de générer une nouvelle image.


Base d'openSUSE

La base de votre distribution est sélectionnée dans cet écran. La version la plus récente ainsi que sa version antérieure sont disponible en version openSUSE et SUSE Linux Enterprise. Pour chacune d'elle il est possible de choisir une base kde, gnome, server, X allégé ainsi que Just enough OS. Cette dernière correspond au minimim afin que SUSE puisse fonctionner.

L'architecture 32 bits et 64 bits sont disponible.

Un nom pour l'image doit être donné.



Le nom de l'image ainsi que la taille est affiché en haut à gauche de chaque page.



Choix logiciel

La base sélectionnée a un impact sur la liste des packages sélectionnés. Il est bien sûr possible dans ajouter de nouveau. Il suffit de cliquer sur une catégorie ou bien de lancer une recherche.

Il est aussi possible d'ajouter des dépôts (repositories) afin d'accès à encore plus de logiciels ou bien d'avoir des versions plus à jour.



En cliquant par exemple sur l'icône Office on obtient
Il est alors possible d'installer libreoffice, calibra.



Configuration

Cet écran entame la configuration de l'image. La langue, disposition du clavier, date, réseau ainsi que les utilisateurs et groupe peut être modifié au besoin.



La sélection de logo et fond d'écran pour le démarrage, la console et la connexion peuvent être altérées. Il est
est possible d'utiliser vos images.


Démarrage 

Le prochain écran permet de sélectionner le mode de démarrage par défaut du système.



Base de données

L'envoi d'un dump de votre base de données PostgreSQL et MySQL ainsi que l'ajout des utilisateurs se réalise sur cet écran.



Vous pouvez spécifier si la distribution doit démarrer sur un compte utilisateur en particulier. Le démarrage de programme automatique peut aussi être configuré.



Il est question de spécifier les paramètres de la mémoire vive et l'espace disque pour des machines virtuelles.


Si vous voulez effectuer certain traitement lors du premier démarrage, démarrage du système vous pouvez l'ajouter en cliquant sur la commande souhaitée.



Fichier

Cet écran vous permet d'envoyer des fichiers et de sélectionner leur emplacement dans la distribution.


Plusieurs choix du format de l'image à généré est possible: fichier iso, image virtuelle...
La création de l'image débute en cliquant sur Build.



 En cliquant sur Confguration..., un aperçu de la configuration est disponible.


Nous avons vu qu'en quelques cliques il est possible de créer sa distribution basée sur openSUSE. Un tel service peut être intéressant pour ceux qui désirent installer la même configuration sur plusieurs systèmes ou bien ceux désirant avoir une distribution selon leurs goûts.

Suse EasyCap DC60+

EasyCap DC60+ est un adaptateur USB qui permet de capturer de la vidéo et de l'audio. Il suffit de brancher un lecteur DVD, VHS, console de jeux... et d'employer un logiciel afin d'avoir le flux sous son système d'exploitation.



Sous SUSE 12.1,en lançant la commande: lsusb vous devriez avoir une ligne similaire à

Bus 001 Device 004: ID eb1a:2861 eMPIA Technology, Inc. 

si vous avez une DC60+, autrement, il est possible que vous ayez une DC60.

Lors du branchement de cet adaptateur, un périphérique se crée /dev/video0

Paramètre 

Les applications ont divers paramètres pour visionner et enregistrer.

Norme TV disponible

  • 0 = NTSC; 
  • 1 = NTSC-M; 
  • 2 = NTSC-M-JP; 
  • 3 = NTSC-M-KR; 
  • 4 = NTSC-443; 
  • 5 = PAL; 
  • 6 = PAL-BG; 
  • 7 = PAL-H; 
  • 8 = PAL-I; 
  • 9 = PAL-DK; 
  • 10 = PAL-M; 
  • 11 = PAL-N; 
  • 12 = PAL-Nc; 
  • 13 = PAL-60; 
  • 14 = SECAM; 
  • 15 = SECAM-B; 
  • 16 = SECAM-G; 
  • 17 = SECAM-H; 
  • 18 = SECAM-DK; 
  • 19 = SECAM-L; 
  • 20 = SECAM-Lc;


La carte a deux types d'entrée
  • 0 = S-Video
  • 1 = Composite
La commande: cat /proc/asound/cards va retourne les sources audios.

 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xd0240000 irq 46
 1 [U0xeb1a0x2861  ]: USB-Audio - USB Device 0xeb1a:0x2861
                      USB Device 0xeb1a:0x2861 at usb-0000:00:1d.7-1, high speed


Ici 1 fait référence à la carte DC60+ donc on devra écrire: plughw.1,0


Visionnement du flux

mplayer tv:// -TV driver=v4l2:input=1:norm=SECAM

Enregistrement du flux

Il est possible d'utiliser divers logiciels tel que mencoder, ffmpeg, vlc.

Pour enregistrer la source vidéo et audio d'un VHS, j'ai exécuté cette commande:

Avi
mencoder tv:// -TV driver=v4l2:norm=SECAM:width=720:height=576:outfmt=uyvy:device=/dev/video0:input=1:fps=25:alsa:adevice=plughw.1,0:audiorate=48000:amode=1:forceaudio:immediatemode=0 -msglevel all=9 -ffourcc DX50 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:turbo:vbitrate=1200:keyint=15 -vf pp=lb,scale=640:480 -oac mp3lame -o film.avi

Mpeg
mencoder tv:// -tv driver=v4l2:norm=SECAM:width=352:height=576:outfmt=uyvy:device=/dev/video0:input=1:fps=25:alsa:adevice=plughw.1,0:audiorate=48000:amode=1:forceaudio:immediatemode=0 -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=8000:vbitrate=5000:keyint=15:acodec=ac3:abitrate=192:aspect=4/3 -o film.mpg


Il est possible que vous deviez ajuster certains paramètres tel que la source audio. Elle peut être différente selon les périphériques que vous avez.


Il y a aussi mtvgui qui est disponible.




Il est possible d'utiliser ffmeg, cvlc afin de générer un fichier de sorti.

N'hésiter pas à regarder l'aide de mencoder afin d'avoir plus de précision sur ses options.

vendredi 23 août 2013

Information Technology Project Management, 3rd Edition



Information Technology Project Management  présente les différentes étapes pour l'élaboration d'un projet. Il n'est pas axé directement sur le domaine informatique, même si des références y sont faites. Les pratiques prônées par le PMI y sont référencées.

Le cycle de vie du projet qui comprend 
  • Conception et initialisation du projet
  • Développlement du plan et charte du projet
  • Exécution et contrôle du projet
  • Clôture du projet
  • Évaluation du projet
Le cycle de vie du développement du système
  • Planification
  • Analyse
  • Design
  • Implémentation
  • Maintenance
Chacune de ces étapes y est bien détaillée ainsi que les documents à réaliser: dossier d'affaire, charte de projet, plan de risque, échéancier, budget, etc.

Les chapitres sur les risques, les communications ainsi que la supervision présente de précieux conseil pour augmeter le succès dans un projet.

Les études de cas, des exercices ainsi que des exemples concrets sont très intéressants et de mieux comprendre les concepts présentés.

Un livre à mettre dans les mains de ceux qui désirent gérer des projets ou améliorer leurs techniques de gestion. Il est très complet.


Jack T. Marchewka a écrit de nombreux ouvrages sur la gestion de projet. Il démontre encore une fois son expertise dans ce livre.

mercredi 7 août 2013

Augmentation de la taille disque sous VirtualBox


Il peut arriver que la taille allouée au système installé dans une machine virtuelle soit trop petite.

Traitement à faire sous Linux

Sous VirtualBox, la taille de mon disque dur était de 5000 megs.

Rendez-vous à l'endroit où se trouve votre image, elle possède une extension vdi.

J'ai pu augmenter la taille du disque dur à 8000 megs avec la commande ci-dessous.

VBoxManage modifyhd Win7.vdi --resize 8000

Vous devriez obtenir:
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

Traitement à faire sous Windows

Si vous utilisez Windows 7 ou 8 (peut-être vista?), rendez-vous dans les outils d'administration, gestion de l'ordinateur, stockage gestion de l'ordinateur et augmenter la taille du disque via Gestion des disques.

Si vous utilisez Windows XP, utilisez un utilitaire tel que EaseUS Partition Master pour effectuer cette opération.

Maintenant Windows devrait voir la nouvelle taille du disque dur.

dimanche 16 juin 2013

Distance entre deux codes postaux au Canada et radius

Code postal

Le code postal au Canada permet de trouver l'emplacement d'un bâtiment d'une façon assez précise.
Il y en a près de 1 million. 
Une base de données des codes postaux Canadien peut être téléchargé à cette adresse: http://geocoder.ca/?freedata=1

Le fichier téléchargé est un fichier csv, il a la structure suivante

Code postal Latitude Longitude Ville Province
J5R5S8 45.39996 -73.506515 CandiacQC
J5R5S9 45.422333 -73.488784 La Prairie QC


Chaque code postal possède une longitude et une latitude. Ces informations peut être utile afin de connaitre la distance d'un lieu par rapport à un autre. Par exemple après avoir retourné tous les items d'une recherche, leurs distances peuvent être calculés.

De nombreux sites web utilisent cette notion de distance afin de proposer par exemple des services.

Calcul de distance

Le langage Java est utilisé pour les méthodes de calcul. Il peut être déporté au niveau de la base de données en tant que requête ou bien en procédure stockée.

Méthode de calcul

Il y a différente façon de faire le calcul selon la précision et les performances que l'on désire.

Formule d'Haversine

Cette méthode est assez précise.

a = sin²(Δφ/2) + cos(φ1).cos(φ2).sin²(Δλ/2)
c = 2.atan2(√a, √(1−a))
d = R.c

public void distanceHaversine() {
        double R = 6371; // km
        double lat1 = 45.3999600000;
        double lat2 = 45.4223330000;
        double lon1 = -73.5065150000;
        double lon2 = -73.4887840000;
        double dLat = Math.PI * (lat2 - lat1) / 180;
        double dLon = Math.PI * (lon2 - lon1)/ 180;
        double lat1Rad = Math.PI * lat1 / 180;
        double lat2Rad = Math.PI * lat2 / 180;
        double a = Math.sin(dLat / 2) * Math.sin(dLat / 2)
                + Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(lat1Rad) * Math.cos(lat2Rad);
        double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
        double d = R * c;
        System.out.println(d + " Km ");
}

Le résultat obtenu est: 2.8468710743613688 Km 

Loi des cosinus sphériques

d = acos( sin(φ1).sin(φ2) + cos(φ1).cos(φ2).cos(Δλ) ).R
R est le rayon de la terre soit: 6371

Les valeurs utilisées dans cette formule doivent être des radians. Les valeurs de latitude et de longitude du fichier csv doit être convertie. Nous allons reprendre les données présentés ci-haut. 


public void distanceLoisCosinusSphérique(){
        int R = 6371; //KM
        double lat1=45.3999600000;
        double lat2=45.4223330000;
        double lon1=-73.5065150000;
        double lon2=-73.4887840000;
        //conversion des valeurs en radians
        double lat1Rad = Math.radians(lat1);
        double lat2Rad = Math.radians(lat2);
        double lon1Rad = Math.radians(lon1);
        double lon2Rad = Math.radians(lon2);
        //calcule     
        double d = Math.acos(Math.sin(lat1Rad)*Math.sin(lat2Rad) +
                  Math.cos(lat1Rad)*Math.cos(lat2Rad) *
                  Math.cos(lon2Rad-lon1Rad)) * R;
        System.out.println(d + " Km ");
}

Le résultat obtenu est: 2.8468710738500866 Km  


Projection cylindrique équidistante

Cette méthode est performante mais pas précise pour de grande distance. Elle peut donc s'avérer intéressante sur de petite distance.

x = Δλ.cos(φ)
y = Δφ
d = R.√x² + y²


public void distanceProjectionCylEqui(){
    int R = 6371; // km
    double lat1=45.3999600000;
    double lat2=45.4223330000;
    double lon1=-73.5065150000;
    double lon2=-73.4887840000;
    //conversion des valeurs en radians
    double lat1Rad = Math.radians(lat1);
    double lat2Rad = Math.radians(lat2);
    double lon1Rad = Math.radians(lon1);
    double lon2Rad = Math.radians(lon2);
    //calcule      
    double x = (lon2Rad - lon1Rad) * Math.cos((lat1Rad + lat2Rad) / 2);
    double y = (lat2Rad - lat1Rad);
    double d = Math.sqrt(x * x + y * y) * R;
    System.out.println(d + " Km ");

}

Le résultat obtenu est:  2.8468710926857486 Km


Distance max autour d'un point (radius)

Cette fonctionnalité permet de trouver tous les codes postaux à une certaine distance d'un autre.
Par exemple tous les codes postaux à 1 kilomètre du mien, toutes les coiffeurs à 2 kilomètres de ma maison.

Le fichier csv de cet article sera inséré dans une bd H2.

CREATE TABLE POSTAL_CODE_CANADA AS SELECT * FROM CSVREAD('Canada.csv');

Exécuter ces commandes sous H2, car il importe les columns en tant que varchar2 ce qui n'est pas optimale pour effectuer des calculs.


ALTER TABLE POSTAL_CODE alter column latitude double
ALTER TABLE POSTAL_CODE alter column LONGITUDE double


Ne pas oublier de modifier la première ligne de ce fichier afin de spécifier les noms de colonnes.Sinon une structure similaire à celle là peut être créée.

CREATE TABLE POSTAL_CODE_CANADA
  POSTAL_CODE VARCHAR (32) NOT NULL,
  LATITUDE DOUBLE NOT NULL,
  LONGITUDE DOUBLE NOT NULL,
  CITY VARCHAR(32),
  PROVINCE VARCHAR(32)
);

Une requête SQL pour rechercher les codes postaux inférieur à 5km d'un point.

SELECT 
FROM 
  SELECT  ostal_code, 6378 * acos( cos(radians(latitude)) * cos(radians(latitudeP)) * cos   (radians(longitudeP)-  radians(longitude)) + sin(radians(latitude)) * sin(radians(latitudeP))) as   Distance 
FROM postal_code_CA 
WHERE distance <=5

Dans cette requête, remplacer latitudeP par lattitude et longitudeP par la longitude du point désiré.

SELECT *
FROM (
   select POSTAL_CODE, CITY, PROVINCE, 6378 * acos( cos(radians(latitude)) * cos(radians(45.39996)) * cos (radians(-73.506515)-radians(longitude)) + sin(radians(latitude)) * sin(radians(45.39996))) as Distance
FROM POSTAL_CODE_CA
) t
WHERE Distance < 5 ORDER BY DISTANCE

Une telle requête sous H2 prenait jusqu'à 3 secondes. Assurez-vous de bien optimisez votre base de données afin d'obtenir des délais raisonnables.

Fonctionnalité de base de donnée

Certaine base de donnée ont des fonctions pour effectuer des calculs encore plus précis et rapide. Par exemple, PostgreSQL a l'extension PostGIS qui utilise les index de type R-Tree.
Oracle a des capacités similaire ainsi que Microsoft SQL Server 2008 (colonne de type Geography).

jeudi 23 mai 2013

Installation de Bumblebee pour Lenovo S430

De nombreux ordinateurs portatifs possèdent une carte vidéo intégrée (Intel) et une autre carte graphique plus performante (Amd/Nvidia). Pour les cartes vidéo Nvidia, Optimus permet de basculer d'une carte vidéo à une autre afin d'avoir le maximum de performance ou d'autonomie. Cependant, Nvidia ne supporte pas ce système sous Linux. C'est là que le projet Bumblebee entre en jeux.

Le lenovo S430 utilise le système Optimus. Le pilote propriétaire a été installé sur cette machine qui utilise Suse 12.3, car nouveau n'a jamais fonctionné sur cette machine.
Préparation
Bios
Dans le bios de la machine, concernant la section "Display", Graphics Device doit être mis à Optimus. De plus OS Dectection for Switchable Graphics doit être mis à Enabled.

Groupe
Créer un groupe bumblebee. Ajouter les utilisateurs qui utiliseront cette technologie à ce groupe. Tous ces utilisateurs devront aussi être ajoutés au groupe video.

Dépôt
Ajouter le dépôt
http://download.opensuse.org/repositories/home:/Overman79:/Laptop/openSUSE_12.3/.
Il contient tout le nécessaire pour l'installation de bumblebee.

Noyau
La version 3.9.3 du noyau a été utilisée, alors que la version du driver de nvidia est pour la version 3.7. Une compilation sera alors nécessaire.

Les packages suivants doivent être installés

kernel-desktop-devel 
kernel-devel
gcc

Module
Le module nouveau ne doit pas être chargé au démarrage. Assurez-vous d'avoir le fichier
/etc/modprobe.d/50-blacklist-nouveau.conf

s'il n'existe pas, créez-le. Il devra contenir: blacklist nouveau

Installation
Dans le dépôt de bumblebee, les packages suivants doivent être installés.

VirtualGL
bumblebee
dkms
dkms-nvidia
dkms-bbswitch
libturbojpeg
primus
x11-video-nvidia

Si vous utilisez une version 64bits et que vous désirez aussi utiliser des applications 32bits alors, installez aussi les packages suivants

VirtualGL-32bit
primus-32bit
libturbojpeg-32bit
x11-video-nvidia-32bit

Dkms permettra de reconstruire les modules lorsqu'un nouveau noyau sera installé.

#systemctl enable dkms
#systemctl enable bumblebeed

Cette dernière commande devrait retourner une erreur, car le module nvidia n'a pu être construit lors de l'installation.

Dans le fichier: /etc/bumblebee/bumblebee.conf, Driver doit être mis à nvidia.

Redémarrer la machine

On va vérifier que la carte nvidia est à off.

#cat /proc/acpi/bbswitch
off

Il faut quitte notre session X.

init 3


On va activer la carte nvidia


#tee /proc/acpi/bbswitch <<<ON
ON

On vérifie qu'elle est bien active

#cat /proc/acpi/bbswitch
0000:01:00.0 ON

Il est aussi possible d'utiliser vgaswitcheroo (si activé dans le noyau)

cat /sys/kernel/debug/vgaswitcheroo/switch
0:DIS: :Pwr:0000:01:00.0
1:IGD:+:Pwr:0000:00:02.0

IGD est la carte Intel.
DIS est la carte Nvidia.
Pwr signifie que la carte est allumé.
+ signifie que la carte est active.

On se rend dans le répertoire  des sources et on recompiler le module


# cd /usr/src/NVIDIA-Linux-x86_64-319.17
#./nvidia-installer

Redémarrer la machine
Test
La carte Intel est utilisée, pour lancer des programmes avec la carte nvidia il est possible d'utiliser optirun <nom du programme>

Par exemple:

L'option info sur ce programme permet d'afficher la carte graphique en cours.

#optirun glxgears -info
GL_RENDERER = GeForce GT 620M/PCIe/SSE2
GL_VERSION = 4.3.0 NVIDIA 319.17
GL_VENDOR = NVIDIA Corporation

samedi 27 avril 2013

Pilotez vos projets en entreprise.


C'est un livre qui s'adresse à toute personne qui est amenée à gérer un projet.
Il présente diverses techniques très simples afin de réussir vos projets. Il se base sur la PNL, programmation neuro linguistique. Seuls quelques principes sont passés en revue de ce domaine de la psychologie.


L'auteur utilise SCORE comme approche avec le client.

S : pour l’exploration de la Situation actuelle.
C : pour la recherche des Causes.
O : pour le travail sur l’Objectif.
R : pour chercher les Ressources nécessaires.
E : pour définir les Effets attendus.

Pilotez vos projets en entreprise est basé sur un ensemble de questionnement à poser au client, à soi même, à son équipe.

J'ai bien apprécié les nombreux exemples concrets du livre. De plus, il est très court, moins de 100 pages. Point de longueur, l'essentiel est dit.

À lire afin d'apprendre une approche plus centrée sur le client et ses objectifs.

Pour une approche plus complète, il y a le livre INFORMATION TECHNOLOGY PROJECT MANAGEMENT qui reste une référence.

samedi 13 avril 2013

Suse et Fingerprint GUI

Fingerprint GUI est un programme pour la gestion et l'intégration des lecteurs d'empreintes digitales. De nombreux ordinateurs portables en possèdent un.

Installation

Seul le rpm doit être installé. Ce rpm est disponible à l'adresse: http://software.opensuse.org/package/fingerprint-gui. Télécharger la version pour la version de votre distribution, prenez la version la plus récente.

Il contient les drivers propriétaires nécessaires par certains capteurs.

Le mien est de marque Upek et son modèle est le 1002.

Le groupe plugdev doit être créé. Les utilisateurs devant utiliser ce capteur doivent être ajoutés à ce groupe.

Le répertoire /var/upek_data/ doit être créé. Le groupe plugdev doit avoir accès en lecture et écrire à ce répertoire.

Détectez votre capteur en employant lsusb

Cette commande retourne sur mon lenovo S430


Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:07da Intel Corp. 
Bus 001 Device 004: ID 147e:1002 Upek 
Bus 002 Device 003: ID 5986:02d2 Acer, Inc

Upek est le capteur, il utilise le bus 001 et le device est le 004.
Il faut donner les droits d'écriture et de lecture au groupe plugdev à ce périphérique.

chgrp plugdev /dev/bus/usb/001/004
chmod 764 /dev/bus/usb/001/004

Ensuite vous devriez être en mesure de lancer fingerprint-gui.


Le premier onglet permet de choisir votre lecteur d'empreinte. Le deuxième permet de sélectionner le doigt auquel l'empreinte sera sauvegardée. Le troisième permet de sauvegarder votre empreinte.

PAM (Pluggable Authentication Modules)

PAM, est un outil pour authentifier les utilisateurs. Il est modulaire. De nombreux systèmes l'utilisent.

Le répertoire /etc/pam.d/ présente de nombreux logiciels qui utilise ce système.
Nous allons utiliser fingerprint lorsqu'un utilisateur tapera su en console.

Dans le fichier /etc/pam.d/su à la deuxième ligne ajouter 
auth     sufficient     pam_fingerprint-gui.so

Sous kde, si vous tapez su dans une console vous devriez avoir ce message



Dans le fichier .bashrc de l'utilisateur
export XAUTHORITY=/home/collinm/.Xauthority

remplacez collinm par l'utilisateur en cours.

Maintenance, il n'y aura pu d'erreur.



Il vous est toujours possible de saisir un mot de passe. Il serait intéressant de pouvoir utiliser fingerprint pour se connecter à kde ou bien pour ouvrir kwallet.

Lenovo S430 et Linux

Les portables Lenovo sont habituellement bien supportés sous Linux. Cette particularité a déterminé mon choix final pour l'achat d'un nouveau portable. J'ai opté pour le S430.

Spécification du S430


C'est une machine de 14" avec une résolution de 1600x900, l'écran est mat. Elle possède 2 ports usb3, un port HDMI, un port réseau et un port thunderbold. Un graveur DVD est aussi de la partie. L'ensemble fait 1.8Kg.

La carte vidéo est une Nvidia GeForce GT620M. Le CPU est un Core i5-3210M. Ce CPU comporte une carte vidéo HD4000. Il est donc possible de balancer d'une carte à une autre selon la puissance nécessaire. Plus de 16GB de RAM est inclus.

Un disque dur de 500GB et un ssd de 16GB ont été remplacés par un SSD Samsung 840 Pro de 256GB et un plextor M5M 128GB.

Préparation

Si vous désirez prolonger la batterie du portable, sous Windows affectez une valeur de charge maximum. Lenovo affecte par défaut 50%, Toshiba 80%. Actuellement, l'utilitaire de Lenovo sous Windows 8 ne permet pas de gérer cette fonctionnalité.

openSUSE 12.3 et Windows 8 seront installés sur cette machine. openSUSE sera installé sur le SSD Samsung tandis que Windows 8 le sera sur le msata SSD.

Windows doit être installé en premier afin de simplifier sa prise en charge par le bootloader que Linux installera afin de sélectionner le système d'opération à démarrer. Le secure boot doit être enabled dans le bios.

Windows 8

L'installation prend environ 30 minutes. Il faut penser à installer les utilitaires de Lenovo tels que le Power Management, le ThinkVantage System Update et Lenovo Settings Dependency Package.

Concernant le Power Management, l'onglet batterie n'est plus disponible. Il faut attendre que Lenovo apporte cette fonctionnalité pour Windows 8.

openSUSE 12.3

Lors de l'installation, le boot loader sélectionné est GRUB2-EFI. L'option Secure Boot a été activée. L'installation prend moins de 15 minutes via une clé USB 3. Le répertoire home a été chiffré pour plus de sécurité. Les disques ont été formatés en ext4 car c'est toujours le système de fichier le plus rapide pour les SSD.

Lecteur d'empreintes

Il est détecté lors du scan du matériel. Cependant, il n'est pas possible de l'utiliser.

Le projet FPrint ne supporte pas encore le capteur de ma machine soit le 
0x147e Upek 0x1002.

Heureusement, Fingerprint GUI supporte ce capteur. Une personne a fait un paquet pour openSUSE. Il est disponible ici. J'ai créé un article sur fingerprint gui.

Lecteur de carte mémoire

Le noyau utilisé par la 12.3 ne contient pas le driver pour le lecteur de carte mémoire. Il est soit possible de le télécharger dans la section unix de ce site ou bien d'utiliser le noyau 3.8.5 ou supérieur. J'ai opté pour ce dernier choix.

Configuration du SSD dans le fstab

noatime, n'inscrit pas la date d'accès du fichier et ainsi restreint le nombre d'écritures sur le SSD.

/dev/disk/by-id/ata-Samsung_SSD_840_PRO_Series_S12RNEACC41938F-part3 /                    ext4       noatime,acl,user_xattr        1 1
/dev/mapper/cr_home  /home                ext4       noatime,acl,user_xattr,nofail 0 2

/dev/disk/by-id/ata-Samsung_SSD_840_PRO_Series_S12RNEACC41938F-part1 /boot/efi            vfat       umask=0002,utf8=true  0 0

Ces deux lignes met en mémoire vive les répertoires /tmp et /var/log afin de réduire les écritures sur le SSD et augmente ainsi sa durée de vie.

tmpfs                /tmp                 tmpfs      defaults,size=512m,noatime,mode=1777   0  0
tmpfs                /var/log             tmpfs      defaults,size=5%,noatime,mode=0755   0  0

Le Samsung 840 pro n'a pas besoin de l'option discard. Il mentionnera d'ailleurs un message d'erreur si elle est utilisée.

EXT4-fs (dm-0): mounting with "discard" option, but the device does not support discard

Batterie

Si vous avez affecté une valeur de début et de fin de charge sous Windows, ces valeurs seront prises en compte sous Linux.

TLP Linux Advanced Power Management est un outil pour mieux gérer la gestion d'énergie d'un ordinateur portable. Il est très complet comme outil et est déjà bien configuré. Certaine fonctionnalité tels que la gestion min et max de la charge est cependant disponible que sur les machines Thinkpad d'Ibm/Lenovo. J'ai créé un paquet  pour openSUSE. Cet outil inclus tpacpi-bat. Il permet de gérer le début et fin de charge de la batterie.

Dans le fichier: /etc/default/tlp, il faut décommentez ces deux lignes


START_CHARGE_THRESH_BAT0=70
STOP_CHARGE_THRESH_BAT0=80

Pour avoir diverses informations sur votre matériel, lancez la commande: tlp stat

Pour lancez tlp en mode service: tlp init start
Sinon, il est possible de passer par yast via le module de Services système afin qu'il soit actif à chaque démarrage.

Si vous ne désirez pas utiliser TLP, il est possible de télécharger que tpacpi-bat.


Il faut télécharge le fichier battery_asl et tpacpi-bat. Ensuite dans le répertoire où vous avez mis ces deux fichier, il faut lancer exécuter ces commandes en mode root..

#début de charge à 60%

tpacpi-bat -v -s ST 1 60

#fin de charge à 80%
tpacpi-bat -v -s SP 1 80


Il faut ajouter ce dépôt afin d'installer acpi_call. tpacpi-bat et TLP en ont besoin.

Carte graphique

Lancez la commande suivante xrandr dans une console. Elle permettra de connaitre la résolution en cour et celles supportées par la carte graphique. Dans notre cas, celle par défaut devrait être 1600x900.

Il est possible soit d'utiliser la carte graphique d'Intel, soit celle de Nvidia soit les deux avec le projet Bumblebee. Un driver libre ou propriétaire peut être utilisé.

À partir des drivers 319.12 nvidia a commencé à mettre en place optimus, soit la possibilité d'utiliser une des deux cartes graphiques et de changer de carte en fonction de la charge. Cependant, il n'est pas possible de sélectionner sur quel carte graphique le logiciel sera traité. Il faut utiliser bumblebee.

Toute les sorties vidéo de cet ordinateur sont connecté sur la carte intel.

lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 620M] (rev a1)

ls /sys/class/drm/*/status | xargs -I {} -i bash -c "echo -n {}: ; cat {}"
/sys/class/drm/card0-VGA-1/status:connected
/sys/class/drm/card1-DP-1/status:disconnected
/sys/class/drm/card1-DP-2/status:disconnected
/sys/class/drm/card1-HDMI-A-1/status:connected
/sys/class/drm/card1-HDMI-A-2/status:disconnected
/sys/class/drm/card1-LVDS-1/status:connected

/sys/class/drm/card1-VGA-2/status:disconnected

Si vous prévoyez d'utiliser seulement une seule carte, il est possible d'activer qu'une seule dans le bios de la machine.

Pour un maximum de performance, il faut opter pour les drivers propriétaires de nvidia. Dans Yast, il faut ajouter le dépôt nvidia, il faut prendre ceux ayant G03 dans le nom.

Autrement il y a les drivers libres pour la carte Intel et nvidia. Il s'améliore sans cesse.

Si vous désirez plutôt opter pour un maximum d'autonomie, vous pouvez vous rendre dans le bios et activer que la carte Intel.

HDMI

Le port hdmi est pleinement fonctionnel. Une fois un cable branché à une écran TV, sous Kde un fenêtre de configuration s'affiche afin de configurer cette dernière en mode clone ou autre. Si le son n'est pas opérationnel pour cette seconde écran, il suffit d'aller la configuration système de kde est ensuite dans phonon et de sélectionner un profil avec le hdmi.

Triple display

Il est possible de brancher au mieux 2 autres moniteurs à ce portable et ainsi de faire du triple display.
Il faut brancher un moniteur via le port hdmi et l'autre via le thunderbolt ou displayport (selon la version du portable que vous avez).

Si les moniteurs que vous ajoutez n'ont pas la même résolution, vous devriez prendre un convertisseur dispport/thunderbolt actif, autrement vous risque que ça ne fonctionne pas ou bien vous allez avoir la résolution la plus faible des deux moniteur.

À l'aide d'un adapteur mini dp to DVI), j'ai réussi à faire fonctionne 3 écran. Les deux moniteurs externes avaient une résolution Full Hd.

Avec une écran 2K, je n'ai pu faire fonctionner trois moniteur. J'ai dû

acheter un adapteur mini-dp à dvi (dual link). La référence est http://www.accellcables.com/products/ultraav-displayport-to-dvi-d-dual-link-adapter?variant=729675257 afin de faire fonctionner une écran en 2K et l'autre en full HD.


Son

La carte de son était détectée, mais aucun son ne sortait. Il a fallu que j'aille dans yast dans le son. J'ai cliqué sur le bouton autre en bas à droite et j'ai cliqué sur Configuration de pulse audio. Vous pouvez redémarrer le service de son ou bien la machine. Le son sera alors actif.

Réseau

Si vous avez un problème de réseau, tenter de passer du mode Network Manager à ifup dans le module Network de Yast. Repasser au mode Network Manager, si vous désirez utiliser l'applet dans Kde. Il est même possible d'avoir un ip pour chacune de ses interfaces.

Touche du clavier

Les touches multimédias reliées au son fonctionnent. Celle pour la luminosité ne fonctionne pas. Il est cependant possible d'utiliser xbacklight -inc 10
et xbacklight -dec 10 pour l'augmenter ou la diminuer.

Si vous désirez employés les touches  du claviers pour cette fonctionnalité, il faut ajouter dans les options de démarrages dans grub: acpi_osi=\"!Windows 2012\"

Avec le kernel 3.13, cette option n'est plus nécessaire. Cependant je ne pas testé si l'autonomie était meilleur avec cette option.

La touche pour éclairer le clavier est opérationnelle.
La touche pour la caméra en mode photo (F5) et mode vidéo (F6) sont bien détectés. Cependant aucun programme n'est affecté par défaut.

F5 est associé à la touche ayant pour nom: XF86Display
F6 est associé à la touche ayant pour nom: XF86WebCam

Il est possible d'associer une action ou un programme à ces touches. Sous Kde, il faut lancer Configuration du système et aller dans le module Raccourcis et gestes

Bureau Kde

Le bureau est toujours aussi bien peaufiné. Le système de notification est maintenant placé en haut à gauche. Pour le remettre en bas à droite, il est nécessaire de configurer la boite à miniature. Il faut faire un clic droit sur la petite flèche tout près de l'heure en bas et choisir: Configurer : Boite à miniatures.


Passez l'entrée Notification à Toujours visible.

Si vous trouvez que le clic droit est lent dans dolphin, désactiver le service:  Module externe de liaison entre fichier et activité.

En conclusion, ce portable fonctionne assez bien sous Linux. Le port thunderbolt n'a pas été testé faute de cable. Plus de commentaires sur ce portable seraient très appréciés.

Conseil pour Windows

Les partitions où openSUSE est installé seront affichées sous Windows, pensez à les cacher, surtout si vous utilisez Windows 8 car ce dernier pourrait écraser des données de vos partitions fat si vous utilisez le fastboot.