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.

samedi 22 septembre 2012

Notifications en Python

Après les mails, voyons les notifications gtk en python. Elles sont simples à mettre en place et sont un petit plus. Maintenant que vous savez checker vos mails, vous pourrez être averti lorsque vous en recevez.

Il convient d'abord d'initialiser la librairie pynotify.
try:
    import gtk
    import pynotify
    pynotify.init( "monApplication" )
except:
    print "Vous n'avez pas pynotify"

Une fois cette vérification faite, vous pouvez créer votre fonction de notification comme la suivante:

jeudi 20 septembre 2012

Python et Gmail

Durant l'écriture de mon intelligence artificielle, j'ai voulu lui rajouter une interaction avec les mails. Je voulais que mon IA puisse envoyer et recevoir des mails. En python rien de plus simple.

Pour vérifier vos mails gmail, 8 lignes de code suffisent, cette fonction retourne le nombre de mails non lu dans votre boite de réception:
import imaplib
def checkGmail():
    obj = imaplib.IMAP4_SSL('imap.gmail.com','993')
    obj.login('monmail@gmail.com','monMotDePasse')
    obj.select()
    rep=obj.search(None,'UnSeen')
    nb=len(str(rep[1]).split(" "))
    return nb

mardi 18 septembre 2012

Legends of Code - concours de programmation

D2-SI, le Green Code Lab et GreentIT.fr présentent leur premier concours de programmation: Legends of code

Vous trouverez toutes les informations nécessaire sur le site.
Ce que je peux déjà vous dire c'est qu'il y a 4000€ mis en jeu et que le concours à lieu le 17 novembre dans les locaux de D2-SI à Paris
Le but de ce concours est de réunir 40 développeurs issus de dernière année d'école d'ingénieur.
Par équipe de 2, et pour une durée de 11h, les participants devront développer un programme correspondant au sujet donné. La grande nouveauté de ce concours, c'est le côté Green. En effet les développeurs seront jugés sur leur code mais également sur la consommation énergétique de ce dernier.

Ce concours permet de sensibiliser les développeurs juniors aux bonnes pratiques du développement Green.


mercredi 11 juillet 2012

Elementary Luna

Il y a deux ans, j'ai découvert le projet elementary. A l'origine il ne s'agissait que d'un thème gtk créé par DanRabbit. Et puis face aux diverses contraintes qu'apporte une distribution et les choix fait en interne, il a été décidé de créer une distribution Elementary OS. Jupiter fut la première version, j'avais d'ailleurs fait un article lors de sa sortie sur le labo-linux. Il s'agissait principalement d'une Ubuntu remaniée, les logiciels fournit par défaut étaient différents et on avait par défaut le thème gtk et le thème d'icone d'elementary. J'étais alors membre de l'équipe en tant que traducteur, testeur. Aujourd'hui, le projet est de créer une distribution basée sur Ubuntu mais utilisant des applications refaites ainsi qu'un envirronnement de bureau dédié.

dimanche 24 juin 2012

Retour du Salon Solution Linux



J'étais mardi 19 juin au salon solution linux. J'ai tout d'abord suivi les deux keynotes de SUSE et Microsoft.


      Philippe Desmaison, directeur technique de SUSE a commencé par une retrospective historique. Il a rappelé les racines allemandes de SUSE et l'histoire assez instable de cette société. Aujourd'hui, SUSE c'est 700 collaborateurs réparti dans 43 pays. SUSE a de nombreux clients et se place en tête sur certains secteurs, c'est le cas de l'aérospatiale, la grande distribution et l'automobile. Les deux principaux constructeurs automobiles français sont d'ailleurs clients depuis plusieurs années. Depuis 2011, SUSE est à nouveau une entreprise autonome. 
Fort de sa distribution SLES/SLED, SUSE a su se faire un nom et tisser de nombreux partenariats notamment avec Microsoft, SAP et VMWare. L'appliance vsphere ainsi que SAP sont désormais livrés sur SLES.
En tant qu'acteur majeur du monde libre, SUSE participe aussi au projet Open Stack et va d'ailleurs sortir SUSE cloud.

vendredi 8 juin 2012

YunoHost - la debian reine de l'auto hébergement

J'ai découvert yunohost il y a peu grâce à un post sur linuxfr. La première bêta publique est sortie fin mai et le moins qu'on puisse dire c'est que cette distribution est prometteuse.

Yunohost est une distribution basée sur debian stable. Elle est livrée avec un serveur mail(dovecot), XMPP(ejabberd) ainsi qu'un LAMP le tout utilisant du single-sign on (sso) grâce à l'utilisation d'openLDAP. Elle dispose d'une interface web de configuration très simple, intuitive et soignée.

Yunohost - création d'un domaine

La création d'un domaine LDAP est très simple, tout comme le reste de l'interface. L'utilisation du bootstrap twitter permet d'avoir un design à la fois simple et efficace.




jeudi 7 juin 2012

VMWare Forum

logo VMWare

J'étais il y a deux semaines au VMWare Forum. Voici un petit retour.
De très nombreux partenaires de VMWare avaient fait le déplacement pour promouvoir leur offre. On y retrouve des grands noms tel que Dell, Hp, Wyze, Symantec ou encore de plus petites entreprises néanmoins connu comme Veeam, Brocade ou Cheops. VMWare a présenté sa stratégie de l'ére post-pc (qualifiée d'ére post-Windows). La problèmatique est de fournir aux employés le même niveau de service en entreprise qu'ils peuvent l'avoir d'un point de vu personnel. Beaucoup ne comprennent pas qu'il faut plusieurs semaines avant d'obtenir un nouveau logiciel alors que sur leur pc, smartphone ou tablette personnel ils installent des applications en quelques secondes. Pour VMWare la virtualisation d'application permet d'aller plus vite et de simplifier la gestion du SI. Ils ont présenté trois produits venant s'ajouter à ThinApp. On va donc d'ici peu de temps entendre parler d'Appblast, d'Horizon ou encore d'Octopus. Horizon est déjà disponible à des fins de tests. Il s'agit d'un broker faisant le lien entre tous les périphériques et les applications. C'est lui qui  dira quelles applications l'utilisateur peut avoir en fonction de ses droits et de son périphériques. Octopus est un service similaire à Dropbox permettant de synchroniser ses fichiers. Ces derniers seront situés sur un serveur de l'entreprise ou dans le cloud. Il est entré très récemment en béta et devrait être disponible cet été. AppBlast lui arrivera un peu plus tard et améliorera grandement ThinApp. Il fera le lien entre les fichiers sur Octopus et les applications d'Horizon.

Bienvenue sur mon site personnel

Bienvenue sur mon nouveau site.

Vous retrouverez ici du contenu sur python et Linux ainsi que mes avis sur différents produits du monde informatique. N'hésitez pas à venir de temps à autre pour suivre les nouveautés.