RSS Feed

Archive de December, 2011

Créer un dépôt git sur un mutualisé OVH

27 December 2011 par SeB Pas de commentaire »

Ça fait un petit moment que je cherche à avoir une gestion de configuration locale et distante avec un accès privé. Git permet de faire de la gestion de configuration locale assez facilement. De plus, je viens d’apprendre récemment que les serveurs mutualisés d’OVH proposent l’utilitaire git ! :-o

La version disponible sur les serveurs mutualisés semble assez ancienne et je n’ai pas trouvé la bonne méthode pour créer correctement un dépôt partagé. Cependant, je suis tombé sur la méthode de Nicolas Thouven pour créer un dépôt git sur un mutualisé OVH. Sa méthode consiste à créer localement un dépôt mutualisé puis à le déposer sur le serveur pour enfin le cloner localement ! Ça fonctionne très bien ainsi.

J’ai tellement de projets à passer sous git que j’ai même créé un script shell pour migrer un projet sous git avec un dépôt distant chez OVH. Voici le script que j’utilise et qui être adapté selon vos besoins :

#!/bin/bash
if (($#!=2)); then
echo "ligne de commande : $0 projet_source projet_destination"
exit -1
fi

WORKSPACE_DIR="/f/android/workspace-android"
GIT_REMOTE_PATH="monloginovh@mondomainovh.com:~/git_folder/"
GIT_URL="ssh://$GIT_REMOTE_PATH"

PROJECT_SRC=$1
PROJECT_SRC_DIR="$WORKSPACE_DIR/$PROJECT_SRC"
PROJECT_NAME=$2
PROJECT_GIT_NAME="$2.git"
PROJECT_DST_DIR="$WORKSPACE_DIR/$PROJECT_NAME"
PROJECT_TMP_DIR="~/$PROJECT_GIT_NAME"
PROJECT_URL="$GIT_URL$PROJECT_GIT_NAME"

echo "Creation d'un projet GIT pour $PROJECT_SRC_DIR"
cd $PROJECT_SRC_DIR
echo "bin" > .gitignore
git init
git add .
git commit -m "Version initiale"

echo "Creation du depot de reference dans $PROJECT_TMP_DIR"
cd $PROJECT_SRC_DIR
git clone --bare . $PROJECT_TMP_DIR
cd $PROJECT_TMP_DIR
git --bare update-server-info
cd hooks/
mv post-update.sample post-update
chmod a+x post-update

echo "Copie sur le serveur $GIT_REMOTE_PATH"
scp -r $PROJECT_TMP_DIR $GIT_REMOTE_PATH
cd $WORKSPACE_DIR
rm -Rf $PROJECT_TMP_DIR

echo "Utilisation du depot de reference $PROJECT_URL pour $PROJECT_DST_DIR"
git clone $PROJECT_URL
cd $PROJECT_DST_DIR
touch README
git add README
git commit -m "Ajout du fichier README"
git push

Vous allez pouvoir créer maintenant vos dépôts privés en toute simplicité ! ;-) Il ne me reste plus qu’à trouver un plugin git pour Eclipse digne de ce nom…

 

Nexus S – passage à Android 4.0 ICS (Ice Cream Sandwich)

20 December 2011 par SeB 7 commentaires »

Le week-end dernier, Google a lancé le déploiement de la mise à jour Android 4.0 Ice Cream Sandwich pour le Nexus S. C’est le premier périphérique à obtenir une version officielle de cette version d’Android. Cette mise à jour a lieu par OTA mais il est également possible de la télécharger manuellement.

Je ne vais pas vous expliquer comment passer de Gingerbread à Ice Cream Sandwich. D’autres sites le font mieux que moi. Notez simplement que pour qu’elle passe, il faut être en version 2.3.6, non rooté et ne pas avoir de boot ou recovery modifié. ;-) Malgré, ces points précis le passage d’Android 2.3 à 4.0 se fait facilement et sans perte de données.

Que penser d’ICS ?

Après une journée, d’utilisation voici ce que je retiens de négatif :

  • Un bug d’affichage des photos des contacts plein écran qui sont tronqués verticalement (sauf lors des appels sortant)
  • Un potentiel bug d’affichage des noms de contacts s’ils ont un numéro de mobile sans le préfixe +33 (contournable)
  • La barre de recherche Google un peu trop omniprésente
  • Il n’est plus possible d’ajouter des widgets depuis l’écran d’accueil
  • Disparition de l’indicateur de position dans les écrans d’accueil
  • Le lanceur d’applications paginé plus joli mais moins pratique

