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.

Le web sémantique

Comment annoter sémantiquement un document ?

Le web sémantique a de plus en plus le vent en poupe. Même si les moteurs de recherche ne savent pas encore intégrer le web sémantique dans les analyses et la pertinence des résultats.

Malgré tout, l’engouement pour cette technologie est telle que des référentiels existent déjà (DBPedia, GeoWeb, FreeBase, etc.) et que de plus en plus de contributeurs annotent leurs documents avec du web sémantique afin d’être prêts pour le jour J.

Cependant, annoter un document n’est pas une chose aisée. En effet, nous pourrions annoter chaque mot du texte ou chaque objet afin de donner la signification sémantique. Mais dans ce cas, le volume d’informations serait multiplié et la lisibilité technique (code source) serait dégradée.

Trop peu d’annotation serait inutile. Autant ne rien mettre du tout.

Quel est donc le bon équilibre, la bonne quantité d’annotation pour une sémantique optimale ?

Créer une copie ISO d'un répertoire

Créer une copie ISO d'un répertoire sous Windows ou UNIX avec mkisofs

Sous Windows, pour créer la copie iso d'un répertoire, il faudra :

  • Le programme mkisofs compilé pour Windows.

Sous UNIX/LINUX, pour créer la copie iso d'un répertoire, il faudra :

  • Le programme mkisofs.

CSS / @import

Utiliser la propriété @import en CSS

La propriété @import en CSS3 permet d'importer une autre feuille de style.

Cependant, pour des raisons de performances web, il est déconseillé de l'utiliser.

Si cette propriété à été inventée mais est déconseillée, à quoi donc peut-elle servir ?

Surveillance système sous FreeBSD

FreeBSD accounting : Surveillance système sous FreeBSD

Pour effectuer une surveillance accrue du système et déterminer d'eventuelles tentatives de piratage ou tout simplement le suivi de l'utilisation des ressources d'une machine sous FreeBSD, il existe la commande accton (accounting). Cette commande permet d'activer la comptabilité des utilisations et exécution sur la machine surveillée.

Installation d'un serveur FTP chroot

Installer et configurer un serveur FTP en environnement sécurisé sous FreeBSD

Par défaut, sous FreeBSD, une connexion FTP donne accès à tous les répertoires et fichiers de la machine. Pour des raisons de sécurité et de simplicité d'utilisation, il peut être utile de limiter les utilisateurs à un répertoire et ses sous-répertoires.

Créer un disque virtuel sous FreeBSD

Créer un disque en RAM sous FreeBSD

FreeBSD possède en standard tout ce qu'il faut pour créer un disque virtuel. Un disque virtuel, en RAM, est beaucoup plus rapide qu'un disque physique et dans certains cas, pour disposer d'une amélioration des performances, il peut être utile de créer un disque virtuel.