Category Archives: Tuto

Kankun smart plug

Hello,

A la demande « pressente » de @iooner :p je vais vous parler d’un produit que je viens de recevoir à la maison pour piloter une prise de courant.

Ce petit joujou est en fait un relai piloté par une carte supportant linux (OpenWrt) en wifi. C’est un produit qu’on trouve sur Amazon (désolé @iooner en effet c’est qu’en amérique du nord qu’on trouve ça pour le moment) ou sur alibaba (@iooner t’as peut être une chance :p) et il est vraiment donnée pour 30$.

Kankun_KK-SP3_Board_Large New-2014-CN-Ver-Original-Kankun-Smart-Plug-Wifi-Remote-Control-Socket-Intelligent-Charger-Wireless-Control

 

Bon je vous passe le fait qu’il y a des applications iphone et android qui vous permette de piloter et de programmer cela facilement.

Si je vous en parle c’est parce que la base est de l’openwrt et que pour le coup ça devient facile de faire ce que l’on veut avec. :)

Pour commencer il faudra initialiser votre prise avec un téléphone (android ou ios)
C’est très bien expliqué dans la notice et ça marche bien pour le connecter à votre réseau wifi. Une fois que c’est fait vous pouvez y accéder depuis le réseau facilement avec leur application.

Mais ce qui est top et le plus magique c’est qu’on peut accéder à sa prise en ssh :D

Pour cela rien de plus simple. Faut juste trouver l’ip sur votre réseau mais ça je vous laisse trouver l’outil pour ça

 ssh root@XXX.XXX.XXX.XXX

après faut le mot de passe pour moi c’est celui là qui a marché

p9z34c

Pour d’autres c’est admin et d’autres encore il faut faire un telnet XXX.XXX.XXX.XXX et un passwd pour initier le password.

Capture d’écran 2014-12-05 à 23.36.00

et voilà maintenant vous avez un petit linux facilement accessible :)

Mais comme je veux pousser un peu plus loin le truc et me faire un lien avec un serveur centralisant le pilotage de plusieurs prises il faut que je trouve un moyen facile de piloter tout ça. C’est là qu’intervient la bonne communauté du plug X)

On va implémenter un petit script cgi pour piloter depuis une requête http la prise.

Pour cela toujours connecté en ssh, il faut se créer un petit répertoire /www/cgi-bin
et construire le script cgi, json.cgi comme suit (un petit coup de vi)

#!/bin/sh
echo « Content-Type: application/javascript »
echo « Cache-Control: no-cache, must-revalidate »
echo « Expires: Sat, 26 Jul 1997 05:00:00 GMT »
echo

VERSION=0.0.1
RELAY_CTRL=/sys/class/leds/tp-link:blue:relay/brightness
TIMINGS=`tail -n+3 /etc/online.txt | sed ‘:a;N;$!ba;s/\n/ », »/g’`
IP_ADDRESS=`ifconfig wlan0 | sed ‘:a;N;$!ba;s/\n/ », »/g’ | grep -E -o ‘[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+’ | head -n 1`

get=$(echo « $QUERY_STRING » | sed -n ‘s/^.*get=\([^&]*\).*$/\1/p’ | sed « s/%20/ /g »)
set=$(echo « $QUERY_STRING » | sed -n ‘s/^.*set=\([^&]*\).*$/\1/p’ | sed « s/%20/ /g »)
callback=$(echo « $QUERY_STRING » | sed -n ‘s/^.*callback=\([^&]*\).*$/\1/p’ | sed « s/%20/ /g »)

case « $get » in
state)
case « `cat $RELAY_CTRL` » in
0) echo « $callback({\ »state\ »:\ »off\ »}) »
;;
1) echo « $callback({\ »state\ »:\ »on\ »}) »
;;
esac
;;
timing)
echo « $callback({\ »timings\ »:[\ »$TIMINGS\ »]}) »
;;
esac

case « $set » in
on)
echo 1 > $RELAY_CTRL
echo « $callback({\ »ok\ »:true}) »
;;
off)
echo 0 > $RELAY_CTRL
echo « $callback({\ »ok\ »:true}) »
;;
esac