Heureusement, il y a des points positifs :

  • Une interface dépouillée du meilleur effet
  • Les boutons “Annuler/OK” inversés
  • Des widgets redimensionnables
  • Les informations (comme les contacts) sont mieux mis en valeur (dans l’application Contacts ou gtalk par exemple)
  • Le suivi de la consommation data intégré
  • Pleins de petites améliorations sur l’ergonomie…

D’une manière générale, cette version donne un bon résultat même si j’ai encore un peu de mal avec le nouveau clavier qui est censé être plus performant. Il reste plein de choses à tester mais je suis déjà satisfait de cette nouvelle version même si les quelques bugs rencontrés donne l’impression d’une version non finalisée.

 

NormandyJUG – Hibernate vs Cloud Computing & NoSQL

14 December 2011 par SeB Pas de commentaire »

Après plus d’un an et demi de pause forcée, j’ai pu enfin retourner au NormandyJUG !

Cette soirée était consacrée à un seul et unique thème :  l’accès aux données face à la montée en charge. La session était animée par Julien Dubois qui est entre autre l’auteur de Spring par la pratique. Le sujet ou l’intervenant devaient intéresser puisque nous étions une 50aine.

En partant du principe que la scalabilité d’une application Java est limitée par la base de données, la présentation consistait à évaluer les solutions disponibles. En effet, avec le Cloud Computing, il est “facile” d’ajouter des machines pour assurer la montée en charge d’une application mais le point de contention reste le serveur de base de données. Avant d’aller plus loin, il faut rappeler le théorème de CAP qui indique qu’il est impossible de répondre à ces trois contraintes en même temps :

  • Cohérent (Consistent)
  • Disponible (Available)
  • Tolérant aux pannes réseaux (Partition tolerant)
Quelles sont donc les solutions pour la base de données ne soit plus un point de contention ?

Le serveur de base de données

Les éditeurs de base de données proposent par exemple du partitionning de table sur différents disques. Les lectures seront optimisées mais ça ne résout pas réellement le problème d’écriture dans les faits.
Il est également possible de mettre en place des clusters d’applications pour le serveur de base de données. A priori, la montée en charge est possible. Cependant, le cluster doit positionner les locks réseaux qui malheureusement plombent les performances.

Hibernate et le cache

S’il n’est pas possible d’améliorer à volonté la performance de la base de données, nous pourrions être tenté de ne plus systématiquement faire appel à cette dernière. C’est là qu’en en scène le cache de niveau 2 d’Hibernate.
Il faut connaitre le fonctionnement d’Hibernate pour bien utiliser le cache. Il est également possible de mettre en pratique la loi de Zipf pour une utilisation avancée du cache. Néanmoins, très rapidement, vous allez être confronté à des problèmes de désynchronisation de cache. Il faut alors mettre en place une solution de cache distribué. Les solutions commerciales actuelles fonctionnent plutôt bien. En revanche, il faut en même temps investir dans des outils de monitoring afin de prévenir tout phénomène de split brain. Il faut savoir que ces outils peuvent proposer des systèmes de write-behind afin de lancer des batchs asynchrones d’insertion.

NoSQL

Si malgré tous ces efforts, votre application ne tient toujours pas la charge à cause de l’accès au données, il vous reste encore une solution : NoSQL (pour Not only SQL).
Vous vous rappelez du théorème de CAP ? En général, on veut un système cohérent (contrôle d’intégrité, transaction, etc…). Et c’est ce que fait la plupart des serveurs de base de données. NoSQL se concentre sur les deux autres contraintes au détriment de la cohérence. Enfin, pour être plus précis, NoSQL indique qu’il sera cohérent à un moment donné (mais pas forcément tout le temps).
Il existe de nombreuses solutions NoSQL mais ici nous avons vu Cassandra qui serait le plus performant en écriture. En gros, c’est un cluster de données sans maître où chaque données est répliquée sur au moins 3 noeuds. Lorsque l’on interroge un noeud, il répond tout de suite avec les informations dont il dispose. Puis va chercher à se mettre à jour (d’où le à terme sera cohérent). En écriture, la gestion des conflits se fait via une date cliente. C’est donc le dernier arrivé qui l’emporte ! ;-)
Par contre, oubliez schemas, tables, colonnes, SQL et autres ! Vous manipulez un identifiant et des listes de couples clé/valeur. Celà permet de faire des choses assez sympa comme le wide-row. Mais les contre-parties sont :
  • Pas de JPA ni JDBC, il faut tout faire à la main
  • Le modèle est défini dans le métier
