1. Jouons sur Mac OS X avec des cartes à puce [partie 1]

    J’ai décidé de m’amuser un peu avec des cartes à puce sur Mac OS X à la maison.

    Pour commencer, je suis les conseils de Yoann Gini sur son blog, et j’achète chez Gooze.

    Mon choix s’est porté sur :

    • 2 tokens USB avec carte SIM pour moi et madame, pour la configuration fonctionnelle de tous les jours.
    • 1 gros lecteur USB et 2 cartes à puce pour les tests
    • 1 petit lecteur pliant parce que je le trouvais original…

    144 € TTC (dont un peu plus de 10 € de frais de port, et en jouant sur les bundles pour faire baisser un peu le prix) en moins dans le portefeuille, et quelques jours plus tard, je reçois le colis :

    image

    La suite de mes aventures dès que j’ai le temps de faire joujou avec tout ça.

     
  2. Réparer les fichiers d’un NAS apparaissant grisés sous Mountain Lion

    Je ne sais pas pourquoi, certains fichiers sur mon NAS sont grisés, avec une date au 24 janvier 1984 à 9h :

    http://david-martin.fr/partage/skitch/FichiersNASGrisés.png

    Ces fichiers ont été correctement transférés depuis mon Mac, leur contenu est visible avec la fonction “coup d’oeil” (appuyer sur la barre d’espace), mais impossible de les ouvrir.

    Ils sont dans le même état qu’un fichier en cours de copie (sous Mountain Lion). Pour information il s’agit là d’un Easter Egg d’Apple puisque le 24 janvier à 9h est le moment de la présentation du premier Macintosh !

    Après enquête j’ai trouvé comment réparer ces fichiers. Pour une raison que j’ignore ils ont un attribut Type qui vaut “brok” (pour broken je suppose), et un attribut “Créateur” qui vaut “MACS” :

    image

    La solution est tout simplement de supprimer la valeur de ces deux attributs. Pour celà, j’utilise Path Finder :

    image

     
  3. Sauvegarder la carte SD du système d’un Raspberry Pi

    » Repérer le lecteur de carte dans les périphériques du Mac

    Insérer la carte dans le lecteur de votre Mac.

    Ouvrir un terminal sur votre Mac et lancer la commande suivante pour trouver le nom du périphérique correspondant à la carte (ici, /dev/disk2s1 pour /Volumes/Untitled):

    ~ dm$ df -h
    Filesystem                                           Size   Used  Avail Capacity   iused     ifree %iused  Mounted on
    /dev/disk0s2                                        297Gi  267Gi   31Gi    90%  69926812   8006090   90%   /
    devfs                                               192Ki  192Ki    0Bi   100%       664         0  100%   /dev
    map -hosts                                            0Bi    0Bi    0Bi   100%         0         0  100%   /net
    map auto_home                                         0Bi    0Bi    0Bi   100%         0         0  100%   /home
    map -fstab                                            0Bi    0Bi    0Bi   100%         0         0  100%   /Network/Servers
    /dev/disk1s2                                        932Gi  693Gi  239Gi    75% 181569961  62677978   74%   /Volumes/TimeMachineDD
    /dev/disk1s3                                         19Gi  5.8Gi   13Gi    32%   1514668   3368143   31%   /Volumes/SnowLeopard
    /dev/disk1s4                                        446Gi  375Gi   71Gi    85%  98432453  18571923   84%   /Volumes/Stockage 1
    /dev/disk2s1                                         69Mi  5.5Mi   63Mi     9%         0         0  100%   /Volumes/Untitled
    

    » Effectuer la sauvegarde

    Ejecter la carte du lecteur, sans la retirer physiquement. Pour cela utiliser la commande suivante (ou l’interface graphique de l’utilitaire de disque) :

    ~ dm$ sudo diskutil unmount /dev/disk2s1
    Password:
    Volume (null) on disk2s1 unmounted
    

    Il faut adresser le périphérique différemment pour lire la carte. Ici, mon périphérique est /dev/disk2s1, et il faudra l’adresser en utilisant /dev/rdisk2 (le “r” en plus, le “s1” en moins).

    Lancer la sauvegarde. if= permet d’indiquer le fichier source (on indique donc le périphérique correspondant à la carte). of= permet d’indiquer le fichier de sortie.

    ~ dm$ sudo dd bs=1m if=/dev/rdisk2 of=~/20121208raspbmc.img
    7580+0 records in
    7580+0 records out
    7948206080 bytes transferred in 369.546215 secs (21508016 bytes/sec)
    
     
  4. Accéder depuis XBMC à un partage NFS sur un NAS Synology

    Voici le moyen d’accéder depuis XBMC à des partages sur un NAS Synology, en NFS. Il y a une petite manipulation à effectuer en ligne de commande pour que ça fonctionne.

    Tout d’abord, pourquoi NFS :

    • Parce que c’est ce qu’on utilise facilement avec Linux, que mon Synology tourne sous Linux, et mon XBMC aussi !
    • Parce qu’il n’y a pas de login / mot de passe à configurer (attention, du coup il y a quelques précautions à prendre au niveau de la sécurité)
    • Parce qu’au niveau réseau, c’est efficace : moins “d’emballage” autour des données transportées, donc un peu plus de débit autorisé sur le réseau pour la vidéo. Je n’ai pas vérifié ce dernier point, je crois ce que j’ai lu.

    Etape 1 : activer le partage NFS sur le dossier partagé

    Il faut le sélectionner dans la configuration des dossier partagés, dérouler le menu “Privilèges” et choisir “Privilèges NFS”.

    image

    Bien spécifier les clients autorisés à se connecter. Comme il n’y a pas de login / mot de passe, c’est ici qu’il faut absolument limiter les accès !

    Je mets aussis accès en lecture seule. je n’ai pas encore trouvé de raison de donner les droits d’écritures à XBMC.

    Etape 2 : modifier en ligne de commande le partage créé

    Pour que l’accès via NFS fonctionne depuis XBMC, il faut modifier le partage créé. Si j’ai bien compris, il s’agit d’autoriser le NAS à recevoir des connexions sur un port non réservé au système (> 1023).

    Se connecter au NAS, en tant que root et éditer le fichier /etc/exports pour le modifier de la manière suivante (“insecure” au lieu de “insecure_locks”) :

    /volume2/video  192.168.69.3(ro,async,no_wdelay,no_root_squash,insecure,anonuid=0,anongid=0)
    

    Etape 3 : configurer les sources sous XBMC

    Maintenant, ça fonctionne !

     
  5. Rediriger l’interface graphique du Raspberry Pi sur votre Mac

    Remarque préalable : il n’y a plus de serveur X fournit par Apple avec les versions récentes de MacOS X, j’utilise donc XQuartz (conseillé par Apple).

    Sur le Mac, lancer XQuartz (il s’installe dans le dossier Utilitaires) :

    Il est possible de fermer la fenêtre XTerm qui s’ouvre, on ne l’utilisera pas.

    Dans les préférence de XQuartz, il me semble préférable d’activer le mode plein écran, qui gardera une fenêtre (en fait tout un écran) différente pour X11. Sinon, vous risquez d’avoir vos programmes sous X11 apparaître en fond d’écran du Mac, sans possibilité d’interragir avec eux.

    image

    Sur le Mac, se connecter en SSH au Raspberry Pi (utiliser l’adresse IP du votre !), avec l’option “-X” (forwarding X11) :

    $ ssh -X pi@192.168.69.3
    pi@192.168.69.3's password: 
    Linux raspberrypi 3.2.27+ #160 PREEMPT Mon Sep 17 23:18:42 BST 2012 armv6l
    
    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    Last login: Sat Sep 22 22:29:17 2012 from 192.168.69.253
    /usr/bin/xauth:  file /home/pi/.Xauthority does not exist
    

    Remarque : cela fonctionne correctement car le démon SSH a été activé sur le Raspberry Pi, et que le fichier /etc/ssh/sshd_config était déjà configuré correctement.

    Depuis la connexion SSH ouverte, afficher le contenu de la variable DISPLAY :

    pi@raspberrypi ~ $ echo $DISPLAY
    localhost:10.0
    

    On voit que l’affichage est redirigé vers le raspberry lui même (c’est la connexion SSH qui fait suivre le flux vers le Mac).

    Lancez vos commande depuis la connexion au Raspberry Pi, par exemple pour ouvrir le bureau :

    pi@raspberrypi ~ $ lxsession
    
     
  6. Premiers lancements du Raspberry Pi

    » Configuration initiale avec l’utilitaire Raspi-config

    Raspi-config se lance automatiquement au premier démarrage. Par la suite il sera possible de le lancer manuellement avec la commande :

    # raspi-config
    

    Menu “expand_rootfs”

    Ma carte fait 8 Go, l’image disque ne faisait que 2 Go. Je choisit d’étendre la partition plutôt que d’en faire une autre sur le reste de la carte.

    Menu “overscan”

    Je n’y touche pas encore, mais ce sera peut-être nécessaire une fois le Raspberry Pi branché à la TV (suivant qu’elle coupera ou non les bords de l’image).

    Menu “configure_keyboard”

    Pour ma part c’est “Apple Aluminium Keyboard (ISO)”. Avec le layout “French/French”. Mes touches “@/#” et “>” sont inversés et le pavé numérique ne fonctionne pas, mais pour le reste c’est bon.

    Je choisis la touche “Right Alt (AltGr)” pour “AltGr”. Je choisis la touche “No compose key” pour “Compose Key”. Et je choisis d’utiliser “Control + Alt + Backspace” pour tuer le serveur X.

    Menu “change_pass”

    Je change le mot de passe de l’utilisateur “pi”.

    Evidemment il vaut mieux avoir configuré correctement le clavier avant de saisir un mot de passe.

    Menu “change_locale”

    Je choisis la locale “fr_FR.UTF-8 UTF-8” en plus de “en_GB.UTF-8 UTF-8” (que la documentation conseille de garder), et je choisis “fr_FR.UTF-8 UTF-8” par défaut.

    Menu “change_timezone”

    Pour ma part c’est Europe/Paris.

    Menu “ssh”

    Je l’active (“Enable”) pour pouvoir accéder à distance au Raspberry Pi.

    Menu “boot_behavior”

    Pour le moment je ne choisis pas de lancer automatiquement le “Desktop” (l’interface graphique) au démarrage.

    Menu “update”

    Pour ma part, je l’ai fait, mais la documentation dit qu’il n’est pas nécessaire de mettre à jour l’outil raspi_config tant qu’il fonctionne bien.

    “Finish” pour terminer la configuration initiale

    » Quelques opérations supplémentaires

    Pour redémarrer le Raspberry Pi :

    # sudo reboot
    

    Après le redémarrage, il faut se connecter avec l’utilisateur pi. Son mot de passe est celui mis en place avec Raspi-config.

    Pour obtenir l’adresse MAC :

    # ifconfig
    

    J’ai récupéré l’adresse MAC pour configurer le Raspberry Pi en “DHCP avec IP fixe” via mon serveur DHCP. Ca me permet d’avoit toujours la même adresse à la maison, et d’éviter les problèmes en utilisant le DHCP si j’emmène mon Raspberry Pi sur un autre réseau.

    Pour vérifier que la partition a bien été étendue :

    # df -h
    

    Pour mettre un mot de passe à root (pas obligatoire - voire déconseillé - car il y a la commande sudo) :

    # sudo passwd root
    

    Pour éteindre le Raspberry Pi :

    # sudo halt
    
     
  7. Créer un disque système pour le Raspberry Pi sous Mac OS X

    » Récupérer de la dernière image système

    Personnellement, j’ai récupéré l’image Raspian “wheezy” disponible ici.

    Une fois dézippé le fichier télécharge, on obtient l’image du système. Pour la suite de l’article, j’ai placé ce fichier 2012-09-18-wheezy-raspbian.img à la racine du répertoire utilisateur.

    » Repérer le lecteur de carte dans les périphériques du Mac

    Cette phase est trés importante, elle vous évitera d’effacer invonlontairement les données d’un autre disque !

    Retirer la carte SD éventuellement présente dans le lecteur SD.

    Ouvrir un terminal sur votre Mac et lancer la commande suivante :

    ~ dm$ df -h
    Filesystem                                  Size   Used  Avail Capacity   iused      ifree %iused  Mounted on
    /dev/disk0s2                               297Gi  243Gi   54Gi    82%  63805941   14126961   82%   /
    devfs                                      231Ki  231Ki    0Bi   100%       802          0  100%   /dev
    map -hosts                                   0Bi    0Bi    0Bi   100%         0          0  100%   /net
    map auto_home                                0Bi    0Bi    0Bi   100%         0          0  100%   /home
    map -fstab                                   0Bi    0Bi    0Bi   100%         0          0  100%   /Network/Servers
    /dev/disk1s2                               932Gi  693Gi  239Gi    75% 181569970   62677969   74%   /Volumes/TimeMachineDD
    /dev/disk1s3                                19Gi  5.8Gi   13Gi    32%   1514669    3368142   31%   /Volumes/SnowLeopard
    /dev/disk1s4                               446Gi  427Gi   19Gi    96% 111938584    5065792   96%   /Volumes/Stockage 1
    

    Insérer une carte SD dans le lecteur, et relancer la même commande :

    ~ dm$ df -h
    Filesystem                                  Size   Used  Avail Capacity   iused      ifree  %iused  Mounted on
    /dev/disk0s2                               297Gi  243Gi   54Gi    82%  63841954   14090948   82%   /
    devfs                                      234Ki  234Ki    0Bi   100%       808          0  100%   /dev
    map -hosts                                   0Bi    0Bi    0Bi   100%         0          0  100%   /net
    map auto_home                                0Bi    0Bi    0Bi   100%         0          0  100%   /home
    map -fstab                                   0Bi    0Bi    0Bi   100%         0          0  100%   /Network/Servers
    /dev/disk1s2                               932Gi  693Gi  239Gi    75% 181569970   62677969   74%   /Volumes/TimeMachineDD
    /dev/disk1s3                                19Gi  5.8Gi   13Gi    32%   1514669    3368142   31%   /Volumes/SnowLeopard
    /dev/disk1s4                               446Gi  427Gi   19Gi    96% 111938584    5065792   96%   /Volumes/Stockage 1
    /dev/disk4s2                               907Gi  655Gi  252Gi    73% 171787001   66091772   72%   /Volumes/Copies de sauvegarde Time machine
    /dev/disk2s1                                56Mi   35Mi   21Mi    63%       512          0  100%   /Volumes/Untitled
    

    Par comparaison, on peut retrouver les volumes correspondants à la carte SD. Ici /dev/disk2s1. Pour la suite de l’article, attention à bien adapter les numéros de périphériques à votre cas !

    Ejecter la carte du lecteur, sans la retirer physiquement. Pour cela utiliser la commande suivante (ou l’interface graphique de l’utilitaire de disque) :

    ~ dm$ sudo diskutil unmount /dev/disk2s1
    Password:
    Volume (null) on disk2s1 unmounted
    

    » Créer le disque système du Raspberry Pi

    Il faut adresser le périphérique différemment pour écrire la carte. Ici, mon périphérique est /dev/disk2s1, et il faudra l’adresser en utilisant /dev/rdisk2 (le “r” en plus, le “s1” en moins).

    Ecrire la carte (c’est ici qu’il ne faut pas se tromper de disque !), cela prend du temps et il n’y a pas d’autre retour utilisateur que le fait de redonner la main à la fin :

    ~ dm$ sudo dd bs=1m if=~/2012-09-18-wheezy-raspbian.img of=/dev/rdisk2
    1850+0 records in
    1850+0 records out
    1939865600 bytes transferred in 92.033025 secs (21077929 bytes/sec)
    

    Ejecter correctement la carte :

    ~ dm$ sudo diskutil eject /dev/rdisk2
    Disk /dev/rdisk2 ejected
    

    Insérer la carte dans le Raspberry Pi, et en route vers de nouvelles aventures !

     
  8. image: Télécharger

    C’est la fête du geek ce soir !

    C’est la fête du geek ce soir !

     
  9. Transférer les données d’une application iOS d’un appareil à un autre

    Avec iTunes il est possible de récupérer une sauvegarde iOS pour la transférer sur un autre appareil (c’est ce qu’il faut faire quand on change d’iPhone par exemple). Il n’est par contre pas possible de ne récupérer les données que d’une seule application.

    Voici une manière de le faire.

    Tout d’abord quelques restrictions à la méthode proposée :

    • Je suppose que ça ne fonctionne pas avec des sauvegardes chiffrées.

    • Il est uniquement possible de modifier des fichiers déjà présent dans la sauvegarde à laquelle on touche. Il est donc nécessaire d’utiliser un peu le logiciel concerné avant d’effectuer la sauvegarde qui sera altérée, sinon ces fichiers n’existeront pas et ne pourront pas être ajoutés dans la sauvegarde. Et suivant la manière dont l’application gère ses fichiers, le transfert de sauvegarde fonctionne plus ou moins bien.

    ~ ~ ~

    • Télécharger iBackupBot.

      La version d’évaluation est entièrement fonctionnelle.

    • Faire une sauvegarde de l’appareil.

      S’il est configuré pour des sauvegardes sur l’ordinateur, il suffit de le brancher à l’ordinateur pour déclencher la sauvegarde.

    • Lancer iBackupBot.

      Dans le menu à gauche vont apparaître toutes les sauvegardes gérées par iTunes.

    • Sélectionnez la sauvegarde dans laquelle vous voulez récupérer des données.

    • Puis cliquer sur le bouton d’exportation.

    • Choisir “Export whole backup” et sélectionner un dossier pour l’exportation (le but est de travailler ensuite sur une copie de sauvegarde et de ne pas intervenir directement dans les sauvegardes d’iTunes).

    • Cliquer sur “Yes” pour charger la sauvegarde qui vient d’être effectuée dans le logiciel.

    • La copie apparaît en bas de la liste.

    • Sélectionner la sauvegarde source à utiliser puis sélectionner les fichiers à transférer.

      Au premier niveau, on trouve les fichiers communs à iOS. Puis dans la hiérarchie on trouve les fichiers de chaque application.

      Il est possible d’utiliser le menu contextuel pour sélectionner tous les fichiers d’une application.

      Les fichiers sélectionnés le restent quand vous passez à une autre application (il est donc possible de transférer les fichiers de plusieurs applications à la fois)

    • Cliquer sur le bouton d’exportation.

      Cette fois, choisir “Export only checked file(s)” et sélectionner un dossier pour l’exportation..

    • Sélectionner la sauvegarde à modifier (celle qui a été copiée au début et qui apparaît donc en bas de la liste).

      Cliquer sur le bouton d’importation.

      Sélectionner tous les fichiers “.info” du répertoire où les fichiers à transférer ont été exportés.

    • Sélectionner la sauvegarde à modifier (celle qui a été copiée au début et qui apparaît donc en bas de la liste).

      Cliquer sur “Yes”.

      La restauration s’effectue sur l’appareil.

    • Vérifier sur l’appareil que tout fonctionne bien et que la sauvegarde a bien été transférée.

      En le retranchant ensuite à l’ordinateur, une nouvelle sauvegarde sera effectuée, et vous pourrez supprimer la copie de sauvegarde sur laquelle vous avez travaillé.

     
  10. 12:25 7th mai 2012

    Notes: 1

    Tags: nasSynology

    Récupérer les fichiers d’un torrent en cours de téléchargement sur un NAS Synology

    (Astuce sur un DS207 avec DSM 3.1, je ne sais pas si ça fonctionne avec un DSM plus récent)

    Avec un peu de manipulations, le module Download Station des Synology permet de récupérer les fichiers d’un torrent qui en contient plusieurs, avant que le téléchargement complet ne soit terminé.

    Voici comment faire :

    1/ Dans l’interface de Download Station, accélérer le téléchargement des fichiers désirés en jouant sur les priorités. Il faut sélectionner le torrent en cours de téléchargement, puis sélectionner l’onglet “Fichier”. Ensuite il suffit de sélectionner les fichiers désirés et de jouer avec les priorités :

    2/ Une fois les fichiers voulus téléchargés à 100%, se connecter en ligne de commande sur le NAS avec l’utilisateur root (via ssh qui aura auparavant été activé).

    3/ Le répertoire des téléchargements temporaires est “/volume1/@downloads/” (je suppose que ça peut être un autre numéro de volume dans certaines configurations à plusieurs disques). Utiliser le commande “cp” pour copier les fichiers ailleurs (dans un répertoire partagé ou sur un disque connecté au NAS).

    La copie est un peu longue, mais j’ai préféré éviter un déplacement ou l’utilisation de liens pour accéder aux fichiers. Ca aurait probablement été plus rapide, mais j’ai un peu peur de casser quelque chose ou d’affaiblir la sécurité.