mardi 23 avril 2013

Publier une application Android sur le Play Store

Après avoir publié quelques applications sur le Windows Store et sur le Windows Phone Store, je viens de publier ma 1ere application Android. Il s'agit d'une application sur Tintin. Je vais en profiter pour vous expliquer comment publier une application sur le Play Store.

Une fois votre application terminée et testé sur votre téléphone ou sur l'émulateur, vous allez devoir l'exporter en apk. Pour cela, faites un clic droit sur votre application et choisissez "Export Android Application".

mercredi 17 avril 2013

CIAC une solution pour construire son cloud - Introduction

Depuis quelques temps je travaille sur CIAC et au vu des différents projets à venir, ça sera même le sujet de mon mémoire. Mais qu'est-ce que CIAC? 
C'est un acronyme pour Cisco Intelligent Automation for Cloud. Il s'agit d'une solution pour construire un cloud privé, public ou hybride. Elle se compose d'un portail Cisco Cloud Portal (CCP) appelé aussi Cisco Service Portal (CSP) et d'un orchestrateur Cisco Process Orchestrator (CPO) anciennement Tidal Enterprise Orchestrator (TEO). Le portail est propulsé par le moteur Newscale et tourne donc sur un serveur d'applications java comme JBoss ou Weblogic.

lundi 15 avril 2013

Des onglets sous Android

J'avais besoin de la gestion des onglets pour une application Android (sortie prévue dans la semaine). Le problème c'est que le sdk ne permet la gestion native des onglets qu'à partir d'Ice Cream Sandwich (api level 14). Au vu de la répartition actuel des versions d'Android, il n'est pas judicieux d'exclure Gingerbread.
Heureusement, il y a toujours des développeurs pour remédier au problème et j'ai donc utiliser ActionBarSherlock. Il s'agit d'une bibliothèque java à ajouter à votre projet.
Pour l'utiliser rien de plus simple, il suffit de faire étendre votre classe principale (MainActivity).

jeudi 3 janvier 2013

Reconnaissance Vocale sous linux

Après de nombreuses recherches et de nombreux essais, j'ai enfin réussit à avoir une reconnaissance vocale en français sous linux. J'ai donc testé CMU Sphinx, Simon et Julius. Ces solutions bien qu'intéressantes sont complexes à mettre en oeuvre et surtout sont très mauvaises en français. Pour ceux qui veulent une reconnaissance vocale en anglais en revanche, j'ai trouvé Sphinx très performant. En français, j'ai donc utiliser l'API Google Speech. Cette API n'est pas officiellement disponible au public. Elle sert à la reconnaissance vocale intégré dans Chrome depuis quelques versions. Toutefois elle est accessible facilement via des scripts.

mardi 11 décembre 2012

Désormais sur le Windows Store

Dans le cadre du concours App hero 2, je me suis mis au développement sous Windows 8. N'étant pas un grand fan du C#, j'ai pris l'option de développer en WinJS. C'est vraiment très sympa de pouvoir faire toute une appli en js. Msdn est une bonne ressource, on y trouve de nombreux exemples et informations ainsi que le sdk à télécharger qui lui aussi contient une multitude d'exemples. Les possibilités sont très étendue et on peut vraiment faire de bonnes applis très simplement.
J'ai été très agréablement surpris en découvrant que Windows 8 gére le html5 et le css3 dans les applications Modern UI. C'est une belle avancé de la part de Microsoft qui est réputé à la traine en matière de nouvelles technologies.
Le seul problème que j'ai rencontré: la non gestion des url raccourcis. En effet dans une de mes applications actuellement en validation je récupére le RSS d'un site. Ce dernier contient des urls raccourcis vers des images. Ces liens ne sont pas fonctionnels comme tel. Sans doute une question de sécurité.
En attendant mes autres applications, vous pouvez déjà retrouver l'application officielle de ce blog sur le Windows Store.
N'hésitez pas à faire des retours.
RSS Florent Pied sur le Windows Store

mardi 13 novembre 2012

Client Serveur Tcp en python

Aujourd'hui, je vais vous montrer comment réaliser simplement un client et un serveur tcp en python.

Tout d'abord, voici le code du client:
import socket

def sendMsg(s,msg):
    s.send(bytes(msg,'utf-8'))

def receiveMsg(s):
    rec=s.recv(1024).strip()
    return rec.decode('utf-8')

s = socket.socket()
host = socket.gethostname()
port = 9999
s.connect((host,port))
rec=receiveMsg(s)
print(rec)
while True:
    text=input(">")
    if text == "quit":
        s.close()
        quit()
    sendMsg(s,text)
    rec=receiveMsg(s)
    print(rec)

dimanche 7 octobre 2012

Python et les anagrammes - Benchmarks

J'ai voulu faire une fonction de recherche des anagrammes pour un mot donné en entrée. J'ai utilisé pour cela plusieurs méthodes afin de comparer les résultats. Mon but était de générer uniquement les anagrammes qui sont des mots du dictionnaire. J'ai pour cela récupérer un fichier texte contenant tous les mots de la langue française, quelques 336 531 lignes et donc autant de mots.
Je vous propose ici les résultats avec 6 méthodes différentes basées sur le même algorithme de départ. (vous pouvez en retrouver sur le site du zéro).

La première méthode consiste à rechercher tous les anagrammes d'un mot et de comparer les résultats avec le fichier dictionnaire.
Pour la deuxième méthode, j'ai découpé le fichier dictionnaire en 26 parties, chaque partie contenant les mots commençant par une lettre différente. Ainsi le nombre de fichier lu sera égal aux nombres de lettres distinctes dans le mot, ce qui réduit le nombre de mot à comparer.
J'ai ensuite repris ces deux méthodes en stockant les fichiers de dictionnaire en RAM(tmpfs).
Pour les deux dernières méthodes, j'ai voulu testé les performances avec une base NoSQL: mongodb.
La 5ème méthode c'est donc: une table mongodb avec tous les mots.
La 6ème méthode comporte 26 tables mongodb.