if [ -z « $get » ] && [ -z « $set » ]; then
echo « $callback({\ »info\ »:{\ »name\ »:\ »kankun-json\ »,\ »version\ »:\ »$VERSION\ »,\ »ipAddress\ »:\ »$IP_ADDRESS\ »},\ »links\ »:{\ »meta\ »:{\ »state\ »:\ »http://$IP_ADDRESS/cgi-bin/json.cgi?get=state\ »,\ »timing\ »:\ »http://$IP_ADDRESS/cgi-bin/json.cgi?get=timing\ »},\ »actions\ »:{\ »on\ »:\ »http://$IP_ADDRESS/cgi-bin/json.cgi?set=on\ »,\ »off\ »:\ »http://$IP_ADDRESS/cgi-bin/json.cgi?set=off\ »}}}) »
fi

 

Vous retrouverez le code ici

https://github.com/homedash/kankun-json

ensuite il n’y a plus qu’à s’amuser avec les requêtes qui vont bien
pour avoir des infos: http://$IP_ADDRESS/cgi-bin/json.cgi
Jour:

http://$IP_ADDRESS/cgi-bin/json.cgi?set=on

Nuit:

http://$IP_ADDRESS/cgi-bin/json.cgi?set=off


et voilà bon évidemment ce n’est pas protégé par mot de passe mais bon normalement il n’y a personne d’autre qui va lancer ce genre de requête dans mon réseau interne…même si il ne faut pas oublier que c’est qd même un boitier chinois à 30$ et que ça se trouve c’est une porte d’entrée pour la nsa chinoise #parano… mais bon faut tester. Un petite page html dans le répertoire /www/ pour que http://$IP_ADDRESS soit clean. Voir même y créer 2 gros boutons ON/OFF utilisant les liens précédents.

voilà il y a aussi plein d’info sur la petite communauté

https://plus.google.com/communities/115308608951565782559

Bon c’est vrai que c’est pas mal et en plus c’est tout petit mais ça ne vaut pas ma multiprise « Nicolas » en cpl :)

Allez je vous laisse vous amuser avec ce super plug an.. à bientôt X)

So enjoy!

Qu’est ce qu’il y a dans mon application android?

Hello,

Avec ces smartphones, on a accès à plein d’applications! Tellement qu’on ne sait pas vraiment ce qu’elles font sur le réseau ou bien avec nos données privées. Et moi ça m’inquiète…

Donc j’étais curieux de voir comment étudier le code d’une application android. Et en fait c’est très très simple. Il suffit de télécharger l’application dex2jar.

https://code.google.com/p/dex2jar/
(Il faut avoir Java d’installé sur sa machine)

Ensuite il suffit d’exécuter les commandes suivantes avec un fichier apk que vous pouvez récupérer de puis votre téléphone (avec un backup par exemple)

# convert classes.dex in test_apk-debug.apk to test_apk-debug_dex2jar.jar
d2j-dex2jar.sh -f -o test_apk-debug_dex2jar.jar test_apk-debug.apk

# verify jar
d2j-asm-verify.sh test_apk-debug_dex2jar.jar

# convert to jasmin format
d2j-jar2jasmin.sh -f -o test_apk_jasmin test_apk-debug_dex2jar.jar

Et donc dans le répertoire test_apk_jasmin vous retrouverez tout le code source et vous pourrez étudier celui ci sous toutes ses coutures.
rmq: vous pourrez utiliser d’autres outils comme JD-GUI pour lire le jar test_apk-debug_dex2jar.jar

Accessoirement vous pourrez aussi repackager suite une modification si vous le souhaitez

# build jar
d2j-jasmin2jar.sh -f -o test_apk_jasmin.jar test_apk_jasmin/
# verify jar
d2j-asm-verify.sh test_apk_jasmin.jar
# convert to dex
d2j-jar2dex.sh -f -o classes.dex test_apk_jasmin.jar
# make a copy
cp test_apk-debug.apk test_apk-debug-toast.apk
# replace classes.dex in test_apk-debug-toast.apk
zip -r test_apk-debug-toast.apk classes.dex
# sign the apk
d2j-apk-sign.sh -f -o test_apk-debug-toast-signed.apk test_apk-debug-toast.apk

et voilà facile

So enjoy!

Tomcat en mode cluster et avec session multicast

Hello,

Je m’amuse toujours comme un petit fou à utiliser mon petit cluster cubietruck et là je me suis décidé à l’utiliser avec tomcat.

Pour commencer, j’ai 3 serveurs que je vais appeler simplement server1, server2 et server3.

Et donc le principe est assez simple c’est de mettre en frontal sur le server1 un apache qui va jouer le rôle de load balancer sur 3 instances de tomcat, une sur server1,2 et 3.

APACHE

Sur le serveur principal (server1) il vous faudra installer apache et un mod

sudo apt-get install apache2 libapache2-mod-jk

ensuite éditez le fichier /etc/apache2/mods-available/jk.conf

et modifiez le de telle façon http://svn.apache.org/repos/asf/tomcat/jk/trunk/conf/httpd-jk.conf

sudo nano /etc/libapache2-mod-jk/workers.properties

//workers.properties
worker.list=loadbalancer,status
worker.server1.port=8009
worker.server1.host=server1.com
worker.server1.type=ajp13

worker.server2.port=8009
worker.server2.host=serevr2.com
worker.server2.type=ajp13

worker.server3.port=8009
worker.server3.host=server3.com
worker.server3.type=ajp13

worker.server1.lbfactor=1
worker.server2.lbfactor=1
worker.server3.lbfactor=1

worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=server1,server2,server3

worker.status.type=status

d’ailleurs dans les différents fichiers hosts il faudra que vous rajoutiez l’adresse ip et l’adresse dns associée pour qu’ils se connaissent mutuellements sous les noms server1.com, server2.com et server3.com

Modifiez les paramètres d’apache

 sudo nano /etc/apache2/sites-available/default

comme suit

<VirtualHost *:80>.

………………..

JkMount /status status

JkMount /* loadbalancer

</VirtualHost *:80>

et pour finir un petit redémarrage

service apache2 restart

 

TOMCAT

Téléchargez la dernière version de tomcat et java si vous ne l’avez pas déjà (booooooooooooohhhh si vous ne l’avez pas!!!!) et placez les fichiers décompresser dans un répertoire de travail sur les 3 serveurs. Vous pourriez faire un apt-get mais je préfère pas c’est plus simple à gérer à la main je trouve.

éditez le fichier tomcat/conf/server.xml

décommentez

<Connector port= »8009″ protocol= »AJP/1.3″ redirectPort= »8443″ />

dans la balise engine

<Engine name= »Catalina » defaultHost= »localhost » jvmRoute= »server1″>

<!–For clustering, please take a look at documentation at:
/docs/cluster-howto.html (simple how to)
/docs/config/cluster.html (reference documentation) –>
<!–
<Cluster className= »org.apache.catalina.ha.tcp.SimpleTcpCluster »/>
–>
<Cluster className= »org.apache.catalina.ha.tcp.SimpleTcpCluster »
channelSendOptions= »8″>
<Manager className= »org.apache.catalina.ha.session.DeltaManager » 

     expireSessionsOnShutdown= »false » 

      notifyListenersOnReplication= »true »/>
<Channel className= »org.apache.catalina.tribes.group.GroupChannel »>
<Membership className= »org.apache.catalina.tribes.membership.McastService » 

     address= »228.0.0.4″
     port= »45564″
     frequency= »500″
     dropTime= »3000″/>
<Receiver className= »org.apache.catalina.tribes.transport.nio.NioReceiver »
     address= »auto »
     port= »4000″
     autoBind= »100″
     selectorTimeout= »5000″
    maxThreads= »6″/>
<Sender className= »org.apache.catalina.tribes.transport.ReplicationTransmitter »>
    <Transport className= »org.apache.catalina.tribes.transport.nio.PooledParallelSender »/>
</Sender>
<Interceptor className= »org.apache.catalina.tribes.group.interceptors.TcpFailureDetector »/>
<Interceptor className= »org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor »/>
</Channel>
<Valve className= »org.apache.catalina.ha.tcp.ReplicationValve »
       filter= ».*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.css;.*\.txt; »/>
<ClusterListener className= »org.apache.catalina.ha.session.ClusterSessionListener »/>
</Cluster>

<Context distributed= »true » path= »/ » /> #chemin des applis distribuées

</Engine>

 

maintenant tout est près à déployer.

Mettez en place tous vos tomcat sur tous vos serveurs, par contre faites attention dans votre server.xml de mettre à jour la balise engine avec le bon nom du worker  jvmRoute= »serverX »

Avant de tout lancer il faut activer le multicast sur tous les serveurs pour qu’ils puissent se reconnaître.

sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0

netstat -nr

Maintenant vous pouvez tout lancer tomcat/bin/startup.sh.

D’ailleurs si vous voulez pointer vers une autre version de java n’oubliez pas que vous pouvez créer un fichier setenv.sh dans ce répertoire bin comme par exemple

export JAVA_HOME=/root/Workspace/java/jdk1.8.0_06

export CATALINA_PID= »$CATALINA_BASE/tomcat.pid »

Dans ce cas j’ai eu qq problème car à déplacer des fichiers (java et tomcat) j’ai perdu qq droits d’exécution donc un petit chmod +x * dans les répertoires bin (java et tomcat) devrait résoudre le pb.

Si vous voulez vérifier que tout fonctionne il y a un fichier jsp qui traîne ici que vous pourrez déposer dans webapps/examples/jsp

par contre pour rendre une application distribuable il faudra que le fichier web.xml de l’appli contienne l’information

<distributable/>

Donc n’oubliez pas de mettre à jour le web.xml de « examples »

 

Voici un très bon tuto et cet autre tuto qui m’ont permis de réaliser cela.

So Enjoy!

ip dynamique et ovh

Hello,

Le problème que j’ai rencontré est que j’ai une pauvre adresse dynamique chez mon fournisseur d’accès donc pour pouvoir retrouver mon adresse ça devient vite compliquer DynDNS c’est devenu payant et les autres je suis moyennement convaincu seul le port 80 est redirigé… bref sachant que j’héberge des serveurs chez ovh j’ai trouvé un petit outils plutôt pratique qui s’appelle updatedd qui permet de mettre à jour chez ovh les dns, donc on va mettre en place un script, un cron et on sera bon :)

Vous trouverez updatedd ici

Pour que ça fonctionne avec OVH il faudra faire une petite modification

nano updatedd-2.6/src/plugins/libovh.h

ligne 24 rajoutez « www »

#define DYNDNSHOST « www.ovh.com »

Après il n’y a plus qu’à builder

~$ ./configure

~$ make

~$ su

# make install

 

Avant de pouvoir faire quoi que ce soit il va vous falloir créer un compte DynHOST chez OVH. Et c’est tant mieux car il faut savoir que les identifiants seront envoyés en clair sur le net… super… mais bon c’est le jeux.

voici le tuto ovh qui vous explique comment créer votre compte dynhost.

maintenant vous pouvez exécuter la commande pour mettre à jour le dns.

updatedd ovh — –ipv4 ip username:password host

où ip: votre adresse ip, username le login dynhost, password, et le host: l’url que vous voulez y associer

il n’y a plus qu’à créer un script. Mais le problème c’est qu’il nous manque l’adresse ip il nous faut savoir qu’elle est notre adresse ip depuis l’extérieur. Là je vais faire intervenir un script php très simple que j’ai nommé  getipext.php:

<?php
$ip = getenv(« REMOTE_ADDR ») ;
Echo $ip;
?>

Et il va vous retourner votre adresse depuis l’extérieur.

Pour pousser le bouchon un peu plus loin voici un autre script pour savoir si on doit  faire une mise à jour du dns. Je l’ai appelé getiphost.php

<?php

$url = ‘host';
$ip = gethostbyname($url);

echo $ip;

?>

Voilà maintenant on va construire un script dynhostUpdate.sh pour gérer cette mise à jour et vous générer un fichier de log à chaque changement d’ip

#!/bin/sh

# OVH – DynHost
#
# Permet de mettre à jour le champ DYNHOST
# pour votre nom de domaine.

# La mise à jour ne se fait que si l adresse IP
# a effectivement changé.
# Fichier de log: dynhost.log

# Mod par Michoo_42

HOST=’host’
LOGIN=’username’
PASSWORD=’password’
LOCALPATH=’/xxx/xxx/xxx’

# Obtention de l adresse IP actuelle et celle enregistrée lors du dernier changement
#echo $LOGIN $PASSWORD $HOST
IP=$(curl -s http://siteweb/getipext.php)
OLDIP=$(curl -s http://siteweb/getiphost.php)

if [ « $OLDIP » != « $IP » ];
then
echo `date` « OLDIP: $OLDIP , NEW IP: $IP  » >> $LOCALPATH/dynhost.log
/usr/local/bin/updatedd ovh — –ipv4 $IP $LOGIN:$PASSWORD $HOST >> $LOCALPATH/dynhost.log
fi

voilà (chmod +x dynhostUpdate.sh) maintenant on passe au cron qui est un scheduler

crontab -e

et à la fin rajoutez la ligne qui va bien

*/30 *  * * * /chemin/dynhostUpdate.sh >/dev/null 2>&1

pour moi c’est toutes les 30 minutes mais après vous faites comme vous le sentez.

 

Voilà maintenant on va pouvoir passer aux choses sérieuses la mise en place du vpn ;)

So enjoy!

Installer Cyanogen et kali sur un Samsung Galaxy note 2

Hello,

Je cherchais un truc dans mes tiroirs quand je suis tombé nez à nez avec un Samsung Galaxy note 2 que ma femme avait mis de côté après l’achat d’un nouveau tel. Du coup j’ai oublié ce que je cherchais et je me suis amusé avec ce très bon téléphone :)

