import of olds chapters
This commit is contained in:
parent
9a9d3108ba
commit
d79a55fd2e
87
chap/DNS.tex
Normal file
87
chap/DNS.tex
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
\chapter{Domain Name Service}
|
||||||
|
\label{DNS}
|
||||||
|
|
||||||
|
\section{host}
|
||||||
|
\index{host}
|
||||||
|
|
||||||
|
C'est vraiment la commande de base pour tout ce qui touche à la
|
||||||
|
résolution de nom. Elle propose les premières options de base,
|
||||||
|
avec une syntaxe facile à retenir. Elle existe, sous des formes
|
||||||
|
légèrement déviantes, dans une grande partie des
|
||||||
|
OS\footnote{même dans le sale, c'est dire.} existants de nos jours.
|
||||||
|
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
tth@plop:~ $ host sigfood.dinorama.fr
|
||||||
|
sigfood.dinorama.fr has address 91.121.221.123
|
||||||
|
tth@plop:~ $ host -t mx dinorama.fr
|
||||||
|
dinorama.fr mail is handled by 20 mx1.smeuh.org.
|
||||||
|
tth@plop:~ $
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
Ces deux exemples sont encourageants. Est-il possible d'aller
|
||||||
|
plus loin ?
|
||||||
|
|
||||||
|
% ------------------------------------------------------------
|
||||||
|
|
||||||
|
\section {nslookup}
|
||||||
|
\index{nslookup}
|
||||||
|
|
||||||
|
\begin{quote}
|
||||||
|
Nslookup is a program to query Internet domain name
|
||||||
|
servers. Nslookup has two modes: interactive and
|
||||||
|
non-interactive. Interactive mode allows the user to query
|
||||||
|
name servers for information about various hosts and domains
|
||||||
|
or to print a list of hosts in a domain. Non-interactive mode
|
||||||
|
is used to print just the name and requested information for
|
||||||
|
a host or domain. »
|
||||||
|
\end{quote}
|
||||||
|
|
||||||
|
% ------------------------------------------------------------
|
||||||
|
|
||||||
|
\section{dig}
|
||||||
|
\index{dig}
|
||||||
|
|
||||||
|
Dig (\textit{domain information groper}) est un outil d'interrogation
|
||||||
|
des serveurs DNS. Par défaut, il questionne les serveurs
|
||||||
|
listés dans \texttt{/etc/resolv.conf}.
|
||||||
|
|
||||||
|
Pour résoudre récursivement un nom de domaine à partir de la racine :
|
||||||
|
\$ dig +trace <nom.de.domaine>
|
||||||
|
|
||||||
|
Pour le reverse d'une adresse IP :
|
||||||
|
\$ dig +trace -x <adresse.ip>
|
||||||
|
|
||||||
|
% ------------------------------------------------------------
|
||||||
|
\section{delv}
|
||||||
|
\index{delv}
|
||||||
|
|
||||||
|
Nouvel outil en rapport avec DNSSEC\index{DNSSEC}.
|
||||||
|
% XXX
|
||||||
|
\index{XXX}
|
||||||
|
% http://www.bortzmeyer.org/delv.html
|
||||||
|
% XXX
|
||||||
|
|
||||||
|
% ------------------------------------------------------------
|
||||||
|
|
||||||
|
\section{checkresolv}
|
||||||
|
|
||||||
|
|
||||||
|
Outil très basique conçu et bricolé par Tonton~Th au siècle
|
||||||
|
dernier lors d'un séjour à Frontignan-plage.
|
||||||
|
|
||||||
|
% ------------------------------------------------------------
|
||||||
|
|
||||||
|
\section{dnsmasq}
|
||||||
|
\index{dnsmasq}
|
||||||
|
|
||||||
|
\begin{quote}
|
||||||
|
|
||||||
|
dnsmasq is a lightweight DNS, TFTP and DHCP server. It is intended to
|
||||||
|
provide coupled DNS and DHCP service to a LAN.
|
||||||
|
\end{quote}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
45
chap/GIT.tex
45
chap/GIT.tex
@ -6,8 +6,10 @@ aux quatre coins des interwebs. Je ne vais donc pas m'étendre
|
|||||||
plus que ça, pour passer tout de suite à un cas particulier
|
plus que ça, pour passer tout de suite à un cas particulier
|
||||||
\footnote{que je n'arrive pas encore à vraiment maitriser}.
|
\footnote{que je n'arrive pas encore à vraiment maitriser}.
|
||||||
|
|
||||||
|
% --------------------------------------------------------------------
|
||||||
\section{Démarrage}
|
\section{Démarrage}
|
||||||
|
|
||||||
|
\subsection{En local}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
$ mkdir Foo
|
$ mkdir Foo
|
||||||
$ cd Foo/
|
$ cd Foo/
|
||||||
@ -17,7 +19,7 @@ $ git add README.txt
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
\section{Setup du serveur}
|
\subsection{Setup du serveur}
|
||||||
|
|
||||||
Sur le serveur distant, dans un endroit accessible par
|
Sur le serveur distant, dans un endroit accessible par
|
||||||
le protocole \texttt{HTTP}, il faut créer le dépot.
|
le protocole \texttt{HTTP}, il faut créer le dépot.
|
||||||
@ -33,16 +35,53 @@ Et ensuite :
|
|||||||
$ git update-server-info
|
$ git update-server-info
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
\section{Pousser le code}
|
% --------------------------------------------------------------------
|
||||||
|
\subsection{Pousser le code}
|
||||||
|
|
||||||
Notre commit\index{commit} local semble pertinent,
|
Notre commit\index{commit} local semble pertinent,
|
||||||
il est temps de le faire connaitre au monde.
|
il est temps de le faire connaitre au monde.
|
||||||
|
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
$ git push yuser@serveur:/chemin/vers/le/depot/Foo
|
$ git push yuser@serveur:/chemin/vers/le/depot/Foo
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
|
% --------------------------------------------------------------------
|
||||||
|
|
||||||
|
\section{Configuration dynamique}
|
||||||
|
|
||||||
|
\texttt{http://sandrotosi.blogspot.com/2020/10/multiple-git-configurations-depending.html}
|
||||||
|
|
||||||
|
One way to change the user.email git config value is to git config --local
|
||||||
|
in every repo, but that's tedious, error-prone and
|
||||||
|
doesn't scale very well with many repositories
|
||||||
|
(and the chances to forget to set the right one on a new repo are ~100\%).
|
||||||
|
|
||||||
|
The solution is to use the git-config ability to include
|
||||||
|
extra configuration files, based on the repo path, by using includeIf:
|
||||||
|
\vspace{1em}
|
||||||
|
|
||||||
|
Content of \texttt{\$HOME/.gitconfig} :
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
[user]
|
||||||
|
name = Sandro Tosi
|
||||||
|
email = <personal.address>@gmail.com
|
||||||
|
|
||||||
|
[includeIf "gitdir:~/deb/"]
|
||||||
|
path = ~/.gitconfig-deb
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
Every time the git path is in ~/deb/ (which is where i have all Debian repos)
|
||||||
|
the file ~/.gitconfig-deb will be included; its content:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
[user]
|
||||||
|
email = morph@debian.org
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
That results in my personal address being used on all repos not part of Debian, where i use my Debian email address. This approach can be extended to every other git configuration values.
|
||||||
|
% --------------------------------------------------------------------
|
||||||
|
|
||||||
\section{Krkrkr...}
|
\section{Krkrkr...}
|
||||||
|
|
||||||
Tout cela semble bien compliqué.
|
Tout cela semble bien compliqué.
|
||||||
|
39
chap/IRC.tex
Normal file
39
chap/IRC.tex
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
% ==============================================================
|
||||||
|
|
||||||
|
\chapter{Internet Relay Chat}
|
||||||
|
\index{IRC}
|
||||||
|
|
||||||
|
% ==============================================================
|
||||||
|
\section{hybrid}
|
||||||
|
\index{hybrid}
|
||||||
|
|
||||||
|
C'est le serveur utilisé par Smeuh. Une vrai galère à
|
||||||
|
configurer.
|
||||||
|
|
||||||
|
On se retrouve vite dans des situations critiques, du genre
|
||||||
|
un \#canal où il n'y a plus de @op, et donc, on ne peut
|
||||||
|
plus changer le topix, et là, \textbf{ça craint vraiment} !
|
||||||
|
|
||||||
|
% ==============================================================
|
||||||
|
|
||||||
|
\section{irssi}
|
||||||
|
\index{irssi}
|
||||||
|
|
||||||
|
\begin{quote}
|
||||||
|
Irssi is a modular Internet Relay Chat client. It is highly extensible
|
||||||
|
and very secure. Being a fullscreen, termcap\index{termcap} based
|
||||||
|
client with many features, Irssi is easily extensible through scripts
|
||||||
|
and modules.
|
||||||
|
\end{quote}
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
/recode add #gcu ISO-8859-15
|
||||||
|
pinpin0: çhârsèt ?
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
/SET autoclose_windows OFF
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
% ==============================================================
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
\chapter{Musical Instrument Digital Interface}
|
\chapter{Musical Instrument Digital Interface}
|
||||||
\label{MIDI} \index{MIDI}
|
\label{chap:midi} \index{MIDI}
|
||||||
|
|
||||||
Dans un premier temps, je vais me concentrer sur les
|
Dans un premier temps, je vais me concentrer sur les
|
||||||
services \textsc{midi} offerts par la couche ALSA d'un
|
services \textsc{midi} offerts par la couche ALSA d'un
|
||||||
@ -27,8 +27,6 @@ tth@plop:~/Muzak/Samples$ aseqdump -l
|
|||||||
14:0 Midi Through Midi Through Port-0
|
14:0 Midi Through Midi Through Port-0
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{aconnect}
|
\subsection{aconnect}
|
||||||
|
|
||||||
Maintenant que nous savons ce qui rentre dans notre machine,
|
Maintenant que nous savons ce qui rentre dans notre machine,
|
||||||
@ -139,3 +137,9 @@ MIDI::Track (3pm) - functions and methods for MIDI tracks
|
|||||||
|
|
||||||
% ---------------------------------------------------------
|
% ---------------------------------------------------------
|
||||||
|
|
||||||
|
\section{Et après ?}
|
||||||
|
|
||||||
|
OSC\index{OSC} (page \pageref{chap:osc}) semble une possibilité
|
||||||
|
pour aller au-delà.
|
||||||
|
|
||||||
|
% ---------------------------------------------------------
|
||||||
|
37
chap/MINITEL.tex
Normal file
37
chap/MINITEL.tex
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
% ===============================================================
|
||||||
|
\chapter{MINITEL}
|
||||||
|
\label{MINITEL}
|
||||||
|
|
||||||
|
Une très belle réussite technologique française, dont la fin de
|
||||||
|
vie est annoncée pour 2014.
|
||||||
|
Certains geeks pensent qu'il présente encore un grand intérêt,
|
||||||
|
à la fois historique et ludique
|
||||||
|
Le Tetalab\footnote{Un hackerspace à Toulouse}, par
|
||||||
|
exemple, les interface avec des Arduino\index{Arduino} afin
|
||||||
|
de diffuser des images pornographiques ou de contrôler des
|
||||||
|
appareils étranges.
|
||||||
|
|
||||||
|
|
||||||
|
% ===============================================================
|
||||||
|
|
||||||
|
\section{Xtel}
|
||||||
|
\index{Xtel}
|
||||||
|
|
||||||
|
Xtel est un émulateur de \textsc{minitel} pour les systèmes
|
||||||
|
Unix/X11, écrit par Pierre Ficheux vers 1997.
|
||||||
|
|
||||||
|
Il est architecturé selon le modèle client/serveur, comme
|
||||||
|
l'explique son \textsc{readme} :
|
||||||
|
|
||||||
|
\begin{quote}
|
||||||
|
Il est utilisable en réseau, c'est a dire qu'une des machines du
|
||||||
|
réseau commande les MODEMS et dialogue avec les services Télétel,
|
||||||
|
les utilisateurs de XTEL dialoguent avec cette machine "serveur"
|
||||||
|
par socket internet (utilisation d'un service TCP et du super-démon
|
||||||
|
"inetd").
|
||||||
|
\end{quote}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% ===============================================================
|
||||||
|
|
45
chap/OSC.tex
Normal file
45
chap/OSC.tex
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
\chapter{Open Sound Control}
|
||||||
|
\index{OSC} \label{chap:osc}
|
||||||
|
|
||||||
|
Wikipedia :
|
||||||
|
\textsl{OSC est un format de transmission de données entre ordinateurs,
|
||||||
|
synthétiseurs, robots ou tout autre matériel ou logiciel compatible,
|
||||||
|
conçu pour le contrôle en temps réel. Il utilise le réseau au travers
|
||||||
|
des protocoles UDP\index{UDP} ou TCP\index{OSC} et apporte des
|
||||||
|
améliorations entermes de rapidité et flexibilité par rapport
|
||||||
|
à l'ancienne norme MIDI\index{MIDI}\dots}
|
||||||
|
|
||||||
|
Actuellement, j'utilise (pour le C) \texttt{liblo}\index{liblo}
|
||||||
|
qui reste simple
|
||||||
|
à utiliser tout en permettant de descendre à un bas niveau.
|
||||||
|
Cette bibliothèque est livrée avec deux outils que nous
|
||||||
|
allos voir maintenant.
|
||||||
|
|
||||||
|
\section{oscdump \& oscsend}
|
||||||
|
\index{oscdump}\index{oscsend}
|
||||||
|
|
||||||
|
Ecouter :
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
tth@debian:~$ oscdump 1664
|
||||||
|
/tmp/kmem is 61 "meg, efface !"
|
||||||
|
^C
|
||||||
|
tth@debian:~$
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
Envoyer :
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
tth@debian:~$ oscsend localhost 1664 /tmp/kmem is 61 'meg, efface !'
|
||||||
|
tth@debian:~$
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\section{Exemple de code}
|
||||||
|
|
||||||
|
TODO\index{TODO}
|
||||||
|
|
||||||
|
\section{Autres logiciels}
|
||||||
|
|
||||||
|
Beaucoup d'autres logiciels peuvent être controlés par OSC.
|
||||||
|
|
||||||
|
|
28
chap/SCSI.tex
Normal file
28
chap/SCSI.tex
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
%
|
||||||
|
% nouveau 20 juillet 2014 ave StExupery
|
||||||
|
%
|
||||||
|
\chapter{SCSI}
|
||||||
|
\label{SCSI}
|
||||||
|
\index{SCSI}
|
||||||
|
|
||||||
|
Acronyme de \textit{Small Computer System Interface}.
|
||||||
|
Ce bus SCSI a été initialement créé par la société Shugart en 1979,
|
||||||
|
et a subit par la suite de nombreuses évolutions.
|
||||||
|
|
||||||
|
\section{lecteurs de DAT}
|
||||||
|
\index{DAT}
|
||||||
|
|
||||||
|
DAT = Digital Audio Tape.
|
||||||
|
|
||||||
|
Pour contrôler ce genre de matérien, on utilisera la commande
|
||||||
|
\texttt{mt(1)} : control magnetic tape drive operation.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\section{les scanners}
|
||||||
|
|
||||||
|
|
||||||
|
\section{le bas niveau}
|
||||||
|
|
||||||
|
|
45
chap/Usenet.tex
Normal file
45
chap/Usenet.tex
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
\chapter{Usenet}
|
||||||
|
\index{Usenet}
|
||||||
|
|
||||||
|
Je suis un vieux dino du grand \textsc{Usenet} mondial.
|
||||||
|
Mes premiers posts
|
||||||
|
doivent dater de quelques mois après l'arrivée de
|
||||||
|
\textsc{Compu\$erve} en France. C'est dire\dots
|
||||||
|
Et quand il m'arrive de parler de cet ancêtre des réseaux sociaux,
|
||||||
|
la question : « Usenet, c'est quoi ? » revient
|
||||||
|
parfois\footnote{Mais pas assez souvent, à mon gout\dots}.
|
||||||
|
On va essayer d'y répondre rapidement, avant de passer
|
||||||
|
aux outils qui le font fonctionner.
|
||||||
|
|
||||||
|
\textsl{Usenet was born approximately three decades ago, in 1979.
|
||||||
|
It all began as a small communication network between a few universities
|
||||||
|
in the United States used for the purposes of trading information,
|
||||||
|
sharing news, discussing new and exciting developments,
|
||||||
|
and collaborating on research results and projects.}
|
||||||
|
|
||||||
|
\section{slrn}
|
||||||
|
\index{slrn}
|
||||||
|
\label{slrn}
|
||||||
|
|
||||||
|
\begin{quote}
|
||||||
|
slrn is an easy to use but powerful NNTP / spool based newsreader.
|
||||||
|
It is highly customizable, supports scoring, free key bindings and can
|
||||||
|
be extended using the embedded S-Lang interpreter.
|
||||||
|
\end{quote}
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
printf 'set wrap_flags 7\nset wrap_width 72\n' >> .slrnrc
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\section{leafnode}
|
||||||
|
\index{leafnode}
|
||||||
|
|
||||||
|
Leafnode est l'outil essentiel si on désire troller au fond du jardin,
|
||||||
|
en dehors du rayon d'action de sa box.\index{troll}
|
||||||
|
|
||||||
|
\section{INN}
|
||||||
|
\index{INN}
|
||||||
|
|
||||||
|
Voilà, c'est le moment de parler de l'engin fondamental de ce réseau
|
||||||
|
de discussions. INN.
|
||||||
|
|
55
chap/debug.tex
Normal file
55
chap/debug.tex
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
\chapter{Debug}\index{Debug}
|
||||||
|
\label{chap:debug}
|
||||||
|
|
||||||
|
Quand plus rien ne marche, il existe encore un espoir...
|
||||||
|
|
||||||
|
\section{strace}\index{strace}
|
||||||
|
|
||||||
|
|
||||||
|
\section{LD\_PRELOAD}\index{LD\_PRELOAD}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{lstlisting}[language=C]
|
||||||
|
/*
|
||||||
|
spy_getenv.so: spy_getenv.c Makefile
|
||||||
|
gcc -Wall -shared -fPIC $< -ldl -o $@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#define __USE_GNU
|
||||||
|
#include <dlfcn.h>
|
||||||
|
|
||||||
|
typedef char * (*original_getenv)(const char *envname);
|
||||||
|
|
||||||
|
char *getenv(char *envname)
|
||||||
|
{
|
||||||
|
static char *arrow = "--getenv--> ";
|
||||||
|
static char *wtf = " --> WTF ?";
|
||||||
|
|
||||||
|
char *content;
|
||||||
|
original_getenv orig_getenv;
|
||||||
|
|
||||||
|
orig_getenv = (original_getenv)dlsym(RTLD_NEXT, "getenv");
|
||||||
|
|
||||||
|
write(STDERR_FILENO, arrow, strlen(arrow));
|
||||||
|
write(STDERR_FILENO, envname, strlen(envname));
|
||||||
|
|
||||||
|
content = orig_getenv(envname);
|
||||||
|
if (NULL != content) {
|
||||||
|
write(STDERR_FILENO, "=", 1);
|
||||||
|
write(STDERR_FILENO, content, strlen(content));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
write(STDERR_FILENO, wtf, strlen(wtf));
|
||||||
|
}
|
||||||
|
|
||||||
|
write(STDERR_FILENO, "\n", 1);
|
||||||
|
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
\end{lstlisting}
|
||||||
|
|
||||||
|
|
18
chap/dosbox.tex
Normal file
18
chap/dosbox.tex
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
% ----------------------------------------------------------
|
||||||
|
\chapter{Dosbox}
|
||||||
|
\index{dosbox}
|
||||||
|
|
||||||
|
Dosbox est un émulateur de machine MS-DOS avec le son et
|
||||||
|
le graphique. Il ne nécessite pas de système d'exploitation.
|
||||||
|
|
||||||
|
% ----------------------------------------------------------
|
||||||
|
\section{Popcorn}
|
||||||
|
\index{Popcorn}
|
||||||
|
|
||||||
|
\textbf{Popcorn} est un jeu de cassebrique écrit dans les années
|
||||||
|
80 pour tirer la quintessence des cartes graphiques CGA\index{CGA}.
|
||||||
|
|
||||||
|
% ----------------------------------------------------------
|
||||||
|
% ----------------------------------------------------------
|
||||||
|
|
||||||
|
|
47
chap/editeurs.tex
Normal file
47
chap/editeurs.tex
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
\chapter{Éditeurs}
|
||||||
|
\label{chap:editeurs}
|
||||||
|
|
||||||
|
\index{Vim}\index{gedit}
|
||||||
|
|
||||||
|
% -----------------------------------------------------------
|
||||||
|
\section{gedit}
|
||||||
|
|
||||||
|
Gedit\footnote{dans sa version 2.30.3} est un éditeur de texte
|
||||||
|
simple basé
|
||||||
|
sur Gtk\index{Gtk} pour le bureau
|
||||||
|
Gnome\index{Gnome}\footnote{On ne rigole pas dans le fond !}.
|
||||||
|
Entre autres fonctions basique, il fait la coloration
|
||||||
|
syntaxique\footnote{sauf pour le Postscript\index{postscript}, hélas.}.
|
||||||
|
Par contre,
|
||||||
|
contrairement\footnote{Si quelqu'un veut me contredire, il sait
|
||||||
|
comment faire},
|
||||||
|
il est très facilement scriptable : il suffit d'écrire
|
||||||
|
quelques lignes de shell\index{shell}. Vous voulez numéroter
|
||||||
|
les lignes d'un paragraphe ? Il suffit d'un tout petit morceau
|
||||||
|
de Awk\index{awk} que voici :
|
||||||
|
|
||||||
|
\begin{lstlisting}[language=awk]
|
||||||
|
#!/usr/bin/awk -f
|
||||||
|
{ printf "%5d\t%s\n", NR, $0; }
|
||||||
|
\end{lstlisting}
|
||||||
|
|
||||||
|
Ok ? Pigé le principe ?
|
||||||
|
Il ne reste plus qu'à intégrer ce bout de code dans les outils
|
||||||
|
personnalisables de Gedit.
|
||||||
|
|
||||||
|
|
||||||
|
% -----------------------------------------------------------
|
||||||
|
\section{emacs}
|
||||||
|
\index{emacs}
|
||||||
|
|
||||||
|
\textbf{Escape Meta Alt Control Del}
|
||||||
|
|
||||||
|
% -----------------------------------------------------------
|
||||||
|
\section{ed}
|
||||||
|
\index{ed}
|
||||||
|
|
||||||
|
\textsc{The only true one.} C'est de lui que tout est parti.
|
||||||
|
|
||||||
|
% -----------------------------------------------------------
|
||||||
|
|
||||||
|
|
48
chap/musique.tex
Normal file
48
chap/musique.tex
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
\chapter{Joueurs de musique}
|
||||||
|
\label{chap:musique}
|
||||||
|
|
||||||
|
Vous pouvez aussi aller voir la page \pageref{Son},
|
||||||
|
qui traite d'autres
|
||||||
|
problématiques liées au son.
|
||||||
|
|
||||||
|
%------------------------------------------------------------------
|
||||||
|
\section{mocp}
|
||||||
|
\index{mocp}
|
||||||
|
|
||||||
|
Le nom « Mocp » est l'abréviation de \textsc{Music on-consol Player}.
|
||||||
|
Personnellement, j'aime beaucoup son look, et son ergonomie parfois
|
||||||
|
déroutante.
|
||||||
|
% expliquer comment creer son theme personnel
|
||||||
|
|
||||||
|
%------------------------------------------------------------------
|
||||||
|
|
||||||
|
\section{mpd}
|
||||||
|
\index{mpd}
|
||||||
|
|
||||||
|
Le nom « Mpd » est l'abréviation de \textsc{Music Player Daemon}.
|
||||||
|
Il peut théoriquement\footnote{Théoriquement, parce que
|
||||||
|
je n'ai pas encore essayé :)}
|
||||||
|
\textit{feeder} un serveur Icecast\index{icecast}.
|
||||||
|
|
||||||
|
%------------------------------------------------------------------
|
||||||
|
\section{Audacious}
|
||||||
|
\index{xmms}
|
||||||
|
|
||||||
|
%------------------------------------------------------------------
|
||||||
|
\section{Effets sonores}
|
||||||
|
|
||||||
|
Ladspa ?
|
||||||
|
\index{ladspa}
|
||||||
|
|
||||||
|
%------------------------------------------------------------------
|
||||||
|
|
||||||
|
\section{Les playlists}
|
||||||
|
\index{pls}\index{m3u}
|
||||||
|
|
||||||
|
Une \textit{playlist} est (en général) un fichier contenant une
|
||||||
|
liste de musiques à écouter.
|
||||||
|
|
||||||
|
|
||||||
|
%------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
17
chap/puredata.tex
Normal file
17
chap/puredata.tex
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
\chapter{Puredata}
|
||||||
|
\label{Puredata}\index{Puredata}
|
||||||
|
|
||||||
|
\section{Premiers pas}
|
||||||
|
|
||||||
|
Hop, on y va... Attention, la première marche semble assez rude.
|
||||||
|
|
||||||
|
\section{Lire un fichier WAV}
|
||||||
|
\index{WAV}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
42
chap/slang.tex
Normal file
42
chap/slang.tex
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
\chapter{S-lang}
|
||||||
|
\label{S-lang}
|
||||||
|
\index{S-lang}
|
||||||
|
|
||||||
|
\section{C'est quoi ?}
|
||||||
|
|
||||||
|
S-lang est une bibliothèque de fonctions multi-plateforme
|
||||||
|
pour faire des trucs
|
||||||
|
sympathiques dans des
|
||||||
|
consoles texte.
|
||||||
|
L'exemple le plus éblouissant étant le célèbre
|
||||||
|
\texttt{slrn}\index{slrn} : "s-lang news reader", dont on cause plus
|
||||||
|
longuement dans les pages consacrées à Usenet\index{Usenet}
|
||||||
|
(page \pageref{slrn}).
|
||||||
|
|
||||||
|
\section{slsh}
|
||||||
|
\index{slsh}
|
||||||
|
|
||||||
|
Autour de s-lang, on trouve un interpréteur de scripts.
|
||||||
|
|
||||||
|
Voyons un premier exemple d'utilisation, inspiré de l'exemple de la
|
||||||
|
manpage\footnote{vous lisez bien les pages de man ?}, et qui montre
|
||||||
|
l'utilisation en mode interactif :
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
tth@plop:~/Essais/Slang$ slsh
|
||||||
|
slsh version 0.8.4-1; S-Lang version: 2.2.2
|
||||||
|
|
||||||
|
slsh> 3*10;
|
||||||
|
30
|
||||||
|
slsh> x = [1:20];
|
||||||
|
slsh> sum (sin(x)-cos(x));
|
||||||
|
0.45861331748677714
|
||||||
|
slsh> print x;
|
||||||
|
Usage: print (OBJ [,&str|File_Type|Filename]);
|
||||||
|
Qualifiers: pager[=pgm], nopager
|
||||||
|
slsh> ^D
|
||||||
|
tth@plop:~/Essais/Slang$
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
Cool...
|
||||||
|
|
@ -168,6 +168,9 @@ play -n synth sine 480 sine 620 remix 1-2 fade 0 0.5 delay 0.5 repeat 5
|
|||||||
voies mono en un fichier stéréo. \texttt{-M} est l'abréviation
|
voies mono en un fichier stéréo. \texttt{-M} est l'abréviation
|
||||||
de \texttt{--combine merge}.
|
de \texttt{--combine merge}.
|
||||||
|
|
||||||
|
Question en attente : comment combiner huit pistes monophoniques
|
||||||
|
en un seul fichier ?
|
||||||
|
|
||||||
%------------------------------------------------------------------
|
%------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
@ -195,7 +195,12 @@ interface (e.g. sound card), encodes it and sends it to a streaming server.
|
|||||||
|
|
||||||
|
|
||||||
%====================================================================
|
%====================================================================
|
||||||
|
\section{libshout}\index{libshout}\label{libshout}
|
||||||
|
|
||||||
|
Mais c'est quoi ?\index{XXX}
|
||||||
|
|
||||||
|
|
||||||
|
%====================================================================
|
||||||
|
|
||||||
%-------------------------------------------------------------
|
%-------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -61,7 +61,8 @@ done |
|
|||||||
ffmpeg -f image2pipe -c png -i - ...
|
ffmpeg -f image2pipe -c png -i - ...
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
Plus quelques trucs en vrac :
|
|
||||||
|
\subsection{quelques trucs en vrac}
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
fichier .avi -> mpeg ( qualité DVD )
|
fichier .avi -> mpeg ( qualité DVD )
|
||||||
@ -90,6 +91,22 @@ préciser le coef de qualité ( qscale : 1 = le mieux / 3 = correcte )
|
|||||||
ffmpeg -i fichier.dv -target pal-dvd -qscale 2 Fichier.mpeg
|
ffmpeg -i fichier.dv -target pal-dvd -qscale 2 Fichier.mpeg
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
|
\subsection{Encoder un cloître}
|
||||||
|
|
||||||
|
Là, nous sommes dans du \textsl{serious bizness}, puisque cette vidéo
|
||||||
|
a été programmée par James Lewis pour la résidence « Sonoptic 2020 ».
|
||||||
|
C'est donc un exemple réel.
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
ffmpeg -nostdin \
|
||||||
|
-y -r 30 -f image2 -i lf/%06d.png \
|
||||||
|
-metadata artist='--[ tTh ]--' \
|
||||||
|
-metadata title='-- Un cloitre en POVray --' \
|
||||||
|
-c:v libx264 \
|
||||||
|
-pix_fmt yuv420p \
|
||||||
|
-tune film \
|
||||||
|
wip.mp4
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
% --------------------------------------------------------------------
|
% --------------------------------------------------------------------
|
||||||
|
|
||||||
|
28
main.tex
28
main.tex
@ -7,6 +7,9 @@
|
|||||||
\usepackage{graphicx}
|
\usepackage{graphicx}
|
||||||
\usepackage{listings}
|
\usepackage{listings}
|
||||||
|
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
|
||||||
|
|
||||||
\makeindex
|
\makeindex
|
||||||
|
|
||||||
\setlength \parindent {1em}
|
\setlength \parindent {1em}
|
||||||
@ -44,7 +47,8 @@ peut-être pas vraiment d'actualité.
|
|||||||
|
|
||||||
Tout cette ouvrage a été écrit avec mousepad et \LaTeX{}
|
Tout cette ouvrage a été écrit avec mousepad et \LaTeX{}
|
||||||
selon la méthode éprouvée dite
|
selon la méthode éprouvée dite
|
||||||
de «~La~Rache~», essentiellement sur une machine Debian/amd64.
|
de «~La~Rache~»\index{rache},
|
||||||
|
essentiellement sur une machine Debian/amd64.
|
||||||
|
|
||||||
\vspace{5em}
|
\vspace{5em}
|
||||||
|
|
||||||
@ -58,34 +62,36 @@ Your mileage may vary\dots
|
|||||||
}
|
}
|
||||||
% ==============================================================
|
% ==============================================================
|
||||||
|
|
||||||
% \input{chap/editeurs}
|
\input{chap/editeurs}
|
||||||
\input{chap/son}
|
\input{chap/son}
|
||||||
\input{chap/image}
|
\input{chap/image}
|
||||||
% \input{chap/musique}
|
\input{chap/musique}
|
||||||
% \input{chap/puredata}
|
\input{chap/puredata}
|
||||||
\input{chap/MIDI}
|
\input{chap/MIDI}
|
||||||
|
\input{chap/OSC}
|
||||||
\input{chap/backups}
|
\input{chap/backups}
|
||||||
\input{chap/processing}
|
\input{chap/processing}
|
||||||
\input{chap/video}
|
\input{chap/video}
|
||||||
\input{chap/gnuplot}
|
\input{chap/gnuplot}
|
||||||
\input{chap/webcam}
|
\input{chap/webcam}
|
||||||
% \input{chap/SCSI}
|
\input{chap/SCSI}
|
||||||
\input{chap/X11}
|
\input{chap/X11}
|
||||||
\input{chap/dino}
|
\input{chap/dino}
|
||||||
\input{chap/textes}
|
\input{chap/textes}
|
||||||
% \input{chap/MINITEL}
|
\input{chap/MINITEL}
|
||||||
\input{chap/threads}
|
\input{chap/threads}
|
||||||
% \input{chap/dosbox}
|
\input{chap/dosbox}
|
||||||
\input{chap/photos}
|
\input{chap/photos}
|
||||||
|
\input{chap/debug}
|
||||||
\input{chap/reseau}
|
\input{chap/reseau}
|
||||||
% \input{chap/IRC}
|
\input{chap/IRC}
|
||||||
% \input{chap/Usenet}
|
\input{chap/Usenet}
|
||||||
% \input{chap/DNS}
|
\input{chap/DNS}
|
||||||
\input{chap/ssh}
|
\input{chap/ssh}
|
||||||
\input{chap/hardware}
|
\input{chap/hardware}
|
||||||
\input{chap/streaming}
|
\input{chap/streaming}
|
||||||
\input{chap/gadgets}
|
\input{chap/gadgets}
|
||||||
% \input{chap/slang}
|
\input{chap/slang}
|
||||||
\input{chap/curses}
|
\input{chap/curses}
|
||||||
\input{chap/WiFi}
|
\input{chap/WiFi}
|
||||||
\input{chap/GIT}
|
\input{chap/GIT}
|
||||||
|
Loading…
Reference in New Issue
Block a user