Traiter un fichier sur stdin

Gérer l'entrée stdin en shell UNIX

UNIX permet de rediriger en entrée (STDIN) et en sortie (STDOUT, STDERR) des informations. Si les commandes UNIX standard gèrent bien la redirection d'un fichier en entrée, la question peut se poser si l'on veut le faire soi-même dans un shell.

Les arbres génériques en SQL

Représentation et gestion des arbres génériques en SQL

Le parcours d'un arbre en SQL repose souvent sur l'utilisation de procédures complexes et coûteuse en ressources ce qui fait qu'elles sont difficilement exploitables lorsque les arbres atteignent une certaine taille. Pour pallier ce problème, il faut pouvoir parcourir l'arbre avec de simples requêtes SQL. Cette méthode nécessite l'usage de structures particulières.

En effet, l'on pourrait se contenter de simplement une table qui stocke les liens père-fils et d'utiliser un algorithme pour reconstruire une repréentation de l'arbre grâce à des langages avancés (PL/SQL, etc.). Mais ces méthodes nécessitent souvent des méthodes utilisant des boucles imbriquées qui se révèlent rapidement très coûteuses en ressources pour le résultat obtenu.

Nous pouvons améliorer la méthode en améliorant les structures utilisées.

SQL

VPN (PPTP) avec pfsense

Se connecter à son réseau privé par connexion VPN (PPTP)

Une connexion VPN est nécessaire lorsqu'on veut accéder aux ressources d'un réseau situé à l'extérieur de son propre réseau local.

Par exemple, la configuration suivante :

Informations

Tor/Privoxy

Mise en place d'un relais Tor/Privoxy pour surfer anonymement

Pour comprendre l'importance du débat, il faut d'abord avoir à l'esprit qu'aller sur Internet sans aucune protection, c'est comme sortir tout nu dans la rue.

La protection de la vie privée est un débat de plus en plus fréquent car il y a d'un côté les entreprises qui veulent exploiter les données personnelles afin d'affiner leurs services, de l'autre les politiciens qui veulent lutter contre le crime et entre les deux, les citoyens.

Les récentes actualités ont montré que certaines pratiques de surveillance étaient appliquées à la masse, sans réellement de justification et de décision démocratique. Et la vie privée des internautes est fragile.

Tor

ZFS

Mise en place et utilisation de ZFS

Avec l’augmentation de la quantité de données à stocker, le volume nécessaire est souvent plus grand qu’un seul disque et nécessite des sauvegardes ou d’un moyen sécurisé de stocker des données. L’idéal est d’avoir un seul gros disque virtuel formé de plusieurs disques physiques auquel on accède de manière transparente.

Il existe plusieurs mécaniques et couches logicielles mais la plus fiable et la plus souple reste ZFS.

ZFS est un système de fichier 128 bits qui permet de stocker de manière sécurisée un grand nombre de données, un grand nombre de fichiers et est capable de gérer la tolérance de pannes grâce au RAID.

ZFS

YaCy

Comprendre et mettre en place YaCy

