Adresse IP locale statique sous Debian

Pré requis :
  • Avoir une connexion réseau fonctionnelle.
  • Disposer d’un accès root.

Dans cet exemple, je souhaite assigner l’adresse 192.168.0.20 à ma machine. Mon routeur est à l’adresse 192.168.0.1. De plus, ma carte réseau a comme nom eth0.

  1. Récupérer les infos de la connexion actuellement en fonctionnement. Normalement on en aura pas besoin, mais ça peut toujours servir.
ifconfig eth0 > info

Voila. Ainsi, le fichier info contient tout ce qu’il vous faut savoir sur votre connexion.

  1. La configuration se fait dans le fichier /etc/network/interfaces. Par défaut, votre carte est configurée en DHCP. Il doit donc y avoir une ligne de type iface eth0 inet dhcp. Commentez-la en ajoutant un # devant :
# iface eth0 inet dhcp
  1. Maintenant, il faut rajouter en dessous (toujours dans ce fichier interfaces) les infos nécessaires à la carte pour se connecter :
iface eth0 inet static
        address 192.168.0.20
        netmask 255.255.255.0
        gateway 192.168.0.1

Bien sûr, adaptez ces lignes à votre configuration fonctionnelle (que vous avez sauvegardé dans l’étape 1)

  1. Redémarrer la carte :
ifdown eth0
ifup eth0

Et voila. Vous pouvez vérifier avec la commande ifconfig.

Posted in None at May 22nd, 2009. Comments.

Installer Sphinx sous Ubuntu

Voila la petite astuce pour installer sans encombre Sphinx (le générateur de documentation Python) sous Ubuntu. J’ai effectué cette manip’ avec la version 9.04 du système.

Avant tout, il faut installer les dépendances (python-dev) et ce qui va nous faciliter la vie (python-setuptools) :

$ sudo apt-get install python-dev python-setuptools

Une fois que c’est terminé, vous pouvez ensuite utiliser l’outil easy_install pour installer directement Sphinx :

$ sudo easy_install -U Sphinx

Et voila !

Posted in None at May 19th, 2009. Comments.

Lightsearch

Bonjour. Il y a deux jours, j’ai trouvé que ce blog manque cruellement d’une fonction de recherche. J’ai donc fait un rapide tour des applications de recherche déjà existantes pour Django. J’en ai retenu trois :

  • djangosearch, qui n’est malheureusement plus en développement.
  • Haystack, qui est une vraie machine à gaz à mon sens (et beaucoup trop lourd pour un simple blog).
  • Divers snippets, soit trop simplets, soit qui ne marche pas (compatibilité avec Django 1.x par exemple), bref : rien qui ne me va.

Une conclusion s’imposait : développer ma propre application de recherche. Je vous présente donc Lightsearch.

Le but de cette application est de fournir un moyen simple d’effectuer des recherches simples. Si vous cherchez de hautes performances et une liste de fonctionnalités imposante, vous pouvez passer votre chemin. Ce n’est absolument pas le but de cette application.

Si vous souhaitez jeter un oeil, approfondir le sujet ou filer un coup de main, rendez-vous sur la page BitBucket de Lightsearch.

EDIT: voilà, la fonction de recherche est disponible sur Kiznet grâce à Lightsearch.

Posted in None at May 10th, 2009. Comments.

Gérer le fichier robots.txt avec Django

Lorsque j’ai mit en place LifeDo, je me suis rendu compte que Django m’envoyait souvent des mails a cause d’une erreur générée par un fichier robots.txt introuvable. J’ai alors cherché un peu sur le net et trouvé Django robots. Cette application a l’air relativement complète et efficace (gestion de règles spéciales par URL etc…). Cependant j’ai trouvé la solution un peu trop lourd pour mes besoins (fournir un fichier robots de deux trois lignes).

Voici donc une petite méthode que j’utilise afin de pouvoir fournir le fichier robots.txt. Elle n’est pas parfaite, loin de là, mais a au moins le mérite de faire ce pour quoi elle est prévue.

Je pars du principe que j’ai une application nommée misc (mais vous pouvez l’appeler comme bon vous semble) qui contient un fichier views.py. De plus, j’ai un urls.py a la racine de mon projet.

Il faut dans un premier temps définir la fonction qui va servir le fichier :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from django.views.decorators.cache import cache_page

from django.http import HttpResponse
from django.conf import settings

import os

@cache_page(60*60*24*365) # Met cette fonction en cache pour 1 an

def robots(request,
            template_name='robots.txt', # Nom du fichier (par defaut)
            mimetype="text/plain"): # MIME : a ne pas changer
    robots_path = os.path.join(settings.MEDIA_ROOT, template_name)
    robots_file= open(robots_path, 'r')
    robots_content = robots_file.read()
    robots_file.close()
    return HttpResponse(robots_content, mimetype=mimetype)

Ce code est donc à placer dans le fichier views.py.

Comme vous pouvez le voir, le fichier doit être placé (par défaut du moins) à la racine du répertoire où pointe le MEDIA_ROOT du settings.py. A ajuster selon vos besoin donc.

Ensuite, il faut faire le lien entre l’URL et cette nouvelle fonction. Voici ce à quoi votre urls.py doit ressembler :

1
2
3
4
5
6
7
8
from django.conf.urls.defaults import *

# Vos autres imports ici
from misc.views import robots


urlpatterns = patterns('',
    # Vos autres URLs ici
    (r'^robots\.txt$', robots),

)

Voici un petit fichiers robots.txt (que j’utilise), à titre d’exemple :

1
2
User-agent: *
Disallow: /admin/

Voilà. Comme ça, les robots ne vous embêterons plus :) .

Posted in None at May 5th, 2009. Comments.

Le retour

Et voila, ça faisait quelques temps que j’en parlais, et c’est maintenant chose faite : le blog est denouveau disponible sur kiznet.fr !

J’aimerais remercier au passage Andreita pour avoir permis l’acquisition d’un hébergement plus conséquent chez Alwaysdata.

Dans les nouveautés :
  • Les billets vont être écrit (et c’est le cas de celui-ci) en ReStructuredText.
  • La coloration syntaxique du code se fait avec Pygments.
  • Beaucoup plus de flux.
  • et d’autres

Bonne soirée !

Posted in None at May 4th, 2009. Comments.