Archive for the ‘D-Sites’ category

socket_stream_select: Attendre un flux (stream) et un socket en même temps

février 27th, 2010

Avec PHP, on peut interagir avec l’extérieur (et l’intérieur) du serveur sur lequel est exécuté le PHP à l’aide de flux et de sockets. Pour PHP, les flux – ou streams – et les sockets sont différents, alors qu’au niveau système, ce sont en réalité tous les deux des sockets (différents des sockets tels que l’entend PHP).

L’on travaille sur les deux en utilisant des fonctions toutes distinctes:

Parmi celles-ci, il y a deux fonctions extrêmement utiles: stream_select et socket_select. Elles permettent d’attendre de nouvelles données respectivement depuis un flux et un socket.

Vous pouvez par exemple attendre deux flux de données en même temps avec stream_select. Si l’un des deux a de nouvelles informations, la fonction retourne un entier décrivant le nombre de flux qui ont eu de nouvelles notifications. Vous pouvez aussi ajouter un timeout, etc… De la même manière, vous pouvez attendre un ou plusieurs sockets avec socket_select.

Seulement, si vous travaillez à la fois avec des flux et des sockets… Comment faire?

  1. Vous pouvez très bien mettre des timeout à quelques dizaines de millisecondes, regarder pendant x ms le flux, x ms le socket, puis on recommence… C’est une solution comme une autre mais très peu propre, et qui ne sera jamais « instantanée ».
  2. Vous pouvez utiliser un système, auquel vous vous connecterez en socket, qui écoutera un flux et dès que le flux recevra des données, il vous l’enverra par le socket. Ainsi, vous aurez que des sockets, vous pouvez donc utiliser socket_select.
  3. Mais, pourquoi ne pas créer une fonction socket_stream_select, ou stream_socket_select, comme vous voulez, dans le coeur de PHP, qui transformera les flux et les sockets PHP en sockets systèmes pour les écouter avec la fonction C select ?

» Read more: socket_stream_select: Attendre un flux (stream) et un socket en même temps

MyOnlineSSH: Version anglaise

janvier 12th, 2010

La version anglaise de MyOnlineSSH est mise en ligne permettant à tous les anglophones de se connecter en SSH depuis leur navigateur Internet, éditée avec PHP-Gettext-Edit, un outils permettant la gestion extrêmement facile des fichiers de traduction d’une application Internet (dont la version 2, avec gestion de comptes utilisateurs ne devrait pas tarder).

PHP-Gettext-Edit: Gérez vos traductions Gettext simplement!

janvier 9th, 2010

PHP-Gettext-Edit est une application PHP qui permet de gérer très simplement les différentes traduction d’un site Internet par exemple, plus généralement d’une application (qu’elle soit écrite en PHP, C, Java, JavaScript…) utilisant des fichiers de traduction Gettext.

En utilisant PHP-Gettext-Edit, vous pouvez en quelques clics analyser votre code, faire les traductions et compiler les fichiers de traductions! PHP-Gettext-Edit vous permet de:

  • Analyser un code source pour en générer un modèle de traduction, contenant toutes les chaines de caractère à traduire
  • Créer des fichiers de traduction à partir de modèles
  • Éditer directement depuis votre navigateur un fichier de traduction
  • Compiler en .mo ou en JSON un fichier de traduction
  • Contrôler la validité
    • Des modèles par rapport au code source
    • Des fichiers de traductions par rapport à leurs modèles
    • Des fichiers compilés par rapport à leurs fichiers de traduction
    • Des langues entre-elles par rapports aux fichiers qu’elles contiennent
  • Éffectuer les opérations précédentes de manière collective

Rendez-vous sur le site du projet, www.php-gettext-edit.net »

MyOnlineSSH: Connectez-vous en SSH depuis un simple navigateur Internet

janvier 3rd, 2010

Vous pouvez aussi voir la page du projet MyOnlineSSH.

MyOnlineSSH est un service permettant de se connecter à un serveur en SSH directement depuis votre navigateur. La configuration necessaire est très petite:

  • Un navigateur avec le JavaScript activé
  • Flash Player installé
  • Le port 80 ouvert

En effet, seul le port 80 suffit pour se connecter au SSH à l’aide de MyOnlineSSH comme vous pouvez le voir dans la page Aide de MyOnlineSSH.

Je vous invite donc à tester dès à présent MyOnlineSSH:

http://www.myonlinessh.com

D’ici peu, une traduction anglaise de MyOnlineSSH verra le jour pour nos amis anglophones.

Optimiser Wordpress avec WP-Super-Cache

décembre 27th, 2009

Pour ce 100ème article, nous allons rapidement nous intéresser à la vitesse d’éxécution de Wordpress. En effet, la grosse machinerie Wordpress peut mettre plusieurs secondes à générer une simple page d’article lorsqu’elle est installée sans plus de configuration. En effet, les différents plug-ins, thèmes et compagnies ne font pas de Wordpress quelque chose de rapide, dans la mesure où le nombre de fichiers chargés pour une simple page peut aller jusqu’à 1000 et le nombre de requêtes SQL est colossal!

Wordpress sans cache

