Passerelle MSN de jabberfr d0wn

July 14, 2006 on 6:19 pm | In General, Jabber | 21 Comments

Comme certains ont pu le remarquer, la passerelle MSN du serveur Jabber de l’APINC est HS depuis plusieurs jours… En effet, le serveur sur lequel la passerelle etait installée est tombé suite à une panne materielle (disque dur).

Les admins de jabberfr sont sur le coup et la passerelle MSN devrait être rétablie d’ici le Lundi 17 Juillet.

Patience donc à nos quelques milliers d’utilisateurs :)

En attendant, vous pouvez utiliser Miranda par exemple, logiciel qui permet nativement de se connecter simultanément à un compte Jabber et un compte MSN…

A suivre sur ce blog !

EDIT : ce soir, 25 Juillet la reinstallation est en cours… “demain peut etre” ;)

EDIT2 : voila, ce matin, le 26 Juillet, tout est rentré dans l’ordre, merci à Lucas et aux admins de l’APINC

Du XUL dans IE

July 12, 2006 on 3:33 pm | In General, XUL | 2 Comments

Vous connaissez certainement XUL, le format XML défini par Mozilla pour créer des interfaces graphiques à la FireFox ou ThunderBird ? A l’origine, le XUL ne pouvait s’afficher que dans FireFox (ou XulRunner), ce qui en limitait l’usage.

Il y a une parade pour faire tourner du XUL dans IE directement : grâce à un ActiveX qui embarque gecko dans IE !!! malin ;)

Le projet Mozilla ActiveX : http://www.iol.ie/~locka/mozilla/control.htm.

Et voila ! vos applis en XUL sont maintenant aussi accessibles depuis IE…

Trier un tuple ou une liste de dictionnaires via une clé

July 3, 2006 on 12:37 pm | In General, Python | No Comments

En Python, je veux trier une liste de dictionnaires par rapport à la valeur d’une des clés. Pour cela, il est très pratique d’utiliser une fonction anonyme lambda.

Exemple :

MaListe = []
Dico1 = {“Prénom”:“Julien”,“Succès”:5,“Erreurs”:3}
Dico2 = {“Prénom”:“Céline”,“Succès”:8,“Erreurs”:4}
Dico3 = {“Prénom”:“Jérôme”,“Succès”:7,“Erreurs”:6}
MaListe.append(Dico1)
MaListe.append(Dico2)
MaListe.append(Dico3)

# Si je veux trier par la colonne "Succès" :
# en mode croissant :
MaListe.sort(lambda x,y: cmp(x[“Succès”],y[“Succès”]))
# en mode décroissant :
MaListe.sort(lambda x,y: cmp(y[“Succès”],x[“Succès”]))

Et voilà ! En une seule ligne de code, j’obtiens une liste triée par rapport à une clé de votre dictionnaire… sympa Python !

Passage de 1 à 10 Go pour tous les FTP chez FREE !

June 21, 2006 on 6:05 pm | In General, Iliad - Free, actu informatique, web | 2 Comments

Encore une bien bonne nouvelle de la part de Free : toutes les pages persos (Accès gratuit, RTC ou ADSL) peuvent maintenant bénéficier de 10Go d’espace disque !

Comme si un 1Go c’etait pas déjà suffisant ! enfin bon on va pas se plaindre ;)

Je cite : “L’augmentation du quota est immédiatement prise en compte. Vous pourrez donc utiliser cet espace juste après en avoir fait la demande.” (sur l’espace client)

De plus, on a depuis quelques mois droit à PHP 4 ou 5 + MySQL 5 donc de meilleures performances ;)

Et comme on sait que l’on peut créer autant de comptes que l’on veut, cela veut dire qu’on peut vraiment avoir beaucoup beaucoup d’espace ! théoriquement illimité même.

C’est beau, merci ;)

Python Email Grabber

June 20, 2006 on 2:02 pm | In General, Python | 5 Comments

Voici quelques lignes de Python qui vont vous permettre de récupérer en quelques secondes tous les emails contenus dans un ou plusieurs fichiers. Ce code utilise le module re, dédié aux expressions régulières. On scanne un repertoire et on extrait tous les emails contenus dans chaque fichier.

Adaptez le code à vos besoins.

def readFile(inFile):
# fonction qui permet de lire le contenu d’un fichier
f=open(inFile,“r”)
contents=f.read()
f.close()
return contents