Donc j’ouvre la bête voir ce qu’il y avait dedans et là re-surprise je trouve une  carte micro SD de 64Go… comment dire c’est juste fou comment peut on abandonner cette petite chose là!!!

Je regarde donc ce que je peux faire rapidement et là je tombe sur Kali. Pour faire suite à mon précédent article sur kali sur mon macosx je me dis parfait je me lance!

 

Tout d’abord il faut être root de son android (tant qu’à faire, hein sinon c’est pas drôle) et je me dis au passage je vais lui faire une petite cure de jouvance avec la dernière release de Cyanogen.

là je tombe sur un tuto tout fait

Donc tout d’abord téléchargez et installez heimdall un outils qui va pouvoir écraser le rommanager d’origine avec clockwork (à télécharger ici).

Donc il suffit de démarrer le téléphone  avec Volume Down, Home, & Power accepter le disclaimer, brancher le câble USB à votre ordi possédant heimdallpuis lancez la commande:

heimdall flash –RECOVERY recovery-clockwork-6.0.4.3-n7100.img –no-reboot

Débranchez l’usb er rebootez en mode recovery Volume Up, Home, & Power (moi j’ai un peu galérer mais ça a fonctionné peut être que adb reboot recovery le ferait aussi)
Vous pouvez rencontrer des problèmes.

