xargs

Utilisation de xargs dans un shell UNIX

Syntaxe

xarg est une commande UNIX puissante qui permet de récupérer les arguments en sortie de la commande précédente et de les traiter à travers un pipe.

Il permet d'éviter des structures lourdes comme :

[commande] | while read param
do
[traitement]
done

À la place, nous avons quelque chose de plus simple, de plus condensé :

[commande] | xargs [traitement]

LXC : conteneurs et pont transparent sous Ubuntu 20.04

Relier des conteneurs Linux à un pont (bridge) transparent

Lorsqu'on gère des conteneurs Linux (LXC), il peut être utile d'avoir des conteneurs ayant le même comportement que n'importe quelle autre machine physique.

Par défaut, les conteneurs sont configurés pour exister dans un réseau local à la machine hôte et ne sont donc pas accessibles depuis l'extérieur.

Voyons donc comment configurer un serveur Ubuntu 20.04 pour disposer de conteneurs transparents.

Optimisation fiscale avec R

Le cas du deuxième pilier suisse

La difficulté – toute relative – de la fiscalité suisse réside dans ses 3 niveaux – fédéral, cantonal et communal – ainsi que dans son système de retraite partiellement privé et individuel – ce qui n'exclut pas pour autant la mutualisation et le collectif.

Ces caractéristiques en font un parfait exemple pour une programmation avec R, notamment dans le cadre du rachat du deuxième pilier pour mettre en place une stratégie visant à maximaliser la réduction d'impôts qui en découle.

R

Installer R sous Linux (Ubuntu)

Comment installer et utiliser R

R est un logiciel libre de traitement des données et d'analyse statistiques mettant en œuvre le langage de programmation S. C'est un projet GNU fondé sur l'environnement développé dans les laboratoires Bell par John Chambers et ses collègues. Depuis plusieurs années, deux nouvelles versions apparaissent au printemps et à l'automne. Il dispose de nombreuses fonctions graphiques.

Voici comment l'installer sous Ubuntu et commencer à l'utiliser.

Eclipse + StatET : un Studio pour R

Installer et configurer StatET sous Eclipse pour disposer d'un environnement de développement pour R

Après avoir installé R, qui n'offre qu'un environnement en ligne de commande, il est possible d'installer un environnement de développement plus complet avec une belle interface graphique qui rend les choses plus agréables.

Parmi les environnements disponibles il y a Eclipse et l'extension spécifique StatET.

R

Configuration Postfix + Dovecot en serveur SMTP sortant (seulement)

Comment sécuriser un serveur SMTP sortant

Dans certains cas, il peut être utile de configurer un serveur de messagerie sortant non ouvert – c'est-à-dire avec une authentification afin d'éviter que n'importe qui puisse s'y connecter et envoyer n'importe quoi – tout en laissant la partie de réception sur un autre serveur. C'est le cas notamment lorsqu'on veut disposer d'une adresse de façade – pour une entreprise par exemple – tout en redirigeant les messages vers les vrais destinataires – par redirection – et sans la problématique de gérer les messages localement. La gestion du stockage est laissée au serveur de réception.

Il y a donc deux paramétrages distincts sur deux serveurs distincts. L'un pour la réception, l'autre pour l'envoi.

schéma de principe

Débloquer pfSense d'une mauvaise règle

Comment accéder à l'interface Web quand on est enfermé dehors

Si, comme moi, il vous est arrivé de bloquer votre accès à votre pare-feu pfSense à cause d'une mauvaise règle de filtrage ou de redirection, voici comment procéder pour rétablir la situation.

vlc : extraire la piste audio d'une vidéo

Extraire l'audio en ligne de commande (UNIX)

Problématique

Certaines vidéos ne sont en fait que des formats audio accessibles depuis des plateformes vidéos. Il peut être utile d'en extraire l'audio pur pour l'insérer dans une liste de lecture et en profiter sans avoir besoin de garder un œil sur un écran.

En plus de lire de nombreux formats audio et vidéo, vlc permet d'effectuer des transformations, y compris d'extraire la piste son d'une vidéo.

Datamart : la dimension du temps

La dimension du temps dans un datamart avec PostgreSQL

Le modèle en étoile de l'informatique décisionnelle repose sur 2 grands types de tables : les dimensions (dim) et les faits (fact).

Schéma de structure générique d'un datamart

En règle générale, le calcul des faits nécessite une dimension de temps afin de suivre l'évolution d'un indicateur dans la durée. De cette nécessité découle donc le besoin de générer une dimension du temps suffisamment précise pour être utilisée dans la plupart des contextes.

Même si ce n'est pas une règle absolue, il convient de diviser le temps en 2 dimensions : la date et l'heure.

La date calendaire correspond au jour et s'incrémente d'un enregistrement dans la dimension à chaque nouveau jour.

Le temps correspond à l'heure dans une journée. Le nombre d'enregistrements est généralement fini car il correspond au nombre de tranches horaires possibles dans une journée. Cela peut être à la minute, à l'heure, au quart d'heure… Tout dépend de la granularité désirée.

Service caché TOR et LXC

Mise en place d'un service caché TOR dans un conteneur Linux

L'accès à un service classique en passant par TOR oblige à utiliser des relais de sortie, machine publiques, donc connues. Ces machines sont les points les plus fragiles du système.

Dans le contexte d'un fournisseur de service (site web, messagerie,…), pour des raisons de performance et de sécurité, il est conseillé d'utiliser plutôt des services cachés, c'est-à-dire des services directement accessibles depuis l'intérieur du réseau TOR sans avoir besoin d'en sortir et éviter ainsi toute tentative de seurveillance, de collecte de données personnelles, etc.