Je vais prendre les chiffres de D-Sites: sans cache avec quelques plug-ins (captcha/statistiques/coloration syntaxique) et sur un hébergement mutualisé OVH, la page d’accueil par exemple, met en moyenne 2 secondes pour être générée, comme l’atteste le site IsMyBlogWorking.

blog-before-supercache

Deux secondes pour afficher une page, c’est beaucoup beaucoup trop, nous allons donc mettre en place le cache. Pour le mettre en place sur un blog Wordpress, rien de plus simple: dans l’administration, dans le menu Extensions, cliquez sur Ajouter. Ensuite, il vous suffit de rechercher un plug-in au nom de « WP Super Cache ». Installez-le de manière automatique, tout marche très bien, créez les règles dans le fichier HTACCESS puis ça roule !

» Read more: Optimiser Wordpress avec WP-Super-Cache

De nouvelles traductions pour i2c

décembre 16th, 2009

Après l’ajout de nouvelles fonctions à l’interface SOAP d’i2c, voici 4 nouvelles traductions disponible pour les fonctions donnant le nom réel des pays et des continents:

  • es_ES – Spanish
  • nl_NL – Dutch
  • de_DE – German
  • pt_PT – Portuguese

La page du projet i2c à été mise en jour en conséquence, ce qui porte donc à 6 le nombre de langues supportées par les fonctions de traduction d’i2c.

I2C: Quatres nouvelles fonctions SOAP

décembre 15th, 2009

Quatre nouvelles fonctions ont été ajoutées aujourd’hui au SOAP d’I2C:

  • getCountries() – Permet de récupérer la liste de tous les pays disponibles sous forme de leur code ISO séparés par des virgules
  • getCountryName($country_code, $langue) – Permet de récupérer le nom réel du pays en fonction de son code ISO dans la langue demandée
  • getContinent ($country_code) – Retourne le code du continent en fonction du code ISO du pays
  • getContinentName ($continent_code, $langue) – Retourne le nom réel du continent en fonction de son code dans la langue demandée

Lorsqu’il y a besoin de spécifier la langue, les langues disponibles sont:

  • fr_FR – Français
  • (par défaut)

  • en_US – English

Note: d’ici peu, d’autres langues vont arriver.

Vous pouvez dès à présent utiliser ces fonctions, sans même avoir un compte utilisateur, sans même utiliser la fonction login.

PostgreSQL: parse_url v2

décembre 8th, 2009

La version 2 de la librairie parse_url pour PostgreSQL, permettant de gérer des adresses URL au seins de la base de données est sortie. Elle permet de créer des tables avec des champs de type url afin d’être plus rapide lors de la sélection de certaines parties de l’URL.

Accéder à la page de parse_url v2 »

I2C (IP-to-Country): Gestion des comptes utilisateurs

novembre 3rd, 2009

La récupération des données depuis I2C vient de changer. En effet, dorénavant il vous faudra vous authentifier à l’aide d’un compte client D-Sites avant la récupération du pays d’une adresse IP.

La page du projet i2c à été mise à jour.

Pourquoi ?

Ce système à été mis en place pour lutter contre les utilisations abusives (plusieurs centaines de milliers de requêtes par mois) de I2C.

Qu’est-ce que ça change ?

Pas grand chose, le code de récupération change un peu, rien de bien méchant. Seulement, maintenant, le nombre maximal de requêtes est de 50 000 requêtes par mois. Si vous souhaitez en faire plus, c’est tout à fait possible en payant un peu (quelques euros): 100 000 requêtes (1€), 500 000 requêtes (4€) et 1 000 000 requêtes (7€). Pour plus de requêtes contactez-moi.

Comment ?

Pour créer un compte client D-Sites vous devez vous inscrire sur le site puis aller dans l’administration, où vous trouverez un menu « Compte D-Sites ». Ce menu concerne le compte client D-Sites qui vous permettra de vous identifier au près de tous les services de D-Sites. Une fois créé, activez-le pour i2c dans le sous-menu correspondant. C’est bon, vous pouvez vous connecter avec les identifiants choisis.

Concrètement, le code à mettre en place change pour HTTP et SOAP:

Pour HTTP

Vous devez ajouter les paramètres URL u et p décrivant respectivement le nom d’utilisateur et le mot de passe.

Pour SOAP

Si vous utilisez SOAP, vous avez deux options: soit vous utilisez la fonction login qui prend comme paramètres le nom d’utilisateur et le mot de passe avant getCountry, soit vous utilisez la fonction getCountryLogin qui prend dans l’ordre l’adresse IP, le nom d’utilisateur et le mot de passe.

En espérant améliorer la qualité du service.
Cordialement, Samuel ROZE.

Librairie parse_url version 1.1

octobre 26th, 2009

Présentée précédement pour ça première version, voici la version 1.1 de la librairie parse_url pour PostgreSQL. Cette nouvelle version corrige:

Elle ajoute:

  • Des clés de récupération via parse_url(text, text) :
    • host+port qui retourne l’hostname et le numéro du port, avec un « : » entre les deux
    • path+query qui retourne le path et le champ « query » avec un « ? » entre les deux

Note: voir la page du projet

» Read more: Librairie parse_url version 1.1