Pour information, il existe des drivers pour différents langages. De plus, des projets sont en cours pour faciliter le développement avec par exemple Hibernate OGM (Hibernate) ou Kundera (JPA).
Mais alors quelle solution choisir ?
  • Vous avez besoin de transaction, d’intégrité ? La base de données relationnelle est votre meilleure amie !
  • Les solutions de cache sont vraiment des pistes intéressantes.
  • Vous avez un cloud ? Aujourd’hui, aucune base de données n’est scalable via le cloud. NoSQL pourrait être salvateur.
  • Et si on mixait SGBDR et NoSQL ? :-p
 

Les Volumiques – la convergence entre numérique et tangible au service au jeu

Oseriez-vous imaginer un monde où les livres, les jeux de société et les appareils intelligents (lisez smartphones et tablettes) convergent ? Difficile de se représenter cet univers ? C’est que vous ne connaissez pas encore Les Volumiques ! Cette maison d’édition papier mène des expérimentations très remarquables. Si vous souhaitez les découvrir par vous-même je vous conseille d’aller visionner sur TricTrac.tv la vidéo présentant leurs expérimentations.

Ils sont essentiellement tournés vers l’édition de livre mais leur créativité déborde tellement qu’ils empiètent sur le jeu de société et les appareils mobiles. A tel point qu’il est très intéressant de s’arrêter sur leur travail.

Chez Les Volumiques, un simple smartphone se transforme en pion intelligent et une tablette peut faire office de plateau de jeu dynamique ! :-o Ils ont des tonnes d’idées. Je suis notamment très intrigué intéressé par leur encre qui conduit l’électricité.

Outre les nouvelles ergonomies qu’ils inventent, je retiens quelque chose de vraiment positif pour le jeu de société. Vous rappelez-vous de toutes ces parties mortes-nées de fin de soirée ou de dimanche après-midi car personne n’a le courage de se replonger dans le livret de règles pour l’expliquer ensuite aux autres joueurs ? Avez-vous déjà vécu cette expérience sur un jeu vidéo ? Non. Et pourquoi ? Car c’est jeu vidéo qui impose les règles. Les smartphones peuvent donc améliorer l’expérience du jeu de société. Notons de plus que ces appareils peuvent donner un rythme plus important aux parties.

Pour finir, je vous laisse découvrir leur prochaine réalisation : la famille fantôme.

Personnellement, allier Android aux jeux de société est un sujet qui me passionnerait énormément ! Reste plus qu’à donner libre court à son imagination… Ça fuse déjà ! ;-)

 

Le weblogue dans votre poche

10 December 2011 par SeB Pas de commentaire »

Comment ce fait-il qu’un blog qui parle énormément d’Android ces derniers temps n’ait pas une version mobile !?

Il existe de nombreux plugins pour avoir une version mobile d’un weblogue sous WordPress. Personnellement, après plusieurs essais, j’ai opté pour WPtouch. L’objectif de ce projet est de transformer un site tournant sous WordPress en application iPhone. Je ne cherchais pas à obtenir ce résultat mais il faut avouer que le rendu est très séduisant (et surtout avec très peu d’effort ;-)).

J’ai également profité de cette session de maintenance pour renommer la section J2EE en Java EE. Ça fera plaisir à Antonio. :-p

Il ne me reste plus qu’à trouver des plugins pour gérer :

  • les acronymes
  • les notes en pieds de page
  • les chapôs

 

 

Le weblogue change de peau

9 December 2011 par SeB 2 commentaires »

Après une grande période d’inactivité, il était temps de redonner vie à ce weblogue. Le renouveau commence par un changement de l’aspect du site. En effet, la précédente charte graphique était trop vieillissante et il faut l’avouer : très austère.

Si vous lisez ces lignes, c’est que vous pouvez apprécier le nouveau thème. Il n’est pas exceptionnel mais il a le mérite de rafraichir un peu le site.

D’ailleurs, en cherchant à changer de thème pour WordPress, je suis tombé sur un article qui explique pourquoi il faut se méfier des thèmes téléchargeables gratuitement. :-o Ils peuvent présenter de vrais problèmes de sécurité !

Vous êtes maintenant prévenus !

 

Googleplex made in France

6 December 2011 par SeB Pas de commentaire »

C’est à ma grande surprise que je découvre que Google inaugure aujourd’hui un Googleplex à Paris. Oui, oui. Vous avez bien lu. Un Googleplex en France. Ce complexe de 10 000 m² comprend un centre R&D ainsi qu’un Institut Culturel. A deux pas de St Lazare, il va accueillir près de 350 salariés.

Si vous voulez en savoir plus ou si vous souhaitez découvrir en image ce centre, vous pouvez vous rendre sur le site Google France.

Alors qui ira travailler là-bas ? ;-)