PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

genma : Livres informatique à donner sur Paris

mercredi 26 octobre 2016 à 09:00

Régulièrement je fais du tri sur les étagère de ma bibliothèque et cette fois ce sont les livres suivants que je donne sur Paris (exclusivement, car l'occasion de se rencontrer et c'est plus facile que d'envoyer par la Poste).

J'avais reçu des éditions Eyrolles pour que je les lises fasse des critiques et ensuite les distribue :
- Le guide de la maison des objets connectés (Critique du livre ici)
- Le livre de Java premier langage, pour apprendre le Java, idéal pour un étudiant
-Sécurité opérationnelle Conseils pratiques pour sécuriser le SI par Alexandre Fernandez-Toro (Critique du livre ici) RESERVE
- E-commerce Tout savoir avant de créer une boutique en ligne ! de Bernard Eben (Critique du livre ici)
-CSS Flexbox (Présentation du livre chez l'Editeur) RESERVE

Enfin un vieux livre (date de 2008) mais des choses restent valables :
- Debian GNU/Linux, Sécurité du système par Franck Huet

Contactez moi si vous êtes intéressé, je mettrais la liste à jour en conséquence.

Gravatar de genma
Original post of genma.Votez pour ce billet sur Planet Libre.

Carl Chenet : Les crypto-monnaies : le monero

mercredi 26 octobre 2016 à 00:30

Toujours dans notre série consacrée aux crypto-monnaies et après la présentation du bitcoin puis de l’ethereum, nous présentons aujourd’hui le monero, une crypto-monnaie mettant en avant la sécurité, la protection de la vie privée et l’intraçabilité.

monero-logo

Une crypto-monnaie de plus, mais pourquoi ?

La question ne s’est pas posée avec le projet ethereum, car ce dernier met grandement en avant la chaîne de bloc et ses utilisations possibles et dans laquelle la monnaie du projet l’ether n’occupe qu’une place secondaire, en tout cas au point de vue de l’attention qu’officiellement le projet semble lui accorder. Pourtant devant la multiplication des crypto-monnaies et en particulier les premiers dérivés de bitcoin, comme le litecoin ou le dogecoin, on peut légitimement s’interroger sur l’intérêt d’une crypto-monnaie de plus.

Dogecoin et Litecoin, des clones techniques très proches de bitcoin

Dogecoin et Litecoin, des clones techniques très proches de bitcoin

Les premières crypto-monnaies alternatives

Devant le succès de bitcoin, de très nombreux projets alternatifs se sont créées, cherchant plus ou moins à bénéficier de sa popularité croissante et offrant peu d’évolutions par rapport aux caractéristiques intrinsèques du projet bitcoin.

En effet le bitcoin est le premier essai grandeur nature de l’utilisation d’une crypto-monnaie ayant rencontré un succès certain et ayant pu être testé à grande échelle. Étudier une crypto-monnaie dans son utilisation grandeur nature a permis d’identifier de nombreux problèmes concrets, touchant en général à la sécurité des utilisateurs, à la protection de leur vie privée et des possibilités de traçage dans leur utilisation d’une crypto-monnaie.

Car si les médias généralistes se sont emparés du bitcoin, c’est avant tout grâce à plusieurs affaires judiciaires ayant défrayées la chronique, en particulier la saga Silk Road, un site web spécialisé dans la vente de drogue sur lequel les paiements s’effectuaient en bitcoin, les utilisateurs des crypto-monnaies ont dont été rapidement confrontés aux réactions des autorités et à leur capacité d’enquête et donc à s’interroger sur la solidité de la protection de la vie privée et de l’intraçabilité du bitcoin.

Silk Road, site de vente de substances illégales présent sur Tor

Silk Road, site de vente de substances illégales ayant opéré via Tor

Devant les manques du porte-monnaie bitcoin, les alternatives offrant davantage de sécurité émergent aujourd’hui et en particulier le monero.

La sécurité du monero

Votre porte-monnaie monero est protégé par une phrase de passe sans laquelle il est inutile. Vous pouvez générer une suite mnémonique de 25 mots, suite correspondante à votre clé privée, afin de régénérer votre clé privée en cas de perte de données sur votre ordinateur.

La protection de vos données personnelles par monero

Avec monero, vous pouvez envoyer et recevoir des fonds sans que la transaction associée soit visible sur la chaîne de bloc.

L’intraçabilité du monero

Rendre les fonds intraçables est une fonctionnalité du monero, rendant ambigu quels fonds ont été dépensés par qui, afin d’empêcher de relier des fonds à un utilisateur particulier

Installer le porte-monnaie monero

Maintenant entrons dans le vif du sujet. Le porte-feuille monero est téléchargeable sur le site web officiel du projet. Nous choisissons de télécharger ce dernier directement afin de ne pas dépendre d’un mainteneur intermédiaire et d’être le plus à jour possible quant à la version du porte-monnaie monero installée sur notre poste.

Vous pouvez installer le porte-monnaie monero à l’aide des commandes suivantes (version Linux 64 bits) :

$ mkdir -p ~/wallets/monero
$ cd ~/wallets/monero
$ wget https://downloads.getmonero.org/monero.linux.x64.v0-10-0-0.tar.bz2
$ sha256sum monero.linux.x64.v0-10-0-0.tar.bz2 |grep 6fe4cdb98d6ea7d2eded79841f70cb64edb840fcb2c84b904a1114424cffc5b1
6fe4cdb98d6ea7d2eded79841f70cb64edb840fcb2c84b904a1114424cffc5b1 monero.linux.x64.v0-10-0-0.tar.bz2
$ mkdir monero_0.10.0.0 && cd monero_0.10.0.0
$ tar jxvf monero.linux.x64.v0-10-0-0.tar.bz2

Lors de cette installation très standard, nous vérifions la somme de hachage de l’archive afin de vérifier sa conformité par rapport à celle fournie par le projet monero.

Téléchargement de la chaîne de bloc monero

Nous commençons par lancer le binaire qui s’occupe de télécharger la chaîne de bloc avec laquelle vous allez ensuite synchroniser votre porte-monnaie. Cela se fait avec la commande suivante :

$ ./monerod

Le temps de téléchargement de la chaîne de bloc va dépendre du débit de votre connexion internet. Prévoir également 10 gigaoctets de données qui seront stockées dans ~/.bitmonero/lmdb/data.mdb

Premier lancement du porte-monnaie monero

Tout d’abord, bien que le projet monero soit assez ancien et très complet en fonctionnalité, le porte-monnaie officiel reste à ce jour une application en ligne de commande. Des initiatives sont subventionnées par le projet pour aboutir à un porte-monnaie graphique et à une application mobile sont toutefois en cours. Pour lancer votre porte-monnaie monero, il suffit de passer la commande suivante :

$ ./monero-wallet-cli
 Creating the logger system
 Monero 'Wolfram Warptangent' (v0.10.0.0-release)
 Logging at log level 0 to /tmp/./monero-wallet-cli.log
 Specify wallet file name (e.g., MyWallet). If the wallet doesn't exist, it will be created.
 Wallet file name: mymonerowallet

Un mot de passe vous est ensuite demandé ainsi que la langue à utiliser :

password: ****************
password: ****************
List of available languages for your wallet's seed:
0 : English
1 : Spanish
2 : German
3 : Italian
4 : Portuguese
5 : Russian
6 : Japanese
Enter the number corresponding to the language of your choice: 0

La génération du porte-monnaie commence. Des informations très importantes vous sont communiquées :

Generated new wallet: 499Rz7wbvVhW6bLDfMQ1448zCZSThj7c7RMZEj1woF6sWP2XhdRYpXR3tf5WUScjAG3t4wyhsr24dUS14Fk4rrUt6PK2oXm
 View key: 23765909984c2f2633ddf343692bb1b277ec66662a626257a5ccd3bde7b49c02
 **********************************************************************
 Your wallet has been generated!
 
 PLEASE NOTE: the following 25 words can be used to recover access to your wallet. Please write them down and store them somewhere safe and secure. Please do not store them in your email or on file storage services outside of your immediate control.

money agile bays scamper meeting omission kiosk jury
 jeans mesh ripped bays jury academy vexed tomorrow
 espionage fainted cease comb swagger mesh urgent vexed fainted
 **********************************************************************

Nous retiendrons ici la clé mnémonique correspondant à la clé privée de votre porte-monnaie monero. Il est important de sauver ces informations mais en les conservant à l’abri des indiscrétions.

Consulter son porte-monnaie Monero

Au second lancement de votre porte-monnaie monero, voici les informations qui vous seront immédiatement présentées :

Starting refresh...
Refresh done, blocks received: 553
Balance: 0.940000000000, unlocked balance: 0.940000000000

Nous voyons donc immédiatement notre solde immédiatement utilisable (ici unlocked balance) et le solde restant à confirmer (ici Balance).

Envoyer du monero

Rien de plus simple que d’envoyer du monero, il vous suffit de connaître l’adresse de votre destinataire et de passer la commande suivante :

[wallet 33NGv8]: transfer 49EqSG4URLDFfzSxvRBUxTLftcNM98DT5MvFp4JNJRih3icqrjVJiY8Jr9YF1atXN7UFBDx4vKq4s3ozUpkwrEAuEioqyWC 0.5
Money successfully sent, transaction 

Comme nous le voyons, transférer du monero ne présente aucune difficulté. Le premier argument est la clé publique du destinataire et le second argument le montant à envoyer. Les frais d’envoi son automatiquement calculés et prélevés par rapport à la somme envoyée. Cela a un côté très pratique et évite les erreurs de débutant qui omettent les frais de transfert et voit leur requête échouer après plusieurs jours voire plusieurs heures d’attente car aucun mineur n’a voulu traiter une transaction n’offrant pas de paiement des frais en retour.

Recevoir du monero

Recevoir du monero ne pose aucun problème particulier, il peut suffire de fournir son adresse publique qu’on obtient avec la commande suivante :

[wallet 33NGv8]]: address
43GGv8KzVhxehv832FWPTF7FSVuWjuBarFd17QP163uxMaFyoqwmDf1aiRtS5jWgCiRsi73yqedNJJ6V1La2joznKHGAhDi

Toutefois si vous fournissez cette adresse à différents payeurs, vous ne saurez pas qui vous a payé telle ou telle somme. Il est donc important d’associer une identité de paiement à une adresse. Pour cela nous allons utiliser la commande suivante :

[wallet 33NGv8]: integrated_address
Random payment ID: <5be0cca74c8bf209>
Matching integrated address: 4Cxwvw9V6yUehv832FWPTF7FSVuWjuBarFd17QP163uxMaFyoqwmDf1aiRtS5jWgCiRsi73yqedNJJ6V1La2joznUA5uvhQu3yj22nZ4Bz

Ici nous saurons donc que l’identité de paiement 5be0cca74c8bf209 est associée à l’adresse ci-dessus. Nous pourrons ainsi communiquer à un tiers cette adresse (qui embarque l’identité de paiement) et plus tard recevoir les fonds transmis via cette adresse et en déduire l’identité de paiement associé et donc la ou les personnes à qui nous l’avons communiquée.

Sauvegarder votre porte-monnaie monero

Le seul fichier à sauvegarder est mymonerowallet.keys, qui contient votre clé privée. Tous les autres seront automatiquement régénérés. Il faut également sauvegarder la clé mnémonique vue plus haut en cas de corruption de votre clé sur l’ensemble de vos ordinateurs. Vous pouvez facilement réaliser une sauvegarde papier de cette clé mnémonique qui ne tient que sur 25 mots.

Monero, un projet communautaire

Monero est un projet s’appuyant fortement sur sa communauté très active de développeurs et d’utilisateurs. Des financements participatifs sont régulièrement réalisés pour implémenter de nouvelles fonctionnalités ou soutenir des idées intéressantes.

C’est dans cette optique que j’ai lancé un financement participatif afin de réunir des fonds pour financer mon projet PyMoneroWallet, une bibliothèque Python pour le porte-monnaie monero.

python-logo-master-v3-TMPython et monero, l’association d’un puissant langage de programmation et d’une crypto-monnaie efficace

Visant à développer l’usage par les autres programmes Python et l’automatisation des actions des actions possibles avec le porte-monnaie Monero, ce financement participatif – bien sûr en monero – sera financé par la communauté pour que je puisse mener à bien ce projet, selon une liste d’engagement soumise à la communauté.

$ python3
>>> from monerowallet import MoneroWallet
>>> mw = MoneroWallet()
>>> mw.getbalance()
{'unlocked_balance': 2262265030000, 'balance': 2262265030000}

Si vous trouvez l’idée intéressante, n’hésitez pas à laisser un commentaire allant dans ce sens (en anglais) sur la page dédiée au projet sur le forum officiel monero.

Conclusion

Offrant des fonctionnalités inédites par rapport aux autres crypto-monnaies, activement développé par sa propre communauté dans un périmètre clair et bien défini – beaucoup moins vaste et flou que celui de l’ethereum par exemple – le monero est une crypto-monnaie alternative pouvant aller très loin car elle a bien su cerner les manques des autres crypto-monnaies et offrir des solutions innovantes pour combler ces manques.

Très communautaire, bien valorisé dans son cours actuel – 1 monero équivaut à 9,3mB (pour milli-bitcoin) – le monero offre un terrain d’expérimentation très intéressant à explorer et pour lequel beaucoup de choses restent à faire.

Gravatar de Carl Chenet
Original post of Carl Chenet.Votez pour ce billet sur Planet Libre.

Articles similaires

mozillaZine-fr : 1er Firefox préinstallé sur un Android

mardi 25 octobre 2016 à 14:28

AT&T Huawei Ascend XT GoPhone Prepaid Smartphone - Walmart.comSur Twitter, Lawrence Mandel publie une photo du premier smartphone vendu avec Firefox pour Android préinstallé.

Firefox now comes pre bundled on an Android device. https://t.co/fSOdHH34yL

— Lawrence Mandel (@mmmandel) October 22, 2016

C’est un effort pour Huawei quand on sait que Chrome fait partie des applications « gracieusement » offertes aux constructeurs par Google avec Android.

Gravatar de mozillaZine-fr
Original post of mozillaZine-fr.Votez pour ce billet sur Planet Libre.

Articles similaires

Pierre-Alain Bandinelli : Un couple d'enfer : ESP8266 et DS18B20, un petit objet connecté à quelques euros qui mesure la température et la transmet par Wifi

mardi 25 octobre 2016 à 08:07

Nous avons parlé de l'ESP8266 propulsé par micropython dans le billet précent. Parmi la multitude d'application possible, nous allons voir aujourd'hui comment coupler l'ESP8266 à une sonde DS18B20 pour relever périodiquement la température d'une pièce et transférer la valeur en Wifi à une base InfluxDB.

Principe

Nous parlons ici de mesure de température dans un lieu de vie : une prise de température toutes les 10 minutes est suffisante. Nous allons dès lors mettre en place le fonctionnement suivant pour l'ESP8266 :

  1. allumage, mise en route du Wifi, connexion au Wifi local
  2. mesure à 10 reprises de la température
  3. suppression des 2 valeurs extrêmes supérieures et des 2 valeurs extrêmes inférieures
  4. moyenne des 6 valeurs restantes
  5. envoi de la valeur à une base de données InfluxDB au moyen d'une requête POST
  6. mise en sommeil de l'ESP8266 pour 10 minutes

A la sortie de la mise en sommeil le cycle recommence.

En outre, un minuteur logiciel provoquera un redémarrage de l'ESP8266 s'il est bloqué 2 minutes sans arriver au bout de son cycle.

Branchements

Rien de sorcier : on alimente la sonde 1-wire DS18B20 en 3.3V (comme l'ESP8266), on en relie les masses et on place le pin de données de la sonde 1-wire sur un GPIO adéquat de l'ESP8266. Il ne faudra pas oublier la résistance de 4.7 kOhms entre le pin Vin et le pin Data de la sonde ! Et pour permettre la sortie du sommeil, il faudra relier le pin RESET (RST) de l'ESP8266 avec le GPIO 16 (celui de l'alarme RTC).

Code sur l'ESP8266

Nous allons placer le code ci-dessous dans le fichier main.py qui sera ensuite envoyé sur l'ESP8266 à l'aide des outils évoqués dans le billet précent :

./webrepl_cli.py /path/to/main.py 192.168.4.1:/

Le code intégral, fortement commenté, est là :

import socket
import time
import machine #pour accéder aux GPIOs
import onewire, ds18x20 #pour lire la sonde 1-wire
import urequests  #pour envoyer la requête POST
from machine import Timer

#Faire flasher i fois la petite LED bleue de la puce ESP8266
def do_flashes(i):
    if i<1:
        i=1
    pin = machine.Pin(2, machine.Pin.OUT)
    for z in range(0,i):
        time.sleep_ms(250)
        pin.value(not pin.value())
        time.sleep_ms(250)
        pin.value(not pin.value())
    pin.value(1) #On s'assure que la LED finit dans l'état "éteint"

#Se connecter au Wifi local
def do_connect():
    import network
    sta_if = network.WLAN(network.STA_IF)
    if not sta_if.isconnected():
        print('connecting to network...')
        sta_if.active(True)
        sta_if.connect('SSID', 'password') #Remplacer le nom du SSID et le mot de passe de connexion
        while not sta_if.isconnected():
            pass
    print('network config:', sta_if.ifconfig())  #On imprime l'IP de la puce une fois connectée, pratique pour déboguer sur le port série
    do_flashes(4)

#Effectuer une requête POST sur une URL InfluxDB (ou autre)
def http_post(data):
    url = 'https://path.to.influx.db/write?db=dbname'
    data = ("temperature,tag1=x1,tag2=x2 value=%s" %
(str(data)))
    resp = urequests.post(url, data=data)

#Effectuer une mesure sur le GPIO 4
def do_ds18b20():
    dat = machine.Pin(4)
    ds = ds18x20.DS18X20(onewire.OneWire(dat)) #On crée l'objet OneWire
    roms = ds.scan()  #On scanne le bus pour trouver toutes les sondes
    print('found devices:', roms)

    #On mesure 10 fois la température
    if len(roms)>0:
        templist = []
        for i in range(10):
            ds.convert_temp()
            time.sleep_ms(1000) #On attend 1 seconde entre chaque prise de mesure pour laisser le temps à la sonde de se réinitialiser
            temp = ds.read_temp(roms[0])
            templist.append(temp)
        templist.remove(max(templist)) #On supprime les valeurs extrêmes
        templist.remove(max(templist))
        templist.remove(min(templist))
        templist.remove(min(templist))
        sum_of_temps = 0
        for temp in templist:
            sum_of_temps = sum_of_temps + temp
        final_temp = sum_of_temps/6
        print('Final temp: ', final_temp)
        return final_temp

#Redémarre l'ESP8266, "machine.reset" est équivalent à un redémarrage électrique
def force_reset():
    print("Machine inactive for too long, this is not normal, rebooting!")
    machine.reset()

#Regarde si l'ESP8266 se réveille d'un sommeil profond (et non d'un (re)démarrage électrique)
if machine.reset_cause() == machine.DEEPSLEEP_RESET:
    print('Woke from a deep sleep')

#On active le minuteur qui provoque le redémarrage dans 2 minutes
tim = Timer(-1)
tim.init(period=120000, mode=Timer.ONE_SHOT, callback=lambda
t:force_reset())

do_flashes(2) #On signale le démarrage du travail par 2 clignotements
do_connect() #Connexion au Wifi
time.sleep_ms(2000) #On attend 2 secondes
temp = do_ds18b20() #On mesure la température
http_post(temp) #On l'envoie sur InfluxDB

print('set RTC alarm to wake up later')
rtc = machine.RTC() 
rtc.irq(trigger=rtc.ALARM0, wake=machine.DEEPSLEEP) #On configure RTC.ALARM0 pour être capable de re-démarrer le périphérique
rtc.alarm(rtc.ALARM0, 600000) #  Après 600 secondes RTC.ALARM0 redémarrera la machine !
#Petit compte à rebours, pratique pour l'interrompre par Ctrl+C, quand l'on veut se connecter à l'ESP8266 pour en modifier le comportement
print('deep sleep in 20 seconds')
time.sleep_ms(15000)
print('deep sleep in 5 seconds')
time.sleep_ms(2000)
print('deep sleep in 3 seconds')
time.sleep_ms(1000)
print('deep sleep in 2 seconds')
time.sleep_ms(2000)
print('deep sleep in 1 seconds')
time.sleep_ms(1000)
print('deep sleep now! waking up in 600 seconds')
machine.deepsleep()

Et voilà une petite sonde qui prend la température toutes les 10 minutes.

Consommation ?

Un petit test rapide a montré que mon ESP8266 monté sur un kit de développement NodeMCU v1.0 (je pressens que la consommation serait moindre sans le kit de développement) :

C'est à creuser plus finement mais cela donne déjà qq ordres de grandeur.

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.

Articles similaires

Full Circle Magazine FR : Le 113 est là !

lundi 24 octobre 2016 à 15:41

Bonjour !

L'équipe des trois administrateurs du FCMfr est fière de vous présenter le numéro 113, celui de septembre 2016, bien avant la sortie du 114 ! Vous le trouverez sur notre page NUMÉROS ; autre possibilité, le télécharger directement en cliquant sur la photo de couverture ci-dessous.

issue113fr.png

Outre les bonnes rubriques habituelles, vous pourrez y lire, notamment :

Nous vous en souhaitons bonne lecture.

L'équipe des admin (qui espère le retour de frangi, bosskhalid, et al., et la venue de nouveaux membres) :

Gravatar de Full Circle Magazine FR
Original post of Full Circle Magazine FR.Votez pour ce billet sur Planet Libre.

Articles similaires