Tout sur : Python (et Django)
Online Compression Tools : un petit outil pour archiver (Tar) et compresser (tar.gz) vos fichiers
Cela faisait pas mal de temps que je voulais réussir à faire un petit outil (appelé très simplement Tar/Gzip Online Tools) pour compresser et archiver des fichiers en ligne. Le but était, au départ, de faire un outil permettant de compresser des fichiers, et un autre outil permettant de les décompresser. A la manière de Wobzip, par exemple. Bref, le problème, c’est que je suis et reste limité par le datastore, et par la plateforme AppEngine, qui empèche d’écrire quoi que ce soit. Loin de moi l’idée de dire du mal de cette contrainte : je souhaite juste attirer l’attention sur un aspect qui complique un tout petit peu la chose. (Lire la suite…)
Système de cache sur AppEngine : quelles performances ?
J’aime assez le système de cache de WordPress mis en place par le plugin WP-Super-Cache qui consiste à générer la page et à la mettre physiquement dans un dossier de cache, puis à dire à Apache de toujours regarder si la page demandée par un visiteur n’existe pas déjà avant d’en demander la génération. Sur AppEngine, il y a un problème de taille : il est impossible de gérer la création/suppression de fichiers en dur. Point de cache « physique », donc. Pour autant, on peut avoir envie de servir un grand nombre de pages, et donc d’avoir un système performant et pour autant, peu gourmand en performances. J’ai donc décidé de créer un petit script utilisant MemCached pour stocker le contenu généré, et j’ai regardé les différences de temps rapporté par les logs.   (Lire la suite…)
Toujours dans la lignée avec ce que j’ai créé sur abricocotierfr.appspot.com, je voulais créer une application qui me serait vraiment utile tous les jours, et qui remplacerait (pourquoi pas avantageusement) une application que j’utilise chaque jour. Et ça tombe bien, j’utilise assez fréquemment un outil pour fusionner les PDF (celui-là , en l’occurence), mais il est truffé de pubs, et ne fonctionne plus correctement à partir d’un certain nombre de PDF. Bref, il n’est pas parfait. Pourquoi ne pas tenter, avec Online PDF Tools, d’en faire un moi-même sur AppEngine ? (Lire la suite…)
Toujours dans la lignées des applications Python/AppEngine publiées sur abricocotierfr.appspot.com, j’ai créé un outil ‘CRM Mailer‘ auquel je réfléchissais depuis pas mal de temps, et dont la difficulté apparente m’empéchais de m’y mettre vraiment. Après avoir pris mon courage à deux mains (ou plutôt après avoir commencé calmement pour appréhender les difficultés une-à -une), il s’avère que j’ai à peu près réussi à obtenir un outil fonctionnel et simple à utiliser. (Lire la suite…)
Base64 Encoder, un encodeur pour accélérer vos pages web
J’en parlais ce matin : utiliser l’encodage Base64 peut s’avérer bien utile pour réduire drastiquement le nombre de ressources chargées pour une page web. Dans l’idée d’avoir, du coup, toujours sous la main un encodeur Base64, j’en ai fait un aujourd’hui moi-même, que j’ai appelé Base64 Encoder (on peut pas dire que j’ai eu beaucoup d’imagination). Je suis parti de l’application disponible sur le site de GreyWyvern, à laquelle j’ai rajouté les possibilité de pouvoir encoder simplement du texte ou bien un fichier en l’uploadant directement sur le serveur.  (Lire la suite…)
L’idée de réaliser un URL-info (pour voir si je serais capable de faire un service aussi utile moi-même) me narguait depuis longtemps. En fait, il s’avère que ce n’est pas si difficile. De la même façon que les autres outils dont j’ai déjà expliqué les développements a posteriori, je vais dire les grandes lignes de ce qui me vient à l’esprit après avoir globalement terminé le développement de celui-ci. Avant toute chose, et malgré son évidente proximité avec l’idéal vers lequel je souhaitais aller, je ne pouvais pas l’appeler pareil (même si ç’eût été un hommage), donc j’ai trouvé un nom plutôt générique : Site Checker.   (Lire la suite…)
L’augmentation de la rapidité de mon blog est un sujet que je rumine assez fréquemment, et qui a d’ailleurs tendance à empiéter sur ma vie « professionnelle », où j’ai une certaine tendance à favoriser toute évolution en terme de « temps d’exécution », même si celle-ci n’est pas demandée/payée. Faisant actuellement du développement Python, et ayant un certain attrait pour ça, je me suis donc demandé quel serait le gain en performance pour un blog tel que le mien, en passant du CMS WordPress au CMS Plone, qui me semble être le plus populaire dans la communauté Python.   (Lire la suite…)
Depuis le temps que je me plains du fait que Google Analytics ne propose qu’une interface contenant du Flash, il était temps que je trouve quelque chose de mieux. De surcroît, passant en ce moment pas mal de temps chez la famille le week-end, je n’ai pas toujours d’accès à Internet autre que celui de mon smartphone, donc il me fallait une interface que celui-ci serait capable d’utiliser. J’avais jusqu’à récemment un BlackBerry 8520 ne supportant que le HTTP et le CSS (et un tout petit peu le JavaScript, mais pas de quoi faire ce dont j’avais besoin), et aujourd’hui j’ai quelquechose d’autre, un petit peu plus évolué, mais ne gérant pas le flash. Enfin, comme je vais voir l’évolution du nombre de visiteurs pour ce présent site plusieurs fois par jour, il est toujours énervant d’avoir à chaque fois à reloader l’appli flash de sélection du jour, etc. Donc il fallait que je trouve sur le web quelque chose de simple, léger, rapide. Ou que je le développe moi-même. (Lire la suite…)
Vous me connaissez, j’apporte un intérêt assez particulier à toutes les techniques permettant d’accélérer le chargement des pages web, ce dans le but d’éviter d’être (entre-autres) pénalisé dans l’algorithme de ranking de Google pour trop grande lenteur. Dans toutes les techniques utilisées, il y en a une qui consiste à diminuer grandement le nombre d’images affichées sur ses pages. En effet, soit on utilise les sprite-CSS, auquel cas on ne charge qu’un nombre très réduit d’images et on en gère l’affichage dans le CSS, soit on charge chaque image séparément, ce qui a pour conséquence d’augmenter d’autant le nombre de requêtes faites par le navigateur pour aller chercher toutes les ressources nécessaire à l’affichage complet de la page. (Lire la suite…)
Dans le cadre de mon stage actuel, j’ai eu à faire des différences entre des listes, c’est à dire à sortir la liste « intersection » des deux listes, et la liste « union-intersection » des deux listes (ou la liste « différence »). L’avantage avec Python, c’est qu’il existe des fonctions fournies directement, et qui font ça très bien (il y a sûrement la même chose dans plein d’autres langages). Ce qui est intéressant là -dedans, c’est que pour Python, j’ai identifié trois solutions pour faire les différences et intersections, et dans ma lutte pour l’optimisation, je me suis fait plaisir en chronométrant les différents temps d’exécution. Ces fonctions sont : SET, FROZENSET et LAMBDA.
- 29 January 2012Pas de loi de Moore dans les cartes graphiques depuis plusieurs années(1) Comments
- 29 January 2012Rénovation des structures de chauffage urbain à Paris(5) Comments
- 28 January 2012Etat des lieux de ma dépendance à Google(9) Comments
- 28 January 2012Désactiver l'accélération de la souris sous Mac OS(4) Comments
- 27 January 2012Priceminister : photos des nouveaux locaux à Réaumur(4) Comments
- 24 January 2012Les singes de doigt, ou marmousets pygmées(0) Comments
- 24 January 2012Une pénurie de développeurs ? Et si on arrêtait de prendre les gens pour des cons ?(109) Comments
- 23 January 2012Le meilleur du web en 3 minutes et demi(0) Comments
- 22 January 2012FreeMobile : comment activer les données cellulaires sur un iPhone(25) Comments
- 10 January 2012Free Mobile lance le forfait illimité sans engagement à 20 euros par mois(6) Comments