Python : import error no module named io in ubuntu

Suite à une mise à jour de votre serveur Ubuntu 12.04 LTS vers Ubuntu 14.04 LTS, vous obtenez une vilaine erreur suite à l’invocation d’une commande python dans votre environnement virtuel. L’erreur indique qu’il ne peut importer _io car il ne trouve pas de module appelé _io !

Suite à une mise à jour de votre serveur Ubuntu 12.04 LTS vers Ubuntu 14.04 LTS, vous obtenez une vilaine erreur suite à l’invocation d’une commande python dans votre environnement virtuel. L’erreur indique qu’il ne peut importer _io car il ne trouve pas de module appelé _io !

    import io
  File "/usr/lib/python2.7/io.py", line 51, in <module>
    import _io
ImportError: No module named _io

 

Voici la solution. Ubuntu 14.04 utilise la version de python 2.7.6 alors que Ubuntu 12.04 LTS utilise la version 2.7.3.

python --version;
mv myenv/bin/python myenv/bin/python.bak;
cp `which python2.7` myenv/bin/python

Voici le problème maintenant résolu.

Fibre optique : explications

Dans cet article, je vais vous expliquer les différents types de liaison de fibre optique, les avantages et inconvénients de chacune.

Table des matières

FTTx : définition

Derrière le terme barbare FTTx, on définit différentes manière de raccorder l’abonné via la fibre optique. La fibre est utilisée soit sur toute la boucle locale ou en partie.
Souvent, quand on parle de raccordement des utilisateurs à la fibre optique, il s’agit de s’approcher via le réseau de fibres optiques au plus près du client, puis de raccorder celui-ci via une paire de cuivre (opérateurs télécom) ou d’un câble coaxial (câblo-opérateur).

Selon que la fibre est plus ou moins proche de l’utilisateur, on va utiliser différents termes :
FTTC : Fiber To The Curb : la fibre arrive jusqu’au trottoir
FTTB : Fiber to The Building : la fibre arrive jusqu’à l’immeuble, le raccordement à l’abonné est ensuite réalisé via d’autres technologies : câble, VDSL …
FTTH : Fiber To The Home : la fibre arrive jusqu’à l’abonné . Dans ce cas, la boucle locale est entièrement fibrée de bout en bout.

Architecture : P2P ou GPON

P2P ou Point à Point définit une architecture ou l’abonné dispose d’une fibre dédiée entre le NRO (Noeud de Raccordement Optique) et son logement ou bureau. Contrairement à l’architecture PON (Passive Optical Network) où l’on va multiplexer, c’est à dire faire passer plusieurs abonnés par une même fibre et utiliser un splitter passif afin de les raccorder. La bande passante est donc mutualisée, mais a pour avantage un coût de déploiement plus faible.

L’avantage économique de l’architecture GPON est indéniable. On regroupe jusqu’à 64 fibres d’abonnés dans une seule. Le diamètre des fourneaux est donc plus faible et le coût lié au génie civil plus faible.

L’avantage technique va à l’architecture P2P. L’abonné peut utiliser, hors restriction, la totalité de la bande passante disponible, alors en GPON, la bande passante est mutualisée. Le débit maximal descendant de GPON est de 2,5Gb/s. Si l’on souhaite fournir 100Mb/s à chaque abonné, on ne peut raccorder que 25 abonnés. Mais dans les faits, on part du principe que les 64 abonnés ne téléchargent pas 100Mb/s en même temps. Surbooking ?

Composants d’un réseau optique

Les termes utilisés peuvent paraître déroutant, car bien différents de ceux utilisés dans les réseaux DSL. Mais ces réseaux n’ont rien à voir !

OLT : Optical Line Termination : terminal optique côté opérateur

ONT : Optical Network Termination : terminal optique chez l’usager

ONU : Optical Network Unit = ONT

Splitter : multiplexage / démultiplexage dans le cas du réseau passif (PON)

Commutateur / routeur optique : équipement qui vont gérer le trafic dans le cas d’un réseau actif (P2P)

Conclusion

La plupart des réseaux grand publics sont basés sur l’architecture PON pour des raisons économiques. Seuls les réseaux entreprises, hors exception, peuvent avoir accès au réseau P2P, mais cela va dépendre de l’opérateur, mais aussi de l’offre souscrite. Un client Orange n’aura pas la même solution s’il souscrit à un abonnement fibre pro ou à un abonnement Fibre Optique via le réseau MPLS. Le prix n’est pas le même non plus !

Attention aussi aux offres pour les particuliers annonçant des débits de plusieurs centaines de Mb/s. Le débit de la fibre est partagé entre plusieurs clients, les opérateurs font du surbooking et ne s’engagent nullement sur ce débit. On reste sur du best effort !

Naish Kitesurf : vidéo

Je vous laisse découvrir une très belle vidéo de Kitesurf du team Naish et de Robby himself.

Stand Up Paddle : La Torche

La Torche Pro Stand Up Paddle – résumé du derniers jours.

StandUp Paddle : Naish Lanes 2015

Stand Up Paddle : Naish Lanes – big waves – Vidéo de janvier 2015

django-simple-invoice : application des gestion de facture pour django

