Tag : Astuces

Savoir quel programme à ouvert quel port

Voici une astuce bien pratique permettant de retrouver un programme qui peux par exemple vous déranger et donc vous permettre de le killer.

Dans mon cas j'ai souhaité savoir quel programme écoutait sur le port 80 (http) de mon ordinateur.

Sous Windows

Pour ouvrir l'invite de commande cliquez sur démarer puis exécuter (ou directement dans le champ texte) puis entrez "cmd" dans la fenêtre qui s'est ouverte.
http://www.maraumax.fr/medias/Billets/tutoriels/invite-cmd.png
Vous validez, la fenêtre se ferme et une autre s'ouvre à vous !
http://www.maraumax.fr/medias/Billets/tutoriels/invite-commande.png
Dans cette console, vous devez écrire les deux commandes suivantes permettant de récupérer la liste des connexions actives et ensuite de filtrer avec le port que vous recherchez.

# Remplacez ":80" par le port que vous souhaitez rechercher
netstat -ano | find ":80"

Vous pouvez ensuite apercevoir le résultat de votre commande.
http://www.maraumax.fr/medias/Billets/tutoriels/invite-netstat.png
Une petite explication des colonnes :
1 - Le type de connexions (TCP ou UDP)
2 - Adresse / Port locale de connexion
3 - Adresse / Port distante
4 - L'état de la connexion
5 - Le numéro du processus correspondant

Pour savoir si un port est à l'écoute il suffit de regarder dans la quatrième colonne si l'état est "LISTENING". Par exemple dans la capture d'écran les ports 80 et 8002 sont à l'écoute.

Il suffit ensuite de récupérer le numéro du processus et de regarder dans le "tasklist".

# N'oubliez pas de remplacer le numéro de votre processus
tasklist | find "3952"

