Seedfuck : maintenant en Java et en PHP

Il s’est passé beaucoup de choses ce weekend autour de Seedfuck, ce qui n’était qu’un petit proof of concept accessible à quelques nerds est aujourd’hui un petit logiciel utilisable par n’importe qui :

  • En Python (avec une interface web)
  • En Java (avec une interface graphique)
  • En PHP (une nouvelle variante mode web, installable sur n’importe quel hébergement grand public, renommée BTPoison.php car elle est assez différente dans son fonctionnement et moins « trash »)

Deux posts importants :

Retenons trois faits importants :

  • La collecte des preuves par la HADOPI, va couter plus cher que prévu pour une fiabilité plus que douteuse, une position encore confortée par la l’étrange consultation nationale sur le droit à l’oubli numérique qui fait rire jusqu’en Suède ;
  • Seedfuck va subir encore pas mal d’évolutions et il y a un risque de le voir inoculé via des chevaux de Troie sur des machines « zombifiées ».
  • Seedfuck a donc muté de l’état de proof of concept à l’état de menace réelle et sérieuse en 48 heure, preuve de la volonté des internautes de s’opposer à cette mauvaise réponse au faux problème que représente la HADOPI,

Freebre passe à Plone 4

Quand un geek tombe sur un soft en version alpha qu’il flash dessus, il fait forcement un truc dont il va se mordre les doigts plus tard, mais il le fait quand même … Et bien j’ai craqué, j’ai migré freebre.org en Plone 4 aplha3… et ouai … même pas du béta, la version d’en dessous, ça s’appelle un proof of concept. Alors autant vous le dire tout de suite, ne le faite pas, passer en prod une version alpha c’est du suicide, il s’agit d’une version de tests destinée aux développeurs et aux curieux impatients. Cependant je vais vous expliquer pourquoi d’une part le risque est mesuré et pourquoi je suis pas mécontent de cette migration.

Le premier point, c’est que Freebre était plus tout jeune (un Plone 2.1 de 2006). Les implémentations de javascript dans les navigateurs ont pas mal bougés, du coup le wysiwyg, Kupu avait tendance à s’exciter me renvoyant des messages d’erreur, ou à ne rien me renvoyer du tout, mais dans les deux ça commençait à devenir gênant. Kupu avait initialement été développé par Guido Wesdorp pour Silva d’Infrae, et adopté par la communauté Plone pour son efficacité et sa légèreté. Après des années de bons et loyaux services, la communauté a donc décidé de swicher pour TinyMCE, très riche, plutôt agréable qui génère un code assez propre, comme Kupu, c’est à dire bien plus propre qu’un FCKeditor.

Le second point, c’est que j’ai fais la bêtise d’essayer Plone 4 et il m’a relativement convaincu : on lui pardonne a vue des galeries bugguées pour le moment, c’est de l’ordre du détail.On remarque  un petit bon en avant dans les versions de Python puisque l’on passe en version 2.6, et dans Zope qui passe en 2.12. Dés l’installation on se rend compte qu’on ne trouvera pas de révolution dans cette version, c’est plutôt bon signe car ça veut dire que l’on pourra relativement facilement migrer un Plone3 vers un Plone4, les produits d’extension eux aussi devraient trouver une relative compatibilité dans Plone 4. La version fournie est un buildout et le -v vous renseigne sur toutes les versions de softs installées. A l’usage, première impressions confirmée, en dehors de la nouvelle skin, sunburst, on retrouve un Plone 3 sensiblement amélioré mais pas de révolution fonctionnelle ou ergonomique. On notera enfin un petit confort appréciable : une interface pour prédéfinir la taille des vues des images (très utiles pour les intégrateurs qui n’auront pas à aller fouiller dans d’obscurs templates).

Voici quelques screenshots :

splash screen de l'installer
Splash screen de l'installer

Plone 4 création du site
Plone 4 création du site

Types de contenus dans Plone 4
Types de contenus dans Plone 4

Nouvel éditeur WYSIWYG
Nouvel éditeur WYSIWYG
Le control panel
Le control panel

Plone 3.2.2 : l’installation avec Unified Installer

