Construire sa map à l’aide d’OpenStreetMap

Openstreetmap_logo.svg

Dans ce billet, je vous propose de revenir sur un des objectifs de ma récente mission. Pour un client, nous devions réaliser un SIG (Système d'Information Géographique). On pense de suite à notre ami Google avec Google Maps qui possède des données sur l'ensemble de la France, avec des fonctions avancées telle que la recherche de lieux, etc...
Malheureusement nous ne pouvions pas l'utiliser car le client souhaitait maîtriser sa géo database.

Du coup, nous nous sommes tournés vers la solution open source alternative qui nous permettait de maîtriser nos données: OpenStreetMap.

Comment va mon système ?

glances

Vous vous êtes souvent demandé pourquoi votre PC ramait ?

Sous linux (Ubuntu, Debian, etc.), on répond rapidement à cette question à l'aide d'un petit top, ifstat, éventuellement df pour voir si l'espace disque n'est pas saturé. Au final, on se rend très vite compte que nous disposons nativement de tous les outils, mais aucun ne nous permet d'accéder vite à toutes ces informations en même temps.

C'est là où Glances devient une alternative sympa.

Gestion des contenus : Java Content Repository (JCR 2.0) & Spring (Part 1)

La gestion de contenus ( formulaires, documentation, procédures) est généralement désigné par le terme GED (Gestion électronique de documents) comme synonyme d'ECM (Enterprise Content Management).

JCR 2.0 est la dernière version de l'API d'entrepôt documentaire standard appelée aussi JSR 283 (anciennement appelée JSR 170).

jackrabbit est l'implémentation open source de référence utilisée par de nombreux projets (Par ex. Alfresco). La version 2.9.0, release sortie en aout 2014, est utilisée dans la démo ci-après.

La solution Jackrabbit de la fondationapacheFondation est lancée, en 2005, par l'ancienne équipe technique d'ECM Documentum (la solution propriétaire riche dans ce domaine).

La figure ci-dessous résume l'architecture de Jackrabbit répartie essentiellement en trois couches :

jcr_jackrabbit_overview

 

Dans ce billet, nous avons préféré éviter les détails de l'API JCR pour aborder le cœur du sujet, c'est à dire, montrer comment afficher/créer un nœud. En d'autres termes illustrer les opérations CRUD par la pratique.

Nombreux sont les articles qui expliquent comment configurer JCR avec spring-modules mais très peu abordent JCR 2.0 sans spring-module ni spring-extensions. C'est bien ce qu'on va réaliser.

Un framework qui se veut très efficace : CakePHP

Cake PHP est un framework qui permet de développer rapidement et simplement des applications PHP. CakePHP possède une architecture de type MVC avec des contraintes sur le nommage des classes et sur l'arborescence.
Cela permet à CakePHP de faire tous les liens entre les éléments sans avoir à les spécifier manuellement et à un développeur de rapidement prendre en main la suite des développements de l'application.
En effet, en suivant le MVC, une vue est associée à chaque action du contrôleur sur le modèle correspondant. CakePHP va directement rechercher les classes selon leur nom et retourner des erreurs ciblées si une classe est absente.

Java et l’open source

Lors d'un récent séminaire au CEA, j'ai eu l'occasion de présenter quelques idées sur la manière de faire du business à base de services autour de logiciels open source. Pour compléter le point de vue de l'orateur précédent, et dire que le business autour de l'open source n'est pas forcément simple et pas forcément gagnant, j'ai cité notamment l'exemple de Sun. Sun a créé Java puis a finalement disparu, racheté par Oracle, alors même que Java est devenu extrêmement utilisé notamment dans le monde des entreprises où on peut penser qu'il y a beaucoup de business à faire.