http://www.maraumax.fr/medias/Billets/tutoriels/invite-tasklist.png
Vous pouvez désormais récupérer le nom du processus ("httpd.exe" correspondant à apache dans l'exemple) dans la première colonne du résultat.

Sous Linux

Sous linux c'est toujours avec la commande netstat seulement c'est beaucoup plus simple car le résultat de cette commande est plus complet.

Pour récupérer la liste des ports et programmes qui écoute il vous suffit simplement d'utiliser cette commande :

# Remplacez :www par votre protocole ou le port souhaité
netstat -lpt | grep LISTEN | grep :www

http://www.maraumax.fr/medias/Billets/tutoriels/netstat-unix.png
Et dans la dernière colonne on remarque que c'est apache2 qui écoute sur le port 80.

En espérant vous avoir été utile !

TimeStamp.Pro vous permet de convertir vos dates et timestamp

http://www.maraumax.fr/medias/Billets/timestamp-pro.pngLe timestamp aussi appelé heure Unix ou encore heure Posix correspond aux nombres de secondes écoulées depuis le 1er janvier 1970 00:00:00 UTC.

C'est une valeur courament utilisée dans le développement de site internet car elle permet de manier très facilement les dates. Par exemple une simple soustraction permet de récupérer une différence entre deux dates.

Cependant le timestamp présente un gros inconvéniant : sont format n'est pas parlant pour un être humain ! Par exemple savez-vous à quel date correspond le timestamp "1262300400" ? Simplement au 1er Janvier 2010 à 00 heures 00 minutes et 00 secondes.

J'ai donc dans un premier temps pour ma propre utilisation puis ensuite pour tous les développeurs décidé de créer un "mini-site" permettant de manipuler simplement ce format.

TimeStamp.Pro vous offre donc la possibilitée de convertir un timestamp en date et inversement, faire une différence entre deux timestamp mais aussi de mettre en place un widjet sur votre navigateur préféré (Firefox) permettant de convertir les dates et timestamp directement depuis les sites internet que vous développez/visitez !

Visiter : TimeStamp.Pro

Limitation paramètres dans fichier .htaccess

Il m'est arrivé dans certains projet d'avoir de nombreux paramètres dans les adresse. Rien de bien compliqué dans un premiet temps, sauf lorsque l'on souhaite ré-écrire une URL avec plus de 9 paramètres.

Explication

Pour faire simple, rien de mieux qu'un exemple !

RewriteEngine on
 
# Exemple 1
# Url test : informations-1-p-2-q-3-r-4-s-5-t-6-u-8-v-9-w-10.html
RewriteRule ^informations-([0-9]*)-p-([0-9]*)-q-([0-9]*)-r-([0-9]*)-s-([0-9]*)-t-([0-9]*)-u-([0-9]*)-v-([0-9]*)-w-([0-9]*)-x-([0-9]*).html$ informations.php?id=$1&p=$2&q=$3&r=$4&s=$5&t=$6&u=$7&v=$8&w=$9&x=$10 [L]
 
# Exemple 2
# Url test : informations-1-p-2-t-6.html
RewriteRule ^informations-([0-9]*)(-p-[0-9]*)?(-q-([0-9]*))?(-r-([0-9]*))?(-s-([0-9]*))?(-t-([0-9]*)).html$ informations.php?id=$1&p=$3&q=$5&r=$7&s=$9&t=$11 [L]

Exemple 1
Dans cet exemple, notre adresse devra contenir tous les paramètres soit un total de 10 paramètres / variables.

Exemple 2
Pour le second exemple, il y a un paramètre obligatoire ainsi que cinq paramètres facultatifs. Donc 11 variables.

Jusque là il n'y a aucun problèmes. Seulement si vous testez ces ré-écritures vous remarquez un problème pour les paramètres supérieurs à 10.
En effet le second chiffre de la variable n'est pas pris en compte. Donc $10 correspond à $1.

Malhreusement pour le permier exemple je n'ai trouvé aucune solution... On est bien limité à 9 paramètres.
Mais pour le second exemple il existe un moyen de remédier au problème.

Permissions utilisateurs par projets dans un dépôt Subversion

http://maraumax.fr/medias/Billets/tutoriels/logo-subversion-svn.pngJ'utilise Subversion alias svn depuis pas mal de temps afin de centraliser les sources d'un projet avec un autre développeur. Le projet étant "fermé" j'avais simplement mis en place une sécurisation par mot de passe.

Aujourd'hui j'avais envie d'y installer d'autres sources (sur un autre projet) sans que l'autre développeur ait accès à ces données. Et c'est la que ça se complique, mettre en place des permissions utilisateurs par projets et non pour le dépôt complet.

Affichage de "Mes Documents" à chaques démarrage de Windows

Il se peux suite à l'installation d'un nouveau logiciel ou à une restauration de Windows que lors du démarrage de ce dernier s'affiche une fenêtre de vos documents.

Malgré le fait que ça ne pause aucun soucis et qu'il suffit de la fermer autant faire en sorte qu'elle ne s'affiche plus sachant que ça ne vous prendra que cinq minutes !

Récupérer les URLs et les Emails d'une page en PHP

Voici quelques lignes de codes, notamment composé d'expressions régulières vous permettant de récupérer toutes les adresses emails contenus dans une page ainsi que les liens qui la compose.

Gestion des bordures intérieurs et extérieurs en CSS

L'affichage intérieur ou extérieur des bordures en CSS dépend de la définition de type de document (doctype) utilisé pour vos pages.
Par exemple si vous utilisez le doctype suivant alors les bordures seront intégrés dans la largeur de votre bloc.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html dir="ltr" lang="fr">
[...]

En revanche si vous utilisez le doctype "strict" les bordure seront extérieurs à votre bloc.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
[...]

Voici un résumé sur les différences entre ces deux cas. Pour information la bordure est de 5 pixels (grise) afin de bien marquer la différence. Le cadre rouge permet de délimiter la limite du bloc.

http://www.maraumax.fr/medias/Billets/css-bordures-interieurs-exterieurs.png
La position des bordures peux parfois vous gêner si vous souhaitez aligner les blocs sur votre site.

Drivers Odbc 32 bits sur windows 2003/2008 64bits

Suite à plusieurs jours de recherche intense afin de mettre un place une base de donnée Access (.mdb) sur un serveur windows 2008 64bits je partage la solution en espérant qu'elle puisse servire à d'autres !
La manipulation consiste à modifier une option (et ajouter vos base sous le gestionnaire Obdc si vous l'utilisez) mais résoud les soucis de connexions possible.