Connexion
Ces billets correspondent à un filtre sur: logiciel

Firefox 3 and protocol handlers - Part 2 - ExtApp

Le précédent article s'était arrêté à présenter l'application Web de principe du gestionnaire de protocoles de Firefox 3. L'article que vous êtes en train de lire va lui s'attacher à vous permettre d'utiliser une application externe pour un protocole donné.

Un exemple d'application externe

Je vais présenter ici un petit exemple d'application en Python qui permet d'écrire dans un fichier journal (ou 'log') le contenu de la valeur passée via l'appel du protocole. Dans cet exemple le protocole utilisée est "mycall" (l'idée est de simuler la création d'un softphone appelé par une interface de click-to-call).

    #!/usr/bin/python
#-*- coding: utf-8 -*-

# On importe deux bibliothèques utiles pour la suite
import sys
from datetime import datetime

# On met la date dans une variable pour tracer les résultats
date = datetime.now()

# Ici ça se complique un peu. Comme le gestionnaire de protocole
# de firefox donne en argument l'ensemble de la chaine 'href',
# nous allons enlever la chaine 'mycall:' pour ne conserver que
# la valeur décimale de cette chaine
arg = sys.argv[1][7:]

# On ouvre en écriture le fichier journal
# ('a' pour écrire à la suite)
filout = open('/path/to/log/file/calltest.log','a')

# On écrit la valeur envoyée précédée de la date
filout.write('%d/%d/%d %d:%d - Voici l\'argument donné : ' % (date.day, 
                                                              date.month,
                                                              date.year,
                                                              date.hour,
                                                              date.minute))
filout.write(arg + '\n')

# On ferme le fichier
filout.close()

On donne les droits d'exécution à ce script :

    chmod +x /path/to/ext/app/call.py

L'application web

Il est maintenant temps de créer l'interface web de 'click-to-call' sur laquelle figurera le lien vers le protocole 'mycall'. Pour ceux qui ont lu l'article précédent, vous remarquerez que c'est encore plus simple.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
  <title>Web Protocol Handler Sample - Register</title>
</head>
<body>
  <h1>External protocol handler sample</h1>
  <p>This web page will install an external protocol handler for the <code>mycall:</code> protocol.</p>

  <p>Hey have you seen <a href="mycall:874781">this</a> before?</p>
</body>
</html>

Configurer firefox

Si l'interface web est encore plus simple, il faut toutefois configurer un peu Mozilla Firefox.

About:config

Pour accéder au registre de configuration de Firefox, il faut entrer l'adresse suivante dans la barre d'adresse.

    about:config
  • Ensuite, il faut créer une 'nouvelle' 'valeur booléenne' (via un click droit) qui portera le nom suivant: "network.protocol-handler.expose.mycall" et mettre la valeur à "true". Cette valeur permettra d'autoriser l'utilisation de ce nouveau protocole.
  • Un second couple nom + valeur est à créer afin de pouvoir éviter un avertissement lors de l'utilisation d'une application externe: "network.protocol-handler.warn-external.mycall" qui prendra la valeur "false".

1er essai

Si vous êtes sur un système qui supporte Bash (Linux, Mac OS, BSD...), vous pouvez lancer un 'tail -f' sur le fichier journal afin d'en suivre l'évolution. Cela nécessite tout de même que le fichier existe avant. Si ce n'est pas le cas, il suffit de le créer avec :

    touch /path/to/log/file/calltest.log

On lance la surveillance du fichier :

    tail -f /path/to/log/file/calltest.log

On charge la page HTML qui contient le lien 'href' et on suit le lien. Une fenêtre s'affiche alors, vous permettant de choisir l'application à utiliser. Il suffit de choisir celle que vous avez créé plus haut et de cocher (si vous le souhaitez) 'se souvenir' afin de ne plus avoir à le faire ensuite.

À chaque clic, vous ajoutez normalement une ligne dans le fichier journal avec la valeur passée suite à 'mycall:'. À vous d'être imaginatif pour utiliser cette astuce au mieux.

Commentaires: 0 | Buzz it!

Firefox 3 and protocol handlers - Part 1 - WebApp

J'initie ici un nouveau couple (ou plus on verra) d'articles concernant la gestion des 'protocol-handlers' avec firefox 3. La première partie présentera cette fonctionnalité ainsi que son application au sein d'une application web. La seconde, conduira à la création d'un petit logiciel externe en python qui utilisera les mêmes astuces pour par exemple proposer à l'utilisateur d'appeler avec son softphone depuis une interface web.

Présentation des protocol handlers

Deux exemples valent mieux qu'une longue explication...

Les liens mail

Il est assez courant sur le web de croiser des sites qui proposent des liens pour envoyer un email au webmaster ou à n'importe quelle autre personne. Ces liens si vous regardez le code source de la page sont de type :