Table des matières

Introduction

Je souhaite vous faire découvrir une application pour le framework Python Django afin de gérer les factures. Il permet de créer, modifier et envoyer des factures en utilisant une table de contacts/entreprises que vous avez définie.

django-simple-invoice : adresse du repo

Vous trouverez le repo et une documentation à l’adresse bitbucket django-simple-invoice (je vais le migrer plus tard sous github pour ajouter un outil de développement continu que j’apprécie particulièrement, travis CI, mais je vous tiendrai au courant).

Pré-requis

Les pré-requis sont très simple, Python et Django (1.5 et 1.6 pour le moment). Je bosse pour valider la compatibilité 1.7.

Installation de django-simple-invoice

L’installation est simple. 3 commandes pip :

pip install django-simple-invoice
pip install django_extensions
pip install reportlab

Setup et configuration

Vous trouverez le détail de la configuration dans le fichier Readme de django-simple-invoice. Je ne vais pas le copier ici, car il est appelé à évoluer selon les évolutions.

Licence et remerciements

Il est sous licence GPL.

Je tiens à remercier une personne ayant énormément travaillé sur ce package django (en fait, il a presque tout fait, mais n’a plus le temps de le maintenir, et comme je l’utilise dans plusieurs projets, je prends sa suite), cette personne c’est Thomas.

Conclusion

Je vous invite à le découvrir, le tester et proposer des améliorations.

Ansible : Freeswitch role : nouvelle version – v1.1

Je viens de publier la mise à jour du role FreeSwitch pour Ansible, le célèbre moteur d’orchestration. Ce role permet d’installer FreeSwitch à partir des sources sur les systèmes linux basés sur Debian/Ubuntu.

J’ai ajouté la gestion des variables, vous permettant d’utiliser une configuration collant au mieux de vos besoins.

L’utilisation est simple. Il faut dans un premier temps installer Ansible, puis ajouter mwolff44.freeswitch-mw à vos roles. Vous avez un exemple de configuration ci-dessous :

- hosts: all
  vars_files:
    - 'defaults/main.yml'
  tasks:
    - include: 'tasks/main.yml'
  handlers:
    - include: 'handlers/main.yml'

Le repository du role Ansible pour FreeSwitch est hébergé chez Github et est bien sûr validé en intégration continue grâce au service de travis-ci.org.

Si vous voyez des idées d’amélioration, n’hésitez pas.

Superbes images vidéo de surf prises par un drone

Howto : comment configurer monit pour surveiller FreeSwitch

Guide détaillant la procédure de configuration de mont pour surveiller FreeSwitch et être alerter en cas de panne.

Il est essentiel de surveiller les services que nous déployons au sein de nos entreprises ou pour nos clients. Je vais vous présenter aujourd’hui comment superviser FreeSwitch avec Monit.

Monit est un outil léger open source (licence AGPL) permettant de superviser et de gérer les systèmes Unix. Il est capable d’exécuter des actions en cas de détection de défaillance.

Monit est disponible sous forme de paquet dans la plupart des distributions. L’installation sur un système basé sur Debian est très simple :

apt-get install monit

pour Centos, ce n’est pas plus compliqué :

yum install monit

La première chose à faire est de vérifier que la variable « START » a bien la valeur yes dans le fichier /etc/default/monit afin de permettre à Monit de démarrer.

Ensuite, la configuration centrale de Monit se fait au sein du fichier monitrc localisé sous /etc/monit. Dans ce fichier, vous pouvez notamment modifier l’adresse email qui recevra les alertes.

Ensuite, les configuration sont dans le répertoire /etc/monit/conf.d . Nous allons créer un fichier nommé freeswitch et y ajouter les lignes suivantes :

check process freeswitch with pidfile /usr/local/freeswitch/run/freeswitch.pid
  start program = "/etc/init.d/freeswitch start"
  stop program  = "/etc/init.d/freeswitch stop"

Nous allons simplement vérifier que FreeSwitch est bien démarré et si ce n’est pas le cas, nous demandons à Monit de le démarrer.

Avant de lancer Monit, vérifier bien que la syntaxe des fichiers de configuration est bonne avec la commande :

monit -t

Vous devez obtenir une belle réponse « Control file syntax OK ».

Nous allons maintenant compléter notre test afin de s’assurer que le process SIP est toujours fonctionnel. Pour cela, nous allons ajouter les lignes suivantes à notre fichier :

check host fs_server with address 127.0.0.1
   if failed port 5060 type udp protocol sip
      with target "localhost:5060" and maxforward 6
   then alert

En cas de dysfonctionnement, Monit vous enverra un mail d’alerte (attention à bien configurer votre mail et serveur dans le fichier monitrc).

Il possible de pousser aussi la supervision plus loin, selon le taux d’utilisation de votre machine, vérifier les process, les fichiers de log … et l’usage de la solution M/Monit permet un monitoring de vos serveurs centralisé simplement.

Hérédité de la licence GPL

Elle crée un pot commun auquel chacun peut ajouter quelque chose mais duquel personne ne peut rien retirer.

Eben Moglen

A lire absolument :

L’anarchisme triomphant:
Le logiciel libre et la mort du copyright