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 suiteimportsysfromdatetimeimport 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"><htmllang="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 <ahref="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.
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 :
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"><htmllang="fr"><head><metahttp-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 : <ahref="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"><htmllang="fr"><head><metahttp-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>
"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
AllowOverrideNoneOrder 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
AllowOverrideNoneOrder 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
AllowOverrideNoneOrder 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" :
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
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 :
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 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" :
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
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
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.
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.
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.
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.
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 ;-)
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...
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.
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...
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.
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.
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'.
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.
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."
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.