« ERROR: Claiming interface failed! ». Alors il faut désactiver le drivers USB.

Sur mac

sudo kextunload -b com.apple.driver.AppleUSBCDC;

sudo kextunload -b com.apple.driver.AppleUSBCDCACMControl;

sudo kextunload -b com.apple.driver.AppleUSBCDCACMData;

Ou bien si vous avez installé Samsung Kies:

sudo kextunload -b com.devguru.driver.SamsungComposite;

sudo kextunload -b com.devguru.driver.SamsungACMData

sudo kextunload -b com.devguru.driver.SamsungACMControl

 

 

téléchargez la version que vous souhaitez  sur l’excellent site de cyanogen

ensuite démarrez en mode recovery (adb reboot recovery )
Volume Up, Home, & Power

backup and restore histoire de ne pas se retrouver comme un couillon.
Vidage des données wipe data/factory reset.

Sur votre ordi poussez la version de cyanogenmod avec adb

adb push update.zip /storage/sdcard1/

une fois terminé reboot system now

et vous devriez avoir une rom toute neuve et être en super utilisateur

Ensuite installez google apps

maintenant vous avez un système fonctionnel et vous pourrez télécharger les applications suivantes
vnc viewer, linux deploy, WiFi Keyboard (pour pouvoir agir plus facilement au clavier)

Maintenant il faudra formatter votre carte sd en ext4 sur votre linux préféré autrement débrouillez vous. Moi le exFat ça l’a pas fait mais je n’ai pas poussé. En tout cas du fat32 vous pourrez pas avoir une image de plus de 4Go.
Vous pourrez ensuite l’insérez dans votre téléphone puis dans la fenêtre console

$ su

# chown media_rw:media_rw /mnt/media_rw/sdcard1

# chmod g+w /mnt/media_rw/sdcard1

et cela vous permettra d’avoir accès en écriture sur la partition en ext4 de votre sdcard :)

maintenant vous pourrez suivre un tuto pour installer kali en toutes tranquillité (chez korben )
faites une partition de 15000MB sinon il fera par défaut 4Gb et vous serez beaucoup trop juste…

Voilà vous pouvez lancer kali sur votre mobile…mais ce n’est pas parfait vous vous apperceverez qu’elle est quasi vide… il vous faudra faire une mise à jour

sudo apt-get update

sudo apt-get install kali-linux-full

sinon si vous voulez faire d’autres packages  moi je me suis juste installé kali-linux-web c’est suffisant pour mes besoins.

 

Voilà c’est là que ce termine ce tuto et c’est là que commence vos bidouilles :p

 

So enjoy!

 

how to build hadoop 2.3.0 for cubietruck with lubuntu server ?

Hi,

After so many times to build hadoop on my cubietruck, I made a simple tutorial for helping you building clusters :)

 

So, for begining, you need tools for building

$ sudo apt-get install build-essential

$ sudo apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev

$ sudo apt-get install maven

(maybe you have to libwagon-java pb do : sudo dpkg -i –force-all /var/cache/apt/archives/libwagon2-java_2.2-3+nmu1_all.deb)

Another prerequisite, protoco buffer: protobuf version 2.5, which can be downloaded from https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz

$ tar xzvf protobuf-2.5.0.tar.gz
$ cd protobuf-2.5.0
$ ./configure –prefix=/usr
$ make
$ make check
$ sudo make install

 

Having all the tools, we can now build Hadoop native libraries.

$ wget http://mirror.catn.com/pub/apache/hadoop/core/hadoop-2.3.0/hadoop-2.3.0-src.tar.gz

$ tar xzvf hadoop-2.3.0-src.tar.gz

$ cd hadoop-2.3.0-src

for cubietruck you have to apply a patch https://issues.apache.org/jira/browse/HADOOP-9320
and a second patch

Index: hadoop-common-project/hadoop-auth/pom.xml
===================================================================
— hadoop-common-project/hadoop-auth/pom.xml (revision 1543124)
+++ hadoop-common-project/hadoop-auth/pom.xml (working copy)
@@ -54,6 +54,11 @@
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-util</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<scope>test</scope>
</dependency>

Then you can build with openjdk1.8.0 hard float (from oracle)
if you need to know what kind of arm you have  dpkg –print-architecture.

So now let’s beggin for one night building

$ mvn package -Pdist,native -DskipTests -Dtar

 

#INSTALLATION

In you target directory of your build

$ mv hadoop-2.3.0 hadoop
$ sudo mv hadoop /usr/local

 

After you can generate ssh key

$ ssh-keygen -t rsa -P  » -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh localhost
$ exit

Now we have to modify some sh and the .bashrc

$ cd ~$ nano .bashrc

# Add those exports for Hadoop
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0
export HADOOP_PREFIX=/usr/local/hadoop
export PATH=$PATH:$HADOOP_PREFIX/bin
export PATH=$PATH:$HADOOP_PREFIX/sbin
export HADOOP_MAPRED_HOME=${HADOOP_PREFIX}
export HADOOP_COMMON_HOME=${HADOOP_PREFIX}
export HADOOP_HDFS_HOME=${HADOOP_PREFIX}
export YARN_HOME=${HADOOP_PREFIX}

 

$ nano $HADOOP_PREFIX/etc/hadoop/hadoop-env.sh

#add this
export HADOOP_HEAPSIZE=1024
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS= »-Djava.library.path=$HADOOP_PREFIX/lib »

 

$ nano $HADOOP_PREFIX/etc/hadoop/yarn-env.sh