mailto:mabelle.adresse@mail.com

Si vous cliquez sur un de ces liens, normalement, votre logiciel de mail favori va s'ouvrir et vous proposer de rédiger un mail pour la personne indiquée (dont le nom est automatiquement placé dans le champ "à :". Vous avez ici une application des protocol handlers.

Les liens apt:// d'Ubuntu

La documentation d'Ubuntu propose de nombreux liens de la forme suivante :

	apt://un-logiciel

Les utilisateurs de cette distribution (comme moi) savent que ce type de lien permet d'installer des paquets (librairies ou logiciels) via un simple clic. Une fois le lien cliqué, une application de votre ordinateur recherche l'application dans les dépôts disponible et l'installe si il est disponible. Vous l'aurez compris par vous même, c'est une autre application de l'utilisation des protocol handlers.

Utiliser une application web

L'exemple suivant vise à proposer au sein d'une page web A un lien de type :

	test:CeciEstUnTest

Ce lien redirigera l'utilisateur sur une page B qui utilisera la valeur donnée.

Cet exemple ne vous parle peut être pas trop, mais vous pouvez très bien imaginer qu'il s'agit de liens mail qui pointent vers une application web de lecture/écriture de mail.

Firefox propose depuis sa version 3 une fonction de l'objet "navigator" qui permet à une application web d'enregistrer son propre gestionnaire de protocole :

	window.navigator.registerProtocolHandler(protocole, uri, titre);
  • protocole : chaine de caractère pour le protocole à gérer (ex: test)
  • uri : chaine de caractère représentant l'URL à appeler au clic. %s peut être utiliser pour passer la valeur en paramètre de cette url. (ex: http://monexemple.com/application?value=%s)
  • titre : Titre du gestionnaire (indication utilisateur). (ex: Mon gestionnaire de Test)

Limitations

  • Un gestionnaire de protocole ne peut être enregistré que pour le même domaine que l'application qui l'enregistre. Ceci afin d'éviter les problème de sécurité ou de cross scripting.
  • La valeur transmise à l'aide de '%s' est l'ensemble du contenu de l'attribut 'href' de la balise 'a'. Il faut donc que le gestionnaire de protocole fasse le tri dans cette valeur afin d'utiliser la valeur qui suis le protocole.

Enregistrer un nouveau gestionnaire de protocole

Voici un exemple concert que vous pouvez essayer chez vous :

	<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Protocol Handler - test:</title>
    <script type="text/javascript">
    	navigator.registerProtocolHandler("test", 
                                                              "http://monexemple.com/application.php?value=%s",
                                                              "Mon gestionnaire de Test");
  </script>
</head>
<body>
	<h1>Protocol Handler - test:</h1>
  	<p>Dans la partie 'script', cette page va enregistrer un nouveau gestionnaire de code pour les liens en 
<code>test:</code>.</p>
  	<p>Il sera ensuite possible d'utiliser ce lien : <a href="test:Pouf pastèque">Lien exemple</a>.</p>
</body>
</html>

Un gestionnaire très simplifié

Il ne reste plus qu'à créer un handler associé (ici en php pour simplifier) qui utilisera la valeur passée en paramètre :

	<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Protocol Handler - test: - Handler</title>
</head>
<body>
	<h1>Protocol Handler - test: - Handler</h1>
	<h1>Cette page est affichée lorsque vous utilisez un lien de type : <pre>test:</pre></h1>
  	<blockquote>
  		<pre><?php if ( isset ( $_GET["value"] ) ) {
                       echo(urldecode($_GET["value"]));
                   } else {
                   	   echo("nothing");
                   }
             ?></pre>
  	</blockquote>
</body>
</html>

Des liens qui peuvent être utiles

Commentaires: 0 | Buzz it!

Mise en place d'un miroir Apt - Part 2 - Installation

Ce billet fait suite à celui-ci: Mise en place d'un miroir Apt - Part 1 - Contexte

"Bon super il a installé un mirroir pour ses serveurs et desktop et tout ça planqué derrière sa connexion ADSL. Pas super pratique pour les autres..." Mais c'est maintenant que ça devient intéressant ;-) : Comment installer son propre mirroir pour APT !

Premier point, ce n'est ni long (à configurer) ni compliqué. L'étape la plus longue étant la première synchronisation avec les dépôts externes selon leur taille. Mais pendant ce temps vous pourrez être loin de votre PC.

1. Installation d'apt-mirror

Rien de plus simple

	sudo apt-get install apt-mirror

2. Configuration d'apt-mirror

Tout se passe dans "/etc/apt/mirror.list"

