Sur la route d'Oxiane digressions diverses

LeBlog OXiane

13 fév
2012

Olivier Lombard Champion LMS LMP2 2011 sur la Signatech Nissan n°23 pour le WEC 2012

Pilote dont je vous ai parlé déjà à de nombreuses reprises ici ou ici, Olivier Lombard est vraiment un des plus prometteurs !

Il signe ce jour avec l’écurie Nissan Signatech et on lui souhaite tout le succès que son talent mérite.

Olivier Lombard: « Mon titre de Champion LMS LMP2 2011 a été une bonne carte de visite pour être intégré dans l’équipe officielle SIGNATECH-NISSAN, elle aussi championne LMP2 2011 mais en Intercontinental le Mans Cup. Mon objectif est de continuer à apprendre notamment aux cotés de Franck, pour les circuits je ne connais pas. Mais l’équipe a une grosse expérience et je sens une énorme motivation de la part de tous les acteurs. »

Son site web a été mis à jour en conséquence par les équipes d’OXiane.

PS: Savez vous pourquoi toutes les voitures Nissan engagées portent le n°23 ?

23 en japonais veut dire Nissan, Merci à Jean (Lombard, le papa de notre champion, ndlr) pour cette info !

Jean-Louis Rousselin

jlrousselin

8 fév
2012

iOS & Core Data

Nous allons encore poursuivre avec notre application développée lors de mes 2 derniers billets ici et afin d’ajouter un bouton « clickCoreData » qui fera un segue vers un UITableViewController peuplé à partir de Core Data.

Qu’est ce que Core Data ?

« C’est une bibliothèque permettant de gérer le cycle de vie des objets et les graphes d’objets de manière automatique et générale incluant également la persistance » – traduction partielle de la page du site d’Apple.

En gros, pour moi c’est un peu comme une base de données orientée objet, on pourrait faire la parallèle avec Hibernate côté Java sauf que ce n’est pas un framework de persistance d’objet même s’il peut persister les graphes d’objets (relations et états).

Ici, nous allons créer le mapping entre la base de donnée et les objets puis les requêtes permettant de récupérer/modifier/… nos objets et enfin accéder aux « colonnes de notre table » grâce aux propriétés de ces objets. Lire la suite du bllet »

Manuel François

tHeFeaTuReDMaN

26 jan
2012

Subversion dans les nuages

De passage au siège Oxiane, petite discussion avec Jeff. Il voudrait rendre le référentiel subversion d’un projet accessible de l’extérieur mais impossible de trouver ne serait-ce qu’une demi-heure pour configurer tout le monde sur le réseau.

Jeff, tu as cinq minutes ? Sers-toi un café, je te monte un subversion accessible y compris depuis Krypton.


.

t0

Je me connecte sur le site de cloudbees.

Je commence par ajouter un nouvel utilisateur à mon compte pour ton développeur (Account > Manage Users > Add a user).
Lire la suite du bllet »

Guillaume Rams

24 jan
2012

Soirée PAUG de Janvier 2012 : IceScream Sandwich & ASOP

Ice Scream Sandwich est le nom de code de la toute dernière version de Android, la version 4. C’est l’un des deux thèmes de la première conférence PAUG de la nouvelle année qui s’est déroulée dans les locaux de l’ECE de Paris. . La deuxième partie de la soirée était consacrée aux problématiques de la compilation des sources de Android à travers un retour d’expérience sur le projet ASOP (Android Open Source Project).

Ice Scream Sandwich

Dans la nouvelle version de Android on notera en premier lieu, du point de vue utilisateur, l’amélioration du Look’n Feel et les fonctionnalités du « Multitasking ». La bonne nouvelle pour les développeurs est l’unification de la plateforme qui permet de développer une seule application pour tous les terminaux Android. Pour marquer le coup avec le succès des réseaux sociaux, de nouvelles API – Social API – sont ajoutées pour faciliter le partage des ressources sur Facebook, Google ou tweeter ou l’accès au profil utilisateur. Dans l’API Contacts, tout comme dans l’API Calendar, une nouvelle table et des permissions supplémentaires sont apparues. L’intégration du NFC pour la communication directe entre terminaux et les récentes couches de l’ « Accessibility Features » (la possibilité de faire une description vocale des éléments de l’écran) vont élargir le champ d’utilisation de la plateforme.

Les habitués de Swing, qui ont très tôt croisé le fer avec le TableLayout, apprécieront l’arrivée du Layout passe partout qu’est le GridLayout pour combler les limites du LinearLayout (défaut d’alignement).

(Android Open Source Project)

Daniel Fages est expert en construction de ROM Android, c’est lui qui a présenté le deuxième thème de la soirée, ASOP. D’abord pourquoi compiler Android ? Pour l’adapter à un usage spécifique, pour trouver d’éventuelles failles de sécurité, ou par simple curiosité. Le matériel nécessaire n’est pas à la portée de tout le monde, 16 Go RAM pour une durée de compilation de 30 minutes. Très peu de développeurs poussent leur audace aussi loin. En plus de la difficulté de maitriser la programmation système avec C/C++ il y a l’obstacle de la nature de la licence Apache et l’absence de communication de Google sur les orientations futures de son OS mobile.

Pour revivre la soirée avec beaucoup plus de détails les slides et les vidéos sont disponibles en ligne.

Yakhya Dabo

ydabo

23 jan
2012

La combinaison de LoaderManager et MediaStore.Audio sous Android

Bonjour,

Je vais vous parler de deux sujets dans cet article :
- comment récupérer les informations concernant la musique stockée sur un téléphone android
- comment gérer un chargement en tâche de fond avec les Loader

Obtenir des informations sur vos fichiers musicaux :

Le framework android procède un ContentProvider qui fourni des informations sur la musique stockée sur l’appareil. Il est donc possible de l’interroger comme n’importe quel autre ContentProvider.
Vous trouverez toutes les constantes intéressantes dans les sous classes de MediaStore.Audio.
http://developer.android.com/reference/android/provider/MediaStore.Audio.html

Ce qui vous permettra d’avoir des informations sur les playlists, les genres musicaux, les albums, les artistes, etc…

Par exemple pour obtenir la liste de tous les artistes correspondant à votre musique. Il suffit de faire comme ceci :

public List<String> getArtistsNames(Activity act) {
	ArrayList<String> artists = new ArrayList<String>();

	String[] proj = { MediaStore.Audio.Artists.ARTIST };
	Cursor musicCursor = act.managedQuery(MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI,proj, null, null, null);

	if(musicCursor.moveToFirst()) {
		do {
			String artistName = musicCursor.getString(0);
			artists.add(artistName);

			if( EtLog.isEnabled()) {
				EtLog.d(TAG,String.format("Identified Artist name is [%s]",artistName));
			}
		}
		while(musicCursor.moveToNext());
	}

	return artists;
}

Lire la suite du bllet »

shocq

shocq