#add this
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS= »-Djava.library.path=$HADOOP_PREFIX/lib »

 

$ nano $HADOOP_PREFIX/etc/hadoop/core-site.xml

#add this property in configuration
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
<description>The name of the default file system. A URI whose
scheme and authority determine the FileSystem implementation.
The URI’s scheme determines the config property (fs.SCHEME.impl) naming
the FileSystem implementation class. The URI’s authority is used to
determine the host, port, etc. for a filesystem.
</description>
</property>

 

$ nano $HADOOP_PREFIX/etc/hadoop/hdfs-site.xml

#add this property in configuration
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/root/workspace/hadoop/dfs/name</value>
<final>true</final>
</property>

<property>
<name>dfs.datanode.data.dir</name>
<value>file:/root/workspace/hadoop/dfs/data</value>
<final>true</final>
</property>

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>

 

$ nano $HADOOP_PREFIX/etc/hadoop/mapred-site.xml

#add this property in configuration
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

<property>
<name>mapred.system.dir</name>
<value>file:/root/workspace/hadoop/mapred/system</value>
<final>true</final>
</property>

<property>
<name>mapred.local.dir</name>
<value>file:/root/workspace/hadoop/mapred/local</value>
<final>true</final>
</property>
</configuration>

 

$ nano $HADOOP_PREFIX/etc/hadoop/yarn-site.xml

#add this property in configuration
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

then do a name node format

$ hdfs namenode -format

Now your hadoop server is ready to start him

$ start-all.sh // will start all hadoop processes

$ jps // will report the local VM identifier

$ stop-all.sh // will stop all hadoop processes

To check if everything is running and to conclude this tutorial use your browser

DFSHealth

http://xxx.xxx.xxx.xxx:50070/dfshealth.jsp

http://xxx.xxx.xxx.xxx:50070/dfshealth.html

Status

http://xxx.xxx.xxx.xxx:50090/status.jsp

 

$ netstat -netpl | grep java

 

That’s all for today

So enjoy hadoop!

Le bitcoin meaning et mining :)

Vous avez surement tous entendu parlé de la monnaie Bitcoin récemment avec son actualité rebondissante. Je me suis un peu plus penché sur ces nouvelles monnaies dites crypto monnaies.

DIGSOUTH_ShaneSnowQA_042913

 

Première surprise en regardant ce sujet,  il y a une véritable foultitude de monnaie!!!

Dont 3 qui se démarquent:
-évidemment, le bitecoin
-puis litecoin
-et le dernier dogecoin

Je ne savais pas trop par laquelle commencer mais autant prendre la plus connue.

  • Alors Le bitcoin comment ça marche?

Je ne vais pas rentrer dans les détails mais si vous voulez savoir comment ça fonctionne, il y a une video très simple et des explications sur leur site https://bitcoin.org/en/

Ici vous trouverez une publication complète et très intéressante
Et un petit podcast en provenance de la place de la toile de France Culture dédié au bitcoin, très instructif comme tous leurs podcasts d’ailleurs

Si ça ne vous suffit pas et qu’il vous faut  vous plonger dans les algo les sources sont accessibles, c’est un logiciel libre !

  • Le commencement!

Au commencement, il y a le porte monnaie. Il faudra installer une application sur votre ordinateur qui va vous permettre de créer votre porte monnaie.
Moi j’ai utilisé bitcoin-qt

sudo apt-get install bitcoin-qt

une des particularités de la monnaie c’est que tout le monde connait toutes les transactions de la monnaie. C’est sympa mais au premier lancement le temps de chargement va être très long du genre qq jours. Surtout avec toutes les transactions en ce moment ya du monde à télécharger. Il y a moyen d’aller un peu plus vite en téléchargeant le torrent qui doit bien faire 15Go.
il suffira juste de le déposer brutalement dans votre répertoire ./bitcoin où se trouve votre wallet.dat

  • La sécurité

Tout d’abord, il faudra crypter votre porte monnaie pour empêcher que les gens fassent les transactions à votre place.
De plus pensez bien à faire un backup de votre porte monnaie car celui ci n’existe qu’à travers le fichier wallet.dat sur votre ordinateur
lisez attentivement https://en.bitcoin.it/wiki/Securing_your_wallet

  • L’évolution du marché

Si vous voulez voir un peu le volume des transactions
https://blockchain.info/fr/charts
L’état du marché
http://bitcoincharts.com/markets/
le taux de conversion courant
http://preev.com/btc/usd

  • Miner

Ce qui est original avec cette monnaie c’est qu’elle est limitée en nombre de pièces et qu’elles ne sont pas toutes fabriquées. Et pour cela un simple ordianteur suffit!
Ca y est, je vous vois déjà en train de vous dire que sans effort vous pourrez gagner de l’argent, en laissant simplement tourner son ordinateur. C’est pas faut mais rien est simple dans la vie…

Pour les fabriquer c’est mathématique, il suffit de casser du code SHA256! Et comme il y a 256 bits il n’y aura pas plus de 21millions de pièces (2^256 pièces). Au passage dites vous que vous allez contribuer à casser le code SHA256. Il y a même des théories qui disent que c’est la NSA qui est à l’origine de cette monnaie pour pouvoir décrypter un max de données!!!!

Bref, arrêtons la théorie du complot et revenons sur un point important: la difficulté. En effet,  celle ci est variable et ne fait que croître! Au fur et à mesure du minage, les blocs plus simples sont cassés pour rapporter ces fameux bitcoins et du coup les suivants deviennent de plus en plus compliqués. Si vous voulez plus de détails https://en.bitcoin.it/wiki/Difficulty. Voici la cible en temps réelle

En effet, par exemple, en 2010, avec un ordinateur réalisant 1000 Khps, avec une difficulté de 14484, le temps de générer un bloc etait de 2 ans! aujourd’hui la difficulté est de 4 milliards… Donc autant vous dire que c’est pas gagné…

C’est pour cela qu’ils ont inventé les pool de minage! Le but c’est de s’associer à plusieurs pour miner un block et le casser plus facilement et chacun récupère sa part en bitcoin. L’union fait la force!!

il y a plein de pool de minage . Vous en trouverrez où vous devrez vous authentifier, où il y aura des taxes,… chacun a ses contraintes.
Moi j’utilise eligius, c’est simple pas besoin de s’enregistrer, juste de donner son adresse de porte monnaies.

