lundi, février 01, 2016

Atelier SOA - Leçon 3 : Développement de services web Rest avec JAX-RS, Maven et Eclipse

Je viens de publier un tutoriel sur le développement de services web Rest avec JAX-RS en utilisant principalement Maven. Le tutoriel est disponible ici :
Ce tutoriel est une version modifiée du tutoriel qui utilisait massivement l'environnement de développement Netbeans pour la construction des classes. 
Tout comme le tutoriel sur les services web étendus avec JAX-WS (http://keulkeul.blogspot.fr/2016/01/atelier-soa-lecon-2-developpement-de.html), ce tutoriel sur JAX-RS fait abstraction d'un environnement de développement. 

L'objectif de ce tutoriel est de proposer une série d'exercices afin d'apprendre à manipuler l'API JAX-RS pour le développement de services web Rest à partir de la plateforme de développement Java.

Chaque exercice est fourni avec un projet Java Maven contenant des classes et des fichiers de configuration qu'il faudra compléter au fur et à mesure des questions. À la fin de chaque exercice, une solution du projet Java sera donnée.

N'hésitez pas à profiter des commentaires du blog pour laisser vos remarques sur le contenu.

lundi, janvier 25, 2016

Atelier SOA - Leçon 2 : Développement de services web étendus avec JAX-WS, Maven et Eclipse

Je viens de publier un tutoriel sur le développement de services web étendus avec JAX-WS en utilisant principalement Maven. Le tutoriel est disponible ici :

Ce tutoriel est une version modifiée du tutoriel qui utilisait massivement l'environnement de développement Netbeans pour la construction des classes. 

J'ai donc voulu dans cette version m'abstraire complètement d'un environnement de développement. Les étudiants passés plus de temps à manipuler Netbeans via des wizard sans vraiment comprendre les concepts. Même si j'utilise Eclipse vous pouvez sans problème utiliser votre environnement de développement préféré.

L'objectif de ce tutoriel est de proposer une série d'exercices afin d'apprendre à manipuler l'API JAX-WS pour le développement de services web étendus à partir de la plateforme de développement Java.

Chaque exercice est fourni avec un projet Java Maven contenant des classes et des fichiers de configuration qu'il faudra compléter au fur et à mesure des questions. À la fin de chaque exercice, une solution du projet Java sera donnée.

Pour rappel l'adresse : 
N'hésitez pas à profiter des commentaires du blog pour laisser vos remarques sur le contenu.

vendredi, janvier 15, 2016

Prochaine version d'Eclipse Neon+1 sera ...

Le nom de la prochaine version d'Eclipse a été dévoilé suite à un sondage. La prochaine version qui suivra Eclipse Neon (prévue pour juin 2016) sera Eclipse Oxygen.

Pour en savoir plus sur les autres noms qui étaient en compétition : https://bugs.eclipse.org/bugs/show_bug.cgi?id=485861

Il faudra attendre juin 2017 pour profiter de cette nouvelle version. On aura droit à des versions en développement à partir de juillet 2016.

Et vous que pensez-vous de ce nouveau nom ? La première chose à laquelle je pense ce sont les albums de Jean-Michel Jarre...


lundi, décembre 28, 2015

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java et autres qui m'ont particulièrement intéressées ces dernières semaines. J'en profite pour vous souhaiter de très bonnes fêtes de fin d'année.

Java
  • Un billet intéressant qui présente les nouveautés de Jigsaw, la grosse nouveauté pour Java 9. Ceux qui ont fait de l'OSGi reconnaîtront surement des choses. A la fin du billet, une description intéressante de l'outil jlink qui va pouvoir générer une sorte d'exécutable embarquant une micro JVM.
  • Ce billet explique pourquoi 100 == 100 est vrai et 1000 == 1000 est faux. 
  • Un article intéressant qui explique les nouveautés de Java 8.
  • Pom-Explorer est un outil qui permet de visualiser les dépendances entre les Jar dans un projet Maven.
  • Builder-Generator est une bibliothèque sympathique qui permet de générer le code correspondant au patron de conception Builder. La bibliothèque utilise la JSR 269 qui traite des annotations processors.

Divers
  • J'ai découvert cela il n'y a pas si longtemps, Twitter a quelques outils sympathique. Tout d'abord Analytics qui permet d'avoir des statistiques sur son compte. TweetDeck est un outil pour gérer plusieurs comptes Twitter en même temps.
  • JSON-Generator est un outil sympathique sur le web permettant de générer du JSON à partir d'un template.
  • Gogs est un Github like qui peut-être héberger sur son serveur. Pour rappel il y a le minimaliste Gitblit qui fait la même chose mais qui ressemble moins à Github.
  • Un guide intéressant très simple pour commencer avec Git.
  • Korben explique dans un billet comment modifier son adresse MAC.
  • Un projet appelé Neuraltalk2 qui permet d'analyser des images et dire avec des phrases leur contenu. Il y a aussi cette vidéo où une personne a utilisé son portable PC avec le projet pour une description temps-réel.

samedi, octobre 31, 2015

Mes applications pour travailler sous MAC OS X

Depuis quelques temps, je suis repassé à Mac OS X. Voici une liste des outils que j'utilise.
  • Homebrew : un gestionnaire de paquet. Pratique pour installer Maven par exemple. Si vous avez un problème avec El Capitain suivez les informations apportées par ce lien.
  • Cask : un extension à Homebrew pour installer des applications autrement que par le DMG classique
  • Microsoft Remote Desktop : pour le bureau à distance avec des machines Windows. Switcher entre les deux OS n'est pas simple à cause des touches CMD (Mac OS X) = CTRL (Windows)
  • Eclipse : le meilleur environnement de développement pour coder Java... si cette phrase vous choque veuillez donner votre avis ici. Par ailleurs, je vous conseille d'installer ce plugin pour lancer plusieurs instances d'Eclipse.
  • FileZilla : un client FTP pas le meilleur mais multi-plateformes
  • Chrome : navigateur web, je l'ai choisi à la place de Firefox à cause des modules proposés (postman par exemple) et de la possibilité de conserver ses préférences d'une machine à l'autre via son compte Google.
  • Google Drive : pour synchroniser mes données 
  • iTerm 2 : remplace Terminal de Mac OS X. J'en avais profité pour installer byobu afin de diviser mon terminal. Depuis El Capitain j'ai de gros problème avec.
  • Java : sans commentaire.
  • KeePassX : mon trousseau de clés que j'utilisais sous Windows. Ce portage est fonctionnel. Ce n'est pas très sexy mais ça marche.
  • Path Finder : le remplaçant du simpliste finder.
  • PixelMator : mon logiciel de dessin simpliste.
  • SourceTree : un super client GIT.
  • SublimeText : l'éditeur de texte.
  • Thunderbird : le client email. J'ai ajouté en module Nostaly (pour déplacer des emails par le clavier) et Provider for Google Calendar pour ajouter mes agendas Google.
  • Nimu : une calculatrice assez originale.
  • TexStudio : l'éditeur pour faire du Latex.
  • Office 2011 et LibreOffice : les outils pour transmettre des documents avec d'autres gens.
  • Skype : pour la messagerie instantanée
  • Vagrant : pour gérer mes machines virtuelles Linux. Je suis peut être bizarre mais c'est à l'intérieur d'une VM Linux que je fais les tests sur Docker, habitude de Windows. Le virtualiseur utilisé est VirtualBox. Avec ce dernier j'ai installé un Windows 10 pour continuer à utiliser le kit de Developpez.com.
Mon objectif était d'éviter les applications Apple (qui sont très bien) genre le client de messagerie, le navigateur, le calendrier ou les outils pour la bureautique. On ne sait jamais je pourrais revenir sous Windows dans l'avenir ou passer sous Linux. Il y a quand même Time Machine qui reste simple et puissant pour sauvegarder son Mac.

Et vous qu'avez-vous installé en plus sous votre Mac ?

vendredi, octobre 23, 2015

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • La prochaine version d'Eclipse s'appellera Eclipse Neon
  • AQL un langage de requête pour Eclipse Sirius.
Java (spécial GWT)
  • GWT Cropper est un composant GWT qui permet de sélectionner une zone graphique.
  • Sortie de la version 3 de GWTChosen, un composant GWT de type liste très évolué. 
  • Arnaud Tournier a fait une présentation à Toulouse sur la JSR 269. Cette spécification permet d'exploiter les annotations présentes dans le code pendant le processus de compilation pour générer d'autres codes sources. Toutes les ressources de sa présentation sont disponibles ici.
  • D'autres bibliothèques GWT qui sont pour la plupart des wrappers de bibliothèques JS (source DVP) : Guava pour GWT, GWT-Charts, GWT-Maps-API, GWT-OAuth2, GWTEventBinder.
  • Un article sur GWT en général. 
  • Si vous souhaitez en savoir plus sur JsInterop, la nouvelle façon d’interagir avec GWT, vous pouvez consulter ce document.
Divers
  • Leaflet est une bibliothèque Javascript pour encapsuler de la cartographie.


lundi, juillet 13, 2015

Liens pratiques de la semaine


Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Le rapport annuel sur la fondation Eclipse.
  • A l'occasion de la sortie d'Eclipse Mars, Mélanie Bats a rédigé un billet sur Sirius, comme toujours très original.
Java
  • Un billet très intéressant sur JMH, l'outil pour faire du microbenchmarking.
  • Un exemple qui montre comment créer une archive ZIP avec mot de passe sous Java.
  • JDK 9 proposera un shell pour Java appelé jshell. Cet article de Xebia propose un tutoriel pour une première prise en main. Vous trouverez ici un tutoriel au format PDF.
  • Un billet de chez Arcbees qui montre comment créer des animations en CSS sous GWT avec GSSS (oui oui il y a bien trois S).
  • Comment utiliser les Stream de Java 8 pour OpenCV, un billet intéressant.
  • Sortie de JFreeSVG, une API pour manipuler du SVG.
  • Un billet qui présente Apache Flink qui se veut être une alternative à Spark.
Divers
  • Un graphique sorti par Linkedin qui montre les compétences des développeurs sur les technologies NoSQL 
  • Des exemples des principales commandes Linux
  • Le projet Cokpit est un outil permettant d'administrer ses serveurs Linux.
  • Gridster.js est un framework JS qui permet de gérer facilement le Drag & Drop sur ses applications Web.
  • TiddlyWiki est un Wiki très léger qui fonctionne côté client (la sauvegarde peut-être gérée par un plugin firefox), merci Henri pour le tuyau.
  • jrnl est une application qui permet d'écrire ses mémoires depuis la ligne de commande Linux.
  • Un billet de PresseCitron qui présente trois sites pour obtenir des images gratuites.

mercredi, juin 24, 2015

Liens pratique de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Eclipse Mars est sortie le mercredi 24 juin. Si vous souhaitez plus de détail sur les nouveautés, vous pouvez aller voir sur Developpez.com ou sur EclipseSource via le TOP 10. 
Java
  • Ce billet de blog vous montre comme réaliser une version portable (sans passer par l’installeur) de Java 8 sur Windows.
  • Un article qui présente GWT-Theo (portage de Theo sur GWT). L'objectif de Theo est de faciliter la configuration de l'apparence de son application Web.  
  • MapDB est une base de données embarquée qui s'intéresse aux structures de type collection.  
  • Cucumber est une bibliothèque pour faire du test fonctionnel (pas simplement limitée à Java au passage).
Divers
  • Un site qui propose une base de connaissances pour GIT
  • Un annuaire des bibliothèques et outils autour du développement de site Web
  • Un retour intéressant sur le passage d'entretiens d'embauche chez Google et Facebook. L'importance des matières théoriques est sans appel.
  • Knwl.js est une bibliothèque JS pour extraire des informations (date, lieu, heure...) depuis du contenu (source Proxiad)
  • CamanJS est une autre bibliothèque JS pour faire du traitement sur des images.


jeudi, juin 04, 2015

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Un billet autour de la présentation d'un exemple simple de modélisation pour l'utilisation d'Eclipse Sirius.
Java
  • Un article sous forme d'astuces qui explique comment rendre son application GWT plus optimiser pour les moteurs de recherche (SEO).
  • Un autre article de la société Arcbees qui s'intéresse à la génération de code pour GWT. L'exemple utilisé est bien choisi et on voit en quoi la génération de code peut-être utilisée avec GWT.
  • HexaBinding est une bibliothèque pour faire du binding de classes avec GWT.
  • Deux billets intéressants (partie 1 et partie 2) sur l'utilisation de Java ME 8 avec le Raspberry PI.
  • Un billet sous forme de mémo qui rappel les paramètres disponibles pour exécuter une JVM.
  • Orika est une bibliothèque pour faire du mapping Bean to Bean au même titre que Dozer.
Divers
  • Un billet qui présente un ensemble d'outils en ligne de commande Linux pour aider le monitoring des applications.
  • Des astuces pour être productif avec GIT.   

lundi, mai 11, 2015

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Les environnements de développement dans le cloud sont le prochain challenge. A ce titre, j'ai pour l'instant référencé Cloud9 et Codenvy/Eclipse Che

Java
  • Ce billet explique comment créer un filigrane transparent dans un document PDF avec l'aide de la bibliothèque iText.
  • Metrics de DropWizard est une bibliothèque qui permet de monitorer des applications Java.
  • Une astuce pour Maven afin d'ajouter de la couleur lors d'un build sur le terminal.
  • Nouvelle version 2.1 pour le composant GWT Chosen.
  • Billet de blog concernant l'utilisation de GSS en utilisant le concept des variables et d'un thème (ce billet fait suite à celui-ci). 
  • pi4j, la bibliothèque Java qui permet de piloter un Raspberry PI, est sortie en 1.0.0. Elle offre officiellement le support de composant. Par exemple une classe encapsule le MCP 3008.

Divers
  • Une astuce pour allonger la durée de vie des cartes SD.
  • Le projet LaZagne (source Korben) permet de trouver les mots de passe stockés dans les différentes applications de la vie courante. Fonctionne sous Windows et Linux.
  • Typed-js est une bibliothèque JavaScript qui permet de donner l'impression que le texte est saisi automatiquement.
  • Une bibliographie très riche, proposée par Isabelle Blasquez, sur tout ce qui touche à l'agilité.
  • threejs est une bibliothèque graphique en JavaScript. La page exemples donne un aperçu des capacités de la bibliothèque graphique.
  • Un article qui donne des astuces pour essayer d'être anonyme sur le net.
  • Puphpet, site web qui permet de configurer une machine virtuelle et de générer un vagrant, fait peau neuve avec de nouvelles fonctionnalités.


samedi, avril 25, 2015

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines. Cette semaine c'est essentiellement du GWT.

Java
  • Un billet de blog qui présente l'utilisation de CSS3 dans GWT avec GSS.
  • Tessel est un framework MVP (Model View Presenter) pour GWT.
  • J2ObjC est un outil qui traduit du Java en Objective-C réalisé avec GWT.
  • HexaCSS est un outil qui permet d'intégrer n'importe quel framework CSS (Sass, Less...) dans GWT.
  • GWT-d3 est un wrapper GWT pour la bibliothèque de rendu de document d3.js.
  • OptaPlanner est une bibliothèque de résolution de problèmes à base de contraintes (type voyageur de commerce).
  • Seldon et orxy sont des bibliothèque pour faire de la recommandation. Ils implémentent les principaux algorithmes du domaine.
Divers
  • FireChat une solution de chat qui utilise la proximité des téléphones sans avoir à utiliser le réseau GSM. Il faut juste activer WIFI et Bluetooth. A essayer dans le train et dans l'avion ou en conférence ?
  • Les sites de recommandation de film abondent. Je vous avais déjà parlé de Movienr. Vodkaster est un autre site communautaire qui propose de la recommandation de film.
  • OMDb c'est le site IMDb avec une approche communautaire. Il existe OMDb API qui fournit une API Rest pour accèder à OMDb.

mercredi, avril 15, 2015

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Eclipse Oomph est une installateur d'Eclipse. Il permet d'automatiser l'installation et la mise à jour d'Eclipse. C'est pratique pour tester une distribution Eclipse donnée. Vous pouvez même choisir la version d'un plugin donné. Le problème c'est la lenteur car il va chercher chaque plugin. Plus d'information sur cette page : http://projects.eclipse.org/projects/tools.oomph

Java
  • Une présentation de Sami Jaber sur le futur de GWT au dernier Devoxx France 2015. L'utilisation des WebComponent est très prometteuse. 
  • Un portage de Material Design sur GWT (Github). Pour information, Material Design est un ensemble de règles de conception graphique proposées par Google (merci à Jonathan Mesny @jmesny_ pour l'information).
  • JMH est une bibliothèque pour faire du micro benchmarking avec son code Java. En gros, la bibliothèque fournit un ensemble d'annotations pour configurer l'exécution (combien de fois une méthode doit être appelée...).
  • Moquette est un brocker MQTT développé en Java. Il y a aussi Mosquitto qui est un brocker MQTT développé en C.
  • FastUtil est une implémentation des principales collections en Java et qui se veut plus rapide et moins gourmande. En gros, si vous utilisez massivement des Map, vous devriez y regarder. (merci à Youcef pour l'information).

Divers
  • Un sondage sur les frameworks JavaScript. Cela permet d'avoir une idée globale du nombre de framework disponible. A noter que GWT en fait parti.
  • Rainyday est une bibliothèque JavaScript qui simule la pluie sur une image passée en flou. C'est inutile mais c'est beau.
  • PYPL pour PopularitY of Programming Language est un site qui donne la "météo" sur la popularité d'un langage à partir des recherches faites sur Google. A noter que sur le même site il y a la popularité des environnements de développement et des bases de données (qu'elles soient relationnelles ou pas). Le projet est disponible sur Github.

lundi, avril 06, 2015

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Eclipse Mars est la prochaine version d'Eclipse qui sortira en juin prochain. N'empêche que le nom de la nouvelle version a été trouvé et ça sera Eclipse Neon. En juin 2016, ça sera tuning Eclipse !!!
  • Eclipse Quick Search et InstaSearch sont deux plugins pour faire de la recherche full texte à partir d'Eclipse.
Java
  • libbulldog est une API pour Java qui permet de contrôler les entrées/sorties des nano-ordinateur monocarte. Ainsi que vous utilisiez une Raspberry PI, une Beaglebone ou une Cubietruck vous pourrez exploiter le même code.
  • Okhttp est un client HTTP en Java très léger.
  • SDBG un plugin Eclipse pour déboguer avec Eclipse lorsque vous utilisez le Super Dev Mode de GWT. 
Divers
  • SinglePaged est un projet Github qui fournit un template HTML pour faire des jolies sites en mono-page. 

mercredi, avril 01, 2015

Devoxx France 2015 : mon agenda

Je serai au prochain Devoxx France 2015 qui se déroulera les 8 au 10 avril 2015 au palais des congrès.

Voici ma liste des sessions auxquelles je souhaite participer.

Mercredi

Jeudi

Au plaisir de vous croiser.

dimanche, mars 29, 2015

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Tom Schindl nous explique comment créer un éditeur Java avec la coloration syntaxique avec JavaFX.
Java
  • Deux articles qui parlent de l'utilisation de Java via BlueJ sur RaspberryPI (article 1 et article 2).
  • Quelques bonnes pratiques pour le déploiement d'applications Java EE avec Docker.
  • Le retour GWT via la conférence GWT.create 2015, un récapitulatif de cinq sessions les plus appréciées.
  • Quelques ressources sur GWT trouvées dernièrement : GWT Bootstrap 3 (intégrer Bootstrap 3 dans GWT), un composant améliorer de type Combo, A noter qu'avec l'annonce de GWT 3 pour la fin d'année (on ne peut que croiser les doigts), la notion de Widget comme on connait sur GWT va perdre son sens. Le gros intérêts c'est de pouvoir plus facilement utiliser les bibliothèques JavaScript sans avoir à faire un wrapper.    
Divers

lundi, février 16, 2015

Mise à jour des supports de cours sur SOA

Je viens de mettre à jour mes supports de cours sur SOA. Ils sont disponibles comme d'habitude sur la plateforme slideshare : http://fr.slideshare.net/baronm

J'en ai surtout profité pour mettre à jour les dépendances Maven et prendre en compte la version 2 de JAX-RS.


vendredi, février 06, 2015

Introduction à Apache Hadoop. Partie 3 : Installation, supervision et performance d'un cluster multi-nœud avec Cloudera CDH 5


Le troisième article sur Apache Hadoop est enfin disponible et s'intéresse d'une part à l'installation et la configuration d'un cluster Apache Hadoop multinœud et d'autre part à l'exécution d'un job MapReduce dans ce même cluster. Afin de montrer l'avantage de l'architecture matérielle que supporte Apache Hadoop, nous avons comparé l'exécution d'un job MapReduce avec celle d'un simple programme Java en insistant sur l'évolution :

  1. du nombre de nœuds pour Apache Hadoop 
  2. du nombre de cœurs CPU pour le programme Java. 

La distribution CDH 5 fournie par la société Cloudera a été utilisée pour les expérimentations.


En espérant que l'article vous plaira.

mercredi, janvier 28, 2015

Pauvre blog, je te délaisse ...

Vous avez surement constaté que le nombre de billets a fortement diminué. Comme toujours le temps fait défaut et pourtant les idées sont là. 

Bref, j'en profite pour vous souhaitez une bonne année 2015 (j'ai encore le droit, il parait qu'on a jusqu'à fin janvier pour la fêter la bonne année).

Au programme de cette année 2015. 
  • Peut-être la rédaction d'un quatrième article sur Hadoop qui traitera du développement de Job MapReduce. 
  • Surement la rédaction de billet autour de Raspberry PI et de PI4J. 
  • La mise à jour de mes tutoriels sur SOA afin de supprimer tout lien avec Netbeans.
Et vous, il y a quelque chose qui vous ferez plaisir ?

lundi, novembre 10, 2014

Installation et configuration de Raspbian sur Raspberry PI puis connexion SSH depuis Windows

Je viens de recevoir au travail un ensemble de Raspberry PI (Raspberry PI modèle B et Raspberry PI modèle B+).  Pour une première prise en main, je voulais compiler mon premier programme Java HelloWord dessus sans avoir à connecter sur le Raspberry PI un clavier, une souris et un écran. 

Comme vous pouvez vous en douter, l'objectif de ce billet est de vous montrer comment à partir d'un simple Raspberry PI, installer un OS, se connecter en SSH puis éditer, compiler et exécuter un programme Java. Je me suis fixé comme contrainte de ne pas connecter de clavier, souris et écran sur le Raspberry PI. Ce dernier sera connecté en direct sur mon portable PC Windows via le port Ethernet. Avec le partage de connexion, l'accès Internet disponible depuis ma carte Wifi sera redirigé vers le port Ethernet. Par conséquent toutes les opérations depuis le Raspberry PI seront effectuées depuis mon portable PC Windows.

L'explication qui sera donnée dans ce billet n'est peut être pas la plus simple. En effet, il est simple de connecter le Raspberry PI sur un routeur d'une Box d'en identifier son IP, de se connecter en SSH et de pouvoir profiter d'une connexion Internet depuis le Raspberry PI. Malheureusement dans la configuration au travail, je ne dispose pas de routeur connecté sur Internet.    

Présentation du matériel


Pour les besoins de cette expérimentation, j'ai utilisé le matériel suivant.
  • Un Raspberry PI modèle B+ (repère 1).
  • Un cable USB - Micro-B pour l'alimentation (repère 2).
  • Un cable Ethernet (repère 3).
  • Un micro SD de 4 Go avec un adaptateur grand format pour connecter au PC (repère 4).
  • Un portable PC avec WIFI sous Windows 7.

Télécharger et préparer carte SD 

  • Télécharger depuis le site de Raspberry PI, l'image de Raspbian. Le fichier pèse environ 955 Mo. Un point de détail, j'ai du passer par la version Torrent car la version ZIP posait problème pour le téléchargement.
  • Télécharger Win32DiskImager afin de construire une carte SD bootable. Je souhaitais utiliser Refus, découvert dernièrement, mais il n'a su reconnaître ma carte SD. 
  • Exécuter Win32DiskImager, choisir votre carte SD, choisir l'image Raspbian puis faire Write. Attendre un certain temps, afin que votre carte SD soit prête.

Configurer le partage de connexion Internet (ICS)

  • Ouvrir la fenêtre de Connexions réseau.
  • Sélectionner le réseau sans fil puis afficher les propriétés. 
  • Cocher l'option "Autoriser d'autres utilisateurs du réseau ..." puis sélectionner au niveau de "Connexion réseau domestique" le réseau filaire qui sera utilisé par le Raspberry PI.
  • Cliquer sur Paramètres et sélectionner les services Serveur Web (HTTP) et Serveur Web sécurisé (HTTPS)
  • Pour finir faire Ok 

Fixer une IP pour le Raspberry PI

  • Connecter la carte SD dans le Raspberry PI puis connecter le câble réseau et d'alimentation.
  • Ouvrir une console Windows (cmd.exe).
  • Faire un appel à l'outil ipconfig pour connaître les informations des cartes réseaux.
  • Dans la zone rouge est indiquée l'adresse IP de votre carte réseau. Dans mon cas, mon adresse IP est la 192.168.137.1.
  • Débrancher l'alimentation du Raspberry PI et connecter la carte SD sur le portable PC.
  • Depuis la carte SD, éditer le fichier cmdline.txt puis compléter à la fin en ajoutant le clé ip et la valeur doit suivre le schéma suivant : A.B.C.E::A.B.C.D. Où A.B.C.D est votre adresse IP (pour moi 192.168.137.1) et E une valeur différente par exemple 3. Le résultat attendu est présenté sur la figure suivante.
  • A noter que si vous ne souhaitez pas partager la connexion Internet, saisir de la forme ip=A.B.C.E.
  • Déconnecter la carte SD du portable PC, la connecter sur le Raspberry PI et alimenter le.
  • Attendre environ une minute le temps que l'OS du Raspberry PI soit chargé.

Se connecter en SSH via IP

  • Pour la suite, je suppose que l'outil SSH est installé. Dans mon cas, il est fourni via le package GIT installé sur mon Windows.
  • Depuis l'invite de console Windows (cmd.exe) exécuter l'instruction suivante :
$ ssh pi@192.168.137.3
  • Un mot de passe vous sera demandé, sa valeur par défaut est raspberry.
  • Vous voilà connectez en SSH sur votre Raspberry PI. Il s'agit d'un environnement Linux basé sur Debian. Première chose pour vérifier si l'accès est Internet est fonctionnel, c'est de faire une mise à jour de votre dépôt : 
 $ sudo apt-get update

Se connecter en SSH via le nom d'hôte

Les problèmes avec les solutions précédentes sont les suivants :
  • si on change de Portable PC, il faut recommencer la procédure car l'IP fourni à votre carte réseau local ne sera peut-être pas la même ; 
  • si on souhaite brancher un Raspberry PI sur un routeur avec un DHCP, il faudra supprimer les modifications du fichier cmdline.txt.
Je vous propose dans cette section de rendre accessible le nom d'hôte de votre Raspberry PI depuis votre Windows. Suivre les indications suivantes.
  • Se connecter en SSH vers le Raspberry PI.
  • Par défaut, le hostname du Raspberry PI est raspberrypi. Si vous souhaitez le changer, modifier les fichiers /etc/hostname et /etc/hosts. Ne pas oublier de faire un reboot après changement.
  • Depuis le système Raspberry PI, installer le package Samba :
 $ sudo apt-get install samba
  • Éteindre votre Raspberry PI et connecter la carte SD sur votre portable PC afin de supprimer dans le fichier cmdline.txt les modifications que vous aviez apportées.
  • Connecter votre carte SD sur le Raspberry PI et allumer le.
  • Pour connaître l'IP de votre Raspberry PI depuis Windows, faites simplement
 $ ping raspberrypi
A noter que si vous avez plusieurs Raspberry PI sur le réseau (ce qui n'est pas notre cas ici car c'est du point à point), penser à rendre unique le nom d'hôte.  

Exécuter son premier programme Java

A la première connexion sur le Raspberry PI, j'ai été surpris de voir que la version 8 de Java était installée. Je m'attendais à la version 7. Disposant d'une JVM, j'ai donc décidé de la tester.
  • Créer un fichier appelé HelloWorld.java à partir de nano :
$ sudo nano HelloWorld.java
  • Saisir le bout de code ci-dessous :
public class HelloWorld {
  public static void main(String[] argv) {
    System.out.println("Hello World");
  }
}
  • Compiler via la commande suivante :
$ javac HelloWorld.java
  • Exécuter le programme Java :
$ java HelloWorld
  • Java vous dit bonjour et de mon côté je vous dis à bientôt.

Ressources

mardi, novembre 04, 2014

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines. 

Eclipse
Java
  • Une bonne explication sur la différence entre une HashMap et une HashTable
  • GWT 2.7.1 RC1 est disponible. Le Super Dev Mode est maintenant par défaut
  • jORM est un ORM Java très léger
  • jsoup est une bibliothèque pour manipuler le contenu HTML. Ici un exemple sur comment utiliser la recherche avec Google
NoSQL/BigData
  • Un billet français sur le développement de job MapReduce Hadoop
HTML5/JavaScript and co.
  • Etherpad est un éditeur de texte collaboratif
Divers
  • TextQL et q sont des projets permettant d'exécuter des requêtes SQL depuis des fichiers CSV
  • SndLatr, une extension Chrome, est un outil pour programmer l'envoi d'email depuis GMail
  • Movienr est un site Web qui vous permettra de trouver facilement un film en fonction de vos préférences.
  • Apachetop et GoAccess sont deux outils pour suivre les logs de son Apache HTTP favori
  • Refus, un outil permettant de créer des clés USB bootable
  • Un billet qui explique comment packager une box avec Vagrant
  • Taiga est outil de gestion de projet de toute beauté. A côté mon Redmine semble bien triste. J'ai utilisé ce projet Github pour utiliser Taiga sous Vagrant
  • Un billet qui présente rapidement les principes de Docker