init project
77
cli/mpd.rst
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
MPD
|
||||||
|
###
|
||||||
|
|
||||||
|
:date: 2021-06-08 23:30
|
||||||
|
:modified: 2021-06-08 23:30
|
||||||
|
:tags: divers, cli, multimedia
|
||||||
|
:category: cli
|
||||||
|
:slug: mpd
|
||||||
|
:authors: Milka64
|
||||||
|
:summary: **MPD** est un lecteur de musique qui tourne en daemon.
|
||||||
|
:status: published
|
||||||
|
|
||||||
|
Présentation
|
||||||
|
------------
|
||||||
|
|
||||||
|
MPD (Music Player Daemon) est, comme son nom l'indique, est un daemon qui joue de la musique.
|
||||||
|
|
||||||
|
Écrit en C, il est publié sous license GPLv2.
|
||||||
|
|
||||||
|
Fonctionement
|
||||||
|
-------------
|
||||||
|
|
||||||
|
MPD utilise une base de donnée fichier (comme sqlite3) pour stocker les informations de base des fichier audio. Le path de cette base est bien évidement configurable.
|
||||||
|
|
||||||
|
Il lit les fichiers en local et peut-être controlé par un client (local ou via réseau).
|
||||||
|
|
||||||
|
Configuration
|
||||||
|
-------------
|
||||||
|
|
||||||
|
La configuration est très simple
|
||||||
|
|
||||||
|
.. code-block:: kconfig
|
||||||
|
|
||||||
|
music_directory "~/Musique"
|
||||||
|
playlist_directory "~/Playlists"
|
||||||
|
db_file "~/.mpd.db"
|
||||||
|
log_file "syslog"
|
||||||
|
state_file "/var/lib/mpd/mpdstate"
|
||||||
|
auto_update "yes"
|
||||||
|
|
||||||
|
|
||||||
|
Et c'est tout ?
|
||||||
|
|
||||||
|
Et bien oui. On peut y ajouter tout plein d'options, de plugins, etc ... Mais l'essentiel est là.
|
||||||
|
|
||||||
|
Et maintenant?
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Et bien maintenant, nous pouvons lancer le démon de façon très simple
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ mpd
|
||||||
|
|
||||||
|
|
||||||
|
et y connecter un client, on va commencer par utiliser mpc.
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ mpc update
|
||||||
|
Updating DB (#1) ...
|
||||||
|
volume: n/a repeat: off random: on single: off consume: off
|
||||||
|
$ mpc add /
|
||||||
|
$ mpc play
|
||||||
|
Artist_name - Song_name
|
||||||
|
[playing] #167/1427 0:00/4:32 (0%)
|
||||||
|
volume: n/a repeat: off random: on single: off consume: off
|
||||||
|
$ mpc next
|
||||||
|
Artist_name - Song_name
|
||||||
|
[playing] #414/1427 0:00/3:22 (0%)
|
||||||
|
volume: 99% repeat: off random: on single: off consume: off
|
||||||
|
$ mpc stop
|
||||||
|
volume: 99% repeat: off random: on single: off consume: off
|
||||||
|
|
||||||
|
|
||||||
|
Les commandes parlent d'elle même, on update la DB, on ajoute toute la librairie musicale, on play, passe à la suivante et enfin on STOP.
|
||||||
|
|
87
cli/taskwarrior.rst
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
Taskwarrior
|
||||||
|
###########
|
||||||
|
|
||||||
|
:date: 2021-06-10 22:15
|
||||||
|
:modified: 2021-06-10 22:15
|
||||||
|
:tags: divers, cli
|
||||||
|
:category: cli
|
||||||
|
:slug: taskwarrior
|
||||||
|
:authors: Milka64
|
||||||
|
:summary: **Taskwarrior**, le meilleur gestionnaire de TODOlist de tout les temps!
|
||||||
|
:status: published
|
||||||
|
|
||||||
|
Un petit article pour vous faire découvrir un logiciel en ligne de commande.
|
||||||
|
|
||||||
|
Si il y a bien un outil que j'affectionne depuis plusieurs années, c'est Taskwarrior.
|
||||||
|
|
||||||
|
Ce logiciel permet de gérer tout type de tâche. De la tâche la plus simple à la tache hebdomadaire mais seulement pendant 6 mois.
|
||||||
|
|
||||||
|
Exemple d'utilisation
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Ajout d'une tâche et sa suppression.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
$ task add do something
|
||||||
|
Created task 1.
|
||||||
|
|
||||||
|
$ task list
|
||||||
|
|
||||||
|
ID Age Description Urg
|
||||||
|
1 35s do something 0
|
||||||
|
|
||||||
|
1 task
|
||||||
|
$ task 1 done
|
||||||
|
Completed task 1 'do something'.
|
||||||
|
Completed 1 task.
|
||||||
|
|
||||||
|
|
||||||
|
On peut éditer une tâche via son éditeur préféré (variable $EDITOR)
|
||||||
|
|
||||||
|
.. code-block:: vim
|
||||||
|
|
||||||
|
$ task edit 2
|
||||||
|
# Name Editable details
|
||||||
|
# ----------------- ----------------------------------------------------
|
||||||
|
# ID: 2
|
||||||
|
# UUID: 24935a08-7577-4190-adc4-dc535382045b
|
||||||
|
# Status: Pending
|
||||||
|
# Mask:
|
||||||
|
# iMask:
|
||||||
|
Project:
|
||||||
|
# Separate the tags with spaces, like this: tag1 tag2
|
||||||
|
Tags:
|
||||||
|
Description: do another thing
|
||||||
|
Created: 2021-06-10 22:15:09
|
||||||
|
Started:
|
||||||
|
Ended:
|
||||||
|
Scheduled:
|
||||||
|
Due:
|
||||||
|
Until:
|
||||||
|
Recur:
|
||||||
|
Wait until:
|
||||||
|
# Modified: 2021-06-10 22:15:09
|
||||||
|
Parent:
|
||||||
|
# Annotations look like this: <date> -- <text> and there can be any number of them.
|
||||||
|
# The ' -- ' separator between the date and text field should not be removed.
|
||||||
|
# A "blank slot" for adding an annotation follows for your convenience.
|
||||||
|
Annotation: 2021-06-10 22:15:26 --
|
||||||
|
# Dependencies should be a comma-separated list of task IDs/UUIDs or ID ranges, with no spaces.
|
||||||
|
Dependencies:
|
||||||
|
# User Defined Attributes
|
||||||
|
UDA priority:
|
||||||
|
# End
|
||||||
|
|
||||||
|
Tout un tat de fonctionnalité sont disponibles:
|
||||||
|
|
||||||
|
* échéance
|
||||||
|
* dépendances entre tâches
|
||||||
|
* priorité
|
||||||
|
* classement par projets
|
||||||
|
* tags
|
||||||
|
* possibilité de cacher une tache jusqu'a une certaine date
|
||||||
|
|
||||||
|
Pour plus d'infos, je vous recommande l'excellent article de Linux Pratique
|
||||||
|
https://connect.ed-diamond.com/Linux-Pratique/LP-072/Taskwarrior-rien-que-pour-vos-taches
|
||||||
|
|
11
cli/vdirsyncer.rst
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
Vdirsyncer & Khal
|
||||||
|
#################
|
||||||
|
|
||||||
|
:date: 2021-06-20 18:30
|
||||||
|
:modified: 2021-06-20 23:30
|
||||||
|
:tags: divers, cli
|
||||||
|
:category: cli
|
||||||
|
:slug: vdirsyncr_khal
|
||||||
|
:authors: Milka64
|
||||||
|
:summary: vdirsyncer & khal
|
||||||
|
:status: draft
|
11
cli/weather.rst
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
Weather
|
||||||
|
#######
|
||||||
|
|
||||||
|
:date: 2021-06-20 18:30
|
||||||
|
:modified: 2021-06-20 23:30
|
||||||
|
:tags: divers, cli
|
||||||
|
:category: cli
|
||||||
|
:slug: weather
|
||||||
|
:authors: Milka64
|
||||||
|
:summary: weather
|
||||||
|
:status: draft
|
BIN
images/profil.jpg
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
images/sway_logo.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
images/test.png
Normal file
After Width: | Height: | Size: 164 KiB |
BIN
random/images/sway/gtk3-folder.png
Normal file
After Width: | Height: | Size: 93 KiB |
BIN
random/images/sway/split.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
random/images/sway/swaylock.png
Normal file
After Width: | Height: | Size: 872 KiB |
BIN
random/images/sway/waybar.png
Normal file
After Width: | Height: | Size: 126 KiB |
70
random/intro.rst
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
Introduction
|
||||||
|
############
|
||||||
|
|
||||||
|
:date: 2020-10-25 15:20
|
||||||
|
:modified: 2020-10-25 15:20
|
||||||
|
:tags: divers
|
||||||
|
:category: divers
|
||||||
|
:slug: introduction
|
||||||
|
:authors: Milka64
|
||||||
|
:summary: Présentation du blog: qui suis-je? où vais-je? dans quelle étagère?
|
||||||
|
:status: published
|
||||||
|
|
||||||
|
.. _Amstrad CPC464: https://fr.wikipedia.org/wiki/Amstrad_CPC_464
|
||||||
|
.. _Lilo: https://fr.wikipedia.org/wiki/Lilo
|
||||||
|
|
||||||
|
Moi
|
||||||
|
---
|
||||||
|
|
||||||
|
Je suis quelqu'un de curieux, de passionné, autodidacte et amoureux de l'opensource. J'aime me simplifier la vie en automatisant tout ce qui peut l'être.
|
||||||
|
|
||||||
|
Aussi longtemps que je me souvienne, j'ai toujours été attiré par la tech (au sens large). J'ai fait mes premiers pas sur un `Amstrad CPC464`_. J'y lançais des jeux stockés sur une cassette audio, on pouvait les dupliquer rien qu'avec une chaine hi-fi. La belle époque ...
|
||||||
|
|
||||||
|
J'ai gardé cette bête une bonne dizaine d'années et j'ai migré sur un Pentium II, sous windows 98 SE ! C'est à ce moment la ou j'ai commencé à m'interresser aux composants interne, à l'évolution d'un PC et à bidouiller mon OS.
|
||||||
|
|
||||||
|
Puis, au fil des années, j'ai peu à peu entendu parler de l'open source et de Linux.
|
||||||
|
|
||||||
|
J'ai dans un premier temps testé un liveCD qui était conseillé par un site de news (genre Clubic/NextInpact). Et, petit à petit, j'ai appris à partitionner mon disque, gérer le multiboot (`Lilo`_ a l'époque), les différents bureaux disponibles (pouvoir choisir son bureau, je ne comprends pas pourquoi Microsoft ne s'y met toujours pas ...), etc ...
|
||||||
|
|
||||||
|
J'ai donc débarqué dans le monde du travail avec une première expérience perso d'un OS alternatif et j'ai très vite installé un linux sur HDD externe. Ça a été très formateur de devoir trouver des alternatives à différents logiciels proprietaires et métiers. J'y ai également découvert mes premières lignes de code et j'ai tout de suite vu l'intérêt de pouvoir scripter tout un tas de choses.
|
||||||
|
|
||||||
|
J'ai, quelques temps après ma première embauche, intégré le LUG local et découvert tout type de profil (que je ne pensais pas découvrir dans une association de ce genre).
|
||||||
|
|
||||||
|
Pourquoi
|
||||||
|
--------
|
||||||
|
|
||||||
|
Alors pourquoi un blog alors que ce n'est plus du tout "à la mode"? Pourquoi pas une chaine youtube, twitch ou d'autres plateformes plus récentes? Tout simplement parce que je trouve ce format plus simple a tenir à jour, un éditeur de texte suffit et je peux même ecrire depuis mon smartphone si ça me chante.
|
||||||
|
|
||||||
|
C'est aussi un très bon exercice de rédaction. Je suis souvent ammené à écrire de la documentation, des compte rendu, etc ... Je me suis dis qu'un blog pouvais m'aider à progresser.
|
||||||
|
|
||||||
|
J'ai pris le parti de l'écrire en français. Non pas par chauvisme ou autre, mais je trouve que les débutants que je côtoie ont du mal à trouver des infos dans la jungle des articles anglophones (ce qui n'exclue pas que je traduise certains articles).
|
||||||
|
|
||||||
|
Et enfin la dernière raision , c'est que j'ai toujours aimé pouvoir partager mon expérience, ce qui a fonctionné et ce qui a raté. Pouvoir échanger, sur les avis, les optionions.
|
||||||
|
|
||||||
|
|
||||||
|
Comment
|
||||||
|
-------
|
||||||
|
|
||||||
|
Ce blog utilise principalement deux outils :
|
||||||
|
|
||||||
|
- Git : pour le versionning des articles
|
||||||
|
- Pelican : pour le rendu html
|
||||||
|
|
||||||
|
Lorsque je push dans git, le site est reconstrui automatiquement avec les dernirères modiications.
|
||||||
|
|
||||||
|
C'est simple, efficace, pas besoin de se casser la tete avec une sauvegarde d'une quelconque base de données, les articles sont sur de simple fichier texte.
|
||||||
|
|
||||||
|
Le tout est auto-heberger sur un serveur d'occasion que j'ai sauvé de la destruction.
|
||||||
|
|
||||||
|
Quoi
|
||||||
|
----
|
||||||
|
|
||||||
|
Alors, de quoi vais-je bien pouvoir parler ici ? Il y a bien des thèmes qui viennent en têtei et voici une liste non-exhaustive :
|
||||||
|
|
||||||
|
- réseau
|
||||||
|
- un peu de code (& pas de cul, on n'est pas sur sam&max)
|
||||||
|
- administration système
|
||||||
|
- sécurité
|
||||||
|
- de l'électronique/domotique
|
||||||
|
- et j'en oublie certainement plein d'autres
|
||||||
|
|
572
random/sway.rst
Normal file
|
@ -0,0 +1,572 @@
|
||||||
|
SwayWM
|
||||||
|
######
|
||||||
|
|
||||||
|
:date: 2021-05-22 23:30
|
||||||
|
:modified: 2020-06-10 22:00
|
||||||
|
:tags: divers, desktop, wayland
|
||||||
|
:category: divers
|
||||||
|
:slug: sway
|
||||||
|
:authors: Milka64
|
||||||
|
:summary: À la découverte de **swayWM**, le clone de i3 sous wayland. En bonus pas mal d'outils bien utile...
|
||||||
|
:status: published
|
||||||
|
|
||||||
|
Sway, c'est quoi?
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
**SwayWM** est un gestionnaire de fenêtre (sous *Wayland*) qui a pour but de remplacer **i3** (*x11*).
|
||||||
|
|
||||||
|
La configuration est même compatible de i3 vers sway.
|
||||||
|
|
||||||
|
Sway organise les fenêtres par division de l'espace en éléments de plus petites tailles. La première fenêtre ouverte *A* occupera tout l'espace. Lorsqu'une nouvelle fenêtre B est créée, elle prendra la moitié de l'espace (horizontalement ou verticalement) réduisant donc la taille de A de moitié.
|
||||||
|
|
||||||
|
Si une nouvelle fenêtre C est créée, elle divisera encore l'espace d'une des deux autres fenêtres (selon le focus).
|
||||||
|
|
||||||
|
.. image:: {attach}images/sway/split.png
|
||||||
|
:alt: split des fenêtres
|
||||||
|
:target: {attach}images/sway/split.png
|
||||||
|
|
||||||
|
Sway permet également d'utiliser des *workspaces*, l'équivalent des **Bureaux** sous d'autres environnements (Gnome,KDE, etc), à la différence qu'ici un workspace utilise un écran et ne peut être étendu à d'autres écrans.
|
||||||
|
|
||||||
|
|
||||||
|
Wayland, le nouveau X11
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
Comme je le disait précédement, Sway utilise Wayland.
|
||||||
|
|
||||||
|
Il permet, entre autre, une meilleure sécurité que X11, un code plus moderne, mais moins mature.
|
||||||
|
|
||||||
|
Mais **tout n'est pas rose**, il y a quelques applications qui ne sont pas compatible (ou du moin en parti).
|
||||||
|
|
||||||
|
Mais les choses semblent aller de l'avant, exemple : **OBS-studio** a rendu, depuis peu, son logiciel compatbile Wayland.
|
||||||
|
|
||||||
|
Configuration
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Tous se fait via le fichier de configuration ``~/.config/sway/config``. Il est extensible et peut donc être découper au besoin.
|
||||||
|
|
||||||
|
La syntaxe est assez simple pour la plupart des usages et reste lisible.
|
||||||
|
|
||||||
|
J'ai personnellement choisi de versionner ce fichier dans mon **Gitlab**, ce qui me permet d'avoir la même configuration sur tous mes postes.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
xwayland enabled
|
||||||
|
|
||||||
|
default_border normal
|
||||||
|
default_floating_border normal
|
||||||
|
set $opacity 0.9
|
||||||
|
|
||||||
|
|
||||||
|
Ici, je crée une variable ``$mod`` avec ``Mod4`` comme valeur.
|
||||||
|
|
||||||
|
``Mod4`` correspont à la touche Windows.
|
||||||
|
|
||||||
|
Ensuite, j'active Xwayland qui permet d'ouvrir des applications X11 sour wayland (en réalité, il ouvre un serveur X dans wayland)
|
||||||
|
|
||||||
|
Et je termine par la configuration des bordures et de l'opacité des fenêtres.
|
||||||
|
|
||||||
|
Ce fichier cherche a ouvrir ``config.local`` qui lui est spécifique au poste (Configuration éran, clavier, etc ...)
|
||||||
|
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
include ~/.config/sway/config.local
|
||||||
|
|
||||||
|
|
||||||
|
Gestion des écrans
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Le double écran se configure aussi explicitement que le reste.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
output HDMI1 pos 0 0 res 1920x1080
|
||||||
|
output eDP1 pos 1920 0 res 1600x900
|
||||||
|
|
||||||
|
L'écran HDMI1 est à gauche, avec une résolution de 1920x1080 et le seconde écran (eDP1) est à droit avec une résolution de 1600x900.
|
||||||
|
|
||||||
|
Pour déterminer le nom des écran, il suffit d'utiliser la commande suivante.
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ swaymsg -t get_outputs
|
||||||
|
|
||||||
|
Workspaces
|
||||||
|
----------
|
||||||
|
|
||||||
|
Les workspaces sont donc l'équivalent des Bureaux sous **Gnome**/**KDE**/... on peut en configurer autant que l'on veut en leurs assignant simplement un raccourci clavier (voir plus bas).
|
||||||
|
|
||||||
|
Moi, je bascule d'un workspace à l'autre en utilisant la touche windows + le numéro du workspace (pour le workspace 4 : <Windows>+4)
|
||||||
|
|
||||||
|
Il y a également la possibilité de placer les workspaces sur un écran plutôt qu'un autre, et d'autres fonctions mais j'y reviendrais plus tard (via un MAJ de l'article).
|
||||||
|
|
||||||
|
Shortcuts : simplicité, efficacité
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
Les raccourcis clavier se configurent avec ``bindsym``.
|
||||||
|
|
||||||
|
Ci dessous, je configure mes raccourcis clavier pour les workspaces.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+KP_1 workspace 1
|
||||||
|
bindsym $mod+KP_2 workspace 2
|
||||||
|
bindsym $mod+KP_3 workspace 3
|
||||||
|
bindsym $mod+KP_4 workspace 4
|
||||||
|
bindsym $mod+KP_5 workspace 5
|
||||||
|
bindsym $mod+KP_6 workspace 6
|
||||||
|
bindsym $mod+KP_7 workspace 7
|
||||||
|
bindsym $mod+KP_8 workspace 8
|
||||||
|
bindsym $mod+KP_9 workspace 9
|
||||||
|
bindsym $mod+KP_0 workspace 10
|
||||||
|
|
||||||
|
**KP_1** correspond à la touche 1 du pavé numérique.
|
||||||
|
|
||||||
|
Mais bindsym peut également lancer des applications.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+t exec alacritty
|
||||||
|
|
||||||
|
Un autre de mes raccourcis que je trouve bien utile
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# Reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
|
||||||
|
Sway peut utiliser des "modes". Lorsque l'un de ces modes sont activé, les raccourci claviers sont unique a ce mode.
|
||||||
|
|
||||||
|
Par exemple, moi j'utilise principalement trois modes:
|
||||||
|
|
||||||
|
* **default** : raccourcis claviers par défault
|
||||||
|
* **open** : il me permet d'ouvrir les applications que j'utilise souvent
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
mode "open" {
|
||||||
|
bindsym e exec emoji-picker; mode "default"
|
||||||
|
bindsym f exec firefox; mode "default"
|
||||||
|
bindsym m exec thunderbird; mode "default"
|
||||||
|
bindsym t exec alacritty; mode "default"
|
||||||
|
|
||||||
|
|
||||||
|
# return to default mode
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+o mode "open"
|
||||||
|
|
||||||
|
|
||||||
|
* **resize** : il me permet de redimensionner les fenêtres
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
mode "resize" {
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Up resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Down resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# return to default mode
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
|
||||||
|
Autostart : rien de plus facile
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
Les applications lancées à l'ouverture de la session se font tout simplement dans le même fichier que le reste de la configuration.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
exec mako
|
||||||
|
exec /path/to/some/executable
|
||||||
|
|
||||||
|
Mes Dotfiles à moi
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Vous pouvez retrouver la totalité de mes Dotfiles Ici.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
:linenos:
|
||||||
|
|
||||||
|
include ~/.config/sway/config.local
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
xwayland enabled
|
||||||
|
|
||||||
|
default_border normal
|
||||||
|
default_floating_border normal
|
||||||
|
set $opacity 0.9
|
||||||
|
|
||||||
|
#################
|
||||||
|
# #
|
||||||
|
# windows rules #
|
||||||
|
# #
|
||||||
|
#################
|
||||||
|
|
||||||
|
for_window [class=".*"] border pixel 4
|
||||||
|
for_window [title="."] border pixel 4
|
||||||
|
|
||||||
|
for_window [class=".*"] opacity $opacity
|
||||||
|
for_window [app_id=".*"] opacity $opacity
|
||||||
|
for_window [floating=".*"] opacity 1
|
||||||
|
|
||||||
|
for_window [app_id="firefox" title="^Incrustation vidéo$"] \
|
||||||
|
floating enable, move position 477 450, sticky enable, opacity 1
|
||||||
|
for_window [app_id="emoji-picker"] \
|
||||||
|
floating enable, move position 477 450, sticky enable, opacity 1
|
||||||
|
for_window [class="Steam" title="^Friends List$"] \
|
||||||
|
floating enable, move position 1456, 43, sticky enable
|
||||||
|
for_window [class="Steam" title="^Steam - News.*"] \
|
||||||
|
floating enable, move position 1456, 43, sticky enable
|
||||||
|
|
||||||
|
#################
|
||||||
|
# #
|
||||||
|
# Gaps #
|
||||||
|
# #
|
||||||
|
#################
|
||||||
|
gaps inner 10
|
||||||
|
gaps outer 4
|
||||||
|
|
||||||
|
|
||||||
|
##################
|
||||||
|
# #
|
||||||
|
# windows colors #
|
||||||
|
# #
|
||||||
|
##################
|
||||||
|
|
||||||
|
client.focused #3a8b23 #3a8b23 #000000 #3a8b23 #3a8b23
|
||||||
|
client.focused_inactive #94b78a #94b78a #000000 #94b78a #94b78a
|
||||||
|
client.unfocused #505050 #505050 #000000 #ffffff #505050
|
||||||
|
client.urgent #ffffff #ffffff #000000 #ffffff #ffffff
|
||||||
|
client.placeholder #505050 #505050 #000000 #505050 #505050
|
||||||
|
|
||||||
|
###############
|
||||||
|
# #
|
||||||
|
# Wallpaper #
|
||||||
|
# #
|
||||||
|
###############
|
||||||
|
|
||||||
|
set $wallpapers_path $HOME/.config/wallpapers
|
||||||
|
output * bg `find $wallpapers_path -type f | shuf -n 1` fill
|
||||||
|
|
||||||
|
##############
|
||||||
|
# #
|
||||||
|
# autostart #
|
||||||
|
# #
|
||||||
|
##############
|
||||||
|
|
||||||
|
exec mako
|
||||||
|
exec autotiling
|
||||||
|
exec --no-startup-id xsettingsd &
|
||||||
|
exec /opt/sway-alttab/target/release/sway-alttab
|
||||||
|
exec alacritty
|
||||||
|
|
||||||
|
#########################
|
||||||
|
# #
|
||||||
|
# Let's play musique #
|
||||||
|
# #
|
||||||
|
#########################
|
||||||
|
|
||||||
|
exec mount.sshfs 0w.tf:/data/Downloads/Musique ~/Musique
|
||||||
|
exec swayidle -w timeout 360 "~/.config/custom_scripts/swayloack.sh"
|
||||||
|
exec mpd && mpc add / && mpc random on
|
||||||
|
|
||||||
|
#####################
|
||||||
|
# #
|
||||||
|
# Keyboard config #
|
||||||
|
# #
|
||||||
|
#####################
|
||||||
|
|
||||||
|
input "type:keyboard" {
|
||||||
|
xkb_layout fr
|
||||||
|
xkb_variant ,nodeadkeys
|
||||||
|
xkb_numlock enabled
|
||||||
|
}
|
||||||
|
input * xkb_model "logitech_g15"
|
||||||
|
|
||||||
|
################
|
||||||
|
# #
|
||||||
|
# Workspaces #
|
||||||
|
# #
|
||||||
|
################
|
||||||
|
|
||||||
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
|
set $ws1 "1"
|
||||||
|
set $ws2 "2"
|
||||||
|
set $ws3 "3"
|
||||||
|
set $ws4 "4"
|
||||||
|
set $ws5 "5"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9"
|
||||||
|
set $ws10 "10"
|
||||||
|
|
||||||
|
#######################
|
||||||
|
# #
|
||||||
|
# keyboard shortcut #
|
||||||
|
# #
|
||||||
|
#######################
|
||||||
|
|
||||||
|
|
||||||
|
# Open generic soft with a key:
|
||||||
|
|
||||||
|
mode "open" {
|
||||||
|
bindsym e exec emoji-picker; mode "default"
|
||||||
|
bindsym f exec firefox; mode "default"
|
||||||
|
bindsym m exec thunderbird; mode "default"
|
||||||
|
bindsym n exec alacritty --config-file ~/.config/alacritty/sd-network.yml; mode "default"
|
||||||
|
bindsym t exec alacritty; mode "default"
|
||||||
|
|
||||||
|
|
||||||
|
# return to default mode
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+o mode "open"
|
||||||
|
|
||||||
|
# Resizing containers:
|
||||||
|
|
||||||
|
mode "resize" {
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Up resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Down resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# return to default mode
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
bindsym $mod+KP_Subtract resize shrink width 10 px or 10 ppt;resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym $mod+KP_Add resize grow width 10 px or 10 ppt; resize grow height 10 px or 10 ppt
|
||||||
|
|
||||||
|
# Exec cmd like gnome/mate
|
||||||
|
bindsym Alt+F2 exec sgtk-dmenu -c -t 1 -w 700
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+t exec alacritty
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+q kill
|
||||||
|
|
||||||
|
# screenshot
|
||||||
|
bindsym Print exec slurp | grim -g - $(xdg-user-dir PICTURES)/$(date +'screenshot_%Y-%m-%d-%H%M%S.png')
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# Move windows
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# Enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
#bindsym $mod+s layout stacking
|
||||||
|
#bindsym $mod+w layout tabbed
|
||||||
|
#bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+space floating toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
#bindsym $mod+d focus child
|
||||||
|
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+KP_1 workspace 1
|
||||||
|
bindsym $mod+KP_2 workspace 2
|
||||||
|
bindsym $mod+KP_3 workspace 3
|
||||||
|
bindsym $mod+KP_4 workspace 4
|
||||||
|
bindsym $mod+KP_5 workspace 5
|
||||||
|
bindsym $mod+KP_6 workspace 6
|
||||||
|
bindsym $mod+KP_7 workspace 7
|
||||||
|
bindsym $mod+KP_8 workspace 8
|
||||||
|
bindsym $mod+KP_9 workspace 9
|
||||||
|
bindsym $mod+KP_0 workspace 10
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+ampersand workspace 1
|
||||||
|
bindsym $mod+eacute workspace 2
|
||||||
|
bindsym $mod+quotedbl workspace 3
|
||||||
|
bindsym $mod+apostrophe workspace 4
|
||||||
|
bindsym $mod+parenleft workspace 5
|
||||||
|
bindsym $mod+minus workspace 6
|
||||||
|
bindsym $mod+egrave workspace 7
|
||||||
|
bindsym $mod+underscore workspace 8
|
||||||
|
bindsym $mod+ccedilla workspace 9
|
||||||
|
bindsym $mod+agrave workspace 10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+ampersand move container to workspace 1; workspace 1
|
||||||
|
bindsym $mod+Shift+eacute move container to workspace 2; workspace 2
|
||||||
|
bindsym $mod+Shift+quotedbl move container to workspace 3; workspace 3
|
||||||
|
bindsym $mod+Shift+apostrophe move container to workspace 4; workspace 4
|
||||||
|
bindsym $mod+Shift+parenleft move container to workspace 5; workspace 5
|
||||||
|
bindsym $mod+Shift+minus move container to workspace 6; workspace 6
|
||||||
|
bindsym $mod+Shift+egrave move container to workspace 7; workspace 7
|
||||||
|
bindsym $mod+Shift+underscore move container to workspace 8; workspace 8
|
||||||
|
bindsym $mod+Shift+ccedilla move container to workspace 9; workspace 9
|
||||||
|
bindsym $mod+Shift+agrave move container to workspace 10; workspace 10
|
||||||
|
bindsym $mod+Shift+KP_1 move container to workspace 1 ;workspace 1
|
||||||
|
bindsym $mod+Shift+KP_2 move container to workspace 2 ;workspace 2
|
||||||
|
bindsym $mod+Shift+KP_3 move container to workspace 3 ;workspace 3
|
||||||
|
bindsym $mod+Shift+KP_4 move container to workspace 4 ;workspace 4
|
||||||
|
bindsym $mod+Shift+KP_5 move container to workspace 5 ;workspace 5
|
||||||
|
bindsym $mod+Shift+KP_6 move container to workspace 6 ;workspace 6
|
||||||
|
bindsym $mod+Shift+KP_7 move container to workspace 7 ;workspace 7
|
||||||
|
bindsym $mod+Shift+KP_8 move container to workspace 8 ;workspace 8
|
||||||
|
bindsym $mod+Shift+KP_9 move container to workspace 9 ;workspace 9
|
||||||
|
bindsym $mod+Shift+KP_0 move container to workspace 10;workspace 10
|
||||||
|
|
||||||
|
# volume control
|
||||||
|
bindsym XF86AudioRaiseVolume exec "amixer set Master 5%+ unmute"
|
||||||
|
bindsym XF86AudioLowerVolume exec "amixer set Master 5%- unmute"
|
||||||
|
bindsym XF86AudioMute exec "amixer -q sset Master,0 toggle"
|
||||||
|
|
||||||
|
# Brightness control
|
||||||
|
bindsym XF86MonBrightnessDown exec brightnessctl set 15%-
|
||||||
|
bindsym XF86MonBrightnessUp exec brightnessctl set +15%
|
||||||
|
|
||||||
|
# Media player controls
|
||||||
|
bindsym --locked XF86AudioPlay exec mpc toggle
|
||||||
|
bindsym --locked XF86AudioPause exec mpc toggle
|
||||||
|
bindsym --locked XF86AudioNext exec mpc next
|
||||||
|
bindsym --locked XF86AudioPrev exec mpc prev
|
||||||
|
bindsym --locked XF86AudioStop exec mpc stop
|
||||||
|
|
||||||
|
# Reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
|
||||||
|
################
|
||||||
|
# #
|
||||||
|
# Font style #
|
||||||
|
# #
|
||||||
|
################
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
|
||||||
|
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||||
|
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||||
|
font pango:Hurmit NF 11
|
||||||
|
|
||||||
|
set $gnome-schema org.gnome.desktop.interface
|
||||||
|
exec_always {
|
||||||
|
gsettings set $gnome-schema gtk-theme 'Material-Black-Lime-3.36'
|
||||||
|
gsettings set $gnome-schema icon-theme 'Material-Black-Lime-Numix'
|
||||||
|
gsettings set $gnome-schema font-name 'Hurmit NF 11'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
############
|
||||||
|
# #
|
||||||
|
# Waybar #
|
||||||
|
# #
|
||||||
|
############
|
||||||
|
|
||||||
|
bar {
|
||||||
|
swaybar_command waybar
|
||||||
|
}
|
||||||
|
include ~/.config/sway/config.local
|
||||||
|
|
||||||
|
Tools
|
||||||
|
-----
|
||||||
|
|
||||||
|
J'utilise plein de petit "sous-programme" pour mon bureau, voici les plus utiles au quotidien.
|
||||||
|
|
||||||
|
Waybar : la barre à tout faire
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Pour mon bureau, j'utilise ``Waybar``. Il est comme Sway, il se configure très simplement par deux fichiers.
|
||||||
|
|
||||||
|
* ~/.config/waybar/config
|
||||||
|
* ~/.config/waybar/style.css
|
||||||
|
|
||||||
|
.. image:: {attach}images/sway/waybar.png
|
||||||
|
:alt: waybar
|
||||||
|
:target: {attach}images/sway/waybar.png
|
||||||
|
|
||||||
|
L'un permet de configurer les différents éléments de la barre et l'autre uniquement le style.
|
||||||
|
|
||||||
|
J'écrirai un autre article à ce sujet, il y a pas mal de choses sympa à dire.
|
||||||
|
|
||||||
|
gtk3-menu, c'est le pied!
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
gtk3-menu est juste un menu à la Gnome qui me permet d'ouvrir simplement quelques programmes dont je ne me souviens plus du nom via terminal. Il me permet également d'ouvrir rapidement un dossier présent dans mon $HOME.
|
||||||
|
|
||||||
|
|
||||||
|
.. image:: {attach}images/sway/gtk3-folder.png
|
||||||
|
:alt: gtk3 folder menu
|
||||||
|
:target: {attach}images/sway/gtk3-folder.png
|
||||||
|
|
||||||
|
|
||||||
|
L'écran de verrouillage : Swaylock
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
swaylock permet de verrouiller mon bureau afin que mes collègues ne s'en prennent pas à ma boite mail par exemple (merci les viennoiseries le lendemain ...).
|
||||||
|
|
||||||
|
Je vous conseille même l'excellent swaylock-effect qui permet de faire un screenshot, de le flouter et de l'avoir en fond d'écran.
|
||||||
|
|
||||||
|
.. image:: {attach}images/sway/swaylock.png
|
||||||
|
:alt: swaylock
|
||||||
|
:target: {attach}images/sway/swaylock.png
|
||||||
|
|
||||||
|
Capture écran
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Pour la capture d'écran, j'utilise le combe slurp + grim.
|
||||||
|
|
||||||
|
Slurp permet de sélectionner une partie du bureau, et grim l'enregistre.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# screenshot
|
||||||
|
bindsym Print exec slurp | grim -g - $(xdg-user-dir PICTURES)/$(date +'screenshot_%Y-%m-%d-%H%M%S.png')
|
||||||
|
|
||||||
|
Mes capture d'écran se retrouvent automatiquement dans mon dossier Images avec date + heure dans le nom du fichier.
|
||||||
|
|
||||||
|
MPD/MPC
|
||||||
|
~~~~~~~
|
||||||
|
|
||||||
|
**MPD** (Music Player Daemon) est, comme son nom l'indique un lecteur de musique qui tourne en fond.
|
||||||
|
|
||||||
|
Il permet du coup d'être pilotable par de nombreux éléments externe comme **MPC** (Music Player Client).
|
||||||
|
|
||||||
|
Je l'utilise d'ailleurs directement dans ma waybar.
|
||||||
|
|
||||||
|
khal/vdirsyncer
|
||||||
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Autre outil dans ma barre, le duo vdirsyncer + khal.
|
||||||
|
|
||||||
|
* vdirsyncer permet d'interroger un serveur DavCal et d'enregistrer une copie en ``.ics``
|
||||||
|
* khal permet lui de lire ces fichier ics directement en ligne de commande. C'est lui qui est directement interrogé depuis waybar.
|
||||||
|
|
||||||
|
|
36
security/packet_filter.rst
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
Packet filter
|
||||||
|
#############
|
||||||
|
|
||||||
|
:date: 2021-05-18 07:35
|
||||||
|
:modified: 2021-05-18 07:35
|
||||||
|
:tags: bsd, securité
|
||||||
|
:category: securité
|
||||||
|
:slug: packet-filter
|
||||||
|
:authors: Milka64
|
||||||
|
:summary: Pourquoi j'aime tant packet filter
|
||||||
|
:status: draft
|
||||||
|
|
||||||
|
|
||||||
|
Présentation
|
||||||
|
------------
|
||||||
|
|
||||||
|
Packet filter est un pare-feu intégré au noyau BSD. Il apparait pour la première foir dans la version 3.0 d'OpenBSD (1 December 2001).
|
||||||
|
|
||||||
|
Écrit par Daniel Hartmeier, il a été ensuite réimlplémenté par Ryan McBride et Henning Brauer, qui est toujours le mainteneur principal.
|
||||||
|
|
||||||
|
|
||||||
|
Configuration
|
||||||
|
-------------
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
# grep "pf_" /etc/rc.conf
|
||||||
|
pf_enable=yes to /etc/rc.conf
|
||||||
|
pf_rules="/path/to/pf.conf"
|
||||||
|
|
||||||
|
|
||||||
|
* syntaxe
|
||||||
|
* exemple de fichier de conf
|
||||||
|
* variable
|
||||||
|
* nat
|
||||||
|
* auto block
|
BIN
static/Hurmit Medium Nerd Font Complete.otf
Normal file
9
static/custom.css
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
@font-face {
|
||||||
|
font-family: myFirstFont;
|
||||||
|
src: url('Hurmit%20Medium%20Nerd%20Font%20Complete.otf');
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: "myFirstFont";
|
||||||
|
font-size-adjust: 0.40;
|
||||||
|
}
|
BIN
tools/images/netbox/start.png
Normal file
After Width: | Height: | Size: 164 KiB |
73
tools/netbox.rst
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
Netbox
|
||||||
|
######
|
||||||
|
|
||||||
|
:date: 2020-11-08 19:52
|
||||||
|
:modified: 2020-11-08 19:52
|
||||||
|
:tags: divers, tools
|
||||||
|
:category: tools
|
||||||
|
:slug: netbox
|
||||||
|
:authors: Milka64
|
||||||
|
:summary: Le logiciel libre de gestion de datacenter, écrit en python, il utilise le framework Django.
|
||||||
|
:status: draft
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Netbox est un outil de gestion de parc informatique (principalement tout ce qui se trouve en datacenter).
|
||||||
|
|
||||||
|
Il permet entre autre de gerer :
|
||||||
|
|
||||||
|
* Lieux (dc1, dc2, etc...)
|
||||||
|
* Salles
|
||||||
|
* Racks
|
||||||
|
* équipements
|
||||||
|
* IPs
|
||||||
|
* VLANs
|
||||||
|
* interfaces
|
||||||
|
* virtualisation
|
||||||
|
* cluster de serveurs
|
||||||
|
* types de matériels
|
||||||
|
* consomation électrique
|
||||||
|
* câbles, mais vraiment tout type de câbles : alim, réseau, console, etc ...
|
||||||
|
* ...
|
||||||
|
|
||||||
|
Le tout peut être etendu grace à des plugins.
|
||||||
|
|
||||||
|
.. image:: {attach}images/netbox/start.png
|
||||||
|
:alt: page d'accueil de netbox
|
||||||
|
:target: {attach}images/netbox/start.png
|
||||||
|
|
||||||
|
Gestion des racks
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Le premier tableau des rack montre déjà un des gros avantage de cet outil.
|
||||||
|
|
||||||
|
En un seul tableau on le principal :
|
||||||
|
|
||||||
|
* Le site
|
||||||
|
* Le status
|
||||||
|
* La taille (oui parfois ça compte)
|
||||||
|
* le taux d'occupation
|
||||||
|
* Le taux de consommation électrique (théorique)
|
||||||
|
|
||||||
|
La vue du rack est très utile, nous pouvons très vite voir le type d'équipement présent sur le rack grace au code de couleur.
|
||||||
|
|
||||||
|
En plus de tout cela, on peu ajouter des images, des équipements non racké, et on a même la possibilité de faire des groupes de rack.
|
||||||
|
|
||||||
|
Le petit bonus que j'aime beaucoup, c'est la possibilité de réserver une partie d'un rack (nouveau projet/client)
|
||||||
|
|
||||||
|
|
||||||
|
Gestion des équipements
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
Montrer les images dans l'équipement, les modeles, les marques, les composants ...
|
||||||
|
|
||||||
|
Plugins
|
||||||
|
-------
|
||||||
|
|
||||||
|
plugins sympa (je ne sais plus les noms ....)
|
||||||
|
|
||||||
|
Avis sur le soft
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Manque la possibilité de faire un cluster de 4 noeud.
|