def writeFile(outFile,contents):
# fonction qui permet d’ecrire du contenu dans un fichier
f=open(outFile,“w”)
f.write(contents)
f.close()

def getEmailsInFile(inFile):
# permet de lire un fichier puis d’en extraire une liste d’emails
contents = readFile(inFile)
return getEmails(contents)

def getEmails(contents):
# extrait tous les mails contenus dans une chaine
import re
exprat=re.compile(‘[0-9a-z.-]+[@][0-9a-z.-]+’)     # la regexp qui detecte les emails
mailz = exprat.findall(contents)    # retourne une liste avec tous les resultats
return mailz

import os

rootPath = r“c:RepertoireAAnalyser” # repertoire à  analyser
lstEmails = []   # liste vide

for afile in os.listdir(rootPath):
fullPath = os.path.join(rootPath,afile)
if os.path.isfile(fullPath):                              # si fichier
for email in getEmailsInFile(fullPath):              # detection emails
if email not in lstEmails:                                 # verif doublons
lstEmails.append(email)

print “%s emails trouvés” % len(lstEmails)       

# exporte la liste dans un fichier ‘Emails.csv’, les emails séparés par des retours à  la ligne (
)
writeFile(os.path.join(rootPath,“Emails.csv”),
.join(lstEmails))

Faites tourner Apache sur votre Nokia série S60

June 17, 2006 on 2:54 pm | In General, Python, actu informatique, web | No Comments

On savait déjà que Nokia avait choisi l’Open Source comme cheval de bataille, déjà en utilisant Symbian comme OS pour ses téléphones, puis en portant le langage Python sur Symbian, ce qui permet à chacun de développer rapidement de petites applis qui utilisent les fonctions des téléphones : Audio/Video/Photo, Calendrier & Contacts, Wifi/Bluetooth/IrDa…

Aujourd’hui, Nokia annonce la sortie d’une version d’Apache pour la plateforme Symbian ! Cela veut dire qu’un simple telephone portable pourra, à l’instar de n’importe quel pc actuel, devenir un des serveurs web d’internet et fournir du contenu dynamique à des internautes, tout en étant mobile.

La partie DNS/Routage IP, qui est assez délicate du fait de la mobilité de ce type de serveur, sera gérée par un système de Firewall et DynDns coté opérateur mobile.

Cette version modifiée d’Apache est Open Source ,vous pouvez donc avoir accès à la source, ce qui promet un logiciel de grande qualité, et une meilleure sécurité à terme. De plus, sera intégré par défaut le fabuleux module mod_python qui permet d’executer du code Python via Apache…

C’est un grand pas en avant pour l’internet mobile !!!

La page du projet mobile web server chez Nokia : http://opensource.nokia.com/projects/mobile-web-server/.

Présentation et historique de l’OS Symbian sur Symbian France

Google SpreadSheets arrive

June 6, 2006 on 2:20 pm | In General, Google, actu informatique, web | No Comments

Google lance un nouveau service web 2.0 très pratique qui va sans doute remplacer excel pour beaucoups. En effet il s’agit de faire des spreedsheets en ligne, et surtout de les partager avec d’autres utilisateurs en les invitant à intervenir sur le fichier.

L’edition multi-users est en live, avec un petit système de chat intégré ;)

Insertion et formatage de données, gestion des formules, tris et filtres… les fonctionnalités sont suffisantes pour beaucup de cas.

On peut importer/exporter en excel, csv, html…

Preview & inscriptions ici : http://www.google.com/googlespreadsheets/tour1.html

Enjoy ;)

Plus de détail sur zorgloob

FireFox 2 Alpha 2 Preview

May 15, 2006 on 8:36 am | In General, actu informatique, web | No Comments

Voici les premiers screenshots de la future release de FireFox, attendue pour Octobre 2006.

Cette version bénéficiera de nombreuses améliorations, cosmetiques et fonctionnelles :

Gestion des Bookmarks et RSS améliorée, recherche multi-moteurs configurable, suggestions de recherche, Correcteur orthographique (+ de 40 langues dispos), meilleure gestion des onglets…

D’ici la, nous aurons droit à de nombreuses mises à jour de la 1.5 mais si vous souhaitez faire l’alpha testeur, c’est ici que ca se passe :

ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/bonecho/alpha2/

migration mod_python

April 29, 2006 on 3:00 pm | In General, Linux, Python, admin | 8 Comments

mod_python est un module pour le serveur Apache qui permet d’utiliser directement du Python pour créer ses applis web. Cela apporte de nombreux avantages : la code est portable (relativement), le propotypage rapide, et on peut avoir accès à tout bibliothèque Python. Les inconvenients sont la sécurité : il faut veiller à bien encadrer son application.

J’ai décidé de migrer une de mes applis de Python/IIS vers mod_python/Apache2. C’est une appli encore assez simple, toujours en beta mais qui utilise toutes les fonctionnalités d’un serveur web : Environnement, Session, Cookies… De plus, je voulais n’utiliser que la librairie standard de mod_python; pas de modules complémentaires ni de frameworks web. A priori, tout cela est géré par mod_python (à partir de la v.3.1.3) donc : c’est parti !

La doc de mod_python etant assez limitée, je vais faire un petit résumé de ce que j’ai trouvé…

Déjà , il y a plusieurs facons d’utiliser mod_python : le mode standard, le mode Publisher, le mode PSP, ou encore le mode CGI.

ces 4 possibilités ont un impact au niveau des performances : cf comparatif perfs modpython. Et la facon de coder ne sera pas la même.

Le mode PSP permet de faire des pages .psp du style de pages PHP, avec le HTML et le code Python mixés. Pour des raisons de séparation du code et de la présentation, ce n’est pas l’idéal.

Le mode Publisher permet lui de faire quelque chose de plus pythonesque; on part d’un module python ou des fonctions répondront aux appels d’Apache, et on utilisera si besoin un système de templates HTML (classe PSP). Ce mode facilite aussi la vie du programmeur en automatisant certaines tâches (codes de retours Apache…)

J’ai opté pour la solution publisher car c’est la plus “Python Style”, la plus puissante en termes d’évolutivité, et elle est assez performante pour ce dont j’ai besoin.

Déjà , config dans Apache (je ne suis pas encore un pro de Apache) :


ServerName dev.monappli.fr
ServerAdmin contact@revolunet.com
DocumentRoot /var/www/monappli

Options FollowSymLinks
AllowOverride All
Allow from all
AddHandler mod_python .py
PythonHandler mod_python.publisher # J’utilise publisher comme handler
PythonDebug On

Exemple de .htaccess : on peut définir des variables auxquelles mod_python aura accès :

AddDefaultCharset cd1252
DirectoryIndex main.py
ErrorDocument 500 error.py
ErrorDocument 404 error.py
ExpiresDefault A1

# Options Python
PythonAutoReload On
# ici on ajoute un dossier au sys.path pour nos libs persos
PythonPath “['/var/www/monappli/lib/']+sys.path”
PythonOption SMTP smtp.free.fr
PythonOption DB_HOST 127.0.0.1
PythonOption DB_NAME monappli
PythonOption DB_USER monappli
PythonOption DB_PASS monappli
PythonOption ROOT_PATH /var/www/monappli/
PythonOption LANG fr

Exemples de page en Python :
Chaque fonction appellée par un navigateur se voit passer un argument ‘request’ (ici appellé req) qui permet d’accéder aux classes Request, Response, Session, Cookies…

# main.py :

# import d’un module
import time
# import d’un module dans notre lib (définie dans le .htaccess)
import malibrairie

# fonction appellée quand appel direct à  monappli.fr (page par defaut)
def index(req):
req.content_type = “text/html; charset=windows-1252″
return “Bienvenue sur monappli.fr !”

# fonction appellée quand appel à  monappli.fr/page1
def page1(req):
req.content_type = “text/html; charset=windows-1252″
return “Bienvenue sur la page 1 !”

#fonction privée, qu’on ne peut pas appeller depuis apache
def _private(req):
return (2*2)

Je post d’autres exemples très bientôt, stay tuned ;)

A venir : Gestion session, cookie…

MSN Messenger leader de la messagerie instantannée

April 13, 2006 on 9:39 am | In General, Jabber, actu informatique | 11 Comments

D’après une étude Americaine récente (de ComScore.com), MSN Messenger federerait plus de 60% des utilisateurs dans le monde ! Et son succès est encore plus fort en Europe. Au total, il y aurait près de 100 Millions d’utilisateurs de MSN dans le monde sur un total de 160 Millions d’utilisateurs d’IM.

Ces chiffres sont en forte progression, la messagerie instantannée devenant un must-have pour tous les internautes, que ce soit au travail ou à la maison.

Qu’est-ce qui peut expliquer un tel succès de MSN ?

  • L’intégration directe à Windows
  • L’aspect user-friendly : facilité de configuration et d’utilisation
  • Les fonctions ‘familiales’ : smileys, ‘Wizzs’, ‘Cliens d’oeil’…
  • L’intégration de nombreux services : onglets finances, rencontres…

Face à MSN et sa déferlante de publicité et de fonctions contre-productives, je vous conseille vivement d’installer un vrai client de messagerie instantannée, à base de Jabber bien sûr. Utilisez un serveur avec une passerelle MSN et vous pourrez continuer à chatter normalement avec vos contacts MSN.

Vous pouvez donc installer Miranda, ou PSI par exemple et utiliser l’excellent serveur Jabber de l’Association APINC pour créer votre compte et commencer à chatter.

–> serveur Jabber de l’APINC
–> liste des domaines ou vous pouvez vous inscrire

une fois cela fait, vouz pouvez tester en m’ajoutant à vos contacts : jb@jabber.fr

Google Calendar

April 13, 2006 on 9:07 am | In General, Google, actu informatique, web | 1 Comment

Ca y est ! Après plusieurs mois de suspens, Google sort enfin son propre service de calendrier on-line.

Le service est encore en test et assez lent mais ca promet. L’interface est comme d’habitude; simple et intuitive, bien léchée, et avec des raccourcis clavier très pratiques.

Killer features :

  • Drag & drop d’events
  • Possibilité de créer plusieurs calendriers
  • On peut inviter des personnes sur son calendrier et partager des tâches avec d’autres comptes
  • On peut lier des emails recus dans gmail à son calendrier !
  • Publication RSS du calendrier
  • Importation depuis d’autres services web ou logiciels
  • API : on va pouvoir connecter nos applications à ce merveilleux calendrier. Specs de l’API ici

La démo est la : http://www.google.com/googlecalendar/tour5.html

Je sens qu’il y aura bientôt un système de todo associé ;)

Encore une fois, il ne suffit que d’un google Account pour accéder au service… là : http://calendar.google.com.

Python 2.5 alpha is in da place

April 11, 2006 on 11:28 am | In General, Python, actu informatique | No Comments

La future release de Python 2.5 est sortie en version alpha !

Cette version est pour l’instant reservée aux tests car ca va beaucoup évoluer !

Parmi les nouveautés interessantes :

  • Expressions conditionelles : genre logged = 1 if passOK or 0.
  • Programmation fonctionelle
  • Imports relatifs et absolus
  • amélioration de la gestion des erreurs et du try/catch/except
  • Modules hashlib (secures hashs), sqllite3, ElementTree

et bien d ‘autres améliorations que vous pourrez découvrir sur What’s new in Python 2.5

–> Version finale d’ici Aout/Septembre 2005 !

Specs W3C pour Ajax

April 7, 2006 on 10:33 am | In AJAX, General, actu informatique | No Comments

Le w3c se lance enfin dans un travail de fond sur les nouvelles technologies du web et l’AJAX.

En effet, il serait grand temps de passer à un web vraiment dynamique.

Le 5 avril, les premières recommandations sur l’Ajax ont été publiées.

Ce travail a pour but de standardiser l’objet XmlHttpRequest pour une meilleurs compatilité entre browsers

http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060405/

Bug FireFox ?

April 6, 2006 on 2:06 pm | In General, web | 5 Comments

Voici une étrangeté de FireFox qui m’a bien surprise…

Il semble qu’il y ait un petit souci d’affichage pour ce bout de code HTML :

<div style=“border:1px solid red”>
<table align=“left” border=“1″>
<tr>
<td>cell1</td>
<td>cell2</td>
</tr>
<tr>
<td>cell3</td>
<td>cell4</td>
</tr>
</table>
</div>

en effet, vous devez voir apparaitre le tableau hors de la DIV au lieu de à l’interieur… en plus, vous noterez un probleme dans le retour à la ligne après le tableau (vous avez beau faire un nouveau paragraphe, pas moyen de retour en début de ligne…)

et quand on omet

align="left"

pour le tableau, il est bien affiché à l’interieur de la cellule…

le ‘@align’ de la balise ‘table’ empêcherait donc la table de s’afficher dans la div !!!

Alors, Bug ou spec W3c étrange ?!!##@

les Awards du web 2.0

April 3, 2006 on 10:31 am | In AJAX, General, actu informatique | 2 Comments

Ce site regroupe plus une liste de plus de 300 applications style ‘web 2.0′ , regroupées par catégories, évaluées et notées.

On retrouve les sites connus mais aussi de nombreuses nouveautés; Ces derniers temps, les applis web 2.0 poussent en effet comme des champignons.

–> SEOMoz web 2.0 awards : http://web2.0awards.org

notamment le remplacant de netvibes : http://www.pageflakes.com/, bien plus léger…

Moteur de recherche des applications web 2.0

March 30, 2006 on 2:57 pm | In AJAX, General, actu informatique, web | No Comments

Voici un site tout simple qui recense les applications Web 2.0.

Un bon moyen pour connaitre l’etat de l’art en la matière et de tester les nouveaux services.

http://www.web2list.com/

Pour chaque appli, gestion des tags et des votes pour un classement à la digg.

Déjà 650 applis web 2.0 recensées ;)

Serveur de Sauvegardes sous Linux

March 22, 2006 on 5:48 pm | In General, admin, developpement, shell | No Comments

Voici quelques infos utiles pour mettre en place un serveur de sauvegardes de base sous Linux. Il ne gère pas le multi-version, mais permet de sauvegarder plusieurs disques réseau à intervalle régulier. Pour 50Go, le temps de chaque vérification et mise à jour n’est que de 20 minutes maximum. (plusieurs heures lors de la première sauvegarde)

Celui ci fonctionne avec rSync et un petit script shell.

J’ai utilisé le système de fichiers ReiserFS pour pouvoir gérer plus de 32000 fichiers par repertoire et la distribution Debian testing (à partir de la version netinst (8Mo à télécharger)). Le système est installé et fonctionnel en 15 minutes. Vous pouvez telecharger les ISO de cette version là : http://ftp.debian.org/debian/dists/testing/main/installer-i386/current/images/netboot/

Dans mon fichier fstab (qui regroupe les montages de disques), j’ai ajouté une ligne par répertoire réseau à enregistrer :

# pour monter le partage ‘public’ de la machine windows 192.168.5.10 dans /mnt/saves/public/ :
//192.168.5.10/public /mnt/saves/public smbfs ro,username=user,password=pass 0 0

Ensuite j’ai crée un script shell qui me synchronise tous les disques montés dans /mnt/saves sur le disque ReiserFS local. Pour cela, il faut utiliser rSync :

# ceci va synchroniser tout le contenu /mnt/saves/ vers /home/saves/data/ (en recursif)
rsync -avz /mnt/saves/ /home/saves/data/

On peut rajouter un fichier avec des exclusions pour éviter de sauvegarder des gigas de mp3, videos… à passer à la ligne de commande de rSync :

–exclude-from=exclusions.txt
dans lequel on trouve par exemple :
*.mp*
*.MP*
*.avi
*.AVI

Ensuite dans la crontab, j’ai automatisé l’execution de ce script en la planifiant tous les jours à 1h du matin :

0 1 * * * root /root/SaveAll.sh

Dans mon script SaveAll.sh, j’ai apporté des améliorations qui me permettent de tout logguer et de recevoir le compte-rendu de sauvegarde par email :

# date et heure d’exec
curDate=`date +%d%m%y_%H%M`
# nom du fichier log
logFileName=“/root/logs/log_saves_$curDate.log”
# redirige les sorties erreur et standard vers mon fichier de log
exec >$logFileName 2>&1
# montage des smbfs au cas ou pas montés au boot
mount -a
# execution de rSync
rsync -avz –exclude-from=exclusions.txt /mnt/saves/ /home/saves/data/
# envoi du mail
mpack -s “Compte rendu de sauvegarde” $logFileName admin@revolunet.com

Dans ce mail me sont également envoyés quelques infos : la taille de chaque repertoire de sauvegarde et le nombre de fichiers :

# Taille des repertoires sauvegardés
du -h –max-depth=1 /home/saves/data
# Nombre de fichiers dans chaque repertoire
for folder in `ls -d /home/saves/data/*/“; do
nbfiles=`find $folder -iname ‘*.*’ | wc -l`
echo “$folder : $nbfiles Fichiers”;
done

Ensuite, libre à vous de partager ce repertoire dans Samba pour qu’il soit accessible depuis le réseau.

Outils pour webmaster

March 22, 2006 on 12:20 pm | In General, web | No Comments

Voici un site à la digg qui regroupe des outils indispensables aux webmasters :

  • Référencement
  • Optimisation/ Validation de code
  • Previews dans différents browsers
  • Generateurs pour mod_rewrite, CSS, formulaires, images ou boutons, Mots de passe, couleurs…
  • Tables de références des entités…

Il ya presque tout… et s’il manque quelque chose, ajoutez le !!!

http://www.listible.com/list/online-tools2C-generators2C-checkers

Bien pratique..

ActionScript 3

March 9, 2006 on 10:57 am | In General, actu informatique, web | 1 Comment

Macromedia a dévoilé il y a quelques jours les specs d’ActionScript 3, le ‘javascript’ du Flash.

Ce ne sont pas les specs finales, mais on peut déja se rendre compte des nouveautés à venir, par exemple :

  • Loader.loadBytes() : permet de charger directement un object binaire dans Flash (image, download…)
  • flash.net.Socket : permet d’ouvrir un socket et donc d’utiliser n’importe quel protocole directement (par exemple xmpp ou smpt)

http://livedocs.macromedia.com/specs/actionscript/3/wwhelp/wwhimpl/js/html/wwhelp.htm

conférence XUL de l’AFUP

March 3, 2006 on 1:46 am | In General, XUL, actu informatique | 3 Comments

Je suis allé ce soir à la réunion sur XUL organisée par l’AFUP, et j’ai été reconquis par cette technologie.

J’avais déjà compris les bienfaits d’une séparation total entre code, présentation et contenu, mais la, avec quelques démos, les mauvais souvenirs de vieux code XUL ont fait, comment dire… pshiiiiiit.

On a eu le plaisir d’entendre quelqu’un de chez disruptive innovations nous présenter XUL puis les auteurs de l’outil de publication en XUL pour le site lemonde.fr (le SEPT) nous ont présenté le résultat de leur développement (eq. 300 jours/hommes parait-il).

La connexion passait par le Wifi via Orange, puis via par un VPN pour sécuriser la connexion.

Et bien malgrès cela, la première chose que l’on peut constater, c’est que XUL c’est rapide ;)

En effet, dans ce cas, le xul etait hebergée sur la machine mais allait uniquement chercher ses infos sur un serveur dedié. donc très peu d’echanges; seulement le nécéssaire (eux ont utilisé wddx pour leurs echanges client/serveur)

L’interface met bien sûr quelques secondes à se charger, mais c’est très propre, avec des petites progressbars et tout et tout. L’appli présente de nombreux écrans et s’appuie beaucoup sur les onglets, ce qui en fait un outil très puissant. En effet, le redacteur (car ce sont eux entre autres qui utilisent cet outil) peut donc ouvrir plusieurs articles/dossier/images en meme temps dans son logiciel. Une autre fonctionnalité très exploitée dans leur appli est le drag & drop; il est partout. Du moteur de recherche, on peut dragger une image dans un article ou dans un diaporama, ou un article dans une catégorie… Il y a aussi un mini éditeur wiswig pour écrire son article et un module pour uploader/resizer/recadrer ses images.

Tout cela dans une interface très sobre et très propre et qui parait rapide, stable et rassurante.

Je dis Bravo a la communauté Mozilla pour ce beau boulot ! et Merci a l’AFUP d’avoir présenté ces exemples plutôt convaincants…

c’est décidé : je m’y re-mets sérieusement ;)

plus d’infos sur le xul : xulfr.org et xulplanet.com

Telecharger des gros gros fichiers sous IIS avec Python

February 25, 2006 on 5:56 pm | In General, Python, web | 2 Comments

Entre les quelques bugs de Python win32com et IIS, on peut se trouver bloquer par des erreurs bidons quant on veut faire telecharger aux utilisateurs de gros fichiers via HTTP (des fichiers pas contenus dans l’arboresence du site, ou protégés).

Voici un bout code qui permet de realiser cela sans souci grace à deux minis fonctions… (l’ai enlevé les try/catch optionnels)

<%@Language=“Python”%>
<%

import os

def headersDownload(fileName,size=None):
“”“mets les bons header HTTP pour IIS ““”
Response.Buffer = True
Response.AddHeader(“Content-Disposition”, “attachment;filename=%s” % fileName)
if size:
Response.AddHeader(“Content-Length”, “%s” % size)
Response.ContentType = “application/x-unknown”

def downloadFile(Filepath):
“”” lances le download ““”
file = open(Filepath, ‘rb’)
while 1:
t = file.read(8192)
if not t: break
Response.BinaryWrite(buffer(t))
Response.Flush()
file.close()

FileToDownload=r“d:downloadzBig_Big_File_Example.zip”

fileName=os.path.split(FileToDownload)[1]
fileSize = int(os.stat(FileToDownload)[6])

headersDownload(fileName,fileSize)
downloadFile(FileToDownload)
%>

et voila, le download est maintenant quasi-instantannée :)

Google Page Creator

February 23, 2006 on 3:50 pm | In AJAX, General, Google, actu informatique | 3 Comments

Google a lancé un nouveau service qui permet à tout à chacun de créer un petit site internet très simplement et en quelques minutes. L’application est cross-browser et WISIWIG, et permet de créer des pages complètes en quelques clics : on choisit un modèle de mise en page, un style et on remplit notre page avec notre contenu.

On peu uploader des images, les deplacer par drag&drop… dans un espace de 100Mo (pour l’instant)

La création est très intuitive, l’AJAX est vraiment exploité à 200 % et la mise en ligne est immédiate sur http://VotreCompteGmail.googlepages.com

Simple, rapide, efficace, c’est encore un très joli travail de la Google Team. Plus besoin d’aucun logiciel a part son browser pour éditer un mini site… nice, nice, nice…

Seul problème pour l’instant : un seul compte googlepages par compte gmail.

Support CSS des differents navigateurs

February 16, 2006 on 7:37 pm | In General, web | No Comments

Voici un tableau bien utile pour comparer les support des différentes propriétés du CSS entre les navigateurs IE6, FireFox ou Opera.

Le support de chaque attribut, selecteur ou pseudo-classe y est précisé en fonction du browser.

On peut notammant découvrir que de nombreuses propriétés CSS3 sont déja dispos sur beaucoup de navigateurs.

le tableau comparatif : Web browser CSS support, et un guide pratique des selecteurs CSS3 : CSS3 selectors explained.

Standards IM pour les mobiles

February 14, 2006 on 3:32 pm | In General, Jabber, actu informatique | 4 Comments

A l’occasion du 3GSM de Barcelone (ou je pars demain, hihi), les plus grands opérateurs mondiaux de téléphonie mobile, qui representent plus de 700 millions d’utilisateurs, se sont mis d’accord pour déveloper un système de Messagerie instantannée commun, et ainsi accélerer le développement de l’IM sur mobiles et améliorer les échanges entre différents opérateurs.

Cette team inclue Orange, T-Mobile, Vodafone, China Mobile… et a bien compris que “l’interoperabilité est la clé du succès“… C’est donc certainement via Jabber que communiqueront nos futurs portables…

plus d’infos sur TechTree India ou BBC News

Librairie AJAX Yahoo

February 14, 2006 on 3:16 pm | In AJAX, General, Javascript, actu informatique, web | No Comments

Yahoo surprend tout le monde Open Source aujourd’hui en publiant des biblioethèque de Ajavscript destinées à faire de l’AJAX.

Il s’agit de fonctions cross-browsers pour gérer la fonction XmlHttpRequest, les animations de calques, le drag & drop, et egalement de quelques UI items : Calendrier, Slider, Treeview.

Tout ca releasé sous une license très permissive : la BSD licence ! (peut etre réutilisé dans toutes application même payante en mentionnant le copyright)

Python + Nokia + Guido = Love

February 14, 2006 on 2:54 pm | In Fun, General, Python, actu informatique, geek style | No Comments

Guido Van Rossum, créateur de Python a fait joujou avec le toolkit Python de Nokia pour Nokia et apparemment il s’est bien eclaté !

Ce qui est bien est qu’on peut coder sur son PC/mac et même surement Linux directement et avoir la main sur un shell interactif Python sur le nokia via Bluetooth… Pratique !!!

Voici de nombreux exemples de Python sur Nokia S60 et le post de Guido sur son blog Artima.

Que de fun en perspective sur les Nokia Symbian Series !

Python = 5 fois plus rapide !

February 14, 2006 on 2:29 pm | In General, Python, actu informatique | No Comments

Développer en Python, c’est développer 5 fois plus vite, donc être 5 fois plus productif ;)

C’est la conclusion de Tarek Ziadé qui bosse chez Nuxéo (SSII logiciels Open Source) et qui est ausi membre actif de l’AFPY (Association Francophone Python) et de f.c.l.python.

Pour ceux qui ont encore besoin d’être convaincus que Python c’est l’avenir, jettez un coup d’oeil à l’interview de Tarek sur le JDN .

Denièrement, on remarque partout un fort engouement pour Python, par exemple en regardant la popularité des packages Debian, on s’apercoit que ceux en Python sont passés en seconde position, derrière ceux en C mais devant ceux en C++…

Apache2 + Php + XmlHttpRequest = encodings problems

February 14, 2006 on 2:14 pm | In AJAX, General | 6 Comments

Il m’est arrivé une sacrée galère en testant une requète XmlHttpRequest (en POST) à une page PHP sous Apache2.

Quand j’envoyais des caractères speciaux, genre ‘à ‘, et bien la page qui recevait ces infos (appellons la rec.php) encodait ces caractères en ‘àƒ’ par exemple. Croyant à un probleme de déclaration d’encodage je passe deux heures à faire de multiples tests en specifiant les encodages de tous les cotés :

dans le html <meta http-equiv=“Content-Type” content=“text/html; charset=iso-8859-1″ />
ou en php <?header(“Content-Type: text/html; charset=iso-8859-1″); ?>
ou dans le parametre de XmlHttpRequest : objHTTP.SetRequestHeader(“Content-Type”, “application/x-www-form-urlencoded; charset=iso-8859-1″)

A court d’idées, je fais un test sur un serveur Apache 1, je constate alors que ca marche correctement, même sans spécifier les encodages.

J’en déduis donc que cela vient d’un option de Apache2; Au bout de quelques recherches Google, je tombe sur le BugTrack d’Apache qui m’apprend que le httpd.conf d’Apache a une nouvelle option activée : AddDefaultCharset; option qui force chaque page en iso-8859-1.

En remplaceant la ligne en question par :

AddDefaultCharset Off

Tous mes problème sont été résolus, accents et sigles Euro acceptés, sans aucune spécification de header ou d’encodage à qulque niveau que ce soit…. Grrrrr….

Icônes libres de droit

February 6, 2006 on 9:52 am | In General, web | 3 Comments

Cette page web recense les sites qui publient des icones libres de droit, sous licence Creative Commons par exemple.

Bien utile pour le design d’interfaces, web ou pas. Il y en a pour tous les goûts. Merci à l’auteur, c’est bien utile ;)

http://www.elaboration.be/index.php/post/icones

Alliance Open Ajax

February 3, 2006 on 10:27 am | In AJAX, General, actu informatique, web | 1 Comment

Avec le développement croissant des applications à base d’Ajax, le consortium ‘Open Ajax’ s’est crée, avec pour but le développement d’outils Open Source pour la promotion de cette nouvelle technique du web. Ce consortium regroupe des géants de l’informatique et d’Internet : Google, IBM, Mozilla, Yahoo, Red Hat, Zend… et d’autres entreprises spécialisées dans les technologies web comme Lazlo Systems.

Ces entreprises vont s’unir pour créer des toolkits (librairies) dans le but de permettre une accéleration du développement de telles applications en etablissant des standards ouverts. On devrait voir apparaitre les premieres librairies courant 2006.

Il etait temps car aujourd’hui, développer en Ajax, c’est faire beaucoup de bricolage en Javascript et jongler entre les interpretations des différents navigateurs.

Les services web sont donc en train d’évoluer vers plus de dynamisme et plus d’interactivité. De plus, la participation au consortium de Lazlo Systems (société spécialisée dans les applications à base de Flash) laisse augurer de nouvelles perspectives au format Flash, qui a un peu perdu son coté dynamique exclusif avec l’arrivée des applications AJAX comme GoogleMaps, Gmail… donc plus d’interactions avec Flash sont à venir.

Comme d’habitude, Microsoft développe dans son coin son propre format (projet Atlas), ce qui ne fera que compliquer la tache des developpeurs qui auront encore une fois de l’adaptation à faire pour garantir la compatibilité de leurs applications.

« Previous PageNext Page »

Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds. Valid XHTML and CSS. ^Top^