Le problème:

La fibre arrivant bientôt chez moi (Orange annonce 6 mois, on va être optimiste et partir du principe que c’est le cas :-D )je me suis dit qu’il était grand temps d’aménager l’installation réseau de mon appart’ en prévision de son arrivée.
Hors le soucis, c’est qu’il n’y pas pas vraiment de moyen pratique pour faire ramener la prise optique au niveau du salon, la ou ma box est normalement situé: La gaine téléphonique partant de la gaine technique est saturée, et faire longer le câble a travers le couloir, la cuisine et tout le salon serait vraiment trop moche.

La solution:

La solution est simple vous allez me dire; L’appart’ a été rénové il y a 4-5 ans et de ce fait a des prises RJ45 installer au mur dans chaque pièce, avec un réseau en étoile partant du DTI (vive les normes!). Donc a partir de la, je me suis dit qu’il serait techniquement possible de positionner ma box (et plus tard ONT fibre) au niveau de la gaine technique, d’installer un panneau de brassage et de faire partir le signal Ethernet dans toutes les pièces!

Ma joie est vite retombée quand je me suis aperçue que tout l’appart’ n’était pas câblé en câble CAT5e comment je l’espérais, mais en câble PTT 298. En recherchant un peu partout sur le net, on trouve beaucoup de témoignages de gens clamants haut et fort que le PTT 298  ne peut être utilisé pour du reseau Ethernet, qu’au mieux on peut espérer du 10Base-T, etc.
Une minorité du web en revanche dit bien qu’il est possible de faire un reseau Ethernet convenable en PTT 298 sur de courtes distances ( < 30 ~ 50 mètres), une ou deux personnes mentionnant mème avoir réussi a faire du 1000Base-T (Ethernet gigabit) sur de courtes distances.

J’avais donc 2 solutions:

  • Tirer de nouveaux câbles Cat5e a la place des PTT existant.
  • Réutiliser les câbles existants en espérant pouvoir en tirer du gigabit.

Étant locataire, tirer de nouveaux câbles ne me semblait pas réalisable: Déjà au niveau du cout (il faudrait surement compter au minima 200m de câble en plus du matériel de brassage + switch) et aussi par rapport au propriétaire que ne serait pas forcement content si je commençais a toucher a sont réseau faible tension.

Je me suis donc dirigé vers la deuxième solution, en croisant les doigts, les jambes et en serrant les fesses.

*Coup de gueule envers l’électricien*

En ouvrant mes prises murales RJ45, j’ai pu m’apercevoir avec stupeur qu’une seule des 4 paires avaient été raccordé ! Je trouve ca moyen de la part des électriciens de poser des prises RJ45 et de ne pas tout brancher dernière, c’est pas pour le temps que ça prend … Pensez donc a bien vérifier vos prises avant d’entreprendre ce genre de raccordement!

Liste de course:

Cout total: 47.96€

Première étape: L’équivalence des paires cat5e/PTT 298

Le premier petit soucis que l’on rencontre lors de ce montage, c’est que la couleur des paires dans le câble PTT 298 n’est pas du tout la mème que la convention utilisait pour le câble Ethernet classique. Le câble PTT ce pressente comme ceci: Une paire jaune/orange, une bleu/incolore(ou rose), une grise/branche et une violette/marron.

En cherchant un peu sur le net, j’ai pu trouver cette convention de câblage, que j’ai utilisé pour mon installation:

Convention paires PTT298

Deuxième étape: Brasser ses câbles

Maintenant que nous savons comment organiser nos paires, Il faut maintenant installer son panneau de brassage au niveau de l’arrivé des câbles PTT et tout raccorder! J’ai personnellement utilisé le panneau de brassage « Digitus DN-10001 » 8 ports qui est tout a fait adéquate pour ce type d’installation et ne vous cassera pas la tirelire. Ce panneau utilise des réglettes LSA, je vous conseillerais donc d’acheter un « outil à wrapper » qui permet de pousser les fils dans les connecteurs et de les couper en mème temps.

Brassage des cablesBrassage des cables

Troisième étape: Installer la box du FAI aux alentours

Il faudra maintenant installer votre box pas loin de votre panneau de brassage et de raccorder chaque port du panneau a un port de la box. Si vous avez la place, le mieux serait  de l’installer dans la gaine technique de votre habitation. N’ayant pas de place, j’ai installé une étagère  juste au dessus ou j’ai ensuite posé ma (free)box.

la freebox

Les résultats!

Après tout ça, il est enfin temps de tester ce nouveau réseau Ethernet pour voire quelle debit je peux en sortir. A l’heure actuel, mon réseau est assez simple:

  • port 1 de la box va vers le salon et est relié a un switch gigabit pour pouvoir relier la box TV, une imprimante reseau, une prise CPL et un NAS.
  • port 2 de la box va vers le bureau et est relié directement a mon ordinateur principal.

Première bonne nouvelle, tout les équipements ont négociés une connexion 1Gbps! Pas mal pour du cable PTT 298 qui fait au moins 30 mètres ;-)
Mais avant de nous réjouir, lançons un test IPERF (un programme permettant de tester le débit réel maximum entre deux machines) entre mon PC du bureau en mon NAS (donc la connexion vas du bureau a travers le mur, passe par la freebox pour retourner au salon a travers un autre mur!). Je vous laisse admirer les résultats:

testdebits

Avec 900Mbps en moyenne (100~110Mo/s), on arrive pas loin des débits « réel » observés entre deux PC sur un réseau domestique ! Ce que je n’ai pas précisé en revanche, c’est que ces tests ont été fait avec un câble de 50 mètres brancher entre le mur et le PC de bureau (je voulais vraiment tester le réseau avec une distance de câble élevé).

