vendredi 30 décembre 2011

Sites de confiance


Comment reconnaitre un site de confiance

Nombreux sont ceux qui se disent « il y'a un cadenas sur ce site donc il est sur», donc je peux effectuer des achats en ligne et donc saisir mon code de carte bleu.

Faut il faire confiance au cadenas ?: oui et non

pourquoi oui ?: le cadenas sur une page web indique que la communication avec le serveur web s'effectue via le protocole HTTPS, donc est sécurisé contrairement à HTTP.

HTTP c'est quoi ?: hypertext transfert protocole, c'est un protocole permettant a un client web et un serveur web de communiquer via TCP/IP.

HTTPS c'est quoi ?: c'est une combinaison du protocole http et ssl.

SSL c'est quoi ?: Secure socket layer, protocole permettant de crypter un flux.

Donc la communication ne peut être sniffée.

Pourquoi non ?: le cadenas indique que le transport des informations vers le site est sur, mais qu'est ce qui peut assurer que le site lui même n'est pas compromis  , ou encore pire qu'il n'est pas frauduleux(n'importe qui peut faire un site sécurisé).

Voici quelques conseils avant de faire tout achats ou divulguer des informations sensibles sur un site :

+Tout site normalement constitué doit contenir au minimum un courriel de contact, sinon un numéro de téléphone. Donc un petit appel ou un mail ne coute rien juste pour s'assurer que l'on a à faire à un site de confiance.

+Toujours essayer d'en savoir plus sur le site, voici deux sites ou l'on peut avoir accès à des informations sur un nom de domaine . www.Godaddy.com , www.alexa.com , ou faire une petite recherche sur google(si les informations ne sont pas disponible sur ses deux sites ou d'autres site du même genre, le site en question est à bannir).

Soyez toujours prudent !
Internet c'est bien, mais c'est aussi le mal.

Bonne année.

jeudi 29 décembre 2011

Vundle le gestionnaire des plugins vim


Comment Installer un excellent gestionnaire de plugins Vim

Pourquoi installer un gestionnaire de plugins?: pour mettre à jour votre éditeur vim de façon automatique et simplifié, plus besoin de chercher et installer les plugins manuellement, le gestionnaire le fait pour vous.

Je vais détaillé ici l'installation de Vundle (Vim Bundle)

Pour pouvoir se servir de Vundle, il faut avoir git installer sur son système linux(Debian)

Si vous n'avez pas git ou vous n'avez aucune idée

ouvrez un terminal et faites :

which git

si cette commande ne vous renvoie aucun résultat alors faites:  

apt-get install git-core


Une fois git installer pour installer vundle faites:

git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

pour configurer Vundle rajouter le code qui suit dans votre .vimrc

set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle
call vundle#rc()

Bundle 'gmarik/vundle'

Apres lancer vim

se mettre en mode commande et taper ceci:

:BundleInstall

pour en savoir plus concernant les commandes taper ceci:

:h vundle

une fois Vundle installer, pour chercher un plugin c'est BundleSearch, une fois le plugin trouvé, il faut juste le sélectionné et appuyer sur la touche "i" du clavier. Pour activer ce plugin il faut le rajouter dans le .vimrc
ex: j'installe le plugin css3, je rajoute dans mon .vimrc la ligne ci-dessous:
Bundle 'css3'

voici le blog très intéressant sur le sujet et sur pleins d'autres sujets:
http://gmarik.info/blog




jeudi 1 décembre 2011

Projet Serveur FTP

Mon premier projet en Ruby a ete de coder un Serveur FTP sans utiliser la classe FTP

C'est quoi Ruby?: Ruby est un langage oriente objet, qui permet une gestion des erreurs assez sympathique, qui est portable tout comme JAVA,donc il suffit juste d'installer l'interpréteur Ruby et votre script marchera.

C'est quoi un Serveur FTP: C'est  tout simplement un ou plusieurs équipements informatique (physique ou logique), offrant la possibilitee a un ordinateur distant connecte a celui ci, de copier depuis ou vers celui ci un ou plusieurs fichiers en suivant les recommandations du protocole FTP(File Transfert Protocole).

Ne pouvant publier mon code source, je vais me contenter d'évoquer ici les étapes qui pourront vous mener à un Serveur FTP qui réponds aux minimum requis par la RFC 959(Request For Comment, c'est un ensemble de normes qui régissent le protocole FTP).

 Comme toujours avant de commencer a coder, il faut définir ce que devra réaliser votre Serveur FTP, ensuite réaliser un découpage fonctionnel.

Ici c'est assez simple pour définir les attentes de notre Serveur FTP, il suffit de lire la RFC 959 qui est en anglais lol.

En Resume, il faut un serveur avec une implémentation des commandes suivantes:  USER, PASS, RETR, STOR, PORT, TYPE, MODE, STRU, NOOP, QUIT. Allez un petit bonus juste pour le fun (PASV, SYST, CDUP, PWD, CWD, LIST)

Premier indice bien lire la RFC 959,Les code-retours ont une importance capital

Petite explication sur le fonctionnement du protocole FTP: Le protocole FTP a deux mode de fonctionnement

Le Mode Actif: Dans ce mode c'est le client qui détermine sur quel port de connexion, la communication sera établie pour la transmission de données.Le Serveur devra initie la connexion de son port de donnée vers ce port.Ce mode est moins sécurise pour le client, car on peut sniffer la communication vu qu'elle s'effectue en telnet, et a l'aide d'un calcul assez simple avoir le port ouvert.

Le Mode Passif: Dans ce mode c'est le Serveur FTP qui Détermine sur quel port la communication sera établie pour la transmission des données.Ce mode offre plus de sécurité.

Il faut savoir qu'il y a deux flux distinct, Le flux des commandes et le flux des données

indices pour quelques commandes(une methode(fonction) par commande)

USER: Cette commande consiste a attendre le nom de l'utilisateur et de vérifier s'il est bien un utilisateur qui est autorise a accéder a votre serveur.

PASS: Cette commande consiste a vérifier le mot de passe de l'utilisateur et lui donner accès au serveur.

PORT: Cette Commande Corresponds au passage en mode actif, le paramètre est la spécification du port sur lequel le client veut établir la communication.

NOOP: Cette commande signifie "No Operation", c'est une commande que le client envoie pour rester connecter même s'il n'effectue aucune aucune opération sur le serveur.

ps: Amusez vous car ce projet est plutôt simple, le plus important est surtout de bien suivre les recommandations de la RFC 959(read the RFC 959 is the best way to improve your english).