Ce billet est plus un aide mémoire pour moi même qu’autre chose, il vise à expliquer ce que fait l’Unified Installer de Plone et dans un second temps, d’aborder des problématiques de migrations d’instances non basées sur buildout vers des instances « buildoutisées ». Je dois dire que j’ai eu un peu de mal à me défaire des installations depuis les sources, à la mimine, j’aimais bien ça. Avec les nouvelles versions de Plone, ce n’est même plus possible, il est proposé sous forme d' »unified installer » qui compile tout bien comme il faut sans se prendre la tête, finit les galères en mode débug à tracké la librairie oubliée. L’installation et donc vos environnement de production s’affranchissent au plus possible du système pour proposer une sorte d’environnement virtualisé pour votre travail.
Ca part d’une bonne intention et les avantages de ce système sont évidents, soit, mais des fois, quand on a des instances Plone 3.xx pas forcément migrables en 3.2, c’est un peu lourd de trouver un source de produit installable simplement, en le décompressant dans le répertoire /Products de notre Plone.

On commence par récupérer notre installer qui fait le café :

$ wget http://launchpad.net/plone/3.2/3.2.2/+download/Plone-3.2.2-UnifiedInstaller.tgz

On le décompresse

$ tar -xvzf Plone-3.2.2-UnifiedInstaller.tgz

Pour notre exemple , on va faire un installation en mode non root (pas pour un environnement de production multi instances)
Je nomme dans cette exemple mon instance z35000, c’est le port sur lequel je vais la faire écouter.

$ cd Plone-3.2.2-UnifiedInstaller
$ ./install.sh standalone --instance=z35000

Si tout s’est passé correctement vous devez avoir un truc qui ressemble à ceci :

#####################################################################
######################  Installation Complete  ######################

Plone successfully installed at /home/bluetouff/Plone
See /home/bluetouff/Plone/z35000/README.txt
for startup instructions
(...)

Use the account information below to log into the Zope Management Interface
The account has full 'Manager' privileges.

Username: admin
Password: votrepassword

Voici ce que l’on trouve dans notre répertoire d’installation Plone en plus de notre instance:

~/Plone$ ls
buildout-cache  Python-2.4  z35000  Zope-2.10.7-final-py2.4

Et surtout voic ce que nous avons dasn notre instance :
buildout.cfg  fake-eggs  products    src  versions.cfg
bin                develop-eggs  parts      README.txt  var

Et ouai, un Plone « Buildout Ready » ! On va jeter un oeil sur le fichier buildout.cfg
$ emacs buildout.cfg

C’est dans ce fichier que lon configure notre port d’écoute du Zope, dans notre exemple on fait ecouter sur le 35000, on remplace donc la ligne :

http-address = 8080

par

http-address = 35000

On sauvegarde ce petit monde, mais je vous invite à lire ce fichier attentivement, c’est ici que l’on déclare les produits que l’on souhaite installer avant que buildout ne s’occupe du reste.

Une fois sorti, on lance une petite mise à jour de notre buildout qui ira chercher lui même les extensions qu’on lui demande.
On lance donc tout simplement un :

$ bin/buildout -n

Une fois les opérations achevées, on lance notre instance :

$ cd bin/
$ ./instance start

Il est recommandé au premier lancement de lancer l’instance en debug pour voir si tout va bien :

$ ./instance fg

Votre instance est maintenant disponible depuis votre navigateur sur :

http://vous:35000 (remplacez cette valeur au besoin par l’ip de votre machine de travail et le port d’écoute que vous lui avez affecté dans le buildout.cfg, ou 8080 pour celui par défaut).

Pilot Systems organise le Plone World 2009 Day à La Cantine

wpd-2009Pilot Systems organise le Plone World Day 2009 à la Cantine le 22 avril prochain. L’occasion pour nous de voir ce qui se fait sur la planète Plone et des très (trop) nombreuses nouveautés de ces derniers mois. Et oui, Plone change beaucoup en ce moment et cette journée mondiale est pour les professionnels et amateurs éclairés qui utilisent Plone, l’occasion de rencontrer un public pour exposer les orientations, les projets, les innovations de ce système de gestion de contenu professionnel. Toonux participera bien évidemment à cette rencontre aux côtés de Pilot Systems et NPAI et de toutes personnes souhaitant se joindre à nous pour (re)découvrir ce CMS, qui reste à ce jour avec Drupal l’un des rares CMS à usage professionnel.