Avec un câble plus court (10 mètres), on arrive a des résultats similaire.

Donc voila, faire un réseau gigabit (stable? On verra avec le temps) sur du câble PTT 298, c’est bien possible, beaucoup moins cher que de faire re-tirer du cables dans vos gaines, et demande beaucoup moins d’effort !

Si vous avez des conseils ou des questions a me donner, n’hésitez pas.

banner3

So lately i’ve been trying to get into python development, specifically for web application using Django; everyone says it’s amazing, I want to know what all the fuss it about !

I host this site and a couple others on my own dedicated server running DirectAdmin,  and I wanted to setup a dev space for my  (future) Python / Django projects. I went looking for a little step by step guide on how to install mod_wsgi in a directadmin environment, and to my surprise I couldn’t find one.

After a bit more research and a bit of trial and error, I present to you my own little guide on how to do so :)

Please note that I am doing this on a Centos 6 environment, and cannot guarantee that this will work on any other. Also, I use nano for my text editing needs, feel free to use vi if you prefer it.

Step 1.

download the latest source files from here.

cd /tmp
wget http://modwsgi.googlecode.com/files/mod_wsgi-3.4.tar.gz
tar xzvf mod_wsgi-3.4.tar.gz
cd mod_wsgi-3.4

Next we are going to compile our file

./configure
make
make install

Note that I was getting errors when compiling and I had to install the python development tools for it to work (yum install python-devel)

Now you are going to want to open your apache config file and load the module

nano /etc/httpd/conf/extra/httpd-phpmodules.conf

In that file, after all the other « LoadModule », add the following line

LoadModule      wsgi_module             /usr/lib/apache/mod_wsgi.so

(If you do not have a file called extra/httpd-phpmodules.conf, you will need to add this to « /etc/httpd/conf/httpd.conf »)

Now all we’ve got left to do is recompile apache with custombuild

cd /usr/local/directadmin/custombuild

(Only do the following command if you’ve never added custom modules to apache in the past, otherwise you WILL overwrite your existing modifications)

mkdir -p custom/ap2

cp configure/ap2/configure.apache custom/ap2/configure.apache

Now you will need to open …

nano custom/ap2/configure.apache

And append this to the end of the file

"--with-mod_wsgi"

See all the  » \  » characters at the end of each line? You should make sure that all but the last line has one. Otherwise apache will not compile. You should end up with something along those lines:

        "--enable-ssl" \
        "--enable-rewrite" \
        "--enable-proxy" \
        "--enable-expires" \
        "--enable-reqtimeout" \
        "--with-ssl=/usr" \
        "--enable-headers" \
        "--with-mod_wsgi"

Finally run

./build clean 

./build apache

And here you have it, mod_wsgi is loaded on to apache !

Let me know if you are having any issues with this :)

I recently have had to work on the opensource e-commerce CMS « Magento » through work. It was my first time using the application and had no knowledge of the inner workings of it all, so it was a real delight when I was given the easy task of adding  promotion coupons / vouchers to the website.

All I had to do was to create a coupon that would reduce the grand total by a given percentage when the total of the basket was bigger than £100. Easy right? Well so I thought until I came to find out that magento, in all it’s V 1.3.2.3 glory, applies the promotion rule (having to be higher than £100) to the subtotal excluding taxes / vat rather than the opposite way!

Because of that, although a user may have had a basket worth £110, the promotion script would only see the price without taxes, in other words around £85 and therefore would not apply the discount. Because all prices throughout the website are displayed including VAT, this would have definitely been really confusing for visitors.

After spending countless hours first looking in vain for a fix on google, then spending days going through the horribly scattered pile of horse shit that is magento’s code, I finally came up with a fix! And because I’m nice and don’t want to put someone through what I went through, I will share it here with the rest of the internet.

It is in itself very straight forward. Locate the « validation.php » file in « app/code/core/mage/SalesRule/Method » and open it. Look for the following code:

$quote = $item->getQuote();
if ($item instanceof Mage_Sales_Model_Quote_Address_Item) {
$address = $item->getAddress();
} elseif ($quote->isVirtual()) {
$address = $quote->getBillingAddress();
} else {
$address = $quote->getShippingAddress();
}

Right after the closing bracket, simply add this little line of code;

$address->setBaseSubtotal(number_format($address->getSubtotal() + $address->getTaxAmount() - $address->getShippingTaxAmount(), 2));

All this does is that it add the total tax amount (while not including shipping tax tax) to the base_subtotal variable within the $address object which is the variable used by the promotion code. This change will however not change to front end value of the subtotal on your website so your basket will still display the correct subtotal without tax !

Let me know if you are having any problems or if you have any comment about my fix.

Till next time …

I’ve started so many blogs in the pasts couple of years, it’s hard to keep track.

« Why are you starting another one then? » Well I’m glad you asked. Simply put, I just started a new job in web development and at the same time just started to get serious with my Arduino project, so I wanted a place where I could put down tips, tricks or just random stuff about what I am doing. This would first and foremost be for my sake, so I can easily go back to something I wrote if I need to (i forget stuff quiet easily) but I am hoping that it will also be helpful to anyone else that somehow gets to this page.

I have for the occasion created a new template for the blog (which is like 50% done, but hell it’ll have to do for now) which is somewhat completely different to what I usually tend to design. It is also a great opportunity for me to try out some CSS3 goodness and see how well I can manage to break Internet Explorer with it.

Any ways, it’s late, I’m tired and I’ve never been great at those « introduction » messages so I’ll just leave it at that.

Catch you on the flip side (I’m trying to bring it back :D)