Autrement vous pouvez mettre en place votre propre pool  mais il faudra se faire connaître pour que cela soit efficace et surtout vous risquez les attaques c’est sacrément risqué à mon goût…

Bon maintenant vous savez comment ça se passe, faut s’attaquer au minage!

Pour cela il vou faut du matériel
Il y a trois types de matériel
-CPU: le microprocesseur de votre ordinateur
-GPU: ceux de votre/vos carte(s) graphique(s)
-ASIC: qui sont des microcontrollers dédiés au cassage SHA256 donc hyper efficace aussi bien techniquement qu’énergétiquement.

L’ASIC est essentiel si vous souhaitez miner du bitcoin! Le CPU ou les GPU ne peuvent traiter au grand max quelques centaines de Mega hash par secondes alors que l’ASIC ira au moins 100 fois plus vite. Mais il est dédié qu’à ça, vous ne pourrez pas en faire grand chose autrement.

voici un comparatif du matériel existant
https://en.bitcoin.it/wiki/Mining_hardware_comparison

En regardant sur Ebay, on voit tout un tas de machines ASIC 30,60,120Gh/s a des prix qui peuvent aller jusqu’à 1000$ !

Donc il faut faire attention à l’investissement que vous ferez, donc faites bien vos calculs savants
http://bitcoinwisdom.com/bitcoin/calculator
http://tpbitcalc.appspot.com/
Ils vous permettront de faire vos premières hypothèses. Mais attention le calcul se base sur une difficulté fixe alors qu’elle croisse de façon exponentielle dans le temps de semaine en semaine.

Il semblait envisageable de miner jusqu’en décembre 2013 mais aujourd’hui un simple mortel ne peut pas produire grand chose, Sauf si vous voulez investir dans une ferme de machines qui ne serviront qu’à casser du SHA256…

Bon comme je ne voulais pas mourir idiot, j’ai fait le test avec 2 clés Antminer à 1.6GH/s que j’ai eu pour 120$. Je me suis installé bgfminer qui est l’outils qui va permettre d’exploiter les Antminer.

antiminer-u1

 

sudo aptitude install autoconf libtool libncurses-dev yasm curl libcurl4-openssl-dev libjansson-dev pkg-config libudev-dev libusb-dev uthash-dev libsensors4-dev libmicrohttpd-dev libevent-dev libusb-1.0-0-dev

git clone https://github.com/luke-jr/bfgminer

cd bfgminer

./autogen.sh

./configure

make

Après rien de plus simple ya plus qu’à lancer la commande suivante

./bfgminer -o stratum+tcp://stratum.mining.eligius.st:3334 -O leCodeDeVotrePorteMonnaie

Je suis donc à 3.2Gh/s et résultat: 0.00039416 BTC par jour (25centimes de dollar)… mouais on est pas rendu. Bref après un vite calcul à une difficulté fixe, je ne serai pas rentable dans l’année….

Certes je peux esperrer que la valeur du bitcoin augmente mais je n’attends pas grand chose.

  • Donc au final ce que j’en conclu de cette expérience de bitcoin et de son minage :

La transparence de cette monnaie est très intéressante et originale. Personne n’est identifié autrement que par le code de son porte monnaie mais toutes les transactions entre porte monnaies sont accessibles par tout le monde. Et c’est tout le monde(P2P) qui garantie la cohérence du système.

Le plus intéressant c’est la liberté de pouvoir faire des transactions de porte feuilles à porte feuilles sans à avoir a passer par un intermédiaire qui va ponctionner un certain pourcentage de la transaction.
Par contre pour la conversion BTC vers une autre monnaie (ou l’inverse) comme ça ne se fait pas à travers des banques (pour le moment)  du coup il y a de vrais risques transactionnels comme MTGOX qui a fait faillite récemment ou bien des risques de vol avec des fausses places de marché. J’ai trouvé celles là qui ont l’air pas trop risqué : https://bitcoin-central.net/,https://www.virwox.com, https://btc-e.com/, https://coinbase.com

Le minage n’est plus intéressant à cause de cette difficulté qui a sacrément augmenté et qui implique aujourd’hui de grandes quantités de machines excessivement puissantes et couteuses. Si vous ne pouvez viser des centaines de Gh/s voir le Th/s vous n’irez pas bien loin… Donc faites attention sur Ebay d’ici quelques semaines vous verez plein de machines pas chères…

Le meilleur coup à faire c’est de suivre le cours du BTC et d’en acheter au moment le plus opportun mais étant donné l’instabillité du cours c’est un risque à mesurer. Bref ça s’appelle boursicoter. Il sera peut être plus judicieux de miser sur une entreprise sur laquelle vous croyez que de miser sur du BTC….

Bon pour le coup avec ces 2 clés Asic ant miner je ne sais pas trop ce que je vais en faire. Je vais attendre 2/3 mois histoire de voir comment ça tourne voir si je peux récupérer qq millièmes de bitcoin supplémentaires.

Après peut être que du côté du hack de password il y a un prochain article à faire faut voir(http://security.stackexchange.com/questions/211/how-to-securely-hash-passwords/31846#31846) mais je pense que je vais tout simplement les vendre si d’ici là elles ont encore une valeur marchande…

C’était un sujet intéressant sur la crypto monnaie. le principe de liberté et d’anonymité me plaisent bien. Maintenant à voir comment celle ci va évoluer ou comment le LiteCoin (ou une des centaines d’autres) va la remplacer.

So Enjoy!

 

RTL SDR – la clé à l’écoute

Bonjour,

Je me suis acheté un petit joujou pour geek :)

FM-DAB-DVB-T-USB-DVB-T-RTL2832U-R820T-Support-LINUX-WIN7

une clé usb pour recevoir la tv et la fm vous allez me dire. Ouais et alors …

