Comprendre la différence entre POP et IMAP

Je dois souvent expliquer à mes clients la différence entre POP et IMAP, les deux protocoles d’accès à une boite mail. Donc, pourquoi ne pas écrire un article là dessus afin de répondre à la question de la manière la plus claire et la plus parlante possible pour l’internaute lambda ? Commençons par rappeler qu’une…



ClusterSSH : administrer simultanément plusieurs serveurs Linux

ClusterSSH est un logiciel permettant de contrôler plusieurs serveurs Linux distants en même temps, en ne tapant qu’une seule fois les commandes SSH, qui sont envoyées simultanément à toutes les machines. Pour faire des mises à jour, installer des paquets, configurer un parefeu, faire un scan antivirus, configurer une tâche cron … il suffit de…



PHP : Détecter l’IP et le fournisseur d’accès

Voici un code PHP pour détecter d’une part l’adresse IP de l’internaute et d’autre part le nom de son Fournisseur d’Accès à Internet (FAI) : function getCurrentIP() { $ip = (getenv(HTTP_X_FORWARDED_FOR)) ? getenv(HTTP_X_FORWARDED_FOR) : getenv(REMOTE_ADDR); return $ip; } function getCurrentFAI() { $ip = getCurrentIP(); $host = @gethostbyaddr($ip); $fai = false; if(substr_count($host, ‘proxad’)) $fai = ‘free’;…



PHP : Mise en forme d’un poids de fichier

Pour mettre en forme le poids d’un fichier (ex: « 350 Ko ») voici une fonction bien pratique en PHP : function formatSize($nbr) { if($nbr===false || $nbr===null) return ‘0 octet’; if($nbr>=1024*1024*1024*1024) return round($nbr/(1024*1024*1024*1024), 1). » « .(‘To’); if($nbr>=1024*1024*1024) return round($nbr/(1024*1024*1024), 1). » « .(‘Go’); if($nbr>=1024*1024) return round($nbr/(1024*1024), 1). » « .(‘Mo’); if($nbr>=1024) return round($nbr/(1024), 1). » « .(‘Ko’); if($nbr>=0) return intval($nbr). » « .(‘octets’); }



PHP : Extraire les adresses email d’un texte

Pour extraire la ou les adresses email contenues dans une chaine de caractères en PHP : function extract_all_emails($text){ $res = preg_match_all( « /[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\\.-][a-z0-9]+)*)+\\.[a-z]{2,8}/i », $text, $matches ); return array_unique($matches[0]); } function extract_one_email($text) { $arr = extract_all_emails($text); if(count($arr)==0) return false; else return $arr[0]; }



Installer PHP 5.6 sous Ubuntu

Voici la marche à suivre pour installer PHP 5.6 depuis le PPA d’Ondřej Surý sur un serveur Linux Debian/Ubuntu: add-apt-repository ppa:ondrej/php apt-get update apt-get install php5.6 php5.6-mysql php5.6-xml php-gettext php5.6-mbstring php-xdebug php-pear php5.6-mcrypt php5.6-imap php5.6-gd php5.6-curl php5.6-dev php5.6-mysql php5.6-cli php5.6 # Si c’est pour un serveur web Apache : apt-get install libapache2-mod-php5.6



Faire un test de résistance d’un serveur MySQL

Pour tester un serveur MySQL en situation de charge, et/ou voir comment se comporte une base de données sous un nombre importants de requêtes et ainsi tester diverses optimisations de sa structure, Oracle fournit un outil nommé mysqlslap qui permet de faire facilement un benchmark : mysqlslap –host=localhost –concurrency=50 –iterations=100 –verbose –create-schema=maBaseDeDonnees –query= »SELECT * FROM…



rsync d’un serveur entier

Pour sauvegarder via rsync un serveur entier, en excluant les dossiers spéciaux : rsync -ralH –ignore-errors –numeric-ids –exclude=/dev/* –exclude=/tmp/* –exclude=/sys/* –exclude=/proc/* –exclude=/run/* –exclude=/var/run/* –exclude=/var/named/run-root/* –exclude=/var/lock/* –exclude=/var/cache/apt-archives/* –exclude=/mnt/* –exclude=/media/* –exclude=/lost+found –exclude=/usr/local/psa/PMM/tmp root@nom.serveur.fr:/ /dossier/backup/ L’option -ralH permet une copie récursive en préservant les attributs des fichiers L’option –numeric-ids préserve l’ID du propriétaire du fichier L’option –ignore-errors poursuit…



Export d’une table MySQL en CSV

Pour exporter le résultat d’une requête SQL vers un fichier au format CSV (valeurs séparées par des virgules), qui peut ensuite être ouvert sous Excel ou n’importe quel autre tableur : SELECT * FROM myTable WHERE 1+1=2 INTO OUTFILE ‘/tmp/export.csv’ FIELDS ENCLOSED BY ‘ »‘ TERMINATED BY ‘;’ ESCAPED BY ‘ »‘ LINES TERMINATED BY ‘\r\n’; Documentation…



Générer un CSR avec openssl

Pour générer un CSR (Certificate Signing Request) ainsi qu’une clé privée sous Linux grâce à OpenSSL : openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr Ce CSR peut ensuite être donné à un fournisseur de certificat SSL (Comodo, Geotrust …) afin qu’il puisse générer un certificat valide à installer sur son serveur.