Changez le fond d’écran de votre Ubuntu avec Python & l’API COLOURlovers
Aujourd’hui, je vous propose un mini-article à propos d’une expérimentation que j’ai réalisé l’autre jour avec Python et l’API COLOURlovers (accessible en JSON et en XML). Il s’agit d’un script baptisé «Quick And Dirty Python Background Changer» : exécutez le pour récupérer un des patterns proposés par COLOURlovers pour en faire un fond d’écran «en mosaïque», et retournez ainsi en un instant à la glorieuse époque de Windows 95 où ils régnaient sans partage sur nos bureaux en 256 couleurs.
Mots clés : api, beautifulsoup, colourlovers, démo, expérimentation, python, urllib2, xml
Une API minimaliste pour la Freebox Revolution
Bonjour à tous, aujourd’hui je vous propose de nous arrêter un moment sur la Freebox Revolution, dernière née des box internet de Free ; on ne la présente plus ! Plus précisément, je me propose de vous montrer à travers une classe PHP minimaliste comment il vous est possible d’interagir avec elle. En effet, une fonctionnalité d’API a été implémentée par Free puis masquée au lancement de la box …
Mots clés : api, cookie, curl, Développement, freebox, json, rpc
Authentification en un clic avec OpenID et OAuth (3/3)
Pour cette dernière partie de notre série d’articles sur l’intégration d’OpenId et OAuth, je me propose d’aborder le cas de la connexion à un service OAuth à travers deux exemples complets qui devraient vous donner une petite idée du fonctionnement des API dans leur ensemble. En effet, comme je l’avais précisé en introduction de cette série, le protocole OAuth permet une implémentation beaucoup plus souple, ce qui signifie que si tous les services ont bel et bien une base commune, il y a des petites nuances.
Nous allons nous concentrer d’abord sur la connexion à Twitter qui me semble être la plus « pure » et la plus simple dans sa forme générale. Nous verrons dans un deuxième temps comme s’effectue la connexion à Facebook puis nous terminerons cet article en parlant des spécificités que vous rencontrerez en implémentant la connexion OAuth pour d’autres services.
Mots clés : authentification, connexion, facebook, intégration, navigateur, oauth, openid, protocole, twitter, web
Authentification en un clic avec OpenID et OAuth (2/3)
Nous avons vu dans un précédent article les tenants et les aboutissants de la connexion avec OpenID et OAuth – nous allons nous attarder dans cet épisode sur la connexion avec OpenID, le système le plus simple des deux.
Mots clés : connexion, Développement, mobile, navigateur, oauth, openid, protocole, web
Une API Flickr minimaliste en Javascript
En attendant la suite de notre série d’articles sur la connexion avec OpenID et OAuth, je vous propose aujourd’hui une « récréation » avec une API javascript minimaliste que j’ai conçue il y a quelques temps : il s’agit d’un moyen d’accéder à l’API Flickr via des appels JSONP, ce qui est facilité par l’utilisation de jQuery qui le prend très bien en charge à travers sa méthode jQuery.ajax (voyez le paramètre dataType). Ce mode de fonctionnement fera prochainement l’objet d’un article, je n’en dis donc pas plus aujourd’hui
…
Mots clés : api, démo, Développement, flickr, javascript, jsonp, récréation
Authentification en un clic avec OpenID et OAuth (1/3)
Bonjour à tous ! Après un long hiatus, j’ai décidé de me remettre à poster un peu plus fréquemment sur ce blog … Je vais commencer un petit cycle de trois articles autour de la connexion dite « en un clic » sur laquelle j’ai récemment eu l’occasion de travailler. Il ne s’agit pas de donner des détails d’implémentation, car ces derniers changent souvent, mais plutôt de présenter les grandes lignes de chacun des protocoles existants pour en démystifier le fonctionnement qui est souvent très mal présenté dans les documentations que j’ai pu trouver à ce sujet.
Ce premier article se propose de faire un rapide état des lieux sur OpenID et OAuth, les deux principaux protocoles utilisés pour la mise en place de la connexion en un clic. Suivront dans les prochaines semaines un premier article sur OpenID puis un autre sur OAuth, où je passerai en revue les différentes étapes du dialogue avec chacun.
Mots clés : connexion, Développement, mobile, navigateur, oauth, openid, protocole, web
PHP et la gestion des erreurs
PHP génère des erreurs de plusieurs niveaux, et les gérer correctement est quelque chose d’essentiel, à la fois pour des questions de sécurité et de performances. Nous allons voir dans cet article quelques règles simples qui devraient vous permettre d’optimiser facilement cet aspect de votre application.
Les sessions sur plusieurs serveurs avec PHP et Memcached
Si vous utilisez plusieurs serveurs frontaux pour héberger votre application PHP, (ou que vous prévoyez de le faire) vous allez devoir faire face à un problème un peu ennuyeux : la variable $_SESSION ne fonctionnera plus. En effet la session PHP n’est disponible que sur le serveur en cours : si l’internaute se retrouve aléatoirement sur un serveur parmis X, les chances sont fortes qu’il perde régulièrement sa session.
Heureusement, les solutions possibles sont nombreuses et facile à mettre en place. Elles reposent toutes sur deux principes : a) l’utilisation d’un cookie déposé sur le navigateur pour identifier la session de l’internaute et b) l’utilisation d’un moteur quelconque pour stocker et lire un tableau de données.
Easyb, Behavior Driven Development
Pour rappel, le concept de Behavior Driven Development propose de se focaliser sur le comportement attendu de l’application plutôt que sur les tests. Ces comportements peuvent être décrits soit sous la forme de spécifications, soit sous la forme d’histoires !
Mots clés : agile, bdd, Développement, groovy, java, tdd, tests
cachedLoad(), un plugin de cache pour jQuery
Aujourd’hui, pour changer un peu de notre habituel programme sur Ruby on Rails, je me propose de revenir sur un article que j’ai publié il y a quelques mois qui parlait des propriétés window.sessionStorage et window.localStorage présentes dans la spécification HTML 5. Nous allons exploiter la première pour améliorer de façon transparente les performances d’un site dans les navigateurs compatibles (webkit / gecko pour l’instant).

