🚚 Move all pages to docs/
🔥 Also delete old pages
This commit is contained in:
parent
eee1c30f6a
commit
1682796065
29 changed files with 0 additions and 2827 deletions
137
docs/CV/CV.md
Normal file
137
docs/CV/CV.md
Normal file
|
@ -0,0 +1,137 @@
|
|||
---
|
||||
format: Markdown
|
||||
toc: no
|
||||
title: CV / Resume
|
||||
...
|
||||
|
||||
[PDF version](CV.pdf)
|
||||
|
||||
```
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||
@ WARNING: THIS RESUME IS SO GEEK!!!11 @
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||
|
||||
[benoit@brain ~]$ uptime
|
||||
00:00:00 up 10957 days (30y), 0:00, 1 users, load average: 0,10, 0,20, 0,30
|
||||
|
||||
[benoit@brain ~]$ cat /proc/cpuinfo
|
||||
Informations
|
||||
processor : 0
|
||||
vendor_id : Benoît
|
||||
cpu family : S.
|
||||
model : human male
|
||||
model name : benpro
|
||||
cpu Hz : 2Hz IRL, 10Hz when using a computer, but scheduling can
|
||||
be slow or may hang!
|
||||
cpu cores : I have only one brain.
|
||||
flags : serious, independent, rigorous, self-taught, geek, hacker
|
||||
|
||||
[benoit@brain ~]$ route
|
||||
Route of studying (all in France)
|
||||
Destination Gateway Genmask Flags
|
||||
LPRO SIL ASR IUT Paul-Verlaine Metz 57000 (3 years university degree)
|
||||
BTS IG ARLE Lycée Ozenne Toulouse 31000 (2 years university degree)
|
||||
BAC PRO MRIM Lycée Eugène Montel Colomiers 31770 (high-school diploma)
|
||||
CAP AMMB Lycée Eugène Montel Colomiers 31770
|
||||
default self-taught 0.0.0.0 0
|
||||
|
||||
[benoit@brain ~]$ lsb_release -a
|
||||
Professional experiences
|
||||
LSB Version: 2011→2020
|
||||
Distributor ID: Evolix
|
||||
Description: French IT company (Open Source Managed Hosting Provider)
|
||||
Release: sysadmin/devops
|
||||
|
||||
[benoit@brain ~]$ lsmod
|
||||
Activated modules (Knowledge list)
|
||||
Size: 1 "I know a little about it", 2 "I'm quite good at it", 3 "Experienced".
|
||||
Module Size Used by
|
||||
Shell/Bash 3 Computer languages
|
||||
PHP 1 Computer languages
|
||||
HTML 1 Computer languages
|
||||
CSS 1 Computer languages
|
||||
C/C++ 1 Computer languages
|
||||
SQL 1 Computer languages
|
||||
Java 1 Computer languages
|
||||
Ruby 1 Computer languages
|
||||
Ansible 2 Automation
|
||||
git 2 VCS
|
||||
svn 1 VCS
|
||||
cvs 1 VCS
|
||||
GitLab 2 Hosted VCS
|
||||
Gitea 2 Hosted VCS
|
||||
Debian 3 GNU/Linux distribs
|
||||
Ubuntu 3 GNU/Linux distribs
|
||||
Arch Linux 3 GNU/Linux distribs
|
||||
Redhat/Centos 1 GNU/Linux distribs
|
||||
OpenBSD 1 BSD
|
||||
FreeBSD 1 BSD
|
||||
systemd 3 Services manager
|
||||
HAProxy 2 Services load balancing
|
||||
Apache 2 Services web
|
||||
NginX 2 Services web
|
||||
Bind 2 Services dns
|
||||
Proftpd 2 Services ftp/sftp
|
||||
Munin 3 Services monitoring
|
||||
Nagios 1 Services monitoring
|
||||
Icinga 1 Services monitoring
|
||||
Squid 2 Services proxy
|
||||
Tomcat 2 Services application
|
||||
Postfix 3 Services mail
|
||||
Dovecot 2 Services mail
|
||||
Samba 1 Services files sharing
|
||||
Rsync 3 Services files sharing
|
||||
LDAP 1 Services directory
|
||||
CUPS 1 Services print
|
||||
MariaDB/MySQL 3 Services database
|
||||
MongoDB 1 Services database
|
||||
PostgreSQL 1 Services database
|
||||
Oracle 1 Services database
|
||||
SQLite 1 Services database
|
||||
ElasticSearch 1 Services database
|
||||
Memcached 1 Services database
|
||||
Redis 2 Services database
|
||||
Fail2Ban 2 Services security
|
||||
Let's Encrypt 3 Services security
|
||||
OpenSSH 3 Services security
|
||||
ZFS 1 Storage
|
||||
LUKS 1 Storage encryption
|
||||
DRBD 2 Storage replicated
|
||||
LVM 2 Storage provisioning
|
||||
Mdadm 2 Storage data redundancy
|
||||
NFS 2 Storage sharing
|
||||
VMware 1 Hypervisor
|
||||
KVM/virsh 3 Hypervisor
|
||||
VirtualBox 3 Hypervisor
|
||||
Xen 1 Hypervisor
|
||||
AWS 1 Cloud provider
|
||||
GCP 1 Cloud provider
|
||||
Port Trunking 2 Switchs
|
||||
VLAN 2 Switchs
|
||||
Spanning Tree 2 Switchs
|
||||
Static routing 2 Routers
|
||||
Dynamic routing 1 Routers
|
||||
pfSense 3 Firewall
|
||||
Netfilter/iptables 2 Firewall
|
||||
PacketFilter 1 Firewall
|
||||
Assembly 3 Hardware
|
||||
French 3 Languages (Native)
|
||||
English 2 Languages (TOEIC Listening and Reading 895)
|
||||
Japanese 1 Languages (Upper Beginner)
|
||||
And many others, thanks to FLOSS, I learn all day, that is really
|
||||
great!
|
||||
|
||||
[benoit@brain ~]$ ls -l ~/passions
|
||||
Japanese culture, especially pop.
|
||||
Photography, especially landscape.
|
||||
Opensource/Hacking, yeah, that's a passion!
|
||||
|
||||
[benoit@brain ~]$ ls -l /etc/nginx/sites-enabled
|
||||
https://www.benpro.fr this wiki website using a git backend
|
||||
https://blog.benpro.fr blog about FLOSS and Japan things
|
||||
https://photos.benpro.fr photos gallery
|
||||
https://toots.benpro.fr mastodon account
|
||||
|
||||
[benoit@brain ~]$ more ~/cv
|
||||
Ask me! resume@benpro⊙fr
|
||||
```
|
BIN
docs/CV/CV.pdf
Normal file
BIN
docs/CV/CV.pdf
Normal file
Binary file not shown.
173
docs/CV/CV.tex
Normal file
173
docs/CV/CV.tex
Normal file
|
@ -0,0 +1,173 @@
|
|||
---
|
||||
format: Latex
|
||||
toc: no
|
||||
title: CV / Resume
|
||||
...
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Developer CV
|
||||
% LaTeX Template
|
||||
% Version 1.0 (28/1/19)
|
||||
%
|
||||
% This template originates from:
|
||||
% http://www.LaTeXTemplates.com
|
||||
%
|
||||
% Authors:
|
||||
% Jan Vorisek (jan@vorisek.me)
|
||||
% Based on a template by Jan Küster (info@jankuester.com)
|
||||
% Modified for LaTeX Templates by Vel (vel@LaTeXTemplates.com)
|
||||
%
|
||||
% License:
|
||||
% The MIT License (see included LICENSE file)
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\documentclass[9pt]{developercv} % Default font size, values from 8-12pt are recommended
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\begin{document}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% TITLE AND CONTACT INFORMATION
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\begin{minipage}[t]{0.45\textwidth} % 45% of the page width for name
|
||||
\vspace{-\baselineskip} % Required for vertically aligning minipages
|
||||
|
||||
% If your name is very short, use just one of the lines below
|
||||
% If your name is very long, reduce the font size or make the minipage wider and reduce the others proportionately
|
||||
\colorbox{black}{{\HUGE\textcolor{white}{\textbf{\MakeUppercase{Benoît}}}}} % First name
|
||||
|
||||
\colorbox{black}{{\HUGE\textcolor{white}{\textbf{\MakeUppercase{S}}}}} % Last name
|
||||
|
||||
\vspace{6pt}
|
||||
|
||||
{\huge System administrator} % Career or current job title
|
||||
\end{minipage}
|
||||
\begin{minipage}[t]{0.275\textwidth} % 27.5% of the page width for the first row of icons
|
||||
\vspace{-\baselineskip} % Required for vertically aligning minipages
|
||||
|
||||
% The first parameter is the FontAwesome icon name, the second is the box size and the third is the text
|
||||
% Other icons can be found by referring to fontawesome.pdf (supplied with the template) and using the word after \fa in the command for the icon you want
|
||||
\icon{MapMarker}{12}{Toulouse, France}\\
|
||||
\icon{Phone}{12}{+33-redacted-}\\
|
||||
\icon{At}{12}{\href{mailto:resume@benpro.fr}{resume@benpro.fr}}\\
|
||||
\end{minipage}
|
||||
\begin{minipage}[t]{0.275\textwidth} % 27.5% of the page width for the second row of icons
|
||||
\vspace{-\baselineskip} % Required for vertically aligning minipages
|
||||
|
||||
% The first parameter is the FontAwesome icon name, the second is the box size and the third is the text
|
||||
% Other icons can be found by referring to fontawesome.pdf (supplied with the template) and using the word after \fa in the command for the icon you want
|
||||
\icon{Globe}{12}{\href{https://www.benpro.fr}{www.benpro.fr}}\\
|
||||
\icon{Git}{12}{\href{https://git.benpro.fr/benpro}{git.benpro.fr/benoit}}\\
|
||||
\icon{Hashtag}{12}{\href{https://toots.benpro.fr/@benoit}{@benoit@toots.benpro.fr}}\\
|
||||
\end{minipage}
|
||||
|
||||
\vspace{0.5cm}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% INTRODUCTION, SKILLS AND TECHNOLOGIES
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\cvsect{Who Am I?}
|
||||
|
||||
\begin{minipage}[t]{0.4\textwidth} % 40% of the page width for the introduction text
|
||||
\vspace{-\baselineskip} % Required for vertically aligning minipages
|
||||
\texttt{GNU/Linux Guru Hacker}\\
|
||||
Geek, Hacker, amateur Photographer, Free Libre Opensource Software lover. Using GNU/Linux distributions since my adolescence, I quickly began in love with FLOSS and work only with it. I try to not use proprietary software as much as possible.
|
||||
\end{minipage}
|
||||
\hfill % Whitespace between
|
||||
\begin{minipage}[t]{0.5\textwidth} % 50% of the page for the skills bar chart
|
||||
\vspace{-\baselineskip} % Required for vertically aligning minipages
|
||||
\begin{barchart}{5.5}
|
||||
\baritem{Git}{30}
|
||||
\baritem{Ansible}{30}
|
||||
\baritem{KVM}{60}
|
||||
\baritem{MySQL/MariaDB}{100}
|
||||
\baritem{Apache/NginX/HAProxy}{100}
|
||||
\baritem{Debian}{100}
|
||||
\end{barchart}
|
||||
\end{minipage}
|
||||
|
||||
\begin{center}
|
||||
\bubbles{1/Kate, 2/git, 3/Claws Mail, 4/Shell, 5/SSH, 6/Debian}
|
||||
\end{center}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% EXPERIENCE
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\cvsect{Experience}
|
||||
|
||||
\begin{entrylist}
|
||||
\entry
|
||||
{2011 -- 2019}
|
||||
{System administrator}
|
||||
{Evolix}
|
||||
{Sysadmin at Evolix, a french open source managed hosting provider. Managing a pool of 700+ servers for our customers. I covered many aspects, from building an infrastructure from scratch to final production, monitoring and managing customers needs.}
|
||||
\end{entrylist}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% EDUCATION
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\cvsect{Education}
|
||||
|
||||
\begin{entrylist}
|
||||
\entry
|
||||
{2010 -- 2011}
|
||||
{3 years university degree in computing science}
|
||||
{IUT Paul-Verlaine - Metz}
|
||||
{Licence PRO Administration Systèmes et Réseaux}
|
||||
\entry
|
||||
{2008 -- 2010}
|
||||
{2 years university degree in computing science}
|
||||
{Lycée Ozenne - Toulouse}
|
||||
{BTS Informatique de Gestion : Option Réseau}
|
||||
\entry
|
||||
{2007 -- 2008}
|
||||
{Bachelor's Degree}
|
||||
{Lycée Eugène Montel - Colomiers}
|
||||
{Bac PRO Micro Informatique et Réseaux : Installation et Maintenance}
|
||||
\end{entrylist}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% ADDITIONAL INFORMATION
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\begin{minipage}[t]{0.3\textwidth}
|
||||
\vspace{-\baselineskip} % Required for vertically aligning minipages
|
||||
|
||||
\cvsect{Languages}
|
||||
|
||||
\textbf{French} Native\\
|
||||
\textbf{English} Proficient, TOEIC score 895\\
|
||||
\textbf{Japanese} Upper Beginner
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}[t]{0.3\textwidth}
|
||||
\vspace{-\baselineskip} % Required for vertically aligning minipages
|
||||
|
||||
\cvsect{Hobbies}
|
||||
|
||||
\textbf{Photography}\\
|
||||
\textbf{Japanese culture}\\
|
||||
\textbf{Hiking}
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}[t]{0.3\textwidth}
|
||||
\vspace{-\baselineskip} % Required for vertically aligning minipages
|
||||
|
||||
\cvsect{Non profit}
|
||||
|
||||
Attending and helping organising Debian conferences called DebConf.
|
||||
\end{minipage}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\end{document}
|
207
docs/CV/developercv.cls
Normal file
207
docs/CV/developercv.cls
Normal file
|
@ -0,0 +1,207 @@
|
|||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Developer CV
|
||||
% LaTeX Class
|
||||
% Version 1.0 (28/1/19)
|
||||
%
|
||||
% This class originates from:
|
||||
% http://www.LaTeXTemplates.com
|
||||
%
|
||||
% Authors:
|
||||
% Jan Vorisek (jan@vorisek.me)
|
||||
% Based on a template by Jan Küster (info@jankuester.com)
|
||||
% Modified for LaTeX Templates by Vel (vel@LaTeXTemplates.com)
|
||||
%
|
||||
% License:
|
||||
% The MIT License (see included LICENSE file)
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% CLASS CONFIGURATION
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesClass{developercv}[2019/01/28 Developer CV class v1.0]
|
||||
|
||||
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{extarticle}} % Pass through any options to the base class
|
||||
\ProcessOptions\relax % Process given options
|
||||
|
||||
\LoadClass{extarticle} % Load the base class
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\setlength{\parindent}{0mm} % Suppress paragraph indentation
|
||||
|
||||
\usepackage[hidelinks]{hyperref} % Required for links but hide the default boxes around links
|
||||
|
||||
\newcommand{\lorem}{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.} % Dummy text
|
||||
|
||||
\pagestyle{empty} % No headers or footers
|
||||
|
||||
\usepackage{moresize} % Provides more font size commands (\HUGE and \ssmall)
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% PAGE LAYOUT
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\usepackage{geometry} % Required for adjusting page dimensions and margins
|
||||
|
||||
\geometry{
|
||||
paper=a4paper, % Paper size, change to letterpaper for US letter size
|
||||
top=1.75cm, % Top margin
|
||||
bottom=1.75cm, % Bottom margin
|
||||
left=2cm, % Left margin
|
||||
right=2cm, % Right margin
|
||||
headheight=0.75cm, % Header height
|
||||
footskip=1cm, % Space from the bottom margin to the baseline of the footer
|
||||
headsep=0.5cm, % Space from the top margin to the baseline of the header
|
||||
%showframe, % Uncomment to show how the type block is set on the page
|
||||
}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% FONTS
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\usepackage[utf8]{inputenc} % Required for inputting international characters
|
||||
\usepackage[T1]{fontenc} % Output font encoding for international characters
|
||||
|
||||
\usepackage[default]{raleway}
|
||||
%\usepackage[defaultsans]{droidsans}
|
||||
%\usepackage{cmbright}
|
||||
%\usepackage{fetamont}
|
||||
%\usepackage[default]{gillius}
|
||||
%\usepackage{roboto}
|
||||
|
||||
\renewcommand*\familydefault{\sfdefault} % Force the sans-serif version of any font used
|
||||
|
||||
%------------------------------------------------
|
||||
|
||||
\usepackage{fontawesome} % Required for FontAwesome icons
|
||||
|
||||
% Command to output an icon in a black square box with text to the right
|
||||
\newcommand{\icon}[3]{% The first parameter is the FontAwesome icon name, the second is the box size and the third is the text
|
||||
\vcenteredhbox{\colorbox{black}{\makebox(#2, #2){\textcolor{white}{\large\csname fa#1\endcsname}}}}% Icon and box
|
||||
\hspace{0.2cm}% Whitespace
|
||||
\vcenteredhbox{\textcolor{black}{#3}}% Text
|
||||
}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% GRAPHICS DEFINITIONS
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\usepackage{tikz} % Required for creating the plots
|
||||
\usetikzlibrary{shapes, backgrounds}
|
||||
\tikzset{x=1cm, y=1cm} % Default tikz units
|
||||
|
||||
% Command to vertically centre adjacent content
|
||||
\newcommand{\vcenteredhbox}[1]{% The only parameter is for the content to centre
|
||||
\begingroup%
|
||||
\setbox0=\hbox{#1}\parbox{\wd0}{\box0}%
|
||||
\endgroup%
|
||||
}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% CHARTS
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\newcounter{barcount}
|
||||
|
||||
% Environment to hold a new bar chart
|
||||
\newenvironment{barchart}[1]{ % The only parameter is the maximum bar width, in cm
|
||||
\newcommand{\barwidth}{0.35}
|
||||
\newcommand{\barsep}{0.2}
|
||||
|
||||
% Command to add a bar to the bar chart
|
||||
\newcommand{\baritem}[2]{ % The first argument is the bar label and the second is the percentage the current bar should take up of the total width
|
||||
\pgfmathparse{##2}
|
||||
\let\perc\pgfmathresult
|
||||
|
||||
\pgfmathparse{#1}
|
||||
\let\barsize\pgfmathresult
|
||||
|
||||
\pgfmathparse{\barsize*##2/100}
|
||||
\let\barone\pgfmathresult
|
||||
|
||||
\pgfmathparse{(\barwidth*\thebarcount)+(\barsep*\thebarcount)}
|
||||
\let\barx\pgfmathresult
|
||||
|
||||
\filldraw[fill=black, draw=none] (0,-\barx) rectangle (\barone,-\barx-\barwidth);
|
||||
|
||||
\node [label=180:\colorbox{black}{\textcolor{white}{##1}}] at (0,-\barx-0.175) {};
|
||||
\addtocounter{barcount}{1}
|
||||
}
|
||||
\begin{tikzpicture}
|
||||
\setcounter{barcount}{0}
|
||||
}{
|
||||
\end{tikzpicture}
|
||||
}
|
||||
|
||||
%------------------------------------------------
|
||||
|
||||
\newcounter{a}
|
||||
\newcounter{b}
|
||||
\newcounter{c}
|
||||
|
||||
% Command to output a number of automatically-sized bubbles from a string in the format of '<size>/<label>', e.g. \bubbles{5/Eclipse, 6/git, 4/Office, 3/Inkscape, 3/Blender}
|
||||
\newcommand{\bubbles}[1]{
|
||||
% Reset counters
|
||||
\setcounter{a}{0}
|
||||
\setcounter{c}{150}
|
||||
|
||||
\begin{tikzpicture}[scale=3]
|
||||
\foreach \p/\t in {#1} {
|
||||
\addtocounter{a}{1}
|
||||
\bubble{\thea/2}{\theb}{\p/25}{\t}{1\p0}
|
||||
}
|
||||
\end{tikzpicture}
|
||||
}
|
||||
|
||||
% Command to output a bubble at a specific position with a specific size
|
||||
\newcommand{\bubble}[5]{
|
||||
\filldraw[fill=black, draw=none] (#1,0.5) circle (#3); % Bubble
|
||||
\node[label=\textcolor{black}{#4}] at (#1,0.7) {}; % Label
|
||||
}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% CUSTOM SECTIONS
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
% Command to output section title headings
|
||||
\newcommand{\cvsect}[1]{% The only parameter is the section text
|
||||
\vspace{\baselineskip} % Whitespace before the section title
|
||||
\colorbox{black}{\textcolor{white}{\MakeUppercase{\textbf{#1}}}}\\% Section title
|
||||
}
|
||||
|
||||
%----------------------------------------------------------------------------------------
|
||||
% ENTRY LIST
|
||||
%----------------------------------------------------------------------------------------
|
||||
|
||||
\usepackage{longtable} % Required for tables that span multiple pages
|
||||
\setlength{\LTpre}{0pt} % Remove default whitespace before longtable
|
||||
\setlength{\LTpost}{0pt} % Remove default whitespace after longtable
|
||||
|
||||
\setlength{\tabcolsep}{0pt} % No spacing between table columns
|
||||
|
||||
% Environment to hold a new list of entries
|
||||
\newenvironment{entrylist}{
|
||||
\begin{longtable}[H]{l l}
|
||||
}{
|
||||
\end{longtable}
|
||||
}
|
||||
|
||||
\newcommand{\entry}[4]{% First argument for the leftmost date(s) text, second is for the bold entry heading, third is for the bold right-aligned entry qualifier and the fourth is for the entry description
|
||||
\parbox[t]{0.175\textwidth}{% 17.5% of the text width of the page
|
||||
#1 % Leftmost entry date(s) text
|
||||
}%
|
||||
&\parbox[t]{0.825\textwidth}{% 82.5% of the text width of the page
|
||||
\textbf{#2}% Entry heading text
|
||||
\hfill% Horizontal whitespace
|
||||
{\footnotesize \textbf{\textcolor{black}{#3}}}\\% Right-aligned entry qualifier text
|
||||
#4 % Entry description text
|
||||
}\\\\}
|
||||
|
||||
% Command to output a separator slash between lists, e.g. ' / '
|
||||
\newcommand{\slashsep}{\hspace{3mm}/\hspace{3mm}}
|
||||
|
15
docs/Howtos/HowtoCentOS.md
Normal file
15
docs/Howtos/HowtoCentOS.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
# HowtoCentOS
|
||||
|
||||
Upgrade from 8 to Stream.
|
||||
|
||||
```
|
||||
dnf install centos-release-stream && dnf update
|
||||
```
|
||||
|
||||
Exclude path when unpacking package. Useful for unprivileged containers.
|
||||
|
||||
```
|
||||
dnf reinstall --downloadonly filesystem
|
||||
find /var/cache -iname "*filesy*"
|
||||
rpm -ivh --excludepath=/proc --excludepath=/sys /var/cache/dnf/baseos-504ddb1bf3482a98/packages/filesystem-3.8-3.el8.x86_64.rpm
|
||||
```
|
67
docs/Howtos/HowtoCrackWPA.md
Normal file
67
docs/Howtos/HowtoCrackWPA.md
Normal file
|
@ -0,0 +1,67 @@
|
|||
# Monitor mode
|
||||
For my RTL8188EUS:
|
||||
|
||||
```
|
||||
ip link set wlanX down
|
||||
iw dev wlanX set type monitor
|
||||
```
|
||||
|
||||
# Scan networks
|
||||
|
||||
All channels:
|
||||
```
|
||||
airodump-ng wlanX
|
||||
```
|
||||
Specific channel:
|
||||
```
|
||||
airodump-ng -c 6 wlanX
|
||||
```
|
||||
|
||||
# Save a capture of chosen BSSID
|
||||
|
||||
```
|
||||
airodump-ng -c 6 --bssid 00:23:B1:82:08:xx -w <filename> wlanX
|
||||
```
|
||||
|
||||
You need to wait for a client to connect, or to deauth it and get the 4-way handshake.
|
||||
```
|
||||
aireplay-ng -0 1 -a 00:23:B1:82:0C:xx -c D0:37:45:2F:52:xx wlanX
|
||||
```
|
||||
`-a` is access point
|
||||
`-c` is client
|
||||
|
||||
Then you should have an EAPOL/WPA handshake.
|
||||
|
||||
# Crack WPA passphrase
|
||||
|
||||
## For a 8 digits scheme
|
||||
|
||||
```
|
||||
crunch 8 8 0123456789 -s 00000000 | aircrack-ng -w - -b 00:23:B1:82:08:xx <filename>.cap
|
||||
```
|
||||
|
||||
# Wireshark
|
||||
|
||||
PSK Generator: <https://www.wireshark.org/tools/wpa-psk.html>
|
||||
|
||||
## PMKID method
|
||||
|
||||
```
|
||||
hcxdumptool -i wlanX -o PMKID --enable_status=1
|
||||
```
|
||||
|
||||
TODO...
|
||||
|
||||
## WPS method
|
||||
|
||||
AP must have WPS enabled with a PIN. Not PBC, push button.
|
||||
|
||||
```
|
||||
reaver -i wlanX -b 00:23:B1:82:84:xx
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
<https://github.com/ZerBea/hcxdumptool>
|
||||
<https://github.com/ZerBea/hcxtools>
|
||||
<https://wpa-sec.stanev.org/>
|
17
docs/Howtos/HowtoEncoding.md
Normal file
17
docs/Howtos/HowtoEncoding.md
Normal file
|
@ -0,0 +1,17 @@
|
|||
# Convert
|
||||
|
||||
# MKV to WebM
|
||||
|
||||
~~~
|
||||
$ ffmpeg -i input.mkv -c:v libvpx -qmin 0 -qmax 50 -crf 10 -b:v 2M -c:a libvorbis output.webm
|
||||
~~~
|
||||
|
||||
# Recording Screen
|
||||
|
||||
## Within a specified zone
|
||||
|
||||
```
|
||||
avconv -threads auto -f pulse -i bluez_sink.0C_E0_E4_81_2F_C1.monitor -ac 2 -f pulse -i alsa_input.usb-BLUE_MICROPHONE_Blue_Snowball_201306-00-Snowball.analog-mono -ac 1 -f x11grab -show_region 1 -s 1024x768 -i :0.0+112,111 -c:v libvpx -pre:v libvpx-720p -vsync cfr -r 15 -c:a libvorbis -q:a 6 -filter_complex amix=inputs=2 output.webm
|
||||
```
|
||||
|
||||
With sound from microphone and monitor of input.
|
64
docs/Howtos/HowtoGPG.md
Normal file
64
docs/Howtos/HowtoGPG.md
Normal file
|
@ -0,0 +1,64 @@
|
|||
# HowtoGPG
|
||||
|
||||
## Some commands:
|
||||
```
|
||||
gpg --card-status
|
||||
gpg --export-ssh-key keyID
|
||||
gpg --armor --export keyID > pubkey.asc
|
||||
```
|
||||
|
||||
## Use Nitrokey from new system:
|
||||
|
||||
```
|
||||
gpg --import pubkey.asc
|
||||
gpg --card-status
|
||||
```
|
||||
|
||||
## Use GPG Agent as SSH Agent
|
||||
|
||||
```
|
||||
vim .gnupg/gpg-agent.conf
|
||||
enable-ssh-support
|
||||
pinentry-program /usr/bin/pinentry-qt
|
||||
|
||||
systemctl --user enable --now /usr/lib/systemd/user/gpg-agent*
|
||||
|
||||
vim .bashrc
|
||||
export SSH_AUTH_SOCK="/run/user/$(id -u)/gnupg/S.gpg-agent.ssh"
|
||||
```
|
||||
|
||||
## Export your public key to your web server:
|
||||
|
||||
```
|
||||
$ mkdir openpgpkey
|
||||
$ gpg --list-options show-only-fpr-mbox -k keyID | /usr/lib/gnupg/gpg-wks-client -v --install-key
|
||||
```
|
||||
|
||||
Then publish to your web server. https://openpgpkey.example.com/.well-known/openpgpkey/example.com/hu/
|
||||
My public key is available via: <https://openpgpkey.benpro.fr/.well-known/openpgpkey/benpro.fr/hu/7ue9nu5hdtshxjynnn6haqyohye8716e>
|
||||
|
||||
## Get public keys
|
||||
|
||||
### From WKD
|
||||
|
||||
WKD mean Web Key Directory. Interesting website: <https://metacode.biz/openpgp/web-key-directory>
|
||||
|
||||
```
|
||||
gpg --locate-key user@example.com
|
||||
```
|
||||
|
||||
### From keyserver
|
||||
|
||||
#### With keys.openpgp.org
|
||||
|
||||
```
|
||||
echo keyserver hkps://keys.openpgp.org >> ~/.gnupg/gpg.conf
|
||||
gpg --auto-key-locate keyserver --locate-keys user@example.com
|
||||
```
|
||||
|
||||
#### With sks-keyservers.net
|
||||
|
||||
```
|
||||
gpg --keyserver pool.sks-keyservers.net --recv-keys keyID
|
||||
```
|
||||
|
84
docs/Howtos/HowtoLXD.md
Normal file
84
docs/Howtos/HowtoLXD.md
Normal file
|
@ -0,0 +1,84 @@
|
|||
Some commands:
|
||||
|
||||
```
|
||||
lxc image alias list images:
|
||||
lxc info <name>
|
||||
lxc config edit <name>
|
||||
lxc config sonw <name>
|
||||
lxc exec <name> bash
|
||||
lxc config set <name> limits.memory 512MB
|
||||
lxc config set <name> limits.cpu 2
|
||||
lxc config device set <name> root size 20GB
|
||||
lxc launch images:debian/stretch/amd64 <name>
|
||||
lxc config set <name> environment.LC_ALL=en_US.UTF-8
|
||||
lxc list
|
||||
lxc storage volume list <storagename>
|
||||
# mode privileged
|
||||
lxc launch ubuntu:16.04 test -c security.privileged=true -c security.nesting=true
|
||||
lxc config device add test ssh proxy listen=tcp:0.0.0.0:2222 connect=tcp:127.0.0.1:22
|
||||
# Create a backups volume in the local (default) pool (ZFS) and use it for backups
|
||||
lxc storage volume create local backups
|
||||
lxc config set storage.backups_volume local/backups
|
||||
# Create a images volume in the local (default) pool (ZFS) and use it for images (containers images downloaded)
|
||||
lxc storage volume create local images
|
||||
lxc config set storage.images_volume local/images
|
||||
lxc config device add $containerName $deviceName disk source=/home/foo path=/home/foo
|
||||
```
|
||||
|
||||
Chemins :
|
||||
|
||||
Normal : /var/lib/lxd/
|
||||
Snap : /var/snap/lxd/common/lxd/
|
||||
|
||||
Paquets à installer pour se sentir à l'aise sur une Debian ou Ubuntu
|
||||
|
||||
```
|
||||
vim logrotate
|
||||
etckeeper
|
||||
iputils-ping
|
||||
dnsutils
|
||||
```
|
||||
|
||||
N'est plus nécessaire sur les images récentes :
|
||||
|
||||
```
|
||||
# systemctl disable getty@tty{1..4}
|
||||
# reboot
|
||||
```
|
||||
|
||||
- Activer journald
|
||||
- Mettre le bon hostname
|
||||
- Installer postfix
|
||||
|
||||
Paquets à installer pour se sentir à l'aise sur une Alpine
|
||||
|
||||
```
|
||||
etckeeper
|
||||
vim
|
||||
```
|
||||
|
||||
```
|
||||
sed -i 's/^tty/# tty/g' /etc/inittab
|
||||
|
||||
# clean messages
|
||||
rm /var/log/messages
|
||||
|
||||
```
|
||||
|
||||
Nginx :
|
||||
|
||||
```
|
||||
set_real_ip_from W.X.Y.Z;
|
||||
#real_ip_recursive on;
|
||||
real_ip_header X-Forwarded-For;
|
||||
log_format custom '$http_x_forwarded_for - $remote_user [$time_local] '
|
||||
'"$request" $status $body_bytes_sent '
|
||||
'"$http_referer" "$http_user_agent"';
|
||||
access_log /var/log/nginx/access.log custom;
|
||||
```
|
||||
|
||||
Aller dans le namespace de LXD (snap0 pour faire des actions genre mount/umount :
|
||||
|
||||
```
|
||||
# nsenter -t $(cat /var/snap/lxd/common/lxd.pid) -m
|
||||
```
|
8
docs/Howtos/HowtoMacOS.md
Normal file
8
docs/Howtos/HowtoMacOS.md
Normal file
|
@ -0,0 +1,8 @@
|
|||
## Tips
|
||||
|
||||
Thermal info:
|
||||
|
||||
```
|
||||
sudo powermetrics –s thermal
|
||||
sudo powermetrics -s thermal | grep -A2 -i thermal
|
||||
```
|
204
docs/Howtos/HowtoSecureMailServer.md
Normal file
204
docs/Howtos/HowtoSecureMailServer.md
Normal file
|
@ -0,0 +1,204 @@
|
|||
---
|
||||
title: Howto Serveur de mail sécurisé avec Mailcow et Scaleway
|
||||
categories: sysadmin mail
|
||||
---
|
||||
|
||||
# Intro
|
||||
|
||||
Ce Howto explique comment monter un serveur de mail sécurisé en utilisant [Mailcow](https://github.com/andryyy/mailcow) et un serveur virtuel chez [Scaleway](https://www.scaleway.com/). L'introduction est à lire sur mon [blog](https://www.lekernelpanique.fr/2017/03/05/votre-propre-serveur-de-mail-securise-pour-3emois/).
|
||||
|
||||
La première étape consiste évidement à créer l'instance sur la console de Scaleway en choisissant Debian 8 en OS.
|
||||
|
||||
> **Note**: Il est important d'utiliser le noyau Scaleway `x86_64 4.8.14 std #2 (latest)` dans les paramètres avancés, section « bootscript ». Sinon vous n'aurez pas les modules noyau liés au chiffrement. Il vous faudra redémarrer pour appliquer le changement de noyau.
|
||||
|
||||
# Mise à jour
|
||||
|
||||
L'image Debian de Scaleway n'étant pas « buildé » tous les jours, il se peut qu'il y ait quelques mises à jour à faire. On fait donc une upgrade.
|
||||
|
||||
```
|
||||
# apt update
|
||||
# apt upgrade
|
||||
```
|
||||
|
||||
# Création du volume /var chiffré
|
||||
|
||||
Ce volume accueillera vos mails et journaux systèmes. Il est donc intéressant de le chiffrer. Malheureusement, l'image Scaleway fournit un disque non partitionné. L'`initrd` cherche à amorcer le volume root directement sur `/dev/vda`… On va donc créer un fichier image, puis le chiffrer avec `cryptsetup`. Un `/var` de 35G devrait suffire.
|
||||
|
||||
Création du fichier image et montage sur `/dev/loop0`.
|
||||
|
||||
```
|
||||
# dd if=/dev/zero of=/var.img bs=1M count=35000
|
||||
# chmod 600 /var.img
|
||||
# losetup /dev/loop0 /var.img
|
||||
```
|
||||
|
||||
On en profite pour aussi créer une swap de 1G tant qu'à faire.
|
||||
|
||||
```
|
||||
# dd if=/dev/zero of=/swapfile.img bs=1M count=1000
|
||||
# chmod 600 /swapfile.img
|
||||
# mkswap -LSWAP
|
||||
# echo "/swapfile.img none swap sw 0 0" >> /etc/fstab
|
||||
```
|
||||
|
||||
On chiffre le volume en LUKS avec `cryptsetup`. Choisissez une passphrase, vous aller devoir la taper à chaque démarrage dans la console de Scaleway. Pas très souvent si tout est stable ! :-)
|
||||
|
||||
```
|
||||
# apt install cryptsetup
|
||||
# cryptsetup luksFormat --hash sha256 --key-size=512 /dev/loop0
|
||||
# cryptsetup luksOpen /dev/loop0 crypted-var
|
||||
```
|
||||
|
||||
On formate le tout en EXT4, on monte le volume, on stoppe les services qui utilisent actuellement `/var` et on rsync le tout.
|
||||
|
||||
```
|
||||
# mkfs.ext4 -LVAR /dev/mapper/crypted-var
|
||||
# mount /dev/mapper/crypted-var /mnt/
|
||||
# for pid in $(lsof | grep /var | tr -s '\t' ' ' | cut -d' ' -f2 | sort | uniq | grep -v "^1$"); do kill $pid; done
|
||||
# rsync -avh --progress /var/ /mnt/
|
||||
# rm -rf /var/*
|
||||
# umount /mnt
|
||||
```
|
||||
|
||||
On indique le volume chiffré dans `crypttab` et le point de montage dans `fstab` puis on reboot. Préparez-vous à aller taper votre passphrase dans la console Scaleway !
|
||||
|
||||
> **Note** : On désactive `unattended-upgrades` qui va planter l'arrêt à cause du /var qui n'existe plus.
|
||||
|
||||
```
|
||||
# echo "crypted-var /var.img none luks" >> /etc/crypttab
|
||||
# echo "/dev/mapper/crypted-var /var ext4 defaults 0 2" >> /etc/fstab
|
||||
# systemctl disable unattended-upgrades.service
|
||||
# reboot
|
||||
```
|
||||
|
||||
Ta-daa ! On a notre `/var` chiffré.
|
||||
|
||||
```
|
||||
root@scw-049d84:~# df -h /var
|
||||
Filesystem Size Used Avail Use% Mounted on
|
||||
/dev/mapper/crypted-var 35G 687M 33G 3% /var
|
||||
```
|
||||
|
||||
# Installation de Mailcow
|
||||
|
||||
## Pré-requis
|
||||
|
||||
Il vous faut un nom de domaine ! Il faudra choisir quel FQDN utiliser, le plus classique étant `mail.domain.tld`.
|
||||
|
||||
Au niveau de vos entrées DNS, il vous faudra un champ A et un MX. Plus de détails sur le [README](https://github.com/andryyy/mailcow#before-you-begin-prerequisites).
|
||||
|
||||
On supprime exim4, car Mailcow utilise postfix.
|
||||
|
||||
```
|
||||
# apt purge exim4 exim4-base exim4-config exim4-daemon-light
|
||||
```
|
||||
|
||||
## Installation
|
||||
|
||||
Puis on télécharge le script d'installation, on édite la configuration et on lance l'installation.
|
||||
|
||||
```
|
||||
# wget -O - https://github.com/andryyy/mailcow/archive/v0.14.tar.gz | tar xfz -
|
||||
# cd mailcow-0.14
|
||||
# vim mailcow.config
|
||||
```
|
||||
|
||||
> **Note** : Le webmail par défaut est Roundcube. Si vous allez utiliser un smartphone avec synchronisation des contacts et agenda, choisissez plutôt SOGo dans le fichier de config.
|
||||
|
||||
Laissez-vous guider par le script d'installation.
|
||||
|
||||
```
|
||||
# ./install.sh
|
||||
```
|
||||
|
||||
Voilà, c'est fini ! Il vous reste à créer votre premier compte mail via l'interface d'admin.
|
||||
|
||||
Si vous avez des questions ou besoin d'aide, n'hésitez pas à ouvrir un ticket (an Anglais !) [ici](https://github.com/andryyy/mailcow/issues). Sinon demandez-moi sur [Twitter](https://twitter.com/benpro82) ou par [mail](mailto:benoit[arobase]benpro.fr).
|
||||
|
||||
# Bonus : Certificat client X.509
|
||||
|
||||
L'idée est de restreindre l'accès aux services web (webmail et admin), et mail (IMAPS) via un certificat client X.509. Sans ce certificat, impossible d'accéder à quoi que ce soit !
|
||||
|
||||
> **Note** : Cela ne remplace pas le certificat Let's Encrypt utilisé par Mailcow. On demande juste que le client présente un certificat émis par notre CA.
|
||||
|
||||
Pour cela il faut mettre en place une `PKI` et émettre un certificat client. J'utilise l'outil [shellPKI](https://wiki.evolix.org/HowtoOpenVPN#mise-en-place-dune-pki-avec-shellpki-openbsd-et-debian) pour ça.
|
||||
|
||||
## ShellPKI
|
||||
|
||||
```
|
||||
# cd /usr/local
|
||||
# git clone https://forge.evolix.org/shellpki.git
|
||||
# cd shellpki
|
||||
# install -d -m 700 /etc/shellpki /etc/ssl/clients
|
||||
# sed -i 's#/etc/openvpn/ssl#/etc/shellpki#g' openssl.cnf
|
||||
# install -m 600 openssl.cnf /etc/shellpki/
|
||||
# sed -i -e 's#PREFIX=.*#PREFIX=/etc/shellpki#' -e 's#WWWDIR=.*#WWWDIR=/etc/ssl/clients#' shellpki.sh
|
||||
```
|
||||
|
||||
Éditer `/etc/shellpki/openssl.cnf` et initialiser shellPKI. Le plus important est de remplir le « Common Name », par exemple `Myname Root Certificate`.
|
||||
|
||||
```
|
||||
# vim /etc/shellpki/openssl.cnf
|
||||
# ./shellpki.sh init
|
||||
```
|
||||
|
||||
On génère un certificat client (sans passphrase), soit un utilisateur par exemple. Il faudra choisir un « Common Name » du type `user@domain.tld`.
|
||||
|
||||
```
|
||||
# ./shellpki.sh create
|
||||
```
|
||||
|
||||
Puis on le convertit au format `PKCS#12` avec une passphrase d'export. Cette passphrase sera demandé à l'import dans un navigateur ou smartphone par exemple.
|
||||
|
||||
```
|
||||
# cd /etc/ssl/clients
|
||||
# openssl pkcs12 -export -in user@mail.domain.tld.crt -inkey user@mail.domain.tld.key -out user@mail.domain.tld.p12
|
||||
```
|
||||
|
||||
Il faudra importer ce certificat client dans les navigateurs et dans diverses applications (Thunderbird, Exchange/GMail sous Android, K9-Mail…).
|
||||
|
||||
La dernière étape consiste à dire à dovecot et nginx qu'il est nécessaire de présenter un certificat client.
|
||||
|
||||
## Nginx
|
||||
|
||||
```
|
||||
ssl_client_certificate /etc/shellpki/ca/cacert.pem;
|
||||
ssl_verify_client on;
|
||||
```
|
||||
|
||||
```
|
||||
# systemctl restart nginx
|
||||
```
|
||||
|
||||
## Dovecot
|
||||
|
||||
> **Note** : Attention, si vous avez un webmail qui se connecte en local, imap non chiffré, l'activation de `auth_ssl_require_client_cert`, va imposer d'utiliser un certificat… Cassant votre webmail. Il n'y a pas à ce jour la possibilité d'activer `auth_ssl_require_client_cert` seulement pour imaps… Si vous utilisez un webmail, n'activez pas ceci sur dovecot.
|
||||
|
||||
```
|
||||
# Client certificate
|
||||
ssl_ca = </etc/shellpki/ca/cacert.pem
|
||||
ssl_verify_client_cert = yes
|
||||
ssl_cert_username_field = commonName
|
||||
|
||||
protocol !smtp {
|
||||
auth_ssl_require_client_cert = yes
|
||||
auth_ssl_username_from_cert = yes
|
||||
auth_mechanisms = external
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
# systemctl restart dovecot.service
|
||||
```
|
||||
|
||||
Vous devez maintenant faire le nécessaire côté client (Thunderbird, K9-Mail…)
|
||||
|
||||
# Autres actions
|
||||
|
||||
Voici une liste de tâches non exhaustives à faire de votre côté que je ne documente pas, non obligatoire mais conseillé…
|
||||
|
||||
- Monter un serveur de MX secondaire ;
|
||||
- Activer un pare-feu sur votre machine, par exemple `ufw` ;
|
||||
- Monitorer votre serveur ;
|
||||
- S'assurer du suivi des mises à jour ;
|
||||
- Faire des sauvegardes.
|
237
docs/Howtos/HowtoSysadmin.md
Normal file
237
docs/Howtos/HowtoSysadmin.md
Normal file
|
@ -0,0 +1,237 @@
|
|||
Get Github or Gitlab user key:
|
||||
|
||||
```
|
||||
curl https://github.com/<username>.keys
|
||||
curl https://gitlab.com/<username>.keys
|
||||
```
|
||||
|
||||
Enter a namespace, for example LXD (which is in a NS by Snap).
|
||||
|
||||
```
|
||||
nsenter -t $(cat /var/snap/lxd/common/lxd.pid) -m
|
||||
```
|
||||
|
||||
SSH into a machine without checking host key. Useful when servers are in a rescue mode.
|
||||
|
||||
~~~
|
||||
ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" -o "GlobalKnownHostsFile=/dev/null"
|
||||
~~~
|
||||
|
||||
Certbot manual example.
|
||||
|
||||
~~~
|
||||
certbot certonly --non-interactive --webroot --webroot-path /var/www/html/ -d foo.bar -d www.foo.bar
|
||||
~~~
|
||||
|
||||
GPG-agent list SSH key and remove.
|
||||
|
||||
~~~
|
||||
gpg-connect-agent
|
||||
KEYINFO --ssh-list --ssh-fpr
|
||||
DELETE_KEY $HASH
|
||||
~~~
|
||||
|
||||
Show md5 fingerprint of SSH key.
|
||||
|
||||
~~~
|
||||
ssh-keygen -l -E md5 -f .ssh/key.pub
|
||||
~~~
|
||||
|
||||
Password recovery. At grub stage, press `e` to edit the kernel line and add `init=/bin/bash`. It will drop you in a shell before init system (systemd).
|
||||
|
||||
~~~
|
||||
mount -o remount,rw /
|
||||
passwd
|
||||
~~~
|
||||
Mount partitions on an image file using losetup.
|
||||
|
||||
~~~
|
||||
losetup -P -f --show my.img
|
||||
~~~
|
||||
|
||||
List all software installed from particular component (non-free, contrib)
|
||||
|
||||
~~~
|
||||
$ dpkg-query -W -f='${Section}\t${Package}\n' | grep ^non-free
|
||||
~~~
|
||||
|
||||
Manually rotate a file without logrotate, with savelog(8).
|
||||
|
||||
~~~
|
||||
$ savelog
|
||||
~~~
|
||||
|
||||
What processes uses swap?
|
||||
|
||||
~~~
|
||||
for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less
|
||||
~~~
|
||||
|
||||
MySQL "fast" shutdown.
|
||||
|
||||
~~~
|
||||
> set global innodb_max_dirty_pages_pct = 0;
|
||||
$ mysqladmin ext -i10 | grep dirty
|
||||
~~~
|
||||
|
||||
mkfs.ext4 for old systems in rescue mode (Debian Wheezy, …).
|
||||
|
||||
~~~
|
||||
mkfs.ext4 -O ^64bit,^metadata_csum
|
||||
~~~
|
||||
|
||||
Send a mail from queue.
|
||||
|
||||
```
|
||||
postcat -q ID > mail
|
||||
< mail sendmail -f FROM TO
|
||||
```
|
||||
|
||||
Python Simple HTTP Server (useful for Munin for example).
|
||||
|
||||
```
|
||||
cd /var/cache/munin/www
|
||||
python -m SimpleHTTPServer 8080
|
||||
```
|
||||
|
||||
Show custom certs (not a link) and expiration in `/etc/ssl/certs`.
|
||||
|
||||
```
|
||||
find /etc/ssl/certs/ -type f -print -exec openssl x509 -text -in {} \; | grep --color=auto -e etc -e CN= -e DNS: -e After;
|
||||
```
|
||||
|
||||
Edit Bind DNS serial (needs modifications, not generic).
|
||||
|
||||
```
|
||||
sed -ri 's/^\s*[0-9]+\s*; serial/\t\t\t 2017041010\t ; serial/' db.*
|
||||
```
|
||||
|
||||
After Debian/Ubuntu upgrade, merge local config files according to config files shipped in packages.
|
||||
|
||||
```
|
||||
for file in $(find /etc -iname '*.dpkg-dist'); do vimdiff ${file%%.dpkg-dist} $file; rm $file; done
|
||||
for file in $(find /etc -iname '*.dpkg-old'); do vimdiff ${file%%.dpkg-old} $file; rm $file; done
|
||||
for file in $(find /etc -iname '*.dpkg-new'); do vimdiff ${file%%.dpkg-new} $file; rm $file; done
|
||||
for file in $(find /etc -iname '*.ucf-dist'); do vimdiff ${file%%.ucf-dist} $file; rm $file; done
|
||||
for file in $(find /etc -iname '*.ucf-old'); do vimdiff ${file%%.ucf-old} $file; rm $file; done
|
||||
for file in $(find /etc -iname '*.ucf-new'); do vimdiff ${file%%.ucf-new} $file; rm $file; done
|
||||
```
|
||||
|
||||
Debug php with strace and php-cgi (especially useful for wp multisites).
|
||||
|
||||
```
|
||||
HTTP_HOST=www.site.com SCRIPT_FILENAME=index.php REDIRECT_STATUS=CGI SERVER_NAME=www.site.com strace -s 65535 -o /tmp/strace php-cgi -f index.php
|
||||
```
|
||||
|
||||
```ps``` with long user fields (here 20).
|
||||
|
||||
```
|
||||
ps axo user:20,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,comm
|
||||
```
|
||||
|
||||
WTF is happening in apache (or other)? Let's strace all apache processes.
|
||||
```
|
||||
# strace -p $(ps auwwwx | grep apache | tr -s '\t' ' ' | cut -d' ' -f2 | tr '\n' ' ' | sed 's/ / -p /g') 9999
|
||||
```
|
||||
|
||||
WTF is happening? Let's tail all logs.
|
||||
|
||||
```
|
||||
# tail -f $(lsof | grep -F .log | tr -s '\t' ' ' | cut -d' ' -f10 | sort | uniq | tr -s '\n' ' ')
|
||||
```
|
||||
|
||||
Search for suspects POST in apache.log (often attacks).
|
||||
```{.bash}
|
||||
grep -Eo '"POST .*.php' access.log | grep -ve cron -e login -e admin -e xmlrpc -e trackback -e comment -e 404 | sort -u
|
||||
```
|
||||
|
||||
Check for crashed MySQL table in syslog and launch a repair.
|
||||
```{.bash}
|
||||
#!/bin/bash
|
||||
tables=$(grep crashed /var/log/syslog | grep -Eo \'\./.*\' --color=auto | sed s#\'./## | sed s#\'## | uniq | tr -s '\n' ' ')
|
||||
for tableC in $tables; do
|
||||
db=${tableC%/*}
|
||||
table=${tableC#*/}
|
||||
mysqlcheck --auto-repair --check $db $table
|
||||
done
|
||||
```
|
||||
|
||||
Get the groups of an user and add another user into these groups.
|
||||
```{.bash}
|
||||
for group in $(grep user1 /etc/group | cut -d':' -f1 | sed '/user1/d'); do adduser user2 $group; done
|
||||
```
|
||||
|
||||
Get the last acceded URLs in Squid Access list.
|
||||
```{.bash}
|
||||
tail -n100 /var/log/squid3/access.log | grep -oE 'http.*' | cut -d ' ' -f1 | sort | uniq
|
||||
```
|
||||
|
||||
Migrate MySQL users.
|
||||
```{.bash}
|
||||
# SRC Server
|
||||
mysql mysql -e "select * from user WHERE USER='user1' OR USER='user2' INTO OUTFILE '/tmp/mysql_user';"
|
||||
mysql mysql -e "select * from db WHERE USER='user1' OR USER='user2' INTO OUTFILE '/tmp/mysql_db';"
|
||||
|
||||
# DST Server
|
||||
scp server:/tmp/mysql_{db,user} /tmp
|
||||
chmod 664 /tmp/mysql_{db,user}
|
||||
mysql mysql -e "LOAD DATA INFILE '/tmp/mysql_user' INTO TABLE user;"
|
||||
mysql mysql -e "LOAD DATA INFILE '/tmp/mysql_db' INTO TABLE db;"
|
||||
```
|
||||
|
||||
Find userid of mails in mailq.
|
||||
```{.bash}
|
||||
for i in $(mailq | grep -Eo [A-F0-9]{10} | tr -s '\n' ' '); do postcat -q $i | grep userid | grep -Eo "[0-9]{4,}" >> tmp/userid; done
|
||||
sort -n /tmp/userid | uniq
|
||||
```
|
||||
|
||||
Kill every MySQL SELECT older than X seconds – Original: https://anothersysadmin.wordpress.com/2008/10/29/kill-every-mysql-select-older-than-x-seconds/
|
||||
```{.bash}
|
||||
|
||||
#!/bin/bash
|
||||
# From https://anothersysadmin.wordpress.com/2008/10/29/kill-every-mysql-select-older-than-x-seconds/
|
||||
SEC=$1
|
||||
IFS='|'
|
||||
if [[ $SEC -lt 1 ]]; then
|
||||
echo "Usage: $0 SECONDS"
|
||||
exit 1
|
||||
fi
|
||||
mysqladmin proc -v|grep Query|grep -Evi "delete|update|insert|alter table" |while read dummy qid qusr qhost qdb qstat qsec qstat2 query; do
|
||||
if [ $qsec -gt $SEC ]; then
|
||||
echo "Killing query $qid..."
|
||||
mysqladmin kill $qid
|
||||
fi
|
||||
done
|
||||
```
|
||||
|
||||
List of contacts when sending a mail for technical purpose on a domain which doesn't announce their technical contacts in a whois.
|
||||
```
|
||||
abuse@<domain>, admin@<domain>, administrator@<domain>, contact@<domain>, info@<domain>, postmaster@<domain>, support@<domain>, webmaster@<domain>
|
||||
```
|
||||
|
||||
itk change rights.
|
||||
```{.bash}
|
||||
|
||||
find /tmp/ -user www-user.old -exec chown www-user:user {} \;
|
||||
find /tmp/ -user user.old -exec chown user:user {} \;
|
||||
|
||||
* Détecter les fichiers non lisibles par Apache (lecture sur le groupe) : find ./ -type f ! -perm /g=r -exec ls -l {} \;
|
||||
* Détecter les répertoires non lisibles par Apache (lecture/exécution sur le groupe) : find ./ -type d \( ! -perm /g=r -o ! -perm /g=x \) -exec ls -ld {} \;
|
||||
* Détecter les fichiers/répertoires accessibles en écriture par Apache (écriture sur le groupe) : find ./ -perm /g=w
|
||||
* Détecter les fichiers/répertoires accessibles en écriture par tous : find ./ -perm -007 -o -type f -perm -006
|
||||
```
|
||||
|
||||
Get useradd command for migrating account.
|
||||
```{.bash}
|
||||
|
||||
for i in user1 user2 user3...; do echo -n 'useradd -m -s /bin/bash -u '$(grep -E "^$i" /etc/passwd | cut -d':' -f3) && echo -en ' -p' \'$(grep -E "^$i" /etc/shadow | cut -d ':' -f2)\' $i '\n'; done
|
||||
|
||||
Output :
|
||||
useradd -m -s /bin/bash -u USERID -p 'USERPWD' username
|
||||
```
|
||||
|
||||
Find files newert than (mtime) a precise date, and execute an action.
|
||||
```{.bash}
|
||||
find . ! -newermt '2012-09-19 11:40:00' -exec cp {} /tmp/mails \;
|
||||
```
|
||||
|
27
docs/Howtos/HowtoZFS.md
Normal file
27
docs/Howtos/HowtoZFS.md
Normal file
|
@ -0,0 +1,27 @@
|
|||
Some commands:
|
||||
|
||||
```
|
||||
apt install zfsutils-linux
|
||||
zpool create local /dev/xxx
|
||||
zpool list
|
||||
zfs create local/home
|
||||
zfs list
|
||||
zfs set compression=lz4 local/home
|
||||
zfs get compression
|
||||
zfs get compressratio local/home
|
||||
zfs set dedup=on local/home
|
||||
zpool get dedupratio local
|
||||
zfs set mountpoint=/home local/home
|
||||
apt install nfs-kernel-server nfs-common
|
||||
systemctl enable --now rpc-statd.service nfs-server.service
|
||||
zfs set sharenfs="rw=@10.0.1.0/24" local/home
|
||||
zfs share local/home
|
||||
zfs get sharenfs
|
||||
# Import pool after boot/cryptsetup Open
|
||||
zpool import local
|
||||
zfs snapshot local/containers/archive@backup
|
||||
zfs list -t snapshot
|
||||
zfs send local/containers/archive@backup | ssh zfs@10.0.1.1 sudo zfs recv local/lxd00/containers/archive
|
||||
zfs destroy local/containers/archive@backup
|
||||
zfs clone local/containers/archive@backup local/containers/archive-clone
|
||||
```
|
BIN
docs/Self-Host/Infra.asciio
Normal file
BIN
docs/Self-Host/Infra.asciio
Normal file
Binary file not shown.
38
docs/Self-Host/Infra.md
Normal file
38
docs/Self-Host/Infra.md
Normal file
|
@ -0,0 +1,38 @@
|
|||
```
|
||||
.-,( ),-.
|
||||
.-( )-.
|
||||
( cloudflare )
|
||||
'-( ).-'
|
||||
'-.( ).-'
|
||||
|
|
||||
|
|
||||
v
|
||||
.--------------------------.
|
||||
| Hetzner | .----------------------------.
|
||||
| ____ | | OneCloud |
|
||||
| |====| | | |
|
||||
| | | 10.0.1.2| Tunnel Wireguard | 10.0.1.1 ____ |
|
||||
| | |<---------------------------------------|====| |
|
||||
| |____| | | | | |
|
||||
| adm00 | | | | |
|
||||
| | | | |____| |
|
||||
| v | | filer00 |
|
||||
|==========================| | |
|
||||
| ____ ____ ____ ____ | | |
|
||||
| |====||====||====||====| | '----------------------------'
|
||||
| | || || || | | .---------------------------.
|
||||
| | || || || | | | 10.0.0.0/16 via 10.0.1.2 |
|
||||
| |____||____||____||____| | | No other private networks |
|
||||
| lxd00 lxd01 lxd02 mail | '---------------------------'
|
||||
'--------------------------'
|
||||
.---------------------------------------.
|
||||
| 10.0.0.0/16 via 10.0.0.1 |
|
||||
| hetzner-rt 10.0.0.1 |
|
||||
| mail 10.0.0.2 |
|
||||
| lxd00 10.0.0.3 |
|
||||
| lxd01 10.0.0.4 |
|
||||
| lxd02 10.0.0.5 |
|
||||
| adm00 10.0.0.6+10.0.1.2 |
|
||||
| 10.0.1.0/24 via 10.0.0.1 via 10.0.0.6 |
|
||||
'---------------------------------------'
|
||||
```
|
22
docs/Self-Host/LXDUsage.md
Normal file
22
docs/Self-Host/LXDUsage.md
Normal file
|
@ -0,0 +1,22 @@
|
|||
My LXD/C containers sorted by reverse RAM current/peak usage:
|
||||
|
||||
− Debian for Mastodon 1600MB/4000MB
|
||||
− Debian for Matrix-Synapse 1500MB/1600MB
|
||||
− Ubuntu for Plex 470MB/1500MB
|
||||
− Debian for Peertube 424MB/1140MB
|
||||
− Debian for Wordpress 340MB/1000MB
|
||||
− Ubuntu for NextCloud 270MB/1000MB
|
||||
− Ubuntu for Pixelfed 312MB/960MB
|
||||
− Ubuntu for Mayan EDMS 673MB/755MB
|
||||
− Debian for Tiny Tiny RSS 633MB/752MB
|
||||
− Debian for Matomo 274MB/720MB
|
||||
− Debian for Lychee/PHPMyLMB 180MB/560MB
|
||||
− Debian for Lutim 256MB/480MB
|
||||
− Debian for PrivateBin 220MB/346MB
|
||||
− Debian for Wordpress 220MB/340MB
|
||||
− Debian for Gitit 170MB/291MB
|
||||
− Debian for XMR miner 100MB/200MB
|
||||
− Debian for Bind 100MB/200MB
|
||||
− Alpine for HAProxy 100MB/170MB
|
||||
− Alpine for Weechat 85MB/104MB
|
||||
− Alpine for borgbackup 8MB/90MB
|
781
docs/Various/AnimesList.md
Normal file
781
docs/Various/AnimesList.md
Normal file
|
@ -0,0 +1,781 @@
|
|||
Migrated to:
|
||||
<https://trakt.tv/users/benpro/history/shows/title?genres=>
|
||||
<https://trakt.tv/users/benpro/history/movies/title>
|
||||
TODO: <https://github.com/xbgmsharp/trakt> Export to CSV.
|
||||
|
||||
Score can be: `:)`, `:/` or `:(`.
|
||||
|
||||
# To watch
|
||||
|
||||
- Yotsuba
|
||||
- AsobuAsobi
|
||||
|
||||
# Watched in 2019
|
||||
|
||||
- Mirai Nikki
|
||||
- Air date: 2011
|
||||
- Genres: Action, Mystery, Psychological, Supernatural, Thriller, Horror
|
||||
- Score: `:(`
|
||||
|
||||
- Chobits
|
||||
- Air date: 2002
|
||||
- Genres: Comedy, Drama, Ecchi, Romance, Sci-Fi
|
||||
- Score: `:/`
|
||||
|
||||
- Psycho Pass 3
|
||||
- Air date: 2019
|
||||
- Genres: Action, Sci-Fi, Psychological, Thriller
|
||||
- Score: `:/`
|
||||
|
||||
- Shin Seiki Evangelion
|
||||
- Air date: 1995
|
||||
- Genres: Action, Drama, Mecha, Psychological, Sci-Fi, Mystery
|
||||
- Score: `:)`
|
||||
|
||||
- Hyouka
|
||||
- Air date: 2012
|
||||
- Genres: Mystery, Romance, Slice of Life, Drama
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- Wotakoi: Love is Hard for Otaku
|
||||
- Air date: 2018
|
||||
- Genres: Comedy, Romance, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
- Tada Never Falls In Love
|
||||
- Air date: 2018
|
||||
- Genres: Romance, Comedy, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
- A Silent Voice
|
||||
- Air date: 2016
|
||||
- Genres: Drama, Romance
|
||||
- Score: `:)`
|
||||
|
||||
- That Time I Got Reincarnated as a Slime
|
||||
- Air date: 2018
|
||||
- Genres: Adventure, Comedy, Fantasy
|
||||
- Score: `:)`
|
||||
|
||||
- Zombie Land Saga
|
||||
- Air date: 2018
|
||||
- Genres: Supernatural, Comedy, Horror, Music
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- Fate/Apocrypha
|
||||
- Air date: 2017
|
||||
- Genres: Action, Fantasy
|
||||
- Score: `:)`
|
||||
|
||||
- Cells at Work!
|
||||
- Air date: 2018
|
||||
- Genres: Comedy, Adventure
|
||||
- Score: `:)`
|
||||
|
||||
- Hyakko
|
||||
- Air date: 2008
|
||||
- Genres: Comedy, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
- Overlord
|
||||
- Air date: 2015
|
||||
- Genres: Action, Adventure, Fantasy
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- Log Horizon
|
||||
- Air date: 2013
|
||||
- Genres: Adventure, Fantasy, Action
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- Full Metal Panic! Invisible Victory
|
||||
- Air date: 2018
|
||||
- Genres: Action, Mecha, Sci-Fi
|
||||
- Score: `:)`
|
||||
|
||||
- Revolutionary Girl Utena
|
||||
- Air date: 1997
|
||||
- Genres: Drama, Fantasy, Psychological
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- Fate/EXTRA Last Encore
|
||||
- Air date: Jan 28, 2018
|
||||
- Genres: Action, Fantasy
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- Rascal Does Not Dream of Bunny Girl Senpai
|
||||
- Air date: Oct 4, 2018
|
||||
- Genres: Comedy, Romance, Slice of Life, Supernatural
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- Sword Art Online Alternative: Gun Gale Online
|
||||
- Air date: Apr 8, 2018
|
||||
- Genres: Action, Fantasy, Sci-Fi
|
||||
- Score: `:/`
|
||||
|
||||
- My Teen Romantic Comedy SNAFU
|
||||
- Air date: Apr 5, 2013
|
||||
- Genres: Comedy, Romance, Slice of Life
|
||||
- Score: `:(`
|
||||
|
||||
- GOBLIN SLAYER
|
||||
- Air date: Oct 7, 2018
|
||||
- Genres: Action, Fantasy, Adventure
|
||||
- Score: `:(`
|
||||
|
||||
- The Ancient Magus' Bride
|
||||
- Air date: Oct 8, 2017
|
||||
- Genres: Fantasy, Slice of Life
|
||||
- Score: `:/`
|
||||
|
||||
- Steins;Gate 0
|
||||
- Air date: Apr 12, 2018
|
||||
- Genres: Drama, Sci-Fi, Thriller
|
||||
- Score: `:)` Mayushii/10 Tuturuuuu!
|
||||
|
||||
- Sword Art Online the Movie: Ordinal Scale
|
||||
- Air date: Feb 18, 2017
|
||||
- Genres: Action, Adventure, Fantasy, Romance
|
||||
- Score: `:/`
|
||||
|
||||
- The Boy and The Beast (Movie)
|
||||
- Air date: Jul 11, 2015
|
||||
- Genres: Adventure, Supernatural
|
||||
- Score: `:)`
|
||||
|
||||
- Mirai of the Future (Movie)
|
||||
- Air date: Dec 26, 2018 (In France cinemas)
|
||||
- Genres: Adventure, Drama, Fantasy, Comedy
|
||||
- Score: `:)`
|
||||
|
||||
- Violet Evergarden
|
||||
- Air date: Jan 11, 2018
|
||||
- Genres: Drama, Fantasy, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
- Attack on Titan Season 3
|
||||
- Air date: Jul 23, 2018
|
||||
- Genres: Action, Drama, Fantasy, Mystery
|
||||
- Score: `:)`
|
||||
|
||||
- DARLING in the FRANXX
|
||||
- Air date: Jan 13, 2018
|
||||
- Genres: Sci-Fi, Mecha, Romance, Drama, Action, Psychological
|
||||
- Score: `:)`
|
||||
|
||||
# Watched in 2018
|
||||
|
||||
- DEVILMAN crybaby
|
||||
- Air date: Jan 5, 2018
|
||||
- Genres: Horror, Supernatural, Action, Drama, Psychological
|
||||
- Score: `:)`
|
||||
|
||||
- Serial Experiments Lain
|
||||
- Air date: Jul 6, 1998
|
||||
- Genres: Drama, Mystery, Psychological, Sci-Fi, Supernatural
|
||||
- Score: `:(`
|
||||
|
||||
- Attack on Titan Season 2
|
||||
- Air date: Apr 1, 2017
|
||||
- Genres: Action, Drama, Fantasy, Mystery
|
||||
- Score: `:)`
|
||||
|
||||
- Ayakashi: Samurai Horror Tales
|
||||
- Air date: Jan 13, 2006
|
||||
- Genres: Fantasy, Horror
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- Waiting in the Summer
|
||||
- Air date: Jan 10, 2012
|
||||
- Genres: Comedy, Drama, Romance, Sci-Fi, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
- Made in Abyss
|
||||
- Air date: Jul 7, 2017
|
||||
- Genres: Adventure, Fantasy, Drama, Sci-Fi
|
||||
- Score: `:)`
|
||||
|
||||
# Watched between 2015 and 2018
|
||||
|
||||
I haven't tracked precisely what I watched... Supposedly this reconstituted list.
|
||||
|
||||
- Death Parade
|
||||
- Air date: Jan 10, 2015
|
||||
- Genres: Drama, Mystery, Psychological, Supernatural
|
||||
- Score: `:)`
|
||||
|
||||
- Charlotte
|
||||
- Air date: Jul 5, 2015
|
||||
- Genres: Drama, Supernatural
|
||||
- Score: `:)`
|
||||
|
||||
- Gate
|
||||
- Air date: Jul 4, 2015
|
||||
- Genres: Action, Adventure, Fantasy
|
||||
- Score: `:)`
|
||||
|
||||
- Plastic Memories
|
||||
- Air date: Apr 5, 2015
|
||||
- Genres: Comedy, Drama, Romance, Sci-Fi, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
- Fate/stay night: Unlimited Blade Works 2nd Season
|
||||
- Air date: Apr 5, 2015
|
||||
- Genres: Action, Fantasy, Supernatural
|
||||
- Score: `:)`
|
||||
|
||||
- Prison School
|
||||
- Air date: Jul 11, 2015
|
||||
- Genres: Comedy, Ecchi
|
||||
- Score: `:/`
|
||||
|
||||
- SHIMONETA: A Boring World Where the Concept of Dirty Jokes Doesn’t Exist
|
||||
- Air date: Sep 19, 2015
|
||||
- Genres: Comedy, Ecchi
|
||||
- Score : `:(` and dropped
|
||||
|
||||
- Sound! Euphonium
|
||||
- Air date: Apr 8, 2015
|
||||
- Genres: Music, Slice of Life, Drama
|
||||
- Score: `:)`
|
||||
|
||||
- Himouto! Umaru-chan
|
||||
- Air date: Jul 9, 2015
|
||||
- Genres: Comedy, Slice of Life
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- Monster Musume Everyday Life With Monster Girls
|
||||
- Air date: Jul 8, 2015
|
||||
- Genres: Comedy, Ecchi, Fantasy, Romance
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- My Love Story!!
|
||||
- Air date: Apr 9, 2015
|
||||
- Genres: Comedy, Romance
|
||||
- Score: `:)`
|
||||
|
||||
- SCHOOL-LIVE!
|
||||
- Air date: Jul 9, 2015
|
||||
- Genres: Slice of Life, Supernatural, Psychological, Horror, Mystery
|
||||
- Score: `:/`
|
||||
|
||||
- Gangsta.
|
||||
- Air date: Jul 2, 2015
|
||||
- Genres: Action, Drama
|
||||
- Score: `:)`
|
||||
|
||||
- God Eater
|
||||
- Air date: Jul 12, 2015
|
||||
- Genres: Action, Sci-Fi
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- JoJo's Bizarre Adventure: Stardust Crusaders - Battle in Egypt
|
||||
- Air date: Jan 11, 2015
|
||||
- Genres: Action, Adventure
|
||||
- Score: `:)`
|
||||
|
||||
- Absolute Duo
|
||||
- Air date: Jan 4, 2015
|
||||
- Genres: Action, Ecchi, Romance, Supernatural
|
||||
- Score: `:(`
|
||||
|
||||
- Aldnoah Zero 2
|
||||
- Air date: Jan 11, 2015
|
||||
- Genres: Action, Mecha, Sci-Fi
|
||||
- Score: `:)`
|
||||
|
||||
- KanColle
|
||||
- Air date: Jan 8, 2015
|
||||
- Genres: Action, Sci-Fi, Slice of Life
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- The Eden of Grisaia
|
||||
- Air date: Apr 19, 2015
|
||||
- Genres: Action, Drama, Romance
|
||||
- Score: `:)`
|
||||
|
||||
- Wagnaria!!3 / Working!!!
|
||||
- Air date: Jul 5, 2015
|
||||
- Genres: Comedy, Romance, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
- Non Non Biyori Repeat
|
||||
- Air date: Jul 7, 2015
|
||||
- Genres: Comedy, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
- The Perfect Insider
|
||||
- Air date: Oct 9, 2015
|
||||
- Genres: Drama, Mystery
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- To Love Ru Darkness 2nd
|
||||
- Air date: Jul 7, 2015
|
||||
- Genres: Comedy, Ecchi, Romance, Sci-Fi
|
||||
- Score: `:)`
|
||||
|
||||
- Mobile Suit GUNDAM Iron Blooded Orphans
|
||||
- Air date: Oct 4, 2015
|
||||
- Genres: Drama, Mecha, Sci-Fi, Action
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- Mr. Osomatsu
|
||||
- Air date: Oct 6, 2015
|
||||
- Genres: Comedy, Slice of Life
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- YuruYuri Season 3
|
||||
- Air date: Oct 6, 2015
|
||||
- Genres: Comedy, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
- Fate/kaleid liner Prisma Illya 2wei Herz!
|
||||
- Air date: Jul 25, 2015
|
||||
- Genres: Action, Comedy, Fantasy, Mahou Shoujo, Ecchi
|
||||
- Score: `:/`
|
||||
|
||||
- Gourmet Girl Graffiti
|
||||
- Air date: Jan 9, 2015
|
||||
- Genres: Comedy, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
- Triage X
|
||||
- Air date: Apr 9, 2015
|
||||
- Genres: Action, Drama, Ecchi
|
||||
- Score: `:/`
|
||||
|
||||
- Ghost in the Shell Arise: Alternative Architecture
|
||||
- Air date: Apr 5, 2015
|
||||
- Genres: Action, Mecha, Psychological, Sci-Fi
|
||||
- Score: `:/`
|
||||
|
||||
- Re:ZERO -Starting Life in Another World-
|
||||
- Air date: Apr 4, 2016
|
||||
- Genres: Action, Drama, Fantasy, Psychological
|
||||
- Score: `:)`
|
||||
|
||||
- ERASED
|
||||
- Air date: Jan 8, 2016
|
||||
- Genres: Mystery, Psychological, Supernatural, Thriller
|
||||
- Score: `:)`
|
||||
|
||||
- KONOSUBA -God's blessing on this wonderful world!
|
||||
- Air date: Jan 14, 2016
|
||||
- Genres: Adventure, Comedy, Fantasy
|
||||
- Score: `:)`
|
||||
|
||||
- Mob Psycho 100
|
||||
- Air date: Jul 12, 2016
|
||||
- Genres: Action, Comedy, Supernatural
|
||||
- Score: `:)`
|
||||
|
||||
- ReLife
|
||||
- Air date: Jul 2, 2016
|
||||
- Genres: Comedy, Drama, Romance, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
- Bungo Stray Dogs
|
||||
- Air date: Apr 7, 2016
|
||||
- Genres: Mystery, Supernatural, Comedy, Action
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- New Game!
|
||||
- Air date: Jul 4, 2016
|
||||
- Genres: Comedy, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
- Myriad Colors Phantom World
|
||||
- Air date: Jan 7, 2016
|
||||
- Genres: Action, Fantasy, Supernatural, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
- Dagashi Kashi
|
||||
- Air date: Jan 8, 2016
|
||||
- Genres: Comedy
|
||||
- Score: `:)`
|
||||
|
||||
- Gate 2
|
||||
- Air date: Jan 9, 2016
|
||||
- Genres: Action, Adventure, Fantasy
|
||||
- Score: `:)`
|
||||
|
||||
- JoJo's Bizarre Adventure: Diamond is Unbreakable
|
||||
- Air date: Apr 2, 2016
|
||||
- Genres: Action, Adventure, Supernatural, Comedy, Drama, Mystery
|
||||
- Score: `:)`
|
||||
|
||||
- Flying Witch
|
||||
- Air date: Apr 10, 2016
|
||||
- Genres: Comedy, Slice of Life, Supernatural
|
||||
- Score: `:)`
|
||||
|
||||
- Sound! Euphonium 2
|
||||
- Air date: Oct 6, 2016
|
||||
- Genres: Music, Slice of Life, Drama
|
||||
- Score: `:)`
|
||||
|
||||
- Love Live! Sunshine!!
|
||||
- Air date: Jul 2, 2016
|
||||
- Genres: Music, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
- WWW.WAGNARIA!!
|
||||
- Air date: Oct 1, 2016
|
||||
- Genres: Comedy, Slice of Life, Romance
|
||||
- Score: `:)`
|
||||
|
||||
- Ace Attorney
|
||||
- Air date: Apr 2, 2016
|
||||
- Genres: Comedy, Drama, Mystery
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- Fate/kaleid liner PRISMA ILLYA 3rei!!
|
||||
- Air date: Jul 6, 2016
|
||||
- Genres: Action, Comedy, Fantasy, Mahou Shoujo, Ecchi
|
||||
- Score: `:/`
|
||||
|
||||
- Anne-Happy
|
||||
- Air date: Apr 7, 2016
|
||||
- Genres: Comedy, Slice of Life
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- Active Raid
|
||||
- Air date: Jan 7, 2016
|
||||
- Genres: Action, Mecha
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- KONOSUBA -God's blessing on this wonderful world! 2
|
||||
- Air date: Jan 12, 2017
|
||||
- Genres: Adventure, Comedy, Fantasy
|
||||
- Score: `:/`
|
||||
|
||||
- Miss Kobayashi's Dragon Maid
|
||||
- Air date: Jan 12, 2017
|
||||
- Genres: Comedy, Fantasy, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
- Eromanga Sensei
|
||||
- Air dare: Apr 9, 2017
|
||||
- Genres: Comedy, Drama, Romance, Ecchi
|
||||
- Score: `:(` and dropped
|
||||
|
||||
- Little Witch Academia
|
||||
- Air date: Jan 9, 2017
|
||||
- Genres: Adventure, Comedy, Fantasy
|
||||
- Score: `:)`
|
||||
|
||||
- Scum's Wish
|
||||
- Air date: Jan 13, 2017
|
||||
- Genres: Drama, Ecchi, Psychological, Romance
|
||||
- Score: `:(`
|
||||
|
||||
- Gabriel DropOut
|
||||
- Air date: Jan 9, 2017
|
||||
- Genres: Comedy, Supernatural, Slice of Life
|
||||
- Score: `:)`
|
||||
|
||||
# Watched before 2015
|
||||
|
||||
Exported from my Icotaku.com account:
|
||||
|
||||
```
|
||||
Score out of 10
|
||||
|
||||
Titre Format Note
|
||||
Aa! Megami-sama! TV 9
|
||||
Aa! Megami-sama! Chicchaitte Koto wa Benri da ne! TV 4
|
||||
Aa! Megami-sama! Itsumo Futari de OAD 6
|
||||
Aa! Megami-sama! Sorezore no Tsubasa TV 9
|
||||
Aa! Megami-sama! Tatakau Tsubasa OAV 10
|
||||
Accel World TV 7
|
||||
Ai Yori Aoshi TV 7
|
||||
AIKa R-16: Virgin Mission OAV 8
|
||||
Air Gear TV 8
|
||||
Akame ga KILL! TV 9
|
||||
Akikan! TV 6
|
||||
Aldnoah.Zero TV 7
|
||||
Aldnoah.Zero 2 TV 5
|
||||
Amaenaideyo!! TV 8
|
||||
Amaenaideyo!! Katsu!! TV 8
|
||||
Amagi Brilliant Park TV 8
|
||||
Angel Beats! TV 9
|
||||
Another TV 6
|
||||
Appleseed Film 10
|
||||
Aquarion Evol TV 9
|
||||
Asura Cryin' TV 7
|
||||
Baka to Test to Shōkanjū TV 8
|
||||
Baka to Test to Shōkanjū Ni! TV 8
|
||||
Baldr Force Exe Resolution OAV 8
|
||||
Battle Programmer SHIRASE TV 7
|
||||
Binbō-gami ga! TV 9
|
||||
Black Cat TV 8
|
||||
Black★Rock Shooter OAV 7
|
||||
Blassreiter TV 9
|
||||
BLOOD+ TV 9
|
||||
BLOOD-C TV 9
|
||||
Bokurano TV 8
|
||||
Bokusatsu Tenshi Dokuro-chan OAV 9
|
||||
Bōnen no Xam'd TV 8
|
||||
BTOOOM! TV 6
|
||||
Burn Up Scramble TV 8
|
||||
Burn Up! Excess TV 9
|
||||
Burn-Up! W OAV 8
|
||||
Busō Shinki TV 6
|
||||
CANAAN TV 7
|
||||
Card Captor Sakura TV 9
|
||||
Card Captor Sakura: Fūin Sareta Kādo Film 7
|
||||
Card Captor Sakura: Gekijōban Film 7
|
||||
Carnival Phantasm OAV 8
|
||||
ChäoS;HEAd TV 4
|
||||
Chrono Crusade TV 10
|
||||
Chūnibyō Demo Koi Ga Shitai! TV 9
|
||||
Chūnibyō Demo Koi Ga Shitai! Ren TV 6
|
||||
CLANNAD TV 9
|
||||
CLANNAD ~AFTER STORY~ TV 9
|
||||
Claymore TV 8
|
||||
Cobra the Animation: The Psycho-Gun OAV 7
|
||||
Cobra the Animation: Time Drive OAV 7
|
||||
Code Geass ~ Hangyaku no Lelouch TV 9
|
||||
Code Geass ~ Hangyaku no Lelouch R2 TV 9
|
||||
Code:Breaker TV 6
|
||||
Cowboy Bebop TV 9
|
||||
Cross Ange: Tenshi to Ryū no Rondo TV 9
|
||||
C³ TV 8
|
||||
D.Gray-man TV 8
|
||||
Dance in the Vampire Bund TV 8
|
||||
Danganronpa: Kibō no Gakuen to Zetsubō no Kōkōsei TV 9
|
||||
Darker than Black - Kuro no Keiyakusha TV 8
|
||||
Deadman Wonderland TV 8
|
||||
Death Note TV 9
|
||||
Dragonaut: The Resonance TV 8
|
||||
DT Eightron TV 7
|
||||
Elfen Lied TV 8
|
||||
Eureka Seven: Kōkyōshihen - Pocket ga Niji de Ippai Film 7
|
||||
Eyeshield 21 TV 8
|
||||
Fate/Kaleid Liner Prisma☆Illya TV 8
|
||||
Fate/Kaleid Liner Prisma☆Illya - Undōkai de Dance! OAD 6
|
||||
Fate/Kaleid Liner Prisma☆Illya 2wei! TV 7
|
||||
Fate/stay night: Unlimited Blade Works TV 9
|
||||
Fate/stay night: Unlimited Blade Works 2 TV 8
|
||||
Final Fantasy VII: Advent Children Film 8
|
||||
Full Metal Panic! TV 9
|
||||
Full Metal Panic! The Second Raid TV 9
|
||||
Full Metal Panic? Fumoffu TV 9
|
||||
Gake no Ue no Ponyo Film 6
|
||||
Gakkō Gurashi! TV 7.5
|
||||
Gakuen Mokushiroku Highschool of the Dead TV 6
|
||||
Gekijōban Aa! Megami-sama! Film 10
|
||||
Gekkan Shōjo Nozaki-kun TV 8
|
||||
Gin no Saji TV 9
|
||||
Gin no Saji 2 TV 9
|
||||
Girls Bravo: First Season TV 6
|
||||
Girls Bravo: Second Season TV 8
|
||||
Gokudō-kun Manyūki TV 8
|
||||
Goshūshō-sama Ninomiya-kun TV 6
|
||||
Green Green TV 8
|
||||
Grenadier: Hohoemi no Senshi TV 9
|
||||
Grisaia no Kajitsu -Le Fruit de la Grisaia- TV 8
|
||||
Grisaia no Meikyū -Le Labyrinthe de la Grisaia- TV Special 9
|
||||
Grisaia no Rakuen -Le Eden de la Grisaia- TV 9
|
||||
Guilty Crown TV 7
|
||||
Gungrave TV 9
|
||||
Hagane no Renkinjutsushi: Brotherhood TV 9
|
||||
Hagane no Renkinjutsushi: Shambala wo Yuku Mono Film 6
|
||||
Hana-Saku Iroha TV 8
|
||||
Hataraku Maō-sama! TV 9
|
||||
Hauru no Ugoku Shiro Film 7
|
||||
Hayate no Gotoku! TV 7
|
||||
Heisei tanuki gassen Pompoko Film 8
|
||||
Hentai Ōji to Warawanai Neko. TV 8
|
||||
Hibike! Euphonium: Kitauji Kōkō Suisōgaku-bu he Yōkoso TV 10
|
||||
Hidan no Aria TV 6
|
||||
Higashi no Eden TV 7
|
||||
Higurashi no Naku Koro ni TV 8
|
||||
Ichigo 100% TV 7
|
||||
Ikoku Meiro no Croisée TV 7
|
||||
Inukami! TV 8
|
||||
Isshūkan Friends. TV 6
|
||||
Jinrui wa Suitai Shimashita TV 7
|
||||
JoJo no Kimyō na Bōken: Phantom Blood Film 8
|
||||
JoJo no Kimyō na Bōken: Stardust Crusader TV 7
|
||||
JoJo no Kimyō na Bōken: Stardust Crusader Egypt-hen TV 8
|
||||
JoJo no Kimyō na Bōken: the Animation TV 8
|
||||
Jormungand TV 8
|
||||
Jormungand: Perfect Order TV 8
|
||||
K-ON! TV 9
|
||||
K-ON!! TV 8
|
||||
Kamen no Maid Guy TV 6
|
||||
Kamisama Kazoku TV 7
|
||||
Kamisama no Memo-chō TV 8
|
||||
Kangoku Gakuen TV 5
|
||||
Kannagi TV 4
|
||||
Kanokon TV 7
|
||||
Karin TV 8
|
||||
Kateikyōshi Hitman Reborn! TV 7
|
||||
Kaze no Tani no Nausicaä Film 8
|
||||
Kenkō Zenrakei Suieibu Umishō TV 8
|
||||
Kidō Senshi Gundam 00 - First Season TV 9
|
||||
Kidō Senshi Gundam 00 ~A wakening of the Trailblazer~ Film 9
|
||||
Kidō Senshi Gundam SEED TV 9
|
||||
Kidō Senshi Gundam SEED Destiny TV 9
|
||||
Kill la Kill TV 7
|
||||
Kimi ga Aruji de Shitsuji ga Ore de TV 8
|
||||
Kimi ga Nozomu Eien TV 9
|
||||
Kimi ga Nozomu Eien ~Next Season~ OAV 6
|
||||
Kimikiss Pure Rouge TV 6
|
||||
Kin-iro Mosaic TV 7
|
||||
Kodomo no Jikan TV 7
|
||||
Koharu Biyori OAV 6
|
||||
Kōkaku Kidōtai Film 10
|
||||
Kōkaku Kidōtai 2: Innocence Film 8
|
||||
Kōkaku Kidōtai ARISE OAV 5
|
||||
Kōkaku Kidōtai Stand Alone Complex - Solid State Society Film 8
|
||||
Kokoro Connect TV 8
|
||||
Kore ga Watashi no Goshujin-sama TV 8
|
||||
Kore wa Zombie Desu Ka? TV 8
|
||||
Kore wa Zombie Desu ka? of the Dead TV 8
|
||||
Kotoura-san TV 8
|
||||
Kurokami - The Animation TV 8
|
||||
Little Busters! TV 8
|
||||
Little Busters! ~Refrain~ TV 8
|
||||
Love Hina TV 4
|
||||
Love Lab TV 8
|
||||
Love Live! TV 8
|
||||
Love Live! 2 TV 9
|
||||
Love☆Com - Lovely Complex TV 9
|
||||
Lucky☆Star - OAV OAV 6
|
||||
Macross Frontier TV 9
|
||||
Mahō Shōjo Lyrical Nanoha TV 9
|
||||
Mahō Shōjo Lyrical Nanoha The MOVIE 1st Film 8
|
||||
Mahō Shōjo Madoka☆Magica TV 9
|
||||
Majo no Takkyūbin Film 5
|
||||
Mamoru-kun ni Megami no Shukufuku wo! TV 7
|
||||
Mangaka-san to Assistant-san to TV 8
|
||||
Maria†Holic TV 7
|
||||
Michiko to Hatchin TV 6
|
||||
Minami-ke TV 9
|
||||
Minami-ke: Okaeri TV 7
|
||||
Minami-ke: Okawari TV 8
|
||||
Minami-ke: Tadaima TV 9
|
||||
Mitsudomoe TV 8
|
||||
Mitsudomoe Zōryōchū! TV -
|
||||
Mnemosyne - Mnemosyne no Musume-tachi OAV 7
|
||||
Moetan TV 8
|
||||
Mondaiji Tachi ga Isekai Kara Kuru Sōdesuyo? TV 8
|
||||
Mononoke Hime Film 9
|
||||
Motto To LOVE-Ru -Trouble- TV 7
|
||||
Murder Princess OAV 8
|
||||
Nabari no Ō TV 8
|
||||
Nagasarete Airantō TV 8
|
||||
Nazo no Kanojo X TV 5
|
||||
Neko no Ongaeshi Film 7
|
||||
Nichijō TV 9
|
||||
No Game No Life TV 9
|
||||
Nogizaka Haruka no Himitsu TV 8
|
||||
Non Non Biyori TV 8
|
||||
Non Non Biyori Repeat TV 9
|
||||
Ōkami Kakushi TV 7
|
||||
One Piece Film 8
|
||||
One Piece Film Z Film 6
|
||||
Onegai Teacher TV 7
|
||||
Ore Monogatari!! TV 6
|
||||
Ore no Imōto ga Konnani Kawaii Wake ga Nai TV 8
|
||||
Ore no Imōto ga Konnani Kawaii Wake ga Nai. TV 7
|
||||
Ore, Twin Tails ni Narimasu. TV 8
|
||||
Panty & Stocking with Garterbelt TV 9
|
||||
Paranoia Agent TV 6
|
||||
Phantom ~ Requiem for the Phantom TV 9
|
||||
Plastic Memories TV 8
|
||||
Prism Ark TV 5
|
||||
Psychic Academy Aura Banshō ONA 6
|
||||
Psycho-Pass TV 9
|
||||
Psycho-Pass 2 TV 10
|
||||
Punch Line TV 6
|
||||
RahXephon TV 8
|
||||
Rail Wars! - Nihon Kokuyū Tetsudō Kōantai TV 5
|
||||
RD Sennō Chōsashitsu TV 6
|
||||
Red Data Girl TV 8
|
||||
Rio - Rainbow Gate! TV 7
|
||||
Rizelmine TV 5
|
||||
Rosario to Vampire TV 7
|
||||
Rosario to Vampire Capu2 TV 8
|
||||
Sakamichi no Apollon TV 8
|
||||
Sakurasō no Pet na Kanojo TV 8
|
||||
Samurai Champloo TV 9
|
||||
Samurai Deeper Kyo TV 3
|
||||
Sankarea TV 7
|
||||
School Days TV 7
|
||||
School Rumble TV 8
|
||||
School Rumble Ni Gakki TV 8
|
||||
Seikoku no Ryū Kishi TV 5
|
||||
Sekirei TV 8
|
||||
Sekirei ~Pure Engagement~ TV 8
|
||||
Selector Infected WIXOSS TV 8
|
||||
Selector Spread WIXOSS TV 8
|
||||
Sen to Chihiro no Kamikakushi Film 8
|
||||
Senjō no Valkyria: Gallian Chronicles TV 8
|
||||
Shigofumi ~Stories of Last Letter~ TV 9
|
||||
Shingeki no Kyojin TV 7
|
||||
Shinryaku! Ika Musume TV 9
|
||||
Shinryaku!? Ika Musume TV 9
|
||||
SHUFFLE! TV 9
|
||||
Shukufuku no Campanella TV 7
|
||||
Sky Girls TV 8
|
||||
Sola TV 8
|
||||
Sora no Otoshimono TV 8
|
||||
Sora wo Kakeru Shōjo TV 9
|
||||
Sōsei no Aquarion TV 7
|
||||
Soul Eater TV 8
|
||||
Space☆Dandy TV 6
|
||||
Space☆Dandy 2 TV 7
|
||||
Stranger Mukō Hadan Film 10
|
||||
Strike Witches TV 5
|
||||
Suisei no Gargantia TV 9
|
||||
Suzumiya Haruhi no Shōshitsu Film 8
|
||||
Suzumiya Haruhi no Yūutsu TV 5
|
||||
Sword Art Online TV 9
|
||||
Sword Art Online II TV 9
|
||||
Taiho Shichauzo TV 9
|
||||
Taiho Shichauzo Second Season TV 9
|
||||
Taiyō no Mokishiroku OAV 6
|
||||
Tales of Eternia TV 8
|
||||
Tales of Symphonia: Sylvarant OAV 10
|
||||
Tasogare Otome × Amnesia TV 9
|
||||
Tengen Toppa Gurren Lagann TV 8
|
||||
Tengen Toppa Gurren Lagann - Gekijōban Film 9
|
||||
Tenjō Tenge TV 8
|
||||
Tenkū no Shiro Laputa Film 8
|
||||
The Third: Aoi Hitomi no Shōjo TV 5
|
||||
To Aru Kagaku no Railgun TV 9
|
||||
To Aru Kagaku no Railgun S TV 8
|
||||
To Aru Majutsu no Index TV 8
|
||||
To Aru Majutsu no Index II TV 7
|
||||
To LOVE-Ru -Trouble- TV 8
|
||||
To Love-Ru Darkness TV 8
|
||||
Tōhō Niji Sōsaku Dōjin Anime - Musō Kakyō OAV -
|
||||
Tokkō TV 8
|
||||
Tona-Gura! TV -
|
||||
Tonari no Kaibutsu-kun TV 8
|
||||
Tonari no Totoro Film 10
|
||||
Toradora! TV 8
|
||||
Triage X TV 6
|
||||
TRIGUN TV 9
|
||||
True Tears TV 9
|
||||
Uchū no Stellvia TV 8
|
||||
Vampire Knight TV 5
|
||||
Vexille: 2077 Nihon Sakoku Film 8
|
||||
Vividred Operation TV 7
|
||||
Wangan Midnight TV 8
|
||||
World Destruction TV 7
|
||||
xxxHOLiC TV 8
|
||||
xxxHOLiC Kei TV 8
|
||||
Yakushiji Ryōko no Kaiki Jikenbo TV 8
|
||||
Yowamushi Pedal TV 9
|
||||
Yowamushi Pedal: Grande Road TV 7
|
||||
Zankyō no Terror TV 9
|
||||
Zero no Tsukaima TV 8
|
||||
Zero no Tsukaima F TV 9
|
||||
Zero no Tsukaima ~Futatsuki no Kishi~ TV 7
|
||||
Zero no Tsukaima ~Princess no Rondo~ TV 6
|
||||
Zettai Shougeki: Platonic Heart OAV 6
|
||||
Zombie Loan TV 8
|
||||
```
|
40
docs/Various/BackupStrategy.md
Normal file
40
docs/Various/BackupStrategy.md
Normal file
|
@ -0,0 +1,40 @@
|
|||
---
|
||||
format: Markdown
|
||||
toc: yes
|
||||
title: Backup Strategy
|
||||
...
|
||||
|
||||
# Servers
|
||||
|
||||
- Saber, daily borg backup to Ikachan
|
||||
- Miku, daily borg backup to Ikachan
|
||||
- Ikachan, daily borg backup to /backup and to Saber (/backup excluded)
|
||||
- Ikachan, monthly copy of /backup to OrangeBackupUSBDisk
|
||||
|
||||
# Laptop
|
||||
|
||||
- Mikubook
|
||||
- Every hour `/home` borg backup to `/media/sata/$USER/Backups`
|
||||
- Every day `/` borg backup to `/media/$USER/BACKUP/` (disk **BACKUP_A** or **BACKUP_B** connected)
|
||||
- Every month manual swapping of disks **BACKUP_A** and **BACKUP_B** on Mikubook-Ikachan
|
||||
|
||||
# Desktop
|
||||
|
||||
No backup strategy for now...
|
||||
|
||||
# Android devices
|
||||
|
||||
- OnePlus6, monthly `adb pull` to Mikubook /media/sata/$USER/Backups/Oneplus6
|
||||
```
|
||||
$ adb pull -a /sdcard Oneplus6
|
||||
$ tar cvf - Oneplus6 | lz4 > Oneplus6.tar.lz4 && rm -rf Oneplus6
|
||||
```
|
||||
- GalaxyTabS2, monthly `adb backup` in recovery (+tar.gz media) to Mikubook /media/sata/$USER/Backups
|
||||
```
|
||||
$ adb backup --twrp --compress system data cache boot efs persist
|
||||
$ adb exec-out 'tar --create /sdcard1/media/0 2>/backup-errors.txt' | pigz > media.tar.gz
|
||||
$ adb shell 'dd if=/dev/block/mmcblk0' | lz4 > mmcblk0.img.lz4
|
||||
$ adb shell 'dd if=/dev/block/mmcblk1' | lz4 > mmcblk1.img.lz4
|
||||
```
|
||||
|
||||
Nextcloud is used for some data (photos, some synced folders) and all contacts, permanent synchronization.
|
72
docs/Various/CPUBenchmark.md
Normal file
72
docs/Various/CPUBenchmark.md
Normal file
|
@ -0,0 +1,72 @@
|
|||
---
|
||||
title: Basic CPU Benchmark on GCP/Vultr/Hetzner/Scaleway
|
||||
...
|
||||
|
||||
*Updated whenever I can.*
|
||||
Encoding a 2h video (live concert from Japanese TV, MPEG-2, dark scene with grain) at 1280x720 resolution.
|
||||
|
||||
```
|
||||
HandBrakeCLI -i in.ts -o out.mp4 -f av_mp4 -O -e x264 --encoder-preset slow --encoder-tune grain --encoder-profile high --encoder-level auto -q 20 --vfr -E copy:aac -w 1280 -l 720 --decomb --detelecine --crop 0:0:0:0
|
||||
```
|
||||
|
||||
- Scaleway bare-metal 8 CPU C2L:
|
||||
- 12.072023 fps
|
||||
- Intel(R) Atom(TM) CPU C2750 @ 2.40GHz
|
||||
- €0.048 hourly
|
||||
|
||||
- Hetzner dedicated 8 vCPU:
|
||||
- 28.270920 fps
|
||||
- Intel Xeon Processor (Skylake, IBRS) @ 2.10GHz
|
||||
- €0.144 hourly
|
||||
|
||||
- Scaleway 8vCPU GP1-S:
|
||||
- 30.584057 fps
|
||||
- AMD EPYC 7401P 24-Core Processor @ 2.00GHz
|
||||
- €0.158 hourly
|
||||
|
||||
- Hetzner CPX41 8 vCPU (AMD EPYC 2nd Gen processors):
|
||||
- 36.369133 fps
|
||||
- AMD EPYC @ 2.40GHz
|
||||
- €0.038 hourly
|
||||
|
||||
- Vultr bare-metal 8 CPU:
|
||||
- 36.676926 fps
|
||||
- Intel(R) Xeon(R) CPU E3-1270 v6 @ 3.80GHz
|
||||
- $0.179 hourly
|
||||
|
||||
- Scaleway 16vCPU GP1-M:
|
||||
- 43.332794 fps
|
||||
- AMD EPYC 7401P 24-Core Processor @ 2.00GHz
|
||||
- €0.318 hourly
|
||||
|
||||
- Hetzner CPX51 16 vCPU (AMD EPYC 2nd Gen processors):
|
||||
- 55.919209 fps
|
||||
- AMD EPYC @ 2.40GHz
|
||||
- €0.080 hourly
|
||||
|
||||
- GCP 24 vCPU:
|
||||
- 57.956608 fps
|
||||
- Intel(R) Xeon(R) CPU @ 2.60GHz
|
||||
- $0.688 hourly
|
||||
|
||||
- GCP 28 vCPU:
|
||||
- 63.077595 fps
|
||||
- Intel(R) Xeon(R) CPU @ 2.60GHz
|
||||
- $0.802 hourly
|
||||
|
||||
- GCP 32 vCPU:
|
||||
- 63.491947 fps
|
||||
- Intel(R) Xeon(R) CPU @ 2.00GHz
|
||||
- $0.874 hourly
|
||||
|
||||
- Vultr 24 vCPU:
|
||||
- 64.176575 fps
|
||||
- Virtual CPU a7769a6388d5 @ 2.40GHz
|
||||
- $0.952 hourly
|
||||
|
||||
- GCP 96 vCPU:
|
||||
- 69.550346 fps
|
||||
- Intel(R) Xeon(R) CPU @ 2.00GHz
|
||||
- $2.621 hourly
|
||||
|
||||
*Note: HandBrake don't scale well with more that 32 threads.*
|
80
docs/Various/ElectricRoadTrip2019.md
Normal file
80
docs/Various/ElectricRoadTrip2019.md
Normal file
|
@ -0,0 +1,80 @@
|
|||
---
|
||||
title: Electric Road Trip 2019
|
||||
...
|
||||
|
||||
:electric_plug:
|
||||
|
||||
Charge points and costs:
|
||||
|
||||
Name/Location kWh charged Paid Calculated kWh price
|
||||
------------- ----------- ----- --------------------
|
||||
FDEL 46270 Bagnac-sur-Célé 19.28kWh 5.56€ 0.29€/kWh
|
||||
Corri-Door 19800 Vitrac-sur-Montane 17.01kWh 6.70€ 0.39€/kWh
|
||||
Hotel 63690 Tauves ~4kWh 2.00€ 0.50€/kWh
|
||||
Auchan 63110 Beaumont 17kWh 0.7€ 0.04€/kWh
|
||||
Corri-Door 42440 Les Salles 7kWh 0€ (bug) 0.00€/kWh
|
||||
Corri-Door 42600 Magneux-Haute-Rive 8.11kWh 3.35€ 0.41€/kWh
|
||||
Corri-Door 38080 L'Isle-d'Abeau 11.72kWh 4.74€ 0.40€/kWh
|
||||
CNR 01300 Belley 12kWh 5€ 0.42€/kWh
|
||||
Auchan 74330 Epagny 15kWh 0.70€ 0.05€/kWh
|
||||
Green Motion 1183 Bursins CH 11kWh 4.5€ 0.41€/kWh
|
||||
Move 2017 Boudry CH 9.6kWh 4.07€ 0.42€/kWh
|
||||
Lidl 2732 Reconvilier CH ~7kWh 0.00€ 0.00€/kWh
|
||||
GOFAST 2900 Porrentruy CH 8.4kWh 4.43€ 0.53€/kWh
|
||||
Corri-Door 67600 Sélestat 12.52kWh 5.02€ 0.40/kWh
|
||||
Auchan 67590 Schweighouse-sur-Moder ~8kWh 0.00€ 0.00€/kWh
|
||||
Be Energised 76829 Landau in der Pfalz DE 13.85kWh 1.41€ 0.10€/kWh
|
||||
New Motion 67245 Lambsheim DE 10.59kWh 3.01€ 0.28€/kWh
|
||||
Aldi 65191 Wiesbaden DE ~10kWh 0.00€ 0.00€/kWh
|
||||
LIDL 35394 Gießen DE ~16kWh 0.00€ 0.00€/kWh
|
||||
E-Wald 34613 Schwalmstadt DE 17kWh 1.89€ 0.11€/kWh
|
||||
Audi 34125 Kassel DE 9.1kWh 0.93€ 0.10€/kWh
|
||||
Autohof 37154 Northeim DR ~13kWh 0.00€ 0.00€/kWh
|
||||
NewMotion 30169 Hannover DE ?? 0.00€ 0.00€/kWh
|
||||
E-Wald 31535 Neustadt am Rübenberge DE ~10kWh 0.00€ 0.00€/kWh
|
||||
Ville de Hambouurg 20457 Hamburg DE 6.6kWh 1.46€ 0.22€/kWh
|
||||
Allego 24610 Trappenkamp DE 4.30kWh 0.86€ 0.20€/kWh
|
||||
BFT Wiler 24376 Kappeln DE 15kWh 1.67€ 0.11€/kWh
|
||||
Lidl 6200 Aabenraa DK ~12kWh 0.00€ 0.00€/kWh
|
||||
Lidl 6200 Aabenraa DK ~15kWh 0.00€ 0.00€/kWh
|
||||
NewMotion 24939 Flensburg DE ~11kWh 0.00€ 0.00€/kWh
|
||||
BFT Willer 24376 Kappeln DE 8.3kWh 0.90€ 0.11€/kWh
|
||||
Fast E 24866 Busdorf DE 9.55kWh 1.91€ 0.20€/kWh
|
||||
REWE 24568 Kaltenkirchen DE 15.80kWh 3.16€ 0.20€/kWh
|
||||
Ville de Hambourg 22459 Hamburg DE 6.6kWh 1.48€ 0.22€/kWh
|
||||
Innogy 29614 Soltau DE 10kWh 8.00€ 0.80€/kWh
|
||||
SWB 28211 Bremen DE 16kWh 1.72€ 0.11€/kWh
|
||||
EnBW 27777 Ganderkesee DE ~6kWh 0.00€ 0.00€/kWh
|
||||
Allego 26655 Westerstede DE 7kWh 1.40€ 0.20€/kWh
|
||||
Allego 26899 Rhede DE 10.40kWh 2.08€ 0.20€/kWh
|
||||
Fastned 9679 Scheemda NL 5.19kWh 3.07€ 0.59€/kWh
|
||||
Shell 7933 TW Pesse NL 9.29kWh 2.23€ 0.24€/kWh
|
||||
Allego 8084 HK Het Harde NL ?? 0.00€ 0.00€/kWh
|
||||
Allego 1327 AK Almere NL 14.44kWh 3.47€ 0.24€/kWh
|
||||
Shell 2804 VW Gouda NL 15.90kWh 3.82€ 0.24€/kWh
|
||||
Allego 3317 DB Dordrecht NL 8.66kWh 2.08€ 0.24€/kWh
|
||||
Lidl 2960 Brecht BE ~5kWh 0.00€ 0.00€/kWh
|
||||
Décathlon 1300 Wavre BE 13.15kWh 0.00€ 0.00€/kWh
|
||||
Décathlon 5101 Loyers BE 11.27kWh 0.00€ 0.00€/kWh
|
||||
Total 5564 Houyet BE 12.20kWh 3.90€ 0.32€/kWh
|
||||
Auchan 54350 Mont-Saint-Martin 10kWh 0.70€ 0.07€/kWh
|
||||
Auchan 57280 Semécourt 12kWh 0.70€ 0.06€/kWh
|
||||
Auchan 54520 Laxou ~10kWh 0.00€ 0.00€/kWh
|
||||
Fuclem-55 55500 Ligny-en-Barrois ?? 0.00€ 0.00€/kWh
|
||||
Corri-Door 51320 Sommesous 18.642kWh 7.53€ 0.40€/kWh
|
||||
SDEY 89210 Brienon-sur-Armançon ?? 0.00€ 0.00€/kWh
|
||||
Auchan 45500 Gien ~10kWh 0.00€ 0.00€/kWh
|
||||
Corri-Door 18500 Marmagne 11kWh 4.66€ 0.42€/kWh
|
||||
SDE03 03410 Saint-Victor ?? 0.00€ 0.00€/kWh
|
||||
Corri-Door 87160 Saint-Sulpice-les-Feui… 17kWh 9.94€ 0.58€/kWh
|
||||
Corri-Door 87000 Limoges 11kWh 5.98€ 0.54€/kWh
|
||||
Corri-Door 19100 Brive-la-Gaillarde 8.9kWh 3.19€ 0.36€/kWh
|
||||
Révéo 46300 Le Vigan 8.14kWh 2.09€ 0.23€/kWh
|
||||
Lidl 82200 Moissac ?? 0.00€ 0.00€/kWh
|
||||
|
||||
Travel distance: 5645km
|
||||
Total cost: 131.11€
|
||||
Total cost estimation for a petrol car with 6.5l/100km: 568.73€
|
||||
Approximate kWh used: 849kWh
|
||||
Average energy used: 0.14kWh/km
|
||||
Approximate CO2 economy: 1017kg
|
850
docs/Various/Japonais.md
Normal file
850
docs/Various/Japonais.md
Normal file
|
@ -0,0 +1,850 @@
|
|||
---
|
||||
format: Markdown
|
||||
toc: yes
|
||||
categories: Nihongo
|
||||
title: Mémo/Cours de Japonais 1ère année
|
||||
...
|
||||
|
||||
# Deprecated
|
||||
|
||||
> **Note** : Je ne tiens plus à jour cette page.
|
||||
|
||||
Cette page me sert de mémo pour mon apprentissage du Japonais (1ère année) et part du principe que les Hiragana et Katakana sont maîtrisés :) !
|
||||
(Ce mémo est inspiré de l'application [Human Japanese sur Android](https://play.google.com/store/apps/details?id=com.braksoftware.HumanJapanese&hl=fr) pour la structure et de mes cours à [Toulouse-Manga](http://toulousemanga.fr/les-cours-de-manga-a-toulouse/cours-de-japonais/)).
|
||||
|
||||
# Se présenter
|
||||
|
||||
## Phrases/Mots type/Vocabulaire
|
||||
|
||||
おはようございます。
|
||||
: Bonjour (matin jusqu'à 10h).
|
||||
|
||||
こんいちは。
|
||||
: Bonjour (10h → 18h).
|
||||
|
||||
こんばは。
|
||||
: Bonsoir.
|
||||
|
||||
おやすみなさい。
|
||||
: Bonne nuit.
|
||||
|
||||
どもうありがとうございます。
|
||||
: Merci beaucoup.
|
||||
|
||||
どういたしまして。
|
||||
: Tout le plaisir est pour moi.
|
||||
|
||||
はじめまして。
|
||||
: Enchanté(e) de faire votre connaissance.
|
||||
|
||||
どぞうよろしく。
|
||||
: Enchanté(e).
|
||||
|
||||
です。
|
||||
: (verbe) être.
|
||||
|
||||
フランスじんです。
|
||||
: Je suis Français.
|
||||
|
||||
おじぎ。
|
||||
: Révérence.
|
||||
|
||||
おなまえはなんですか。
|
||||
: Quel est ton nom/prénom ?
|
||||
|
||||
ブノワです。
|
||||
: Je suis Benoît.
|
||||
|
||||
ベンプロ。
|
||||
: Benpro.
|
||||
|
||||
おげんきですか。
|
||||
: Comment tu va ?
|
||||
|
||||
げんきです。
|
||||
: Je vais bien.
|
||||
|
||||
はい。
|
||||
: Oui.
|
||||
|
||||
いいえ。
|
||||
: Non.
|
||||
|
||||
にほん。
|
||||
: Japon.
|
||||
|
||||
アメイカ。
|
||||
: Amérique.
|
||||
|
||||
カナダ。
|
||||
: Canada.
|
||||
|
||||
フランス。
|
||||
: France.
|
||||
|
||||
ご。
|
||||
: Langue (parlé).
|
||||
|
||||
スパイン。
|
||||
: Espagne.
|
||||
|
||||
ドイツ。
|
||||
: Allemagne.
|
||||
|
||||
イギリス。
|
||||
: Angleterre.
|
||||
|
||||
ちゅうごく。
|
||||
: Chine.
|
||||
|
||||
えいご。
|
||||
: Anglais.
|
||||
|
||||
アメリカじん。
|
||||
: Américain.
|
||||
|
||||
オーストリア。
|
||||
: Autriche.
|
||||
|
||||
じん。
|
||||
: Une personne (d'un pays).
|
||||
|
||||
フランスじん。
|
||||
: Un Français.
|
||||
|
||||
いす。
|
||||
: Une chaise.
|
||||
|
||||
あめ。
|
||||
: La pluie.
|
||||
|
||||
えき。
|
||||
: La gare.
|
||||
|
||||
よる。
|
||||
: La nuit.
|
||||
|
||||
あなた。
|
||||
: Toi.
|
||||
|
||||
かのじょ。
|
||||
: Elle.
|
||||
|
||||
かのじょたち。
|
||||
: Elles
|
||||
|
||||
わたちはのなまえ… です。
|
||||
: Je m’appelle…
|
||||
|
||||
かいしゃいん。
|
||||
: Employé⋅e.
|
||||
|
||||
じむ いん。
|
||||
: Secrétaire.
|
||||
|
||||
プログラマー。
|
||||
: Programmeur.
|
||||
|
||||
システムかんりしゃ。
|
||||
: Administrateur Système.
|
||||
|
||||
システマエンジニア。
|
||||
: Ingénieur Système.
|
||||
|
||||
ようちえんの せ んせい。
|
||||
: Professeur de la crèche.
|
||||
|
||||
エンジニア。
|
||||
: Ingénieur.
|
||||
|
||||
ロボットのエンジニア。
|
||||
: Ingénieur robotique.
|
||||
|
||||
いしゃ。
|
||||
: Médecin.
|
||||
|
||||
ぎんこういん。
|
||||
: Banque.
|
||||
|
||||
がくせい。
|
||||
: Étudiant.
|
||||
|
||||
だいがく。
|
||||
: Université.
|
||||
|
||||
がっこう。
|
||||
: École.
|
||||
|
||||
~をはなします。
|
||||
: Je parle ~.
|
||||
|
||||
わたしはフランスごとえいごとちょっにほんごをはなします。
|
||||
: Je parle Français, Anglais et un peu Japonais.
|
||||
|
||||
アメリカじんはえいごをはなします。
|
||||
: Les américains parlent anglais.
|
||||
|
||||
しごとはなんですか。
|
||||
: Quel est ton travail ?
|
||||
|
||||
こちらは ~ です。
|
||||
: Voici Mr/Mme ~.
|
||||
|
||||
### Exemple de dialogues
|
||||
|
||||
> ブノワ: こんにいちは。
|
||||
> Benoît : Bonjour.
|
||||
> まりこ: あ、こんにいちは。
|
||||
> Mariko : Ah, Bonjour.
|
||||
> ブノワ: ブノワです フランスじんです。おなまえはなんですか。
|
||||
> Benoît : Je m'appelle Benoît, je suis Français. Quel est ton prénom ?
|
||||
> まりこ: まりこです。はじめまして。
|
||||
> Mariko : Moi c'est Mariko, enchantée.
|
||||
> ブノワ: どぞうよろしく。
|
||||
> Benoît : Enchanté.
|
||||
|
||||
|
||||
> わたしはブノワです。
|
||||
> Je suis Benoît.
|
||||
> わたしはふらんすごとえいごとちょとにほんごをはなします。
|
||||
> Je parle Français, Anglais, et un peu Japonais.
|
||||
> しごとはなんですか。
|
||||
> Quel est ton travail ?
|
||||
> システムエンジニア。
|
||||
> Ingénieur/Administrateur Système
|
||||
|
||||
*Note : (Apparemment le mot administrateur est compliqué en Japonais, on recommande donc ingénieur).*
|
||||
|
||||
> わたしは マイク・ミラーです。
|
||||
> Je suis Mike Miller.
|
||||
|
||||
> サンとスさんは がくせいじゃ ありません。
|
||||
> Mr. Santos n'est pas étudiant.
|
||||
|
||||
> ミラーさんは かいしゃいんですか。
|
||||
> Est-ce que Mr. Miller est employé ?
|
||||
|
||||
> サントスさんも かいしゃいんです。
|
||||
> Mr Santos est aussi un employé.
|
||||
|
||||
> 「あなたは」マイク・ミラーさんですか。
|
||||
> Vous êtes Mike Miller ?
|
||||
> はい、「わたしは」 マイク・ミラー。
|
||||
> Oui, je suis Mike Miller.
|
||||
|
||||
> ミラーさんは がくせいですか。
|
||||
> Mr. Miller vous êtes étudiant ?
|
||||
> いいえ、「わたしは」 がくせいじゃ ありません。
|
||||
> Non, je ne suis pas étudiant.
|
||||
|
||||
> ワンさんは ぎんこういんですか。
|
||||
> Mr. Wan est banquier ?
|
||||
> いいえ、「ワンさんは」 ぎんこういんじゃ ありません。
|
||||
> Non, Mr. Wan n'est pas banquier.
|
||||
> Non, il n'est pas banquier.
|
||||
> いしゃです。
|
||||
> Il est médecin.
|
||||
|
||||
> あの かたは どなたですか。
|
||||
> Qui est cette personne ?
|
||||
> ワットさんです。さくらだいがくの せんせいです。
|
||||
> C'est Mr. Watt. Le professeur de l'université Sakura.
|
||||
|
||||
*Note : Pour désigner une personne on peut dire かた ou ひと. かた est plus respectueux.*
|
||||
*De la même façon pour dire « qui », どなた est plus respectueux que だれ.*
|
||||
|
||||
> グプタさんは かいしゃいんですか。
|
||||
> Mr. Guputa, vous êtes employé ?
|
||||
> はい、かいしゃいんです。
|
||||
> Oui, je suis employé
|
||||
> カリナさんも かいしゃいんですか。
|
||||
> Mme. Karina, est aussi employée ?
|
||||
> いいえ。「カリナさん」 がくせいです。
|
||||
> Non, Mme. Karina est étudiante.
|
||||
|
||||
> テレーザちゃんは なんさいですか。
|
||||
> Thérèse-chan, quel âge as-tu ?
|
||||
> 9さいです。
|
||||
> J'ai 9 ans.
|
||||
|
||||
*Note : Le suffixe -chan est souvent utilisé quand on s'adresse à une petite fille. Difficile de le traduire, on peut tout simplement le supprimer.*
|
||||
|
||||
|
||||
> アメリカ からきました。
|
||||
> Je suis venu des USA.
|
||||
|
||||
> こちらは ブノワです。
|
||||
> Voici Benoît.
|
||||
> トゥールーズ からきました。
|
||||
> Il vient de Toulouse.
|
||||
|
||||
> かれはトゥールーズからきました。
|
||||
> Elle vient de Toulouse.
|
||||
> からはにじゅうよんさいです。
|
||||
> Elle a 24 ans.
|
||||
> かれはエンジニアです。
|
||||
> Elle est ingénieur.
|
||||
|
||||
[Notes du cours au format PDF](/daika1.pdf)
|
||||
|
||||
# Le verbe être です
|
||||
|
||||
## Vocabulaire
|
||||
|
||||
いぬ。
|
||||
: Chien.
|
||||
|
||||
ねこ。
|
||||
: Chat.
|
||||
|
||||
りんご。
|
||||
: Pomme.
|
||||
|
||||
みず。
|
||||
: Eau.
|
||||
|
||||
とり。
|
||||
: Oiseau.
|
||||
|
||||
うま。
|
||||
: Cheval.
|
||||
|
||||
えんぴつ。
|
||||
: Crayon.
|
||||
|
||||
ペン。
|
||||
: Stylo (emprunté de l'anglais).
|
||||
|
||||
です。
|
||||
: (verbe) être.
|
||||
|
||||
でしょう。
|
||||
: (verbe au futur) sera.
|
||||
|
||||
|
||||
## Explication
|
||||
|
||||
En Japonais, il n'y a pas de conjugaison et le verbe est toujours placé à la fin de la phrase.
|
||||
|
||||
りんごです, « c'est une pomme ». Il n'y a pas de pronoms, littéralement, c'est plutôt « c'est pomme ». On ne mentionne pas les parties d'une phrase qui sont compris par le contexte. Donc cela dépend en fait... du contexte ! Cela pourrait être « Il est une pomme » ou « Je suis une pomme ». C'est pareil en Français, quand on dit « C'est une pomme », la personne qui écoute connaît déjà ce qu'est le « c'est ». Par exemple cela pourrait être « Cette chose sur la table, est une pomme. ». Mais en Japonais on n'a pas besoin d'ajouter le « c'est » (dans cette exemple).
|
||||
|
||||
En résumé, on peut penser ainsi, りんごです veut dire « (Cette chose que l'on connaît tout les deux par le contexte) est (une) pomme. ».
|
||||
|
||||
Mais ce n'est pas tout. Aussi incroyable que cela puisse être, il n'y a pas de singuliers ou de pluriels pour la plupart des mots Japonais. りんご peut donc être « une pomme » ou « des pommes », cela dépend du contexte. Donc, cette phrase d'exemple pourrait aussi dire « Ce sont des pommes. ».
|
||||
|
||||
## Phrases/Mots type
|
||||
|
||||
りんごです。
|
||||
: (C') est (une) pomme.
|
||||
: (Ce) sont (des) pommes.
|
||||
|
||||
ねこです。
|
||||
: (C')est (un) chat.
|
||||
: (Ce) sont (des) chats.
|
||||
|
||||
アメリカです。
|
||||
: (C') est (l') Amérique.
|
||||
|
||||
いぬです。
|
||||
: (C') est (un) chien.
|
||||
: (Ce) sont (des) chiens.
|
||||
|
||||
ジョンです。
|
||||
: (C') est John.
|
||||
|
||||
にほんです。
|
||||
: (C') est (le) Japon.
|
||||
|
||||
みずです。
|
||||
: (C') est (de) l'eau.
|
||||
|
||||
えんぴつです。
|
||||
: (C') est (un) stylo.
|
||||
: (Ce) sont (des) stylos.
|
||||
|
||||
まりこです。
|
||||
: (C') est Mariko.
|
||||
: (Je) suis Mariko.
|
||||
|
||||
|
||||
## Conjugaison/Temps
|
||||
|
||||
Nous avons Français de nombreux temps et formes pour conjuguer les verbes (passé, présent, futur, participe passé, l'imparfait, ... et j'en passe et des meilleures !). En Japonais les verbes ne peuvent prendre que 4 formes. (Autres possible mais sera vu bien plus tard).
|
||||
|
||||
| | Positif | Négatif |
|
||||
|--------- |--------- |-------------------------- |
|
||||
| Présent | です | では ありません |
|
||||
| Passé | でした | では ありません でした |
|
||||
| | | |
|
||||
|
||||
De la même manière que nous avons construit les phrases précédentes avec です pour le « présent positif », on peut utiliser le « présent négatif » avec ではわりません.
|
||||
|
||||
にほんじんではありません。
|
||||
: Ce n'est pas une personne Japonaise.
|
||||
|
||||
いぬではありません。
|
||||
: Ce n'est pas un chien.
|
||||
: Ce ne sont pas des chiens.
|
||||
|
||||
Pour le passé, on utilise でした.
|
||||
|
||||
いぬでした。
|
||||
: C'était un chien.
|
||||
: C'étaient des chiens.
|
||||
|
||||
みずでした。
|
||||
: C'était de l'eau.
|
||||
|
||||
Enfin finalement, pour la négation, si りんごではありません signifie « ce n'est pas une pomme », でした transforme la phrase au passé, ainsi りんごではありませんでした signifie « ce n'était pas une pomme ».
|
||||
Quelques exemples :
|
||||
|
||||
いぬではありませんでした。
|
||||
: Ce n'était pas un chien.
|
||||
: Ce n'étaient pas des chiens.
|
||||
|
||||
みずではありまんせんでした。
|
||||
: Ce n'était pas de l'eau.
|
||||
|
||||
Mais comment dire « Ça va être une pomme » ? Hé bien c'est quand on utilise une autre forme que celle fourni dans le tableau. Il existe en fait une autre forme appelé deshou.
|
||||
Deshou induit de l'incertitude. On le traduit donc souvent par « probablement ». La forme sera au présent ou au passé selon le contexte. Quelques exemples :
|
||||
|
||||
りんごでしょう。
|
||||
: C'est probablement une pomme.
|
||||
: Cela va probablement être une pomme.
|
||||
ねこでしょう。
|
||||
: C'est probablement un chat.
|
||||
: Cela va probablement être un chat.
|
||||
|
||||
# Les chiffres − すうじ
|
||||
|
||||
- 0 ゼロ
|
||||
- 1 いち
|
||||
- 2 に
|
||||
- 3 さん
|
||||
- 4 よん / し
|
||||
- 5 ご
|
||||
- 6 ろく
|
||||
- 7 なな/ しち
|
||||
- 8 はち
|
||||
- 9 きゅう
|
||||
- 10 じゅう
|
||||
- 11 じゅういち
|
||||
- 17 じゅうなな
|
||||
- 20 にじゅう
|
||||
- 24 にじゅよん
|
||||
- 26 にじゅろく
|
||||
- 88 はちじゅうはち
|
||||
- 92 きゅうじゅうに
|
||||
- 100 ひゃく
|
||||
- 539 ごひゃくさんじゅうきゅう
|
||||
- 1000 せん
|
||||
- 3840 さんぜんはっぴゃくよじゅ
|
||||
- 10000 まん ou いちまん
|
||||
- 1 million ひゃくまん
|
||||
- Une centaine de millions いちおく
|
||||
|
||||
|
||||
# À la maison
|
||||
|
||||
## Vocabulaire
|
||||
|
||||
いえ。
|
||||
: Maison.
|
||||
|
||||
へや。
|
||||
: Pièce (ou chambre d'une personne).
|
||||
|
||||
いま。
|
||||
: Salon.
|
||||
|
||||
だいどころ。
|
||||
: Cuisine.
|
||||
|
||||
れいぞうこう。
|
||||
: Réfrigérateur.
|
||||
|
||||
おてあらい。
|
||||
: Toilette (poli).
|
||||
|
||||
トイレ。
|
||||
: Toilette.
|
||||
|
||||
ながしだい。
|
||||
: Évier/lavabo.
|
||||
|
||||
おふろ。
|
||||
: Baignoire.
|
||||
|
||||
おふろば。
|
||||
: Salle de bain.
|
||||
|
||||
やね。
|
||||
: Toit.
|
||||
|
||||
てんじょう。
|
||||
: Plafond.
|
||||
|
||||
かべ。
|
||||
: Mur.
|
||||
|
||||
ゆか。
|
||||
: Sol (en bois).
|
||||
|
||||
どあ。
|
||||
: Porte.
|
||||
|
||||
まど。
|
||||
: Fenêtre.
|
||||
|
||||
ほんだな。
|
||||
: Étagère.
|
||||
|
||||
いす。
|
||||
: Chaise.
|
||||
|
||||
ベッド。
|
||||
: Lit.
|
||||
|
||||
たたみ。
|
||||
: Tatami.
|
||||
|
||||
しょうじ。
|
||||
: Porte coulissante en papier.
|
||||
|
||||
ふとん。
|
||||
: Futon.
|
||||
|
||||
テレビ。
|
||||
: TV.
|
||||
|
||||
ラジオ。
|
||||
: Radio.
|
||||
|
||||
とけい。
|
||||
: Montre/horloge.
|
||||
|
||||
エアコン。
|
||||
: Climatisation.
|
||||
|
||||
|
||||
# Ceci, cela, de près ou de loin, …
|
||||
|
||||
これ は ~ です。
|
||||
: Ceci est ~ à cote.
|
||||
|
||||
それ は~です。
|
||||
: En montrant de près.
|
||||
|
||||
あね は~です。
|
||||
: En montrant au loin.
|
||||
|
||||
この。
|
||||
: Ce/cette à cote.
|
||||
|
||||
その。
|
||||
: ... Près.
|
||||
|
||||
あの。
|
||||
: ... Loin.
|
||||
|
||||
だれ。
|
||||
: Qui ?
|
||||
|
||||
だれの。
|
||||
: À qui ?
|
||||
|
||||
わたしの。
|
||||
: Mon/Ma.
|
||||
|
||||
あなたの。
|
||||
: Ton/Ta.
|
||||
|
||||
かれの。
|
||||
: Son/Sa.
|
||||
|
||||
かのじょの。
|
||||
: Son/Sa (À elle).
|
||||
|
||||
なんですか。
|
||||
: Qu'es-ce que c'est ?
|
||||
|
||||
どれですか。
|
||||
: Lequel(le) ?
|
||||
|
||||
|
||||
> これはだれのかさですか。
|
||||
> À qui est ce parapluie ?
|
||||
> それはレオのかさです。
|
||||
> C'est le parapluie de Léo.
|
||||
> それはレオです。 (Pas obligé de redire le sujet /objet)
|
||||
|
||||
> あなたのくるまどれですか。
|
||||
> C'est laquelle ta voiture ?
|
||||
|
||||
# Mots se ressemblant
|
||||
|
||||
## ちょうおん - 長音 − Ajout de voyelles pour « allonger ».
|
||||
|
||||
おばさん:おばあさん
|
||||
Tante : Grand-mère
|
||||
|
||||
おじさん:おしいさん
|
||||
Oncle : Grand-père
|
||||
|
||||
ゆき:ゆうき
|
||||
Neige : Courage
|
||||
|
||||
え:ええ
|
||||
Photo : D'accord (Oui, OK, …)
|
||||
|
||||
とる:とおる
|
||||
Prendre : Passer (devant quelque chose)
|
||||
|
||||
ここ:こうこう
|
||||
Ici : Lycée
|
||||
|
||||
へや:へいや
|
||||
Pièce : Plaine (Montagne, champ, …)
|
||||
|
||||
カード Carte
|
||||
タクシー Taxi
|
||||
スーパー Super
|
||||
エスカレーター Escalator
|
||||
ノート Cahier de note (Death note :p)
|
||||
|
||||
## はつおん − 撥音 − Ajout du n.
|
||||
|
||||
はんたい Opposée / Contre
|
||||
うんどう Exercice / Sport
|
||||
せんろ Rail de chemin de fer
|
||||
みんな Tout le monde
|
||||
しんぶん Journal papier
|
||||
えんぴつ Crayon de papier
|
||||
うんめい Destin
|
||||
てんき Temps au sens météo
|
||||
けんがく Étude
|
||||
|
||||
そくおん − 促音 − Ajout du tsu.
|
||||
|
||||
ぶか:ぶっか
|
||||
Subordonnée : Prix
|
||||
|
||||
かさい:かっさい
|
||||
Incendie : Applaudir
|
||||
|
||||
おと:おっと : つま
|
||||
Son : Mon mari:Ma femme
|
||||
|
||||
にっき Journal (de type intime / notes)
|
||||
ざっし Magazine périodique
|
||||
きって Timbre postal
|
||||
いっぱい Plein / Beaucoup
|
||||
コップ Verre / Tasse
|
||||
ベッド Lit
|
||||
|
||||
## ようおん拗音 − Ajout de ya yu yo (Diphtongue)
|
||||
|
||||
ひやく:ひゃく
|
||||
Développement (activité) : 100
|
||||
|
||||
じゆう:じゅう
|
||||
Liberté : 10
|
||||
|
||||
びよういん:びょういん
|
||||
Coiffeur : Hôpital
|
||||
|
||||
シャツ Chemise
|
||||
おちゃ Thé
|
||||
ぎゅうにゅう Lait (de vache)
|
||||
きょう Aujourd'hui
|
||||
ぶちょう Directeur / Chef de section
|
||||
りょこう Voyage
|
||||
|
||||
# Adjectifs
|
||||
|
||||
|
||||
|
||||
## Adjectifs en i
|
||||
|
||||
かわいい
|
||||
: Mignon
|
||||
|
||||
おおきい
|
||||
: Grand
|
||||
|
||||
ちいさい
|
||||
: Petit
|
||||
|
||||
やさしい
|
||||
: Gentil
|
||||
|
||||
おいしい
|
||||
: Bon (nourriture)
|
||||
|
||||
いい / よ
|
||||
: Bien / Bon
|
||||
|
||||
ふるい
|
||||
: Vieux / Ancien (objet)
|
||||
|
||||
あたらしい
|
||||
: Nouveau / Neuf (objet)
|
||||
|
||||
|
||||
おもい
|
||||
: Lourd
|
||||
|
||||
かるい
|
||||
: Léger
|
||||
|
||||
つよい
|
||||
: Fort
|
||||
|
||||
|
||||
やすい
|
||||
: Pas cher
|
||||
|
||||
|
||||
うれしい
|
||||
: (Être) content
|
||||
|
||||
さむい
|
||||
: Froid (météo)
|
||||
|
||||
つめたい
|
||||
: Avoir froid
|
||||
|
||||
むずかしい
|
||||
: Difficile
|
||||
|
||||
たかい
|
||||
: Grand (objet, chose) / Cher (argent)
|
||||
|
||||
Négation avec くない.
|
||||
|
||||
## Exemples
|
||||
|
||||
> かわいいこどもがいます。
|
||||
> Un petit enfant.
|
||||
|
||||
> あのこどもはおおきくないです。
|
||||
> Cet enfant n'est pas grand.
|
||||
|
||||
> なにも かいません でした。
|
||||
> Qu'est-ce que tu as acheté ?
|
||||
> わたしは あたらしい フィグや を かいました。
|
||||
> J'ai acheté une nouvelle figurine.
|
||||
|
||||
## Adjectifs en na
|
||||
|
||||
ふあんな
|
||||
: Inquiétant
|
||||
|
||||
きれいな
|
||||
: Beau / Belle
|
||||
|
||||
しんせつな
|
||||
: Gentil
|
||||
|
||||
しずかな
|
||||
: Calme
|
||||
|
||||
かんたんな
|
||||
: Facile
|
||||
|
||||
にぎやかな
|
||||
: Animé / Bruyant
|
||||
|
||||
ゆめいな
|
||||
: Connu
|
||||
|
||||
げんきな
|
||||
: Vif / Énergique
|
||||
|
||||
ひまな
|
||||
: Libre (avoir du temps)
|
||||
|
||||
|
||||
べんりな
|
||||
: Pratique / Commode
|
||||
|
||||
## Exemples
|
||||
|
||||
> あのやまは たかい です。
|
||||
> Cette montagne est grande.
|
||||
|
||||
> これは きれいな はなです。
|
||||
> Ce sont de belles fleurs.
|
||||
|
||||
> かれは しんせつな ひとです。
|
||||
> C'est une gentille personne.
|
||||
|
||||
> カリナ さんは きれい です。
|
||||
> Mme Karina est jolie.
|
||||
|
||||
> カリナ さんは きれい じゃありません。
|
||||
> Mme Karina n'est pas jolie.
|
||||
|
||||
> きょとは しずか です。
|
||||
> Kyoto est calme.
|
||||
|
||||
> きれいな ひと。
|
||||
> Cette personne est belle.
|
||||
|
||||
> にぎやかじゃありません。
|
||||
> Ce n'est pas animé.
|
||||
|
||||
> こんばん ひま ですか。
|
||||
> Ce soir tu est libre ?
|
||||
|
||||
|
||||
# つずく・・・
|
||||
|
||||
À suivre…
|
||||
|
||||
# Draft / TODO / A réorganiser / À corriger / Notes brutes…
|
||||
|
||||
> わたしは パソコンで えいがを みます。
|
||||
> Je regarde un film sur mon ordinateur.
|
||||
> わたしは きむらさんに はなを あげます。
|
||||
> Je donne des fleurs à Mr. Kimura.
|
||||
> わたしは カリナさんに チョコレートを もらいました。
|
||||
> Mme. Karina m'a offert des chocolats.
|
||||
> わたしは もう メールを おくりました。
|
||||
> J'ai aussi envoyé un email.
|
||||
|
||||
> テレビで にほんごを べんきょうしましたか。
|
||||
> As-tu étudié le Japonais en regardant la TV ?
|
||||
> いいえ、 ラジオで べんきょうしました。
|
||||
> Non, j'ai étudié avec le radio.
|
||||
> にほんごで レポートを かきますか。
|
||||
> Est-ce que vous écrivez un rapport en Japonais ?
|
||||
> いいえ、 えいごで かきます。
|
||||
> Non, je l'écris en Anglais.
|
||||
|
||||
|
||||
# Kanjis
|
||||
|
||||
## Les nombres
|
||||
|
||||
Kanji
|
||||
|
||||
くんよみ façon japonaise
|
||||
|
||||
|
||||
|
||||
おん よみ façon chinoise
|
||||
|
||||
一 ひとつ
|
||||
いち
|
||||
|
||||
二
|
||||
ふたつ
|
||||
に
|
||||
|
||||
三
|
||||
みっつ
|
||||
さん
|
||||
|
||||
...が わかります
|
||||
Comprendre ... (Qqch)
|
23
docs/Various/Mullvad.md
Normal file
23
docs/Various/Mullvad.md
Normal file
|
@ -0,0 +1,23 @@
|
|||
# Mullvad
|
||||
|
||||
## IP address in Japan with WG+Socks
|
||||
|
||||
```
|
||||
for i in {6..13}; do curl ipinfo.io/ip --socks5-host jp${i}-wg.socks5.mullvad.net:1080; curl ifconfig.co --socks5-host jp${i}-wg.socks5.mullvad.net:1080; done
|
||||
217.138.252.227
|
||||
2001:ac8:40:b6::a06d
|
||||
217.138.252.243
|
||||
2001:ac8:40:b7::a07d
|
||||
91.193.7.3
|
||||
2001:ac8:40:b8::a08d
|
||||
91.193.7.19
|
||||
2001:ac8:40:b9::a09d
|
||||
91.193.7.35
|
||||
2001:ac8:40:ba::a10d
|
||||
91.193.7.51
|
||||
2001:ac8:40:bb::a11d
|
||||
91.193.7.67
|
||||
2001:ac8:40:bc::a12d
|
||||
91.193.7.83
|
||||
2001:ac8:40:bd::a13d
|
||||
```
|
27
docs/Various/TarifsBanques.md
Normal file
27
docs/Various/TarifsBanques.md
Normal file
|
@ -0,0 +1,27 @@
|
|||
# Paiement en euros
|
||||
|
||||
- N26 : Pas de frais
|
||||
- Revolut : Pas de frais
|
||||
- Boursorama Ultim : Pas de frais
|
||||
- Coinbase : 2,49% + 0,30%
|
||||
|
||||
# Paiement en devises
|
||||
|
||||
- N26 : Pas de frais + Taux de change Mastercard
|
||||
- Revolut : Pas de frais + Taux de change interbancaire
|
||||
- Boursorama Ultim : Pas de frais + Taux de change inconnu
|
||||
- Coinbase : 2,49% + 3% + Taux de change inconnu
|
||||
|
||||
# Retrait en euros
|
||||
|
||||
- N26 : 5 retraits par mois, puis 2€ par retrait (plafond 2500€/j)
|
||||
- Revolut : Gratuit jusqu'à 200€/mois puis 2% par retrait (plafond 5000€/mois)
|
||||
- Boursorama Ultim : Pas de frais (plafond 3000€/mois)
|
||||
- Coinbase : 200€/mois avec 2,49%, puis 3,49% (plafond 500€/j)
|
||||
|
||||
# Retrait en devises
|
||||
|
||||
- N26 : 5 retraits par mois, puis 2% par retrait (plafond 2500€/j)
|
||||
- Revolut : 1.7% par retrait (plafond 5000€/mois)
|
||||
- Boursorama Ultim : Pas de frais (plafond 3000€/mois)
|
||||
- Coinbase : 200€/mois avec 2,49%, puis 4.49% (plafond 500€/j)
|
67
docs/index.md
Normal file
67
docs/index.md
Normal file
|
@ -0,0 +1,67 @@
|
|||
---
|
||||
format: Markdown
|
||||
toc: no
|
||||
title: Benpro.fr
|
||||
...
|
||||
|
||||
Welcome here! This is a tiny website (based on gitit wiki), used to inventory some of my works/contribs/contents.
|
||||
I’m Benoît S. a.k.a Benpro, Geek/Hacker/Sysadmin, living in Japan. I’m passionate about the world of free software and Japanese culture.
|
||||
If you want to contact me, go ahead, my mail is benoit@benpro⊙fr. You can also find me on Freenode IRC Network, idling somewhere on multiple channels (/whois benpro).
|
||||
If you are not seeing emojis on this website, you could try [this method](https://archive.benpro.fr/sysadmin-bookmarks/archive/1606349483/index.html).
|
||||
|
||||
# About Me
|
||||
|
||||
- :page_facing_up: [Resume/CV](CV)
|
||||
|
||||
# Find me on
|
||||
|
||||
- :pencil: [Blog](https://blog.benpro.fr)
|
||||
- :elephant: [Mastodon](https://toots.benpro.fr/@benoit)
|
||||
- :camera: [Photos](https://pix.benpro.fr/benoit)
|
||||
- :file_folder: [Gitea](https://git.benpro.fr/benoit)
|
||||
- :octopus: [Github](https://github.com/benpro)
|
||||
|
||||
# Services
|
||||
|
||||
- [Services status](https://uptime.benpro.fr/)
|
||||
- [Services status bis](https://status.benpro.fr/)
|
||||
|
||||

|
||||
|
||||
##### Public
|
||||
|
||||
- :camera: [Lutim instance / pictures hosting](https://pics.benpro.fr) Pictures are stored encrypted for 90d maximum.
|
||||
- :floppy_disk: [PrivateBin instance / pastebin-like](https://paste.benpro.fr) Pastes are stored encrypted for no limit.
|
||||
- :memo: [Etherpad-lite instance / real-time collaborative document editor](https://pad.benpro.fr) Pads are stored unencrypted for no limit.
|
||||
- :package: [Linx-server instance / files sharing](https://share.benpro.fr) Files are stored unencrypted for no limit. Maximum file size in 100MB.
|
||||
- :bird: [Nitter instance / Alternative Twitter front-end](https://twt.benpro.fr)
|
||||
|
||||
##### Restricted access
|
||||
|
||||
Want an access to one of my service? Jusk ask me.
|
||||
|
||||
- :books: [Miniflux instance / RSS Reader](https://flux.benpro.fr)
|
||||
- :elephant: [Mastodon instance / alternative to Twitter](https://toots.benpro.fr)
|
||||
- :movie_camera: [PeerTube instance / alternative to YouTube](https://videos.benpro.fr)
|
||||
- :floppy_disk: [Archivebox instance / archive.org-like](https://archive.benpro.fr)
|
||||
- :camera: [Pixelfed / alternative to Instagram](https://pix.benpro.fr)
|
||||
- :computer: [The Lounge / IRC web client](https://irc.benpro.fr)
|
||||
- :file_folder: [Gitea instance / alternative to GitHub](https://git.benpro.fr)
|
||||
- :link: [YOURLS instance / Link shortener, alternative to bit.ly](https://lnk.benpro.fr/admin/index.php)
|
||||
- :watch: [Kimai instance / Time tracking](https://time.benpro.fr)
|
||||
|
||||
##### Semi-private (family and friends).
|
||||
|
||||
- :tv: [Jellyfin instance / own VOD system](https://play.benpro.fr)
|
||||
- :cloud: [NextCloud instance / alternative to DropBox/OneDrive](https://cloud.benpro.fr)
|
||||
- :e-mail: [Mailcow instance / own mail server](https://mail.benpro.fr)
|
||||
- :dollar: [AdGuard home instance / own DNS server with heavy filtering on ads](https://dns.benpro.fr)
|
||||
- :closed_lock_with_key: [Bitwarden instance / own password vault](https://pwd.benpro.fr)
|
||||
|
||||
# Other
|
||||
- [Sysadmin Tips](SysadminTips)
|
||||
- [Encoding Tips](EncodingTips)
|
||||
- [Basic CPU Benchmark on GCP/Vultr/Hetzner/Scaleway](CPUBenchmark)
|
||||
|
||||
> ~~If you're a bot, feel free to send mail to bot@benpro.fr~~
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue