WordPress hacked & spam injections
May 19, 2008 on 8:52 pm | In General, Google, Python, actu informatique, developpement | 2 CommentsLes spammers n’ont décidément plus de limite dans leur imagination
C’est ce que j’ai découvert en éditant un de mes articles sur ce blog. En regardant de près le code d’un de mes posts, je me suis rendu compte qu’a la fin du post, il y avait du spam ajouté en toute discretion…
Le spammer comence par injecter quelques tags :
puis insère une div cachée, non visible dans un navigateur :
puis insère tout un tas de liens sur le vi4gr4 et compagnie… Ceci est possible grâce à l’exploitation d’une faille de sécurité dans WordPress, qui permet au hacker de se créer facilement un compte administrateur. Cette faille a depuis été corrigée d’ou l’importance de toujours bien mettre à jour wordpress et tout logiciel en général.
Si en plus le serveur est mal configuré, le hacker peut alors prendre le controle total de la machine en uploadant le parfait kit du pirate PHP. Un outil de crackage a apparemment été développé pour automatiser la tache, polluer à la chaine des milliers de blogs, certainement pour longtemps, et ainsi gonfler au maximum la popularité des sites cibles aux yeux des moteurs de recherche.
L’origine de l’attaque provient apparemment de Pologne et Russie. Le resultat de cette attaque a engendré un blacklistage de l’index de google et j’ai donc crée un script Python qui répare les dégats en supprimant les spams :
import MySQLdb
#example spam tags to remove :
# …<!–1f195247aee1eba914f252716a78efba–><!–b845738c6a171d114ceaa35493a4f0dc–><div id=wp_internal style=position:absolute;left:-9112px><a href=http://www.eeeeee/zefzef/wp-content/themes/default/zefezff/eeeeee.html>…
cursor=db.cursor()
cursor.execute(“SELECT ID, POST_CONTENT FROM wp_posts ORDER BY ID DESC”)
posts = cursor.fetchall()
log=[]
for post in posts:
parts = re.split(r“<\!–\w{32}–>”, post[1])
if len(parts)>1:
clean_post = parts[0].replace(“‘”, “””)
sql = “update wp_posts set POST_CONTENT=’%s’ where ID=%s;” % (clean_post, post[0])
log.append(sql)
cursor.execute(sql)
print “updating post %s” % post[0]
db.close()
f=open(“wp_out.sql”, “w”)
f.write(“\n“.join(log))
f.close()
Attention à bien sauvegarder votre base de données avant d’executer ce script ! Si vous ne comprennez pas le script, ne l’executez pas !
J’attends impatiemment le retour du traffic si google veut bien me réindexer !
EDIT :Deux jours après application du script + demande de réexamen dans Google webmaster tools le traffic est revenu à la normale…
Google AppEngine revolutionne le développement web
April 10, 2008 on 10:35 am | In General, Google, Python, actu informatique, developpement, web | 2 CommentsDurant ces 10 dernières années, Google a révolutionné la recherche, le e-marketing, la cartographie et bien d’autres services à destination des usagers. Depuis quelques temps, Google s’est aussi investit dans l’open source, notamment grâce à code.google.com qui propose de nombreuses librairies open source pour les développeurs, ainsi que des espaces gratuits de gestion de projets a la sourceforge.
Aujourd’hui, Google lance Google AppEngine, un service à destination des développeurs web, qui va leur faciliter grandement le développement d’applications web, en leur permettant de se concentrer sur la partie la plus fun de leur metier : le code lui-même. Et tout cela gratuitement (pour l’instant).
Google AppEngine est en effet un framework qui permet d’écrire très facilement des applications en Python, sans se soucier ni de la base de données, ni de l’hebergement, ni de l’administration système, ni des sauvegardes. Pour ceux qui ne connaissent pas bien Python c’est un langage très haut niveau, très lisible, très logique, et très performant; Google l’utilise à de nombreux niveaux de son architecture et a d’ailleurs embauché son créateur le fameux Guido Von Rossum en 2005. Concrètement, vous définissez vos modèles de données, vos templates graphiques et votre code métier (facon MVC), puis publiez très simplement votre projet directement sur la plate forme Google. Vous avez alors la puissance de Google entre vos doigts, et disposez d’une extraordinaire flexibilité et extensibilité de votre application, le tout de facon 100% transparente. Votre application est hebergée chez Google, et vos données reparties sur de nombreux serveurs à travers le monde ce qui vous garantit une haute disponibilité et de hautes performances quel que soit le volume de vos données et le traffic que vous générez.
Techniquement, Google vous propose un SDK (dispo sur Windows, Mac, Linux) qui vous installe un environnement de développement similaire à la version en ligne de AppEngine . Ce framework est open source et basé sur le célèbre framework web en python Django (Templates, DataModels…), Webob (Modele objet request/response) et sur plusieurs API fournies par Google pour nous faciliter la vie : Datastore API pour la base de données (basé sur la technologie BigTable de Google), Users API pour la gestion des utilisateurs et autres joyeusetés… Bien sûr vous pouvez ajouter toutes les librairies Python que vous souhaitez à votre projet.
Ce service n’est pas destiné aux applications professionnelles car vous êtes trop dépendant de Google et n’avez aucun contrôle sur de nombreux points (notamment la base de données ou les librairies bas niveau disponibles) mais ce service va certainement faciliter le développement de nombreuses applications web, sociales (ou pas), web 2.0 (ou pas). Ma grand mere va peut etre enfin pouvoir coder l’application web de bridge dont elle rève depuis toujours et que je n’ai jamais eu le temps de faire pour son Noël ;)
Le service est encore en beta, pas encore ouvert au quidam pendant une phase de tests de plusieurs mois mais on peut d’ores et deja installer le SDK et tester la plateforme en local pour faire joujou. Et on s’amuse. A terme Google proposera surement à la maniere d’Amazon S3 de la location de ressources si vous avez besoin de plus de ressources que ce qui vous est offert.
Démonstrations videos : http://youtube.com/watch?v=tcbpTQXNwac
Le SDK : http://code.google.com/appengine/downloads.html
La Documentation : http://code.google.com/appengine/docs/
Le groupe de discussion : http://groups.google.com/group/google-appengine?lnk=sg
test du e65, nouvelle bombe de chez Nokia
May 11, 2007 on 10:05 am | In General, Python, actu informatique, geek style, hardware | 92 Comments![]() |
Cela faisait un moment que je pensais m’offrir le Nokia N80 ou le N95 mais c’etait sans compter la sortie récente du E65. Discret et élégant, ce téléphone est techniquement au top de ce qui se fait actuellement, pour un prix, avec abonnement (1 an SFR), de 69 € seulement !!Basé sur l’excellent système d’exploitation Symbian version 9.1 (alors que le N80 utilise une version plus ancienne), le e65 propose nativement le WiFi et la téléphonie SIP, ce qui permet de faire de grosses économies sur sa facture téléphonique (par exemple en passant par son compte Freebox pour appeller). |
La navigation est rapide, on peut surfer sur Internet en WiFi, streamer des flux Audio et Video (format RealPlayer), lire des mp3 sur sa carte MicroSD, visualiser des PDF, Word, Excel et meme des animations Flash… On peut bien sur recevoir et envoyer des mails (POP et IMAP) via autant de comptes que l’on souhaite. Grace à Google Maps For Mobile, vous pouvez consulter les cartes, images satellite et itinéraires dans le monde entier. Vous pouvez également le connecter à un module GPS Bluetooth externe, ce qui vous permettra d’ajouter toutes les fonctions classiques d’un systeme GPS (sans voix). L’appareil n’est qu’un 2 mégapixels mais bon c’est un smartphone avant tout.
Comme le téléphone tourne sous Symbian, vous pourrez trouver sur Internet une multitude de jeux et programmes gratuits ou pas et les installer très facilement (attention aux paramètres de sécurité). Si vous êtes programmeur ou avez envie de bidouiller, vous pourrez facilement installer le support du fabuleux language Python et la console Python par Bluetooth, une excellente innovation pour les développeurs. En effet, vous pourrez coder directement sur votre mobile depuis votre PC !! Ensuite, vous ferez comme beaucoup de développeurs Symbian, vous mettrez votre code à disposition de la communauté sur http://symbianos.org/ par exemple.
Pour ceux qui sont inscrits au programme de WiFi communautaire FON, un programme permet de gérer automatiquement les connexions aux bornes FON et ainsi de pouvoir téléphoner via SIP et surfer gratuitement dans de nombreux endroits… téléchargez le ici : http://www.fon.com/fr/download. Et si vous n’etes pas encore un Fonero, achetez votre fon sur fr.fon.com ! Il me reste 3 invitations, contactez moi ici si vous en voulez une (20€ TTC) sur contact at revolunet.com
Si vous avez actuellement un Nokia, un outil de synchronisation Bluetooth ou Infrarouge est fourni, qui permet en quelques minutes de synchroniser les données entre vos deux mobiles. Sinon, vous pouvez utiliser le service online Mobical qui se chargera de synchroniser sur deux appareils différents.
Alors n’hésitez plus, technophile ou pas, foncez sur ce superbe appareil qui ne vous decevra surement pas !!
Et si vous avez des astuces à partager ou des questions, n’hesitez pas, les commentaires sont ouverts
Configuration nécessaire pour téléphonie SIP via freephonie :
Suivez le guide pour les nokia e-series à cette adresse (wiki freephonie) : http://www.freephonie.org/doku/tutoriel:seriee mais ne spécifiez PAS de serveur Proxy… Connectez vous à votre point d’accès WiFi, puis dans le menu ‘Connectivité, Téléphonie Internet’, vérifiez que vous êtes bien connecté !
(NB : Nous n’avons pas acces pour l’instant aux points d’accès Freephonie, on peut seulement utiliser des point d’accès pour lesquels nous avons les clés)
EDIT 05/12/07 : Free a activé le telechargement des certificats SIP pour tout telephone dans son interface !!!
des PDF dynamiques facilement
March 18, 2007 on 11:32 pm | In General, Python, developpement | No CommentsVoici une petite astuce pour générer à la volée des PDF dynamiques du style formulaire à remplir.
Il s’agit de générer des PDF à parti d ‘un modèle source avec des données contenues dans un fichier FDF (Forms Data Format). Ce contenu, vous le générez dynamiquement comme le souhaitez, en python par exemple et en récupérant les infos d’une base de données.
Dans cette exemple, on créera un simple formulaire pré-rempli à imprimer, mais vous pouvez également créer un formulaire dynamique, que le client pourra remplir à l’écran directement (comme le declaration des impots sur internet) avec du javascript intégré.
- Préparez votre document PDF avec des champs nommés. Vous pouvez utiliser des textbox, des listbox, des checkbox, radios….
- Dans votre script qui pourra être appelé depuis une page web, créez un document FDF puis utilisez l’excellent freeware pdftk pour ‘merger’ le PDF source et les données. Cet outil vous permettra de nombreuses manipulations de pdf : assemblage, extraction de pages, compression…
- Exemples de fichiers FDF (data.fdf) : http://www.google.com/search?ie=UTF-8&q=filetype%3afdf
- Script python pour générer le PDF avec pdftk :
import os
os.system(”pdftk.exe source.pdf fill_form data.fdf output output.pdf flatten”)je rajoute ‘flatten’ pour supprimer les champs dans le pdf final
- Magie, un PDF pré-rempli est généré
Et voila, avec cette recette, vous pourrez générer de nombreux documents PDF très facilement ![]()
Python SideBar
October 24, 2006 on 2:44 pm | In General, Python, developpement | 1 CommentSi vous developpez en Python, alors vous devez absolument installer cette sidebar pour FireFox !
Elle liste sous forme d’arbre la reference, la librairie, l’api C, les modules et même le tutorial
Et il y a aussi de quoi lancer une recherche sur notre site préféré : python.org
un must-have ! http://www.edgewall.org/python-sidebar/
Trier un tuple ou une liste de dictionnaires via une clé
July 3, 2006 on 12:37 pm | In General, Python | No CommentsEn 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 :
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 !
Python Email Grabber
June 20, 2006 on 2:02 pm | In General, Python | 5 CommentsVoici 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.
# 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 CommentsOn 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
migration mod_python
April 29, 2006 on 3:00 pm | In General, Linux, Python, admin | 7 Commentsmod_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 :
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…
# 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…
Python 2.5 alpha is in da place
April 11, 2006 on 11:28 am | In General, Python, actu informatique | No CommentsLa 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 !
Telecharger des gros gros fichiers sous IIS avec Python
February 25, 2006 on 5:56 pm | In General, Python, web | 2 CommentsEntre 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)
<%
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
Python + Nokia + Guido = Love
February 14, 2006 on 2:54 pm | In Fun, General, Python, actu informatique, geek style | No CommentsGuido 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 CommentsDé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++…
Python sur Nokia : démos
February 1, 2006 on 12:25 am | In General, Python, actu informatique | No CommentsUn Artiste Finlandais a utilisé le SDK Python pour interagir avec des telephones portables Series 60.
La Série 60 (s60) est en fait plateforme logicielle générique pour smartphones optimisé pour les OS Symbian. On peut trouver la série S60 chez différentes marques : Nokia, Panasonic, Siemens, ou encore Lenovo.
Le portage de python sur S60 permet apparemment des instructions de très haut niveau pour communiquer avec toutes les fonctions de l’appareil : Appels, Appareil-Photo, Bluetooth, Carte-mémoire…
Il est donc très facile de créer des applications graphiques en utilisante toutes les capacités du smartphone.
Et excellente nouvelle pour la communauté Python : le PyS60 a été releasé Open Source le 26 Janvier 2006, ce qui va rendre le developpement et la qualité exponentionels.
- Le site qui présente des réalisations étonnantes grà ce à PyS60 : http://www.mobilenin.com/
- Le site sourceforge de PyS60 : http://sourceforge.net/projects/pys60
- Le site S60 pour developpeurs : http://www.s60.com/developers
- Un wiki bien rempli : http://www.postneo.com/postwiki/moin.cgi/PythonForSeries60
Annonce officielle de l’embauche par Google de Guido Van Rossum
January 11, 2006 on 11:45 am | In General, Google, Python, actu informatique | No CommentsAprès mon post exclusif sur comp.lang.python, qui a mis le monde Python en ébullition, Guido Van Rossum, père du fabuleux langage Python fait enfin une annonce officielle sur son blog de son embauche chez Google (3 semaines après quand même)…
Il a l’air très heureux de travailler la bas, et il précise (suite aux polémiques surement) qu’il dediera 50% de son temps à Python lui-même, ce qui est un excellente nouvelle pour l’avenir du langage. Les 50% restants seront dediés à faire du Python…pour Google. “everyone they hire is above average in their domain” : ils embauchent les meilleurs
il confirme : Python is big at Google et it’s being used for everything from build tools to managing ads…
le blog de Guido : http://www.artima.com/weblogs/index.jsp?blogger=guido
Python for Series 60 - UpDate !
January 6, 2006 on 12:41 am | In General, Python, actu informatique, developpement, geek style | No CommentsNouveautés dans la nouvelle version (1.2) du SDK Python pour Nokia !
- Gestion de la camera et de l’APN
- Gestion des contacts et calendriers
- Accès systèmes
- Accès aux fonctions de téléphonie
- Accès aux fonctions dictaphone
- Et bien d’autres…
Que de good news pour nous, petits developpeurs Python : http://www.forum.nokia.com/main/0,,034-821,00.html… Enjoy, Enjoy…
Comment Guido est tombé Dedans
January 6, 2006 on 12:38 am | In General, Python, actu informatique, geek style | No CommentsVous connaissez sûrement Guido Van Rossum, le créateur du fabuleux langage Python ?
Il vient d’être embauché par google, mais c’est pour l’instant passé inaperçu, à ma grande surprise.
Sur O’Reilly, une interview de lui ou il nous explique modestement comment il est tombé dans l’informatique. On apprend qu’a 18 huit ans, il ne savait pas encore ce qu’etait un ordinateur
Comme quoi on apprend vite même à 18 ans !! http://radar.oreilly.com/archives/2005/11/burn_in_5_guido_van_rossum.html.
Dans la même série, on peut retrouver les histoires de nombreuses figures de l’informatique… http://radar.oreilly.com/tag/burnin
Guido van Rossum embauché par google
December 21, 2005 on 11:08 am | In General, Python, actu informatique | 1 CommentOn savait que Google fonctionnait avec beaucoup de Python (cf les librairies Python qu’ils proposent).
Aujourd’hui, j’apprends que Guido van Rossum, le celebre et talentueux créateur du fabuleux langage Python a été embauché par Google !
ca promet pour le développement et l’ouverture du code google
Un bel hommage à son travail (énorme), et une FABULEUSE NOUVELLE !!!
cela confirme encore une fois que Python ROX !
cela a été confirmé de source sûre suite à mon thread sur comp.lang.python.
On peut donc s’attendre a encore d’autres nouveautés chez Google dans le courant de l’année prochaine… et sûrement à un embryon d’OS online 100% AJAX et 100% gratuit… a suivre… de très pres
j’ai eu la chance d’être cité chez Zorgloob : http://www.zorgloob.com/2005/12/le-crateur-de-python-embauch-par.asp
Defroster (relancer) les mails sous XMail
December 7, 2005 on 6:16 pm | In General, Python, admin | No CommentsJ’utilise le serveur de mail Xmail depuis des années car il est simple, efficace, sûr et portable. Si vous cherchez un serveur de mail, je vous le conseille vivement.
Au bout d’un certain nombre d’essais infructeux, les mails sortants sont stockés dans un repertoire spécial (ils sont ‘frozens’).
Avec l’utilitaire Xmail Queue Manager on peut normalement gerer ces mails, le supprimer et les renvoyer, mais il semble que la dernière version (1.46) a un leger bug qui empeche de relancer les mails.
J’ai donc fait un petit script Python qui permet de se connecter au serveur Xmail via Telnet, de voir les mails en attente et d’eventuellement les renvoyer dans la queue.
si ca ne vous suffit pas, vous pouvez facilement modifier le script, qui est à base de Python+telnetlib
J’ai appellé ca XmailFlusher et le code est ci dessous :
nouvelle version le 21/12 : possibilité de tout relancer !
#
# Coded by Juju - jb@revolunet.com - comments welcome
#
import sys,time
import telnetlib
HOST = “MyHost”
PORT = “6017″
LOGIN = “admin”
PWD = “MyPwd”
tn = telnetlib.Telnet(HOST,PORT)
lstMails = []
infosMail = []
def ReSendMail(idmail):
zmail=lstMails[idmail-1].split(“ “)
lev0=zmail[1].replace(‘"’,”)
lev1=zmail[2].replace(‘"’,”)
file=zmail[0].replace(‘"’,”)
cmd=“frozsubmit %s %s %s
“ % (lev0,lev1,file)
#print cmd
tn.write(“%s
“ % cmd)
tn.read_until(“+00000 OK”,1)
#print "ok"
def getListeEmailsEnAttente():
global lstMails,infosMail
infosMail=[]
tn.write(“frozlist
“)
lstMails = tn.read_until(“
.
“,1).split(“
“)
#print lstMails
lstMails = lstMails[3:-2]
#print lstMails
for mail in lstMails:
dta=mail.split(“ “)
if (mail.find(“Bad CTRL command”)>-1):
print “ERREUR…” + mail
break
infosMail.append(“%s : de %s a %s” % (dta[5],dta[3],dta[4]))
print “authentification…”
tn.write(“%s %s
“ % (LOGIN,PWD))
tn.read_until(“+00000″)
print “liste des mails en attente…”
getListeEmailsEnAttente()
while(len(lstMails)>0):
print “%s mail(s) en attente : “ % len(lstMails)
for i in range(len(infosMail)):
print “%s : %s” % ((i+1),infosMail[i])
idmail = (raw_input(“Mail a renvoyer ou ‘0′ ou ‘all’: “))
if idmail==“all”:
for i in range(len(lstMails)):
ReSendMail(i)
getListeEmailsEnAttente()
elif int(idmail)>len(lstMails):
print “pas de mail avec ce numero !”
elif int(idmail)>0:
ReSendMail(int(idmail))
print “mail %s renvoye” % idmail
getListeEmailsEnAttente()
else:
break
print “aucun mail en attente !”
tn.write(“quit
“)
Python sur votre Nokia serie 60
November 22, 2005 on 3:25 pm | In General, Python, geek style | No CommentsVoici un howto complet pour installer et executer du Python sur votre Nokia series 60 (pas 6230 ni 6230i ;( )
je vous vois deja programmer vos télécommandes universelles et outils de bluejacking…
enjoy it here : http://www.onlamp.com/pub/a/python/excerpt/nokia-smartphone-hacks_chap01/index.html
accéder à gmail en Python !
November 7, 2005 on 10:58 pm | In General, Python, softs | No Commentsvoila une lib Python bien sympa pour accéder a ses comptes gmail depuis notre langage favori.
quelques fonctionnalités en vrac :
C’est pythonesque, et ca rox !!
–> et c’est là : libgmail
Python grimoire
November 7, 2005 on 10:54 pm | In General, Python | No CommentsDes petites recettes python, bien utiles pour les problemes de base que l’on peut souvent rencontrer
generer du XUL à partir de Pyhton
November 5, 2005 on 10:28 pm | In Python, XUL | No CommentsNuFox est le premier module Python dont le but est de génerer facilement coté serveur du XUL pour créer vos applis.
Le code peut ressembler à celui utilisé pour génerer du Tkinter mais ca pond du XUL !
c’est un projet tout frais mais qui va évoluer rapidement… a suivre
Python+Mozilla ont un grand avenir devant eux ![]()
Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds.
Valid XHTML and CSS. ^Top^