YaCy est un moteur de recherche que chacun peut installer pour indexer le web (pages publiques accessibles par internet), pour indexer un intranet ou pour parcourir d'autres données avec une fonction moteur de recherche. YaCy peut être utilisé de façon autonome, mais sa principale force est de pouvoir fonctionner en réseau peer-to-peer, ce qui fait que sa puissance s'accroit avec le nombre d'utilisateurs, qu'il est entièrement acentré (tous les "peers" sont égaux et il n'y a pas un organisme administratif central) et qu'il n'est pas censurable et ne stocke pas le comportement des utilisateurs.

La liberté de l'information ainsi obtenue par le biais des logiciels libres et d'un moteur de recherche distribué est également un des objectifs du projet.

Cache Manifest: Un site web plus rapide

Anticiper le chargement des pages en utilisant le cache

La version 5 du HTML apporte son lot d'améliorations. Ainsi, pour il est possible d'utiliser un cache pour un mode hors connexion. Mais nous pouvons détourner l'usage de ce cache (manifest) pour accélérer la navigation sur un site web.

Le manifest est une option apparue avec le HTML 5 afin d'indiquer au navigateur toutes les ressources à charger dans le cas d'une déconnexion.

En effet, les applications destinées aux téléphones portables subissent régulièrement des déconnexions du fait du déplacement, Si vous prenez un ascenseur, ou que votre métro passe dans un tunnel, ce qui coupe votre connexion. Si la page n'est pas chargée, l'affichage et l'usage ne se font pas correctement car un navigateur, pour des raison de rapidité affiche ce qu'il a dès qu'il l'a téléchargé. C'est pourquoi, il n'est pas rare de voir le texte avant les images...

Lorsqu'il est employé, le cache force le navigateur à d'abord charger les fichiers dont il a besoin avant d'afficher la page. Ainsi, en cas de déconnexion intempestive, l'usager n'est pas perturbé et il peut utiliser l'application web (ou le site), le temps de la déconnexion. En effet, si vous étiez occupé à rédiger un courriel au moment de la déconnexion, il serait dommage de perdre le message et d'être obligé de tout recommencer.

XSL/XHTML+SVG

Comment intégrer une image SVG dans un document (X)HTML statique ou dynamique ?

L'utilisation en lieu et place d'images classiques (jpeg, png, etc.) permet une certaine souplesse dans certains cas.

Tout d'abord, étant vectoriel, il est souvent plus compact qu'un autre format. De plus, il permet un usage avancé des CSS puisqu'on peut lui attribuer des propriétés sans utiliser plusieurs images. Les images et icônes peuvent donc s'adapter facilement à une page sans avoir besoin de les retoucher.

L'insertion de SVG dans un document statique peut se faire de différentes façons, en fonction du format du document support.

xsl:template

Création d'un motif de transformation

xsl:template permet de créer un motif de transformation; il peut être assimilé à la fonction ou la procédure dans un langage traditionnel. Il est défini de la façon suivante :

Aquaponie

Compréhension et mise en œuvre

L'aquaponie est la contraction de aquaculture (élevage de poissons) et hydroponie (culture hors sol). Elle permet de rassembler le meilleur de chaque afin de produire de l'alimentation saine et facile à entretenir grâce à une symbiose.

Le but de l'aquaponie est de permettre de produire de l'alimentation humaine, même si elle peut aussi servir à l'alimentation animale.

DIY

Générer un sitemap

Générer automatiquement un fichier sitemap.xml pour un site web

Le sitemap.xml est un fichier nécessaire pour améliorer le référencement d'un site web. Il peut être maintenu manuellement. Mais il pourrait être utile de se libérer de cette tâche en le générant automatiquement.

ownCloud

Mise en place d'un serveur ownCloud pour stocker ses données personnelles

ownCloud permet de gérer ses données personnelles chez soi, sans utiliser les services traditionnels qui peuvent vous espionner. Non pas que vous ayez des choses à cacher, mais votre hébergeur de données n'a pas à connaître votre emploi du temps ou vos contacts.

ownCloud peut gérer vos données personnelles en proposant :

  • un calendrier

  • un carnet d'adresses (gestion des contacts)

  • une bibliothèque de documents et de photos

  • le partage de documents avec d'autres utilisateurs

  • l'accès à distance par interface web ou protocole réseau (webDav, cardDav, etc.)

GRDDL

Extraire des informations d'un document pour générer du RDF

GRDDL est un mécanisme destiné à glaner des descriptions de ressources dans les dialectes des langages. Cette spécification GRDDL introduit un balisage, fondé sur les standards existants, afin de déclarer qu'un document XML contient des données compatibles avec le cadre de descriptions de ressources (RDF) et afin d'associer des algorithmes, typiquement dans une représentation XSLT, pour en extraire les données.

Le balisage inclut un attribut qualifié par un espace de noms pour les documents XML d'utilisation générale et un lien d'association qualifié par un profil pour les documents XHTML. Le mécanisme GRDDL permet également de déclarer dans un document d'espace de noms XML (ou un document de profil XHTML) que chaque document associé à cet espace de noms (ou profil) contient des données à glaner, et d'associer un algorithme pour recueillir les données.

Pare-feu Alix/pfSense

Montage et configuration d'un pare-feu pfsense sur Alix

pfSense est un système d'exploitation léger, destiné à réaliser des routeurs/pare-feu de qualité professionnelle. Fondé sur une distribution BSD, il est performant et peu gourmand en ressources, si bien qu'il peut s'installer sur des machines peu puissantes comme les Alix.

HTTP Sécurisé

Chiffrer une connexion à un serveur HTTP

Par défaut, les informations circulant entre un serveur HTTP et les clients sont non chiffrées, c'est-à-dire qu'une personne écoutant le réseau peut récupérer une copie de ces informations. Si, en général, ces informations n'ont pas d'intérêt à être chiffrées, un serveur web public étant accessible par tous, en clair, il peut être parfois utile de chiffrer une connexion, par exemple lorsqu'il y a un échange de mot de passe pour entrer dans une section plus restreinte. Si le mot de passe circulait en clair, rien n'empêcherait une personne mal intentionnée de s'identifier à votre place. Il faut donc sécuriser la connexion en la chiffrant.

La version d'OpenSSL fournie avec FreeBSD supporte les protocoles de sécurité réseau Secure Sockets Layer v2/v3 (SSLv2/SSLv3), et Transport Layer Security v1 (TLSv1) et peut être utilisée comme bibliothèque de chiffrement d'usage général.

Installer Postgresql

Installer Postgresql sous freeBSD

Postgresql est reconnu pour être un excellent SGBD, plusieurs fois récompensé pour ses performances, même comparé à Oracle. Il possède en plus, l'avantage d'être open source (donc gratuit).

Pour donner un ordre d'idée de la vélocité de postgresql, avec mon modeste serveur (VIA 1 GHz, 512 Mo de RAM), je charge un fichier de 800 000 enregistrements dans une table identique en moins de 3 secondes, ce qui acceptable et plus rapide qu'oracle dans les mêmes conditions (8s).

Comparé à MySQL, Postgresql a plus de maturité, possède des fonctions plus avancées, un langage de programmation avancé… Tout ce qui est nécessaire à la fois à un développeur ou à un SI en production.

Les cookies

Gérer les cookies en shell UNIX

Les cookies permettent d'échanger des messages entre un client et un serveur. Les cookies sont des fichiers stockés sur la machine du client et permetttent de stocker des informations utilisables par le serveur lors de connexions ultérieures.

En shell, la création et l'utilisation de cookies n'est pas difficile si ce n'est qu'elles nécessitent une syntaxe précise.

Montage vidéo sous GNU/Linux

Transcoder, manipuler une vidéo sous GNU/Linux

Le système GNU/Linux est maintenant mature pour l'usage normal comme professionnel.

Le montage vidéo est à présent très facile et accessible à la plupart des gens.

Cet article vous présentera un exemple de montage vidéo dans l'environnement GNOME, mais il existe bien entendu d'autres méthodes avec d'autres logiciels.

Les tests

Réaliser des tests en shell UNIX

Les tests, comme leur dénomination l'indique, permettent de faire un certain nombre de tests, donc de contrôles et d'agir en conséquence.

Les redirections

Les redirections de fichier ou d'affichage sous UNIX

Lors de l'exécution d'une commande (shell, programme, etc.) il y a deux sorties disponibles, la sortie standard stdout sur le canal 1 et la sortie des erreurs stderr sur le canal 2. Ces canaux sont accessibles pour rediriger les flux de données.