Et bien c’est bien plus que ça!! Car depuis quelques temps est apparu des applications qui permettent d’exploiter pleinement ces clés usb sur une grande plage de fréquence.
Donc vous pouvez imaginer plein de choses… Si vous manquez d’idées jetez un oeil ici car il se passe pas mal de choses sur les ondes :)
Pour commencer on va s’amuser à écouter les avions. En effet il faut savoir que les avions émettent tout un tas d’information (vitesse, altitude, position…) sur les ondes et n’importe qui peut écouter.Pour cela il vous faudra une clé RTL/SDR que vous trouverez très facilement chez amazon ou sur ebay. Les mots clés: SDR et Realtek RTL2832U. Après il n’y a plus qu’à brancher installer 2-3 drivers et application pour visualiser sur une belle map google les avions qui circulent aux alentours.ScreenArticleSDRVous pouvez l’installer sur Mac OSX et sur linux sans problème après sous windows je vous laisse vous débrouiller.Ici on va traiter notre cas sur linux (sur Mac avec macport ça se fait facilement)On va donc récupérer un petit logiciel qui s’appelle dump1090 (1090 c’est pour la fréquence)

git clone https://github.com/antirez/dump1090

j’ai dû installer au préalable cmake, libboost, librtlsdr-dev et usb-1.0 pour pouvoir compiler, vous aurez sûrement d’autres choses à installer  (je suis sur Kali) pour vous inspirer regardez ici ou ici

donc un petit cmake dans le répertoire de dump1090. Vous verrez il n’y a pas beaucoup de fichier. Je pense que vous pourrez même facilement rentrer dans le code source pour vous l’approprier et faire d’autres choses. Un projet d’école intéressant.

Bon maintenant vous pouvez lancer l’application. Il y a plusieurs mode. Un mode classique qui va vous afficher dans le terminal tous les avions au dessus de votre tête. Intéressant mais pas très fun.

Il y a un deuxième mode qui vous permet d’afficher en temps réel la position de l’avion sur google map :)

./dump1090 –net –net-ro-port 31001 –net-http-port 8080

et vous n’aurez plus qu’à vous connecter avec votre navigateur préféré sur http://127.0.0.1:8080 et vous verrez ce que l’on voit un peu plus.

pour plus de détails sur les commandes disponibles regardez sur le github d’antirez

Voilà un petit projet fun que vous pourrez perfectionner en mettant une antenne plus adaptées mais surtout voyez ce projet comme un cas d’école intéressant pour rentrer dans la rtl sdr. Le code source n’est pas inacessible donc amusez vous à le modifier. Il y a tellement de possibilités!!

 

So enjoy!!

 

 

 

 

Comment faire un CV?

Hello,

En ce moment je suis en plein CV… Et oui, mon projet kubeek n’a pas pris donc du coup je le mets en stand by et on verra un jour si cela peux servir à quelqu’un quitte à revendre le concept.

Bref, comme j’ai pas mal galéré pour mon CV et que enfin c’est bon j’ai la méthode! Je vous la partage :)

  • Définition d’un CV

Je pense que vous savez tous que le CV est un document que vous allez présenter à une entreprise pour postuler à un poste par rapport à une offre ou une candidature spontanée. Mais le Cv est plus que ça! C’est une super carte de visite.

C’est aussi le premier contact avec un recruteur/cabinet de recrutement ou autre. Donc il est très important que celui ci soit accrocheur!!!

J’ai eu  l’occasion de lire des dizaines de CV à la suite (sans avoir la possibilité de passer des heures). Je peux vous garantir que les premiers vous y consacrer 2min et vous faites bien attention au contenu plus qu’à la forme mais qu’au 15ième vous ne regardez que la mise en forme pour juger si vous allez continuer et consacrer 2min à la lecture… et même comme ça, vous lisez en diagonale…

Le CV est un outils pour mettre en valeur les moments clés et les compétences de votre carrière, pour mettre en avant ce que vous voulez être! Donc faites attention à ne pas faire un simple listing historique de vos expériences.

De plus les CV sont lu par des RH ou des cabinets de recrutement qui ne sont pas ingénieurs et donc attention à modérer les termes techniques.

Le CV s’inscrit dans une démarche de communication et doit attirer l’attention du recruteur pour provoquer l’entretien afin d’en savoir plus (je sais c’est facile à dire).

Il faut que globalement votre CV soit compréhensible par votre voisine fan de Justin Bieber! :)

  • Définition de ton projet professionnel

Je ferai un autre article à ce sujet un peu plus tard mais dans les grandes lignes si ton projet n’est pas clair ça va transparaitre indéniablement dans ton CV. Donc quelques points clés à voir auparavant:

-Quel est le poste visé? le poste que tu veux faire par exemple « Responsable d’équipe », « Chef de produit »,… et donc pas nécessairement ce que tu es actuellement. Ca parait évident comme ça mais c’est important dans le CV,

-La taille et le secteur du type d’entreprise que tu vises, -Tes connaissances, aptitudes et compétences pour ce poste,

-Essaye de faire une fiche des compétences et réalisation pour chaque expérience. Le mieux c’est de prendre une feuille blanche par expérience et détaillez l’enjeu du poste, les problèmes et les solutions, les compétences, les technos, ce que tu as aimé et déplu.

  • Détails du CV

On rentre dans le vif du sujet.

Le CV c’est sur 1 ou 2 pages quand vous postulez à un poste. Quand vous avez plus d’expérience (notamment pour les boites de conseil) soyez synthétique et restez sur 2 pages.

Je sais c’est pas simple d’alléger son CV. On a l’impression de ne pas mettre en valeur toutes ses expériences. Mais rien ne vous empêche de faire un CV plus détaillé (donc plus de 2 pages) de toutes vos expériences que vous donnerez en entretien. Le maitre mot c’est aéré.

Si vous faites tenir votre cv en 1 page il faut que ce soit aéré. N’essayez pas de tout tasser pour que ça rentre en 1 page. A ce moment vous pourrez passer sur 2 pages.

Si vous êtes sur 2 pages, Il faut que la mise en forme soit homogène sur les 2 pages. De plus il faut que toutes les infos utiles soient sur la première page. Comme je disais c’est le premier coup d’oeil qui vous permettra que le RH mettra votre CV dans le « tas intéressant » ou « deuxième choix  si rien ne correspond dans le premier tas« .

Bon maintenant rentrons dans les rubriques de votre CV

  • Bandeau Titre du CV

C’est simple! à gauche un bloc coordonnées(nom, prénom, adresse, tel, mail) + age (juste l’age) + lien Viadeo + lien linkedin.