Au programme cette année : utilisation de Plone en environnement virtualisé avec Xen, Amazon, VMWare, KVM ainsi que Cloud Computing …

L’inscription est vivement recommandée

a.pwal.fr : des urls pratiques et sexy à partager

image-1Toonux est une petite société de services en logiciels libres, mais c’est aussi un petit portail communautaire, et quand des projets nous plaisent, nous sommes ravis de les aider.
Gawel, en plus d’être un ami, est un excellent développeur Python qui s’implique beaucoup dans l’AFPY et qui a son temps libre … fait du Python tard le soir dans les bars. Gawel a codé une petit application super sympathique. C’est un TinyUrlLike social qui en 3 clics vous permet de bookmarker, faire une url sexy avec les mots de votre choix, puis de la partager avec vos amis via Twitter et Facebook pour le moment.

Partagez vos URLs à pwal.fr

Une extension Firefox est également disponible

Zope, Plone, zc.Buildout … installation d’eggs à la sauce Python

python_logo_without_textsvgzc.Buidout est un outil qui est sensé nous faciliter les déploiements, en créant un environnement virtuel, Buildout se charge de vous compiler aux petits oignons toutes des dépendances de l’egg que vous cherchez à installer. Finit les installation et décompressions de tra.gz dans le répertoire Product de votre Plone, voici un mini résumé de la procédure pour installer vos produits :

  • On commence par éditer le buildout.cfg à la racine du buildout, dans la partie « eggs = »
  • On ajoute le nomp de l’egg du produit à ajouter
  • on lance un ./bin/buildout

Voici un exemple avec PloneKeywordManager qui nous donne :

bluetouff@Sailor:/home/zope/hw.buildout$ sudo -u zope ./bin/buildout
Develop: '/home/zope/hw.buildout/src/sd.common'
Develop: '/home/zope/hw.buildout/src/sd.rendering'
Develop: '/home/zope/hw.buildout/src/sd.contents'
Develop: '/home/zope/hw.buildout/src/sd.imaging'
Develop: '/home/zope/hw.buildout/src/sd.app'
Develop: '/home/zope/hw.buildout/src/hw.skin'
Develop: '/home/zope/hw.buildout/src/five.grok'
Develop: '/home/zope/hw.buildout/src/grokcore.viewlet'
Develop: '/home/zope/hw.buildout/src/vaporisation'
Download error: (104, 'Connection reset by peer') -- Some packages may not be found!
Uninstalling zopepy.
Uninstalling instance.
Updating plone.
Updating linguaplone.
Updating zope2.
Updating fake eggs
Updating productdistros.
Installing instance.
Getting distribution for 'Products.PloneKeywordManager'.
Got Products.PloneKeywordManager 1.6b2.
Generated script '/home/zope/hw.buildout/bin/instance'.
Installing zopepy.
Generated interpreter '/home/zope/hw.buildout/bin/zopepy'.

Il ne nous reste qu’à redémarrer l’instance :

bluetouff@Sailor:/home/zope/hw.buildout$ sudo -u zope ./bin/instance restart

La doc incontournable se trouve ici.

Sécurité : transformer un iPhone en redoutable outil d’audit et de pénétration avec Metasploit 3

iphone hackers runs metasploitLe framework d’attaque Metasploit s’était déjà introduit dans les routeurs linksys wrt54 via Fairuza, un firmware maison qui embarquait un arsenal à faire passer Kevin Meatnik pour un gamer. Nous avons également installé metasploit sur un prototype de Fonera puisque nous bénéficions d’un chipset atheros, très compatible avec aircrack, puisqu’idéal pour réaliser de l’injection 🙂

Avec la récente arrivée d’aircrack à l’arsenal de l’iPhone, il fallait bien se douter que ce terminal deviendrait de fait un outil de prédilection pour une communauté de plus 🙂

