bc

La calculatrice sous UNIX

bc est une calculatrice basique sous unix. Mais elle n'a de basique que le nom car elle permet d'avoir des possibilités et des fonctionnalités bien plus avancées que la plupart des calculatrices. bc est aux opérations mathématiques ce que awk est à la manipulation de texte.

Convertir un fichier plat en XML

Convertir un fichier plat en XML à l'aide d'une transformation XSL

Dans les transformation XSL nous voyons souvent des convertions d'un fichier XML en d'autres format (XHTML, HTML, XML, fichiers plats, etc.). Mais rarement l'inverse. Pourtant, avec une simple transformation XSL et quelques astuces, il est possible de convertir un fichier plat en un fichier xml qui pourra, par la suite, être travaillé et transformé plus aisément.

L'avantage de disposer du fichier plat au format XML permet de le manipuler plus aisément.

ls en couleurs

Utiliser le ls en couleurs sous UNIX

Par défaut, votre UNIX (dans cet exemple, FreeBSD) préféré vous propose des couleurs qui, à la longue peuvent lasser. Pour changer, un simple tour dans le man donne la solution à tous vos problèmes. ls est une commande qui possède de nombreuses fonctionnalités. Celles qui concernent la couleur indiquent ce qui suit.

Création automatisée de la navigation

Comment créer automatiquement la navigation dans les pages web

La cohérence d'un site web tient à l'enchaînement des pages qui le composent.

Cet enchaînement depend essentiellement de la façon dont les concepteurs (i.e administateurs, auteurs, designers, …) ont conçu l'information et la présentation. Parfois, il est délégué à un CMS. Mais plus le nombre de pages augmente, plus l'enchaînement est complexe à gérer, notamment si l'on souhaîte le modifier.

Voyons comment automatiser une partie de cette gestion et, en allant plus loin, comment la générer automatiquement.

RDFa ou Microdata ?

Quel format choisir ?

Le web sémantique est riche d'un certain nombre de vocabulaires, souvent sur despérimètres différents, parfois sur un même périmètre. Et il devient alors difficile de faire son choix.

Que vocabulaire utiliser, en effet ? Doit-on prendre le risque de soutenir un vocabulaire jeune mais efficace, ou bien un vocabulaire plus riche (trop) mais déjà bien installé.

SIOC: mise en œuvre

Décrire un forum avec SIOC

Les spécifications SIOC définissent la description RDF des communautés connectées (blogs, forums, wikis, etc.)

Elle permettent de décrire les interconnexions entre toutes les activités sociales publiques associées à des personnes.

Exemple d'activités sociales publiques
Exemple d'activités sociales publiques (source : W3C)

Voyons comment mettre en place concrètement ces spécifications.

at

Utilisations de la commande "at" sous UNIX

Sous UNIX, la commande at permet de différer des exécutions de commandes.

Les CGI

Créer et utiliser les CGI en shell UNIX

Les CGI permettent l'interfaçage entre le web et le serveur. Cela permet de tariter des formulaires, générer des pages dynamiquement, ajouter de l'intelligence. Les CGI peuvent être fait avec n'importe quel langage : PHP, perl... et le shell, bien entendu.

Mon choix personnel s'est porté sur le shell car je connais bien ce langage et je ne me voyais pas ajouter un langage supplémentaire sur mon serveur. Etant très mobile, cela me permet de créer mes CGI n'importe où, à partir du moment où je dispose d'un UNIX.

D'autre part, cela permet de transposer aisément des shells réalisés en local vers une utilisation délocalisée sans avoir à transcrire dans un autre langage.

date

Utilisations de la commande date sous UNIX

Dans un shell UNIX, la commande date permet de modifier, d'afficher la date ou encore d'effectuer quelques opérations.

NFS vs SAMBA

Choisir entre NFS ou SAMBA

Dans un environnement résau sous UNIX, le partage de ressources réseau est importante. Et comme le protocole Samba est maintenant implémenté par défaut sur la plupart des systèmes UNIX, la question du choix NFS ou SAMBA peut se poser.

xsl:attribute

Création d'un attribut à un élément

xsl:attribute permet de créer un attribut.

Exemple

<xsl:apply-templates select="TARGETFIELD">
<BALISE>
<xsl:attribute name="ATTRIBUT1">
<xsl:value-of select="./BALISE1"/>
</xsl:attribute>
<xsl:attribute name="ATTRIBUT2">
<xsl:value-of select="./BALISE2"/>
</xsl:attribute>
</BALISE>
</xsl:apply-templates>

donnera :

<BALISE ATTRIBUT1="valeur-balise1" ATTRIBUT2="valeur-balise2"/>

Conversion de l'encodage URL en UTF-8

Décodage de application/x-www-form-urlencoded en UTF-8 correspondant

Lors d'une communication entre un navigateur et un serveur Web, les données hors us-ascii sont converties dans un format spécial, x-www-form-urlencoded par défaut.

Par exemple la chaîne l'hiver est froid est convertie en l%E2%80%99hiver est froid.

la chaîne %E2%80%99 traduit l'entité &#x2019; mais nous voyons bien que les deux valeurs sont différentes. Pour traduire la valeur URl en valeur humainement exploitable, il faut faire un opération de conversion.

XSLT : local-name()

Récupération d'un élément appartenant à un espace de nom

La fonction XSLT local-name() retourne le noeud passé en paramètre de la fonction en s'affranchissant de l'espace de nom.