Ensuite dans le même bandeau, au milieu, le Poste ciblé en gras et la font la plus grande de votre CV(c’est l’accroche principale!!!!). Juste en dessous en font normale votre diplôme Arts et Métiers ParisTech + autres (15ans de management, Anglais courant, mobilité géographique, durée d’expérience…).

Pour finir sur le bandeau, à droite, une photo couleur de vous en posture professionnelle. Donc costume cravate (faut que ça se voit bien sur la photo de même que votre tête), photo nette, souriez mais pas trop sous risque de passer pour quelqu’un de pas sérieux ou de bête…

  • Expérience Professionnelle

ou Parcours professionnelle avec pour chaque poste occupé:Dates (Début + fin), Intitulé du poste, raison sociale de l’entreprise (nom), lieu de travail, effectif entreprise/site, domaine/secteur d’activités + Type produit/service, missions principales/activités associées au poste puis descriptif des activités, résultats données chiffrées.

par exemple:

Jan 2009 à Juin 2012 – Nom de l’entreprise – poste (site et effectif)

Missions:

-Encadrement ……

-Initialiser la démarche lean machin….

Réalisations:

2011: Gestion des risques

2010: Gain de 6 jours en production et de 100 à 200k€ de reduction de frais…

Attention ici il faudra faire apparaître en fil rouge ce que vous êtes et ce qui vous amène vers le poste ciblé. Et ça c’est pas simple pour ceux qu’on un parcours varié.

  • Formation

avec diplômes + formation continue + langues + connaissances informatiques

  • Centres d’intérêt

Vie associative, loisirs: musique (concerts?) /sports(compétition?), activités culturelles, voyages…

  • En conclusion

Le CV c’est quelque chose de pas simple et il est très dur de se détacher de certaines de ses expériences. Le CV est un document de communication et il ne faut pas hésiter à se mettre en valeur pour la cible que vous visez quitte à faire part du détail de vos expériences lors de l’entretien!

Quelques mots clés de cet article:

-> « aéré » et « homogène »

-> « Accroche » de l’intitulé du CV

-> « fil rouge » qu’il faut faire apparaitre en correspondance avec le poste ciblé

 

Voilà je te souhaite bon courage dans la mise à jour de votre CV et votre recherche de boulot ;)

 

michoo 42

Développer sur minecraft (MacOsx + Netbeans)

Hello,

Je viens de découvrir Minecraft, j’ai mis un peu le temps à comprendre comment marchait ce jeu (je suis vieux…). J’ai regardé des videos de kikoolol (d’ailleurs c’est super rude de se faire expliquer par un gosse en qui est loin de muer, j’ai souffert pour vous) et donc j’ai passé ma journée hier + ma nuit + ce matin pour faire un tour d’horizon. Et je trouve ça finalement très marrant! Car il y a vraiment pas mal de possibilités de modification.

En effet, le java ça se décompile très facilement même quand c’est obfusqué (c’est une protection qui consiste à renommer toutes les variables et méthodes en des noms super simple par exemple MethodDeOuf() devient a(), ce qui rend la lecture difficile).

Et donc je vous ai fait un petit tuto pour décompiler et paramétrer minecraft sur netbeans

 

1) Téléchargez la dernière version sur http://mcp.ocean-labs.de/index.php/MCP_Releases, pour pou c’était la version 726. Décompressez tout ça dans un répertoire temp sur votre bureau par exemple

2) Récupérez les dossiers de votre minecraft que vous avez acheté sous mac ça se trouve dans /Users/votrenom/Library/Application Support/minecraft/bin et ressources.Mettez les dans temp/mcp726/jars/

3) Récupérer le minecraft_server.jar (sur le site de minecraft) et le mettre dans temp/mcp726/jars/

4) Dans le répertoire temp/mcp726/ lancez ./updatetemcp.sh pour mettre à jour les fichiers pour résoudre l’obfusquation

5) Dans le répertoire temp/mcp276/ lancez ./decompile.sh
Maintenant vous avez les sources !

6) Lancez netbeans, créez un nouveau projet « minecraft », dans les propriétés rajouter

-les sources qui se trouvent dans temp/mcp726/src/minecraft

 

-veiller à être en java 1.6 (perdez pas de temps ya pas de solution pour le moment pour 1.7) Pour cela il faudra peut être rajouter la librairie java de votre systeme (/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home un truc du genre)

-rajouter les librairies qui se trouvent dans temp/mcp276/jars/bin/

-rajouter les arguments qui vont bien dans mon cas:

MainClass: net.minecraft.client.Minecraft

Arguments: mettez votre username (je reviendrai dessus un peu plus tard

VM Arguments: -Xincgc -Xms1024M -Xmx1024M -Djava.library.path= »/Users/fred/Desktop/minecraft/mcp726/jars/bin/natives »

 

7) Et donc là ca devrait le faire vous pourrez lancer minecraft et le debugger :)
Le « username » c’est au cas où vous auriez un server minecraft de lancé et que vous cherchiez à vous y connecter. Je n’ai pas réussi à me connecter avec mon compte officiel pour trouver la solution faudrait regarder un peu plus en détail l’authentification voir modifier le server (début de piste https://github.com/search?q=minecraft+launch&type=Repositories&ref=simplesearch)
Bref si sur votre serveur vous voulez vous connecter tout en concervant l’evolution je vous conseille de modifier le server.properties l’option online-mode en false (online-mode=false)

Et voilà… à j’oubliais!

si vous compilez et générez le jar (repertoire dist) voici la commande pour lancer à la main

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -Xincgc -Xms1024M -Xmx1024M -cp « ../lib:../lib/*:../minecraft.jar:../lib/jinput.jar:../lib/lwjgl.jar:../lib/lwjgl_util.jar » -Djava.library.path=./natives -jar minecraft.jar username

Sinon dans temp/mcp726/ vous retrouverez la commande ./reobfuscate.sh puis ./recompile.sh (je n’ai pas testé car je n’en ai pas besoin et à mon avis ça va pas marcher car je suis en jdk 1.7…)et après vous pourrez refaire le jar, remplacer le minecraft original,etc…

 

Voilà après il y a plein de tutos sur le web pour créer vos armes, objets, mondes,…

par exemple ici

 

So Enjoy!