############# config ################## # set base_path /path/to/apt/data set mirror_path $base_path/mirror set skel_path $base_path/skel set var_path $base_path/var set cleanscript $var_path/clean.sh set defaultarch i386 set nthreads 2 set _tilde 0 # ############# end config ############## #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# ## Debian SQUEEZE alias TESTING - not used - #deb http://ftp.fr.debian.org/debian testing main contrib non-free ## Debian SID alias UNSTABLE deb http://ftp.fr.debian.org/debian sid main contrib non-free ## Debian LENNY current STABLE deb http://ftp.fr.debian.org/debian stable main contrib non-free ## Debian Security deb http://security.debian.org lenny/updates main contrib non-free #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# ## Debian SQUEEZE alias TESTING - not used - #deb-src http://ftp.fr.debian.org/debian testing main contrib non-free ## Debian SID alias UNSTABLE #deb-src http://ftp.fr.debian.org/debian sid main contrib non-free ## Debian LENNY current STABLE #deb-src http://ftp.fr.debian.org/debian stable main contrib non-free ## Debian Security #deb-src http://security.debian.org lenny/updates main contrib non-free #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# ## Last stable Ubuntu main, security and updates deb http://fr.archive.ubuntu.com/ubuntu intrepid main deb http://fr.archive.ubuntu.com/ubuntu intrepid-security main deb http://fr.archive.ubuntu.com/ubuntu intrepid-updates main #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# ## Cleaning data clean http://security.debian.org/ clean http://ftp.fr.debian.org/ clean http://fr.archive.ubuntu.com/ubuntu

3. Lancement de la synchronisation

Créer le dossier pour les données si ce n'est pas déjà fait :

	sudo mkdir -p /path/to/apt/data

Et lancer la synchro :

	sudo apt-mirror

4. Configuration d'apache2

Cette partie est à adapter selon vos besoins et la configuration apache2 existante. Mais si vous êtes arrivé là, vous savez ce que vous faites non? Donc dans le fichier de configuration d'apache2 ajouter :

Alias /apt-debian-security /path/to/apt/data/mirror/security.debian.org <Directory /path/to/apt/data/mirror/security.debian.org> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> Alias /apt-debian-fr /path/to/apt/data/mirror/ftp.fr.debian.org/debian <Directory /path/to/apt/data/mirror/ftp.fr.debian.org/debian> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> Alias /apt-ubuntu-fr /path/to/apt/data/mirror/fr.archive.ubuntu.com/ubuntu <Directory /path/to/apt/data/mirror/fr.archive.ubuntu.com/ubuntu> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory>

Et recharger la configuration d'apache2 :

	sudo /etc/init.d/apache2 force-reload

5. Configuration des postes clients

Selon la distribution, il faut prendre ce qui vous intéresse dans ce qui suit et l'ajouter à "/etc/apt/sources.list" :

Pour Debian Lenny (stable) :
		deb http://host.domain.tld/apt-debian-fr lenny main contrib non-free
		deb http://host.domain.tld/apt-debian-security lenny/updates main contrib non-free
Pour Debian Sid (unstable) :
		deb http://host.domain.tld/apt-debian-fr sid main contrib non-free
		deb http://host.domain.tld/apt-debian-security lenny/updates main contrib non-free
Pour Ubuntu (dernière version stable) :
		deb http://host.domain.tld/apt-ubuntu-fr intrepid main
		deb http://host.domain.tld/apt-ubuntu-fr intrepid-security main
		deb http://host.domain.tld/apt-ubuntu-fr intrepid-updates main

Et enfin de faire une petite mise à jour de la liste des paquets disponibles :

    sudo apt-get update

Commentaires: 0 | Buzz it!

Mise en place d'un miroir Apt - Part 1 - Contexte

Si vous possédez un parc de matériel informatique conséquent avec de nombreuses machines utilisant Debian ou Ubuntu comme système d'exploitation, il peut devenir intéressant d'installer un miroir sur un serveur du réseau. Ainsi, les clients pourront réaliser leurs mises à jour depuis ce serveurs et ne plus utiliser la bande passante vers l'extérieur en journée. En mettant à jour le serveur la nuit, il y a moins de chance de gêner quelqu'un et l'action bien que couteuse en débit, est ainsi mutualisée. 1 paquet à mettre à jour sur 50 machines = 1 téléchargement depuis les miroirs extérieurs + 50 mises à jours plus rapides sur le réseau local.

Pour ma part j'ai opté pour un miroir qui hébergera à terme:
Pour Debian :

  • Les paquets main, contrib et non-free de Debian Sid (version 'unstable')
  • Les paquets main, contrib et non-free de Debian Lenny (version 'stable')
  • Les paquets 'security.debian.org' pour Lenny

Pour Ubuntu :

  • Les paquets main, security et updates pour la dernière version stable d'Ubuntu (LTS ou pas)
  • Les paquets nécessaire à l'utilisation d'une NetInstall de la dernière version stable d'Ubuntu (LTS ou pas)