En effet, par défaut, une transformation XSL traite les noeuds appartenant à un espace de nom bien précis et ne s'occupe pas de ceux qui n'ont pas été spécifiés. local-name() permet de contourner ce problème et de récupérer les noeuds manquants. Cela peut-être fort utile lorsque le fichier source provient d'un traitement qu'on n'a pas les moyens de paramétrer ou de modifier.

Le web statique et le web dynamique

Utiliser le Web statique au bon moment pour améliorer les performances

Le Web est de plus en plus dynamique. Non seulement dans le sens humain - ce qui est une bonne chose - mais aussi dans le sens technique, c'est-à-dire la machinerie qui supporte le Web.

Et que cette machinerie soit dynamique n'est pas toujours une bonne chose. Elle l'est même de moins en moins.

Comment expliquer que le plus petit des blogs ne soit que l'interface d'une base de données sur laquelle est greffée un moteur de rendu ?

Ce moteur de rendu cherche des informations à droite (contenu réel), à gauche (menus, options, publicités,…), reconstitue une page web et l'envoie au client et ceci à chaque fois, que le contenu ait changé ou pas.

Même pour une page qui ne change pas, il n'y a plus de statique. Dans le meilleur des cas, le statique est rendu par un intermédiaire mettant en cache les contenus finaux qui n'ont pas été modifiés.

Web

OpenSearch

Créer son propre moteur de recherche dans un navigateur

La technologie OpenSearch, créée par Yahoo! est maintenant devenue un standard. Elle permet de créer son propore moteur de recherche et de l'intégrer directement dans un navigateur. Voyons comment la mettre en place.

Les files (pipe)

Les files (tubes, fifo, pipe, etc.) sous UNIX

Les files sont très puissantes sous UNIX et permettent de simplifier énormément le code des shells et les instructions à taper.

Les applications sont nombreuses. Les files évitent d'avoir à stocker des données temporairement dans des variables ou des fichiers.

>/dev/null

Utilisation de >/dev/null sous UNIX

Dans un shell UNIX, la commande </dev/null permet de répondre à une question. Prenons comme exemple la commande suivante :

cp fichier1 fichier2

Si fichier2 existe déjà, la commande cp demande s'il faut surcharger le fichier (forcer la copie) ou pas (y/n). Or, dans un shell automatique qui doit s'effectuer sans intervention humaine, cette question bloque l'exécution du shell jusqu'à la saisie de la réponse par un utilisateur. Et si nous ne voulons pas que la copie s'effectue en cas de la présence de fichier2, c'est à dire répondre n à la question, il faut alors utiliser la redirection </dev/null, de la façon suivante :

La boule de lavage

Tests sur l'efficacité d'une boule de lavage

La boule de lavage est présentée comme une révolution. Elle est présentée comme l'accessoire indispensable pour faire des économies tout en étant écologique puisqu'elle remplace la bonne vieille lessive.

Si l'on cherche à connaître son efficacité réelle, l'on trouve divers témoignages, du plus positif, au plus négatif. Mais, malheureusement, il est rarement donné plus de détails.

Si l'efficacité d'un tel matériel est réel, alors il présente un intérêt certain. Dans le cas contraire, il s'agit juste d'une arnaque.

L'intérêt scientifique n'est donc pas négligeable et vaut bien une dépense de quelques dizaines d'euros.

DIY

L’internet libre et l’auto-hébergement

Comment défendre l'Internet libre en hébergeant soi-même ses données ?

Vous avez un compte facebook (facebook est un énorme succès puisque c’est la plus grande agence de renseignement privée, pour laquelle les individus donnent eux-mêmes, volontairement, leurs informations personnelles. Tous les renseignements du monde n’auraient pas rêvé mieux).

Vous avez un compte de messagerie gmail, yahoo, outlook, etc.

Vous avez un blog sur wordpress.com.

Vous diffusez vos vidéos par l’intermédiaire de Youtube ou Dailymotion.

Vous partagez vos photos sur Flickr, Tumblr, etc.

Bref, vous utilisez un service d’un prestataire extérieur. C’est beau, c’est bien, c’est pratique.

Mais ce n’est pas de l’internet. C’est juste du Minitel.

Spécifications pour un web sémantique

Intégrer du web sémantique pour enrichir l'information

Nous avons abordé jusqu’à présent le sujet du XHTML. Ce langage, dérivé du XML ne s’occupe que de la structure.

En effet, même si la balise p définit un paragraphe, il ne s’agit en définitive que de la structure et pas de contenu. Si deux paragraphes venaient à être intervertis, aucune machine ne pourrait s'en rendre compte. Seul un être humain, pour lequel le texte a un sens, pourrait trouver que le texte est curieusement formé.

Si dans un document, le nom d’un individu nommé "François Martin" apparaît, il paraît très difficile de déterminer s’il s’agit d’un individu ayant pour prénom "François" et pour nom de famille "Martin", ou l’inverse. Tout comme il serait difficile de déterminer si le prénom "Camille" correspond à un homme ou à une femme sans information supplémentaire. La différence est difficile pour un humain, mais encore plus pour une machine. Car, sans information complémentaire, "François Martin" n'est qu'une chaîne de caractère, au même titre que "il fait beau ce soir"...

Nous pourrions bien entendu ajouter des informations sur le sens de chaque mot, en étendant le XML.

Et c’est là que le web sémantique intervient.