Dans le cas où le service TOR tourne sur un conteneur Linux, il y a quelques particularités qui rendent la mise en place un peu différente.

Web : bloquer la pub avec hblock

Comment bloquer les publicités et les traceurs de navigation sous Linux avec hblock

La plupart des sites web analysent le trafic à des fins publicitaires – ou autre. Le résultat est souvent intrusif – comme les publicités – ou plus sournois comme la récolte des informations personnelles. Ces opérations s'effectuent la plupart du temps à l'insu du consentement des internautes. Ainsi, lorsque nous visitons un site, une partie des informations sont diffusées vers des sites externes dont la fonction principale est de collecter des données et d'analyser les usages.

Afin de reprendre le contrôle sur la vie privée, il est possible d'empêcher ce qui est collecté/analysé d'atteindre son objectif. Généralement, on change la configuration à la main. Mais la maintenance est fastidieuse.

Il est heureusement possible d'automatiser le processus grâce à hblock.

Transformer simplement une imprimante USB en imprimante réseau

Installer et configurer une imprimante avec CUPS/Raspberry Pi

Aujourd'hui, un foyer moyen possède de plus en plus de machines connectées capables d'imprimer, mais rarement autant imprimantes. Il peut être utile de partager une imprimante en la transformant en imprimante réseau :

Pour partager une imprimante entre plusieurs machines sans devoir passer la connexion de l'une à l'autre.

Parce que certaines imprimantes (USB) ne gèrent pas les files d'impressions et lorsqu'on imprime un document, il est imprimé immédiatement, peu importe si l'impression en cours n'est pas achevée.

Faciliter l'installation, la configuration et le partage du matériel.

Pour disposer d'une imprimante réseau (généralement chère) à partir d'une imprimante bon marché (ou recyler un vieux modèle).

Réaliser de A à Z un webservice XML-RPC en Shell UNIX

Comprendre et mettre en place un webservice XML-RPC en Shell UNIX

Le XML-RPC est un truc simple : le client envoie une requête type web (comme celle du navigateur web) au format XML à un programme sur un serveur qui sert de webservice chargé de récupérer le XML. Dans ce XML, il y a une méthode appelée et ses paramètres à appliquer (les paramètres dépendent de la méthode). Après quelques vérifications protocolaires d'usage, le webservice analyse le XML pour extraire les informations donc il a besoin pour appeler la méthode avec ses paramètres puis il renvoie le résultat, au formt XML également.

Voyons concrètement avec un exemple.

Créer une copie ISO d'un disque amovible

Créer une copie ISO d'un CD ou DVD sous Windows ou UNIX avec dd

Sous Windows, pour créer la copie iso d'un CD-ROM ou DVD, il faudra :

  • Le CD ou DVD à copier

  • Le programme dd compilé pour Windows

Sous UNIX/LINUX, pour créer la copie iso d'un CD-ROM ou DVD, il faudra :

  • Le CD ou DVD à copier

Les interfaces réseaux sous FreeBSD

Configuration avancée des interfaces réseaux sous FreeBSD

Depuis aussi longtemps que Linux et FreeBSD existent, il y a des querelles afin de savoir lequel des deux systèmes est le meilleur. Et chacun a ses arguments pour démonter le système de son adversaire. Pour FreeBSD, par exemple, on entend souvent que ce n'est pas un système propre (comme Linux), car, par exemple, les cartes réseaux sont nommées de façon liée au matériel (plus exactement au pilote du matériel) et non pas, comme sous Linux, par un nom générique virtuel (eth0, eth1, ...).

Nous allons voir pourquoi la philosophie de nommage des périphériques sous FreeBSD est différente de Linux et surtout nous allons toucher du doigts les capacités et la versatilité de FreeBSD (sans chercher à remettre en question celles de Linux). A chacun ensuite de juger.

Transcoder avec VLC

Transcoder un fichier audio ou vidéo avec VLC

VLC est un logiciel qui permet non seulement de lire des vidéos ou de la musique, mais aussi d'effectuer un grand nombre d'opérations de transcodage afin d'adapter le mieux possible les formats aux technologies de l'utilisateur.

VLC

Diffuser en RTSP

Diffuser un flux (webcam) ou un fichier en RTSP avec VLC

Lorsqu'on veut diffuser un flux audio ou vidéo sur internet, le RTSP est un des protocoles les plus adaptés car il permet de diffuser à n'importe qui sans avoir besoin de définir l'adresse IP du client à l'avance. C'est ce qui en fait un protocole idéal pour la VOD (Vidéo à la demande).

Pour voir une application concrète, nous partirons sur le principe que nous voulons diffuser la vidéo d'une webcam pour, par exemple, réaliser une vidéosurveillance, sachant qu'à partir de cela, nous pouvons diffuser n'importe quel autre flux (fichier, DVB, etc.) ou retransmettre simplement un flux monodiffusion reçu par le serveur.

VLC

Lire deux fichiers avec VLC

Lire une vidéo et sa bande son dans deux fichiers séparés

Il arrive parfois que l'on possède ou enregistre pour des raisons diverses un fichier vidéo d'un côté, ne contenant que l'image et de l'autre, une ou plusieurs bandes son (une part doublage, par exemple). Le problème est d'arriver à lire la vidéo et la bande son choisie.

Avec VLC, c'est possible sous certaines conditions.

VLC