L'ensemble va consommer de l'espace disque (à vue de nez, plus de 100Go...), mais à terme, chaque installation d'un paquet depuis ces miroirs sera grandement accélérée.

Si vous souhaitez utiliser ces miroirs, c'est bien sur possible et même depuis l'extérieur puisqu'il sont hébergés sur Obelix (il faut toutefois être réaliste, le débit ne sera pas celui d'un miroir plus conventionnel...). Pour ce faire, il suffit d'ajouter au choix les dépôts suivants à votre "/etc/apt/sources.list" :

Pour Debian Lenny (stable) :
		deb http://obelix.rivallain.fr/apt-debian-fr lenny main contrib non-free
		deb http://obelix.rivallain.fr/apt-debian-security lenny/updates main contrib non-free
Pour Debian Sid (unstable) :
		deb http://obelix.rivallain.fr/apt-debian-fr sid main contrib non-free
		deb http://obelix.rivallain.fr/apt-debian-security lenny/updates main contrib non-free
Pour Ubuntu (dernière version stable) :
		deb http://obelix.rivallain.fr/apt-ubuntu-fr intrepid main
		deb http://obelix.rivallain.fr/apt-ubuntu-fr intrepid-security main
		deb http://obelix.rivallain.fr/apt-ubuntu-fr intrepid-updates main

Et enfin de faire une petite mise à jour de la liste des paquets disponibles :

		sudo apt-get update

Les connaisseurs remarqueront que je ne propose pas les dépôts de sources (deb-src). En effet, pour la très grande majorité des installations de paquets, l'utilisateur se dispense des sources. Il reste possible de les récupérer en renseignant dans le sources.list des miroirs externes qui eux, les proposent.

Commentaires: 0 | Buzz it!

Jyraphe, upload your files

Hello,

Nouvel onglet dans l'interface de ce blog: Upload. Vous pouvez avec cette nouvelle fonctionnalité, partager des fichiers, dans la limite de 10Mo, avec quiconque.

Le tout est basé sur le logiciel Jyraphe qui est de configuration très aisée. Un peu customisé, il devient une très bonne interface qui permet un rapide partage de fichier quelque soit votre environnement à la seule condition d'avoir accès à internet.

Utiliser le/la intelligemment ;-)

Commentaires: 0 | Buzz it!

N'oublie pas le lait !

Quand on est homme d'affaire débordé comme moi (ok, une partie de cette affirmation est à prendre avec humour), l'organisation est une chose essentielle pour réussir les différents projets avancent en parallèle.

Cette organisation peut revêtir de nombreuses formes (complémentaires ou optionnelles, c'est selon les besoins de chacun):

  • Avoir un bon agenda électronique qui vous suit partout
  • Avoir accès à ses mails de façon régulière
  • Avoir une secrétaire
  • Avoir des outils efficaces pour travailler
  • Et... avoir un bon organiseur de tâches.
Copie d'écran de RememberTheMilk

Un bon outil pour moi c'est un outil:

  • accessible par plusieurs moyens: Web, application desktop (Windows au travail, Linux à la maison)
  • simple d'utilisation (ergonomie) mais avec des fonctionnalités relativement poussées
  • dont l'accès aux données est utilisable à travers une API (pour pouvoir réaliser divers clients personnalisés)
  • gratuit (obligatoire)
  • libre (de préférence...)

Et dans le cas d'un gestionnaire de tâches efficace, j'ai trouvé RememberTheMilk qui satisfait presque (car le service n'est pas open source) les conditions précédentes.

RTM est un service web de gestion de tâche, développé par une joyeuse équipe basée en Australie, mais dont les développeurs sont répartis aux quatre coins du globe (miracle du télétravail).

Pour le moment il manque une interface Windows potable, mais grâce à l'API proposée pour le service, on ne devrait pas trop attendre avant d'en voir une correcte naitre. Pour Gnome, j'utilise Tasque qui malgré quelques défauts, se défend pas trop mal et m'aide à organiser mon travail et mes actions de façon plutôt convenable.

Commentaires: 0 | Buzz it!

Debian GNU/Linux 5.0 is out!

Debian Lenny banner

C'est le jour de la Saint Valentin que l'équipe de développement de Debian a annoncé la sortie de la nouvelle version stable de la distribution. Lenny, comme sont nommées les jumelles du film Toy Story, est donc la version 5.0 d'un système d'exploitation dont les principales qualités sont: la liberté, la stabilité, la sécurité et la portabilité puisque une douzaine d'architecture matérielles sont supportées.

L'arrivée d'une nouvelle version stable de Debian est toujours un grand moment de la communauté GNU/Linux et pour les personnes qui l'utilise, c'est l'occasion de mettre à jour les logiciels les plus courants. En effet, la contrainte de stabilité que se donne l'équipe de maintenance du projet empêche les mises à jour des logiciels en dehors de la correction des problèmes de sécurité.

Debian est une distribution très appréciée par les professionnels de l'informatique notamment pour le fonctionnement de serveurs ou de station de travail dans des environnement d'entreprise.

D'ailleurs, la journée a été mise à profit pour faire la mise à jour sur mes environnements de production ;-)

Commentaires: 0 | Buzz it!

Python et les noms d'éléments

Je me pose sans cesse la question en codant en python (oui je débute) de savoir comment nommer mes variables, mes fonctions et mes classes... Le but étant bien sur que ce soit accepté par le langage, couramment usité par les (vrais) développeurs python, et qu'il y ai une régularité et une cohérence d'un programme à l'autre, d'un fichier à un autre etc...

D'après "Style Guide for Python Code" voici les règles à utiliser:

  • variables: minuscules  (séparation des mots pas un underscore "_")
  • fonctions: minuscules  (séparation des mots pas un underscore "_")
  • classes: commencer par une majuscule et poursuivre en minuscules (séparation des mots par une majuscules, à la camel)
N'hésitez pas à me le dire si je fais fausse route.

Commentaires: 0 | Buzz it!

Django 1.0 released!

J'ai un peu trainé (mais pour de bonnes raisons que vous verrez ensuite) à annoncer la sortie de la nouvelle version stable de Django.

Django est un framework web en python sur la base du modèle MVC (pour Modèle-Vue-Contrôleur). L'objectif de ce projet est de permettre la création rapide d'applications web tout en permettant d'obtenir de très bons résultats au niveau des performances et de la qualité du code. Bien sur c'est un framework libre (pourquoi vous en parlerais-je sinon?) qui est distribué sous licence BSD.

La version 1.0 a été annoncée le 4 septembre 2008 avec un seul petit jour de retour sur la "roadmap" annoncée. Elle embarque beaucoup de nouveautés vis à vis des versions précédentes parmit lesquelles on peut citer:

  • Support complet de l'unicode: Point noir de python lors de développement d'application web, l'unicode a été une des priorités du développement de cette version majeure.
  • Commandes personnalisées, pour une meilleure adaptabilité du code aux besoins de chaque développement d'application.
  • L'intégration de GéoDjango, une contribution qui permet d'utiliser facilement des outils de localisation géographique pour par exemple faire des calculs de distance entre deux utilisateurs ou deux objets précédemment localisés.
  • Amélioration des fonctions d'upload et de stockage de fichier. De nouveaux modes de stockages voient le jour et lors d'un upload, il est dans certains cas possible de visualiser une partie du fichier.
  • Nouvelle interface d'administration. Coder une application c'est bien, intéressant, passionant même certaines fois, mais lorsqu'il s'agit de coder la partie administration, l'entrain s'enfuie à toutes jambes... Avec Django, en deux clics, et quelques paramétrages vous obtenez une interface permettant, l'ajout/retrait de données dans vos modèles de donnée, ainsi qu'un système d'authentification fiable. Que demander de mieux dans la majorité des cas?
Bien sur, le code a aussi été revu, ainsi que la génération de documentation à partir des commentaires et bien d'autres petites ou moyennes choses. La liste complête des changements peut être trouvée ici.

Bon et "en quoi ça nous concerne tout ça?" pensez vous... Et bien, bientôt, vous consulterez ce blog, les galeries photographiques, les projets de programation sur un nouveau site web basé sur Django. Bien sur, il n'y aura pas que du Django puisque je compte y méler un peu de Dojo pour le coté Web 2.0 qui fait fureur en ce moment sur la toile. En réalité ce n'est pas tant pour suivre la tendance actuelle du Web 2.0 que pour essayer de proposer une manière de naviguer sur le site de façon agréable pour chacun.

Actuellement, je n'ai commencé que la partie fonctionnalités principales du 'blog'. Il me reste sur cette partie à proposer des flux RSS et Atom filtrés par tag ou catégorie ainsi que des possibilités de commenter les billets. Ensuite, je migrerais la gallerie photo actuelle (qui souffre d'une trop grande complexité à maintenir) vers un système plus automatisés où les dossiers sur le serveur correspondront aux albums.

@ bientôt donc pour des nouvelles de Django et de ce projet en cours de réalistation.

Commentaires: 0 | Buzz it!

Premiers pas sous Django

Il faut se rendre à l'évidence, coder une application complexe de nos jours est grandement facilité par l'utilisation de frameworks spécialisés dans un langage de programmation. Avec un bon framework et quelques connaissances dans le développement sur cette base, le travail se focalise sur l'apport de fonctionnalités plutôt que sur des algorythmes laborieux maintes fois utilisés par d'autres développeurs. En gros on évite ainsi de réinventer la roue et on se concentre sur des choses plus importantes.

MyAsterisk est une application plutôt complexe dans son ensemble (multiples scripts, interface web agissant sur ces scripts, accès à une base de donnée...), et comme l'interface web elle même, reste relativement simple (c'est d'ailleurs un des objectifs du projet), je m'intéresse depuis quelques jours à convertir le travail effectué sur un framework Python. Python est un langage qui m'attire depuis de nombreux mois et je n'avais pas eu l'occasion de me lancer dans un projet à l'aide de celui-ci. Voilà donc une opportunité, et pour ce, je potasse entre autre un cours écrit par Gérard Swinnen. C'est d'ailleurs un document (libre) que je conseille à tous les francophones qui voudraient débuter sur Python.

Bon c'est bien tout ça, mais si le langage de programation est choisi, ce n'est pas un "framework"... Et bien, dece coté, ce sera Django. Django est un framework web basé sur Python qui est utilisé sur de nombreux sites très visités, ce qui constitue une garantie non négligeable sur la qualité et la stabilité du logiciel. La communauté francophone est aussi très active et favorise mon intérêt pour ce framework (il est en effet plus agréable de débuter avec une documentation francophone et d'avoir des interlocuteurs francophones lorsqu'on bloque sur des questions de base).

Les débuts sont laborieux et mon premier test (qui se limitait à suivre les instructions d'un tutoriel pour créer une application de sondage) m'a pris beaucoup de temps pour un résultat plutôt mitigé. À moi maintenant d'utiliser ce point de départ et de le faire progresser pour mieux comprendre un système complexe qui n'a pas grand chose à voir avec la programmation web classique.

Bon je parle trop, maintenant, il y a du travail...

Commentaires: 0 | Buzz it!

Lancement de firefox 3

Non, ce billet ne vient pas vous annoncer à la bourre le lancement de firefox 3 ;-), mais plutôt faire un petit bilan de ce lancement.
Non seulement le record (download day) tant attendu du nombre de téléchargements du navigateur sur 24h a atteint l'objectif avec plus de 8.3 millions de téléchargements (en cours de vérification par le Guinness), mais en plus l'activité générée par firefox 3 a décollée en quelques jours.
En effet, une étude Xiti, montre qu'après quelques jours, la part de visite des sites web suivis par cet outil, à l'aide du nouveau navigateur de la MoFo représente déjà 9.3% du total. FF3 représente déjà plus d'un quart des visites de site web à l'aide de mozilla firefox et grace à lui la part de visite globale des navigateurs firefox atteint 34.3%. Ce dernier chiffre ayant eu une accélération de sa croissance significative à partir de l'annonce de la sortie officielle.
De quoi réjouir beaucoup d'acteur du logiciel libre, et réfléchir d'autres acteurs dont la mise sur le marché de leur logiciel n'atteint pas les objectifs et s'avère même laborieuse.
(source: http://www.xitimonitor.com/fr-FR/index-1-1-3-133.html?xtor=AL-16)
NdR: les chiffres représentent les statistiques du dimanche 22 juin soit 5 jours après la sortie de mozilla firefox 3.

Commentaires: 0 | Buzz it!

myAsterisk

Introduction

C'est bête mais je me rends compte que je parle assez peu des projets sur lesquels je travaille... Alors je me rattrape et vous présente celui qui devrait me prendre encore quelques mois, j'ai nommé: myAsterisk.

MyAsterisk est une interface php qui permet(+tra) de configurer un compte utilisateur du logiciel déjà bien connu Asterisk.

MyAsterisk en résumé

Je suis parti du constat que si il existait plusieurs interfaces dédiées à l'administration du PABX libre (libres et propriétaires), les utilisateurs ne bénéficaient pas des mêmes facilités pour administrer leur compte. MyAsterisk se veut une réponse au moins partielle à ce manque.

Accessible par une interface web, l'application est volontairement simple et les actions peuvent être réalisées facilement. Les fonctionnalités de cette interface sont souvent aussi accessibles par des numéros abbrégés depuis le combiné mais de façon moins intuitive. Il devient ainsi possible de configurer un renvoi d'appel sur un ou plusieurs postes, d'activer le non dérangement, de changer l'adresse mail sur laquelle sont envoyés les messages vocaux, de changer son mot de passe ou de programmer un réveil. Ainsi, une personne qui possède un compte interne mais qui se trouve à l'extérieur du site, peut facilement depuis l'interface web revoyer tous ses appeles vers un téléphones portable par exemple.

Etat du projet

Actuellement, une maquette a été réalisée. Elle reproduit les principales fonctionnalités de services, mais n'est pas interfacée avec la base d'utilisateur du PABX. Ce lien est la prochaine étape du projet mais une instabilité du PABX a ralenti le développement en même temps que d'autres occupations dans mon emploi du temps. Quand il sera réalisé, je me pencherais sur le nettoyage du code, la définition de méthodes d'ajout de fonctionnalités avant d'ajouter les derniers services. Bref, si le projet a bien avancé au début du printemps, l'allure s'est considérablement réduite et mon objectif est à présent de proposer une version beta pour la fin de l'année 2008.

Et vous là dedans?

Toutes les contributions sont les bienvenues. Actuellement, j'ai quelques contraintes matérielles puisqu'il me manque un pc pour faire un client SIP + Vidéo + Instant Messaging. Mais je suis aussi à la recherche de développeurs php motivés et de personnes qui connaissent bien le PBX Asterisk. De même, lorsqu'une version correcte sera sortie je chercherais des testeurs motivés par l'idée d'utiliser l'interface sur un réseau d'essai ou d'utiliser MyAsterisk au sein de leur PABX.

Liens

Commentaires: 0 | Buzz it!

Big buck Bunny

Big buck Bunny est un court métrage d'animation, réalisé par le projet "peach" (pêche) à l'aide de logiciels libres (en l'occurence: The Gimp, Blender et Ubuntu).

En ce 30 mai, le film a été dévoilé au grand public. Ne vous privez pas de le diffuser puisqu'il est 'libre'.

Voici une version flash du film:


Big Buck Bunny from Blender Foundation on Vimeo.

Et le lien pour le télécharger en HD: http://www.bigbuckbunny.org/index.php/download/

Commentaires: 0 | Buzz it!

Internet libre, ou Minitel 2.0 ?

Je profite de quelques minutes de libre pour proposer cette présentation de Benjamin Bayart, tenue aux 8èmes rencontres mondiales du logiciel libre (Amiens).

Internet libre, ou Minitel 2.0 ?



Vendredi 13/07 - 14:00
Durée : 45 minutes
Intervenants : Benjamin Bayart
Lang. :

Internet vient du libre, comme le libre vient d’Internet. Cependant l’évolution récente du réseau, essentiellement financière et commerciale, le fait dériver vers d’autres modèles sociaux et économiques.

Comment décrypter cette évolution, son origine, ses conséquences ? Comment agir pour rectifier le tir ?

Intervenant : Benjamin Bayart, président de FDN, vice-président des RMLL.

Date : Vendredi 13 juillet 2007 de 14 h à 14 h 45

Les slides de cette conférence :

PDF - 648.9 ko

Voir aussi la conférence sur le site de FDN


Commentaires: 0 | Buzz it!

GNOME 2.20 : Toujours plus fort !

Posté par Étienne Bersac (page perso, . Modéré le jeudi 20 septembre à 11:00. Comme prévu, la version stable 2.20 de GNOME est sortie aujourd'hui. GNOME est avec KDE l'environnement de bureau libre le plus populaire. Il est apprécié tout spécialement pour son ergonomie, sa simplicité, son accessibilité et son internationalisation de qualité. GNOME se donne pour mission de fournir à la fois un bureau convivial et performant, mais aussi une plateforme de développement pour applications. Cette plateforme est d'ailleurs réutilisée dans le monde de l'embarqué.

GNOME 2.20 apporte une refactorisation des préférences, une meilleure intégration de la recherche de fichier, une meilleure gestion de l'énergie et des touchpads, l'intégration du concepteur d'interface Glade dans la bibliothèque graphique GTK+ et d'un nouveau site web de documentation pour utilisateurs et développeurs. Tout cela accompagné d'une volée de corrections de bogues.

GNOME est désormais le bureau de choix de nombreuses distributions. Red Hat/Fedora et Ubuntu ont bâti leur succès sur GNOME. Foresight et bien d'autre incluront cet environnement dans leur prochaine version stable.

NdM : Merci également à ZeBob et BillyCharvet pour leurs propositions de dépêche. > Lire la dépêche

Commentaires: 0 | Buzz it!

IBM s'implique dans OpenOffice.org

Posté par Pierre Jarillon (page perso,
IBM s'implique dans le développement et la promotion de la suite bureautique OpenOffice.org. C'est ce qui vient d'être annoncé sur le site d'OpenOffice.org dans un communiqué de presse daté du 10 septembre.
IBM se joint ainsi à Sun à qui nous devons la libération du code de StarOffice en 2000 et qui est actuellement le leader du projet.
IBM s'intéresse à OpenOffice.org depuis des années comme le montre la recherche du mot OpenOffice sur son site web. IBM s'est aussi impliqué dans le soutien du format ODF (ISO 26300) face à OpenXML.

Des réactions très positives ne se sont pas faites attendre. elles émanent des directions de Sun et également de RedFlag (la distribution chinoise), Ubuntu et RedHat. Traduction de l'essentiel du communiqué de presse (fait à partir du travail de Jeanuel sur le journal de Fabien) :

IBM rejoint la communauté OpenOffice

La communauté OpenOffice.org annonce aujourd'hui qu'IBM va la rejoindre pour collaborer au développement du logiciel OpenOffice.org. IBM, pour ses premières contributions, apportera du code qu'il avait développé pour son produit Lotus Notes - notamment des améliorations concernant l'accessibilité - et il participera également aux évolutions en cours pour ajouter des fonctionnalités et améliorer la qualité du code source. En outre, IBM améliorera la prise en compte des technologies OpenOffice.org dans ses propres produits.

"Au cours des sept ans qui se sont écoulés depuis que Sun à fondé le projet, OpenOffice.org a contribué à couvrir les besoins d'outils bureautiques ouverts et libres. Les logiciels "open source" et ODF ont un impact profond de par le monde, avec de nombreuses communautés, des organisations, gouvernements, entreprises et écoles pour soutenir et standardiser le logiciel. Nous allons travailler avec IBM et les autres membres d'OpenOffice.org pour nous assurer que ce mouvement continue. Nous invitons qui veut à nous rejoindre et à participer à la construction d'un futur dans lequel OpenOffice.org et ODF continuent de gagner en popularité sur la planète," a dit Rich Green, Vice Président Exécutif Logiciel de Sun Microsystems, Inc.

"IBM est ravi de rejoindre la communauté OpenOffice.org. Nous sommes très optimistes sur le fait que la contribution de IBM en terme de technologie et de ressources produira des avancées tangibles pour les membres de la communauté et les utilisateurs des technologies OpenOffice.org à travers le monde," a dit Mike Rhodin, Manager Général de la division Lotus chez IBM. "Nous sommes particulièrement heureux de travailler en équipe avec la communauté pour accélérer la cadence d'innovation sur le marché de la bureautique. Nous croyons que ce partenariat accroîtra notre capacité à apporter des innovations intéressantes aux utilisateurs des produits et services IBM. Nous croyons également que cette collaboration conduira à une prise en charge encore plus grande des applications ODF (ISO 26300) et aux solutions conçues autour des technologies OpenOffice.org."

"C'est une grande nouvelle pour les dizaines de millions d'utilisateurs d'OpenOffice.org et les milliers de contributeurs du projet" dit John McCreesh, OpenOffice.org Marketing Project Lead. "Nous souhaitons la bienvenue aux contributions d'IBM pour améliorer encore le produit". [...]

Mark Shuttleworth, fondateur de la distribution Ubuntu, a dit "Nous sommes enthousiastes que IBM rejoigne Sun et les autres contributeurs de la communauté OpenOffice.org pour promouvoir le développement de OpenOffice.org et le format OpenDocument.[...]"

Et Hu Caiyong, CEO de Beijing's Redflag Chinese 2000 Software Co. Ltd, dont la compagnie contribue de façon significative dit "Nous acclamons IBM comme un contributeur bienvenu à la communauté d'OpenOffice.org ! Il est bon d'avoir un partenaire puissant avec nous, car son expertise extraordinaire et sa puissance commerciale aideront à conduire ce projet si important pour le logiciel libre et la normalisation. Nous espérons une association véritablement productive et une collaboration harmonieuse avec IBM, SUN et les autres contributeurs de OpenOffice.org."

ScottCrenshaw, Vice Président de Red Hat Enterprise Linux, acquiesce : "IBM continue de montrer son engagement pour la prolifération des logiciels libres. Nous les applaudissons pour être venu se joindre à la communauté d'OpenOffice.org. Nous comptons continuer nos rapports étroits avec IBM car nous oeuvrons pour un objectif commun qui consiste à apporter de la valeur à nos clients et stimuler l'adoption des standards ouverts et de l'ODF."

[...]

Commentaires: 0 | Buzz it!

GNOME fête ses dix ans de logiciel libre

Posté parj (page perso. Modéré le samedi 25 août.
GNOME a dix ans. C'est en août 1997 que Miguel de Icaza a annoncé le lancement du projet GNOME par un message sur internet : "We want to develop a free and complete set of user friendly applications and desktop tools, [...] based entirely on free software". Faisant partie du projet GNU, GNOME a donc pour objectif d'apporter la convivialité au système GNU/Linux.
Les semaines prochaines vont être l'occasion de quelques surprises pour fêter l'évènement via la mise en ligne de nouveaux sites web concernant GNOME ainsi que la sortie en septembre de GNOME 2.20.

En guise de cadeau supplémentaire, DesktopLinux.com vient de publier les résultats de son sondage annuel (38500 votants cette année) et GNOME est en tête de liste des environnements graphiques plébiscités par les utilisateurs participants.

Commentaires: 0 | Buzz it!