Metasploit est un outil à ne pas mettre dans toutes les mains, se nourrissant des derniers 0day exploits, il est capable de générer des payloads et d’automatiser des attaques sur des ranges ip entiers… en outre, il offre une plateforme de développement hallucinante pour les auditeurs et experts en sécurité (il dispose par exemple en stadard d’une interprèteur Ruby et d’un interpréteur Python).

Pour en savoir plus sur l’installation de Metasploit 3 sur un iPhone.

Un apéro Plone fort convivial avec la Quadrature du Net, l’April et Eben Moglen

Je suis arrivé un peu à la bourre hier à la Cantine pour un apéro Plone assez exceptionnel. Aux manettes Alexandre Garel (Pilot Systems), qui nous parlait des conforts qu’apporte Plone pour les développeurs (versionning, workingcopy, ZMI de Zope, niveau d’utilisabilité en fonction des compétences et des rôles…python bien évidemment mais aussi KSS, XMLRPC, Plone Sofware Center …).

Bonne surprise dans l’assistance, Frédéric Couchet, secrétaire Général de l’APRIL, qui (re)découvrait Plone via la petite présentation d’Alex. Frédéric nous a même rappelé que le site de Free Software Foundation était réalisé avec Plone :).

Des petits ratés dans la présentation qui ne font que confirmer ce que je pense de Plone 3 pour le moment : pas encore assez stable et surtout certaines régression duues à l’intégration de certains produits dans le core comme le Link Integrity Checker. Gageons que tout ceci ne sera plus qu’un mauvais souvenir à l’arrivée dans quelques semaines de Plone 3.2 et que nous pourrons profiter en conditions optimales de tous ces conforts apportés par Plone, un système de gestion de contenu à vocation professionnelle.

Juste après l’Apero Plone, c’était Ze event : un talk d’Eben Moglen, petite voie douce et discours toujours aussi profonds de la part du juriste qui fut la main de Richard Stallman pour l’écriture de licences que nous chérissons. Eben Moglen répondait à l’invitation de la Quadrature du Net et de l’April à l’occasion des rencontres sur les forges logicielles qui se tenaient à la Cantine.

Eben Moglen est en outre un amateur avertis de Plone, projet qu’il suit et supporte 🙂 … rien que ça !

100 000 comptes Google AppEngine sont disponibles !

Google AppEngine est un nouveau webservice Google à destination des développeurs souhaitant créer leurs application en ligne en se basant sur un framework web. sous le capot c’est carrément allèchant puisque Google AppEngine utilise sur Django un framework en python que nous sommes de plus en plus nombreux à affectionner.

C’est très discrètement et sans faire de pub que Google a lancé 100 000 comptes Google AppEngine pour les plus impatients d’entre vous !

Attention, 100 000 comptes c’est pas beaucoup à l’échelle de Google, alors si vous avez envie de tester ce nouveau service : ruez vous dessus !

C’est PAR ICI

Pilot Systems propose Plone 3.1 sur Objectis, la plate-forme d’hébergement gratuit

Excellente nouvelle ce matin ! Pilot Systems propose Plone 3.1 sur Objectis, la plate-forme d’hébergement gratuit. Plone est un système de gestion de contenu (CMS) professionnel. Objectis est la plus vaste plateforme d’hébergement Zope / Plone et a l’immense avantage de proposer un hosting gratuit (il faut savoir que proposer de l’hébergement Zope requiert beaucoup de ressources matérielles et surtout de sérieuses compténces techniques pour administrer tout ce petit monde. Dans ces conditions vous vous doutez que les places sont malheureusement limitées, il faudra donc faire une demande sur le site d’Objectis pour expliquer votre démarche, vous obtiendrez alors un code de validation pour un ou plusieurs Plone en fonction de votre projet … elle est pas belle la vie 🙂

On ne peut donc que saluer l’initiative de Pilot Systems qui propose une fois de plus le « cutting edge » au développeurs ou aux simples curieux désireux de tater ce qui se fait de mieux en terme de gestion de contenu actuellement : Plone 3.1.