mirror of
https://github.com/buchtioof/notes.git
synced 2026-05-02 17:43:28 +02:00
update website
This commit is contained in:
parent
58ef7b5c4a
commit
65bd315402
38
docs/learn/devops/2025-10-30.md
Normal file
38
docs/learn/devops/2025-10-30.md
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- Linux
|
||||||
|
- UNIX
|
||||||
|
- Distributions
|
||||||
|
---
|
||||||
|
|
||||||
|
<img src="https://media1.tenor.com/m/-P-WHkN0ZZUAAAAd/asda.gif" alt="drake (moi) t'aidant avec mes notes remplies de bonne volontés" width="300" height="200">
|
||||||
|
|
||||||
|
# C'est quoi linux ? (30/10/25)
|
||||||
|
|
||||||
|
!!! warning
|
||||||
|
|
||||||
|
Page en travaux, doit être finie avec toutes les informations que j'ai sur Linux en général
|
||||||
|
|
||||||
|
## Arborescence type sur UNIX
|
||||||
|
|
||||||
|
Unix a généralement cette arborescence que ce soit sur n'importe quelle distro Linux également Android pour les téléphones et même quelques similitudes sur macOS.
|
||||||
|
|
||||||
|
```
|
||||||
|
/ # Racine du disque
|
||||||
|
├── /bin/ # Contient les commandes de base
|
||||||
|
├── /boot/ # Fichiers de demarrage
|
||||||
|
├── /dev/ # Tout ce qui est lié aux périphériques
|
||||||
|
├── /etc/ # Fichiers de configuration
|
||||||
|
├── /home/ # Répertoires utilisateurs
|
||||||
|
├── /lib/ # Bibliothèques logicielles
|
||||||
|
├── /mnt/ # Point de montage pour les systèmes de fichier temporaires
|
||||||
|
├── /media/ # Point de montage pour les disques temporaires
|
||||||
|
├── /opt/ # Logiciels optionnels, la ou on installera des programmes maison
|
||||||
|
├── /root/ # Répertoire du user root
|
||||||
|
├── /var/ # Variable, contient des logs, ect...
|
||||||
|
├── /usr/ # Contient sensiblement la même chose que la racine mais sans être utile au fonctionnement du système
|
||||||
|
├── /srv/ # Services hébergés sur le systèmes (FTP, HTTP, ect...)
|
||||||
|
├── /run/ # Emplacement mémoire des programmes
|
||||||
|
└── /tmp/ # Temporaire
|
||||||
|
```
|
||||||
|
[source de l'arbo.](https://fr.wikipedia.org/wiki/Filesystem_Hierarchy_Standard#Arborescence_des_r%C3%A9pertoires)
|
||||||
113
docs/learn/devops/2025-11-28.md
Normal file
113
docs/learn/devops/2025-11-28.md
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- Bash
|
||||||
|
- UNIX
|
||||||
|
---
|
||||||
|
|
||||||
|
<img src="https://media1.tenor.com/m/Aus6dg9v1FMAAAAC/bassem-regard.gif" alt="bassem sous degradé gros crane perdu">
|
||||||
|
*mon big ass qui fait sudo rm -rf / sans réfléchir*
|
||||||
|
|
||||||
|
# Commandes *sh pour les idiots (28/11/25)
|
||||||
|
|
||||||
|
## Cheatsheet de plein de commandes
|
||||||
|
|
||||||
|
> Depuis le début, beaucoup de commandes on été utilisées, du coup je note ici les commandes utilisées depuis le début et a quoi elles servent en gros
|
||||||
|
|
||||||
|
### Commandes de base
|
||||||
|
|
||||||
|
1. **sudo** : lance une commande avec les superdroits, peut manipuler tout le pc avec en gros
|
||||||
|
```bash
|
||||||
|
sudo [commande]
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **ls** : liste les fichiers d'un dossier
|
||||||
|
```bash
|
||||||
|
# -a pour afficher les fichiers cachés / -l pour afficher en liste avec plus d'infos
|
||||||
|
ls [options] [fichier|dir]
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **cd** : changer de dossier
|
||||||
|
```bash
|
||||||
|
# ~ pour aller au répertoire home / .. pour revenir en arriere
|
||||||
|
cd [dir]
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **pwd** : affiche le répertoire actuel
|
||||||
|
```bash
|
||||||
|
pwd
|
||||||
|
```
|
||||||
|
|
||||||
|
5. **touch** : affiche le contenu d'un fichier
|
||||||
|
```bash
|
||||||
|
touch [fichier]
|
||||||
|
```
|
||||||
|
|
||||||
|
6. **nano** : éditeur de texte
|
||||||
|
```bash
|
||||||
|
nano [fichier]
|
||||||
|
```
|
||||||
|
|
||||||
|
7. **mkdir** : supprime ce qu'on lui donne
|
||||||
|
```bash
|
||||||
|
mkdir [options] [fichier|dir]
|
||||||
|
```
|
||||||
|
|
||||||
|
8. **rm** : supprime ce qu'on lui donne
|
||||||
|
```bash
|
||||||
|
# -r pour supprimer un dossier et son contenu (recursive) (`rmdir` le fait aussi)
|
||||||
|
# -f force la commande
|
||||||
|
rm [options] [fichier|dir]
|
||||||
|
```
|
||||||
|
|
||||||
|
9. **cp** : copie...
|
||||||
|
```bash
|
||||||
|
cp [options] [source] [destination]
|
||||||
|
```
|
||||||
|
|
||||||
|
10. **mv** : ...et déplace
|
||||||
|
```bash
|
||||||
|
mv [options] [source] [destination]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Les caractères d'associations
|
||||||
|
|
||||||
|
`|` (le pipe) -> prend le résultat de la commande de gauche et le donne à celle de droite
|
||||||
|
|
||||||
|
*exemple : liste tout un répertoire, mais n'affiche que les résultats qui sont "feur"*
|
||||||
|
```bash
|
||||||
|
ls -la | grep "feur"
|
||||||
|
```
|
||||||
|
|
||||||
|
`>` et `>>`
|
||||||
|
|
||||||
|
- envoie le résultat d'une commande dans un fichier texte
|
||||||
|
- `>` écrase le fichier / `>>` ajoute à la fin sans effacer
|
||||||
|
- ex: `echo "coucou" > fichier.txt`
|
||||||
|
|
||||||
|
### Permissions et Utilisateurs
|
||||||
|
|
||||||
|
`chmod [droits] [fichier]`
|
||||||
|
- change les permissions d'un fichier (qui peut lire/écrire/exécuter)
|
||||||
|
- `chmod +x [fichier]` rend un script exécutable (très important)
|
||||||
|
- `chmod 777 [fichier]` donne tous les droits à tout le monde (dangereux mais ça dépanne)
|
||||||
|
|
||||||
|
`chown [user]:[groupe] [fichier]`
|
||||||
|
- change le propriétaire du fichier (si t'as copié un truc en sudo et que tu peux plus le toucher)
|
||||||
|
|
||||||
|
### Lecture et recherche dans les fichiers
|
||||||
|
|
||||||
|
`cat [fichier]`
|
||||||
|
- affiche tout le contenu d'un fichier d'un coup dans le terminal
|
||||||
|
- utile pour les petits fichiers, sinon ça inonde l'écran
|
||||||
|
|
||||||
|
`less [fichier]`
|
||||||
|
- affiche le contenu page par page (on peut scroller)
|
||||||
|
- appuyer sur `q` pour quitter
|
||||||
|
|
||||||
|
`head [fichier]` / `tail [fichier]`
|
||||||
|
- affiche juste le début (`head`) ou la fin (`tail`) d'un fichier
|
||||||
|
- `tail -f [fichier]` hyper utile pour voir les logs en direct (ça attend les nouvelles lignes)
|
||||||
|
|
||||||
|
`grep [mot] [fichier]`
|
||||||
|
- cherche un mot ou une phrase spécifique dans un fichier (le ctrl+f du terminal)
|
||||||
|
- -r pour chercher dans tous les dossiers (recursive) / -i pour ignorer les majuscules
|
||||||
75
docs/learn/devops/2025-12-12.md
Normal file
75
docs/learn/devops/2025-12-12.md
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- Git
|
||||||
|
- Bash
|
||||||
|
---
|
||||||
|
|
||||||
|
<img src="https://media1.tenor.com/m/Ra7ao_kzzHAAAAAC/stop-stop-it.gif" alt="kirk zehef pcq t'as pas commit">
|
||||||
|
*completement zehef pcq t'as pas git push*
|
||||||
|
|
||||||
|
# Git pour les neuilles (12/12/25)
|
||||||
|
|
||||||
|
## Créer un git
|
||||||
|
|
||||||
|
### -> Si le projet existe deja
|
||||||
|
|
||||||
|
- On clone le projet au sein d'un dossier, celui-ci sera dans son dossier de travail. ->
|
||||||
|
`git clone (url du projet git)`
|
||||||
|
|
||||||
|
### -> Sinon créer le projet
|
||||||
|
|
||||||
|
- Crée le projet git à partir de ce dossier. ->
|
||||||
|
`git init (dossier de travail)`
|
||||||
|
|
||||||
|
## Ignorer des fichiers/dossiers
|
||||||
|
|
||||||
|
- Ajouter des interdictions dans .gitignore
|
||||||
|
|
||||||
|
`echo gbvenv/ >> .gitignore` <- on indique via un echo qui écrira dans le fichier .gitignore qu'on ne veut pas push le dossier "gbvenv" ici, un fichier on ne mettera pas le slash (logique en amont)
|
||||||
|
|
||||||
|
## Une fois que de fichiers sont dispos, empaqueter !
|
||||||
|
> Pour envoyer un projet git, c'est comme envoyer un colis à la poste, d'abord, on met nos affaires dans le colis
|
||||||
|
|
||||||
|
_Plusieures possibilités ☝️_
|
||||||
|
|
||||||
|
- Ajoute TOUS les fichiers du dossier via l'option -A ou --all ->
|
||||||
|
`git add -A`
|
||||||
|
|
||||||
|
- Ajoute SEULEMENT les modifications et suppressions (donc pas de nouveaux fichiers) ->
|
||||||
|
`git add -u`
|
||||||
|
|
||||||
|
## Etiqueter le paquet
|
||||||
|
> Ensuite, on rempli l'étiquette du colis et on la colle au colis
|
||||||
|
|
||||||
|
- On écrit une note recap courte du commit sur le git ->
|
||||||
|
`git commit -m "(message du commit)"`
|
||||||
|
|
||||||
|
## Déposer le colis
|
||||||
|
> Enfin pour push, c'est a dire déposer le colis au bureau de poste pour l'envoi, on fait :
|
||||||
|
|
||||||
|
- On envoie le paquet de l'origine à la branche souhaitée dans le git ->
|
||||||
|
`git push -u origin (branche souhaitée)`
|
||||||
|
|
||||||
|
!!! info
|
||||||
|
|
||||||
|
-u veut dire [ce que dit la doc en gros](https://git-scm.com/docs/git-push/fr#git-push---set-upstream)
|
||||||
|
|
||||||
|
### -> SI ERREUR
|
||||||
|
> Dans le cas ou un fichier/dossier a été supprimé autre part avant de push nos modifs
|
||||||
|
|
||||||
|
- Merge de force les deux branches pour ne faire qu'une branche
|
||||||
|
`git config pull.rebase false`
|
||||||
|
|
||||||
|
## Utiliser deux branches différentes
|
||||||
|
> Dans le cas ou l'on veut travailler avec une seconde branche
|
||||||
|
|
||||||
|
- Pour switch de branche de travail ->
|
||||||
|
`git checkout (branche souhaitée)`
|
||||||
|
|
||||||
|
- Pour merge en ecrasant la branche souhaitée ⬇️
|
||||||
|
```bash
|
||||||
|
git merge -s ours main
|
||||||
|
git checkout main
|
||||||
|
git merge (branche à merge)
|
||||||
|
```
|
||||||
|
|
||||||
41
docs/learn/devops/2026-01-16.md
Normal file
41
docs/learn/devops/2026-01-16.md
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- Python
|
||||||
|
- pip
|
||||||
|
- Environnements Virtuels
|
||||||
|
---
|
||||||
|
|
||||||
|
<img src="https://media1.tenor.com/m/3cMVlmowJxIAAAAd/t-kleouf.gif" alt="tk completement sous frozen">
|
||||||
|
*7alouf ouvre grabber apres 9h brainrot tsunami*
|
||||||
|
|
||||||
|
# pip et environnements virtuels pour les caca (16/01/26)
|
||||||
|
|
||||||
|
## Python et ses environnements virtuels
|
||||||
|
|
||||||
|
- En python, on peut travailler dans des "sandboxes" ou toutes les libraires installées resteront contenues dedans
|
||||||
|
|
||||||
|
> Utile de créer donc un environnement pour chaque projet afin de en pas perturber d'autres projets avec des milliers de packages inutiles en gros
|
||||||
|
|
||||||
|
`python3 -m venv gbvenv` <- permet de créer un environnement (venv crée l'environnement "gbvenv")
|
||||||
|
|
||||||
|
`source gbvenv/bin/activate` <- lance cet environnement pour travailler dedans
|
||||||
|
|
||||||
|
- En parlant de packages, parlons de ✨pip✨
|
||||||
|
|
||||||
|
> pip est le packages manager de python, en l'appelant, on peut installer des packages comme uvicorn par exemple, utile pour grabber
|
||||||
|
|
||||||
|
`pip install --upgrade pip` <- update les packages
|
||||||
|
|
||||||
|
`python -m pip install ***` <- installe le package qu'on notera a la place des ***
|
||||||
|
|
||||||
|
`pip freeze >> requirements.txt` <- commande super utile pour partager les dependances necessaires pour faire fonctionner son projet sur un autre environnement
|
||||||
|
|
||||||
|
`deactivate` <- désactive l'environnement virtuel
|
||||||
|
|
||||||
|
## Script de roi qui automatise le process
|
||||||
|
|
||||||
|
- J'ai codé un script qui automatise ce process avec une seule commande :
|
||||||
|
|
||||||
|
`bash <(curl -fsSL https://raw.githubusercontent.com/buchtioof/venv-setup/main/venvsetup.sh)`
|
||||||
|
|
||||||
|
> Pour en apprendre plus : [le git du projet](https://github.com/buchtioof/venv-setup)
|
||||||
77
docs/learn/devops/2026-01-22.md
Normal file
77
docs/learn/devops/2026-01-22.md
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- SQL
|
||||||
|
---
|
||||||
|
|
||||||
|
<img src="https://media1.tenor.com/m/EeiKHgyVQR8AAAAC/silencio.gif" alt="tuto ytb sql">
|
||||||
|
*florian quand je lui demande de l'aide*
|
||||||
|
|
||||||
|
# SQL pour les tung tung tung sahur (22/01/26)
|
||||||
|
|
||||||
|
## Modèle MVC
|
||||||
|
> Le modèle MVC est une façon de concevoir un projet logiciel, en gros on sépare celui-ci en trois grandes parties distinctes séparant la logique de la vue et rend le travail plus facile.
|
||||||
|
|
||||||
|
<img src="https://developer.mozilla.org/en-US/docs/Glossary/MVC/model-view-controller-light-blue.png" alt="Modèle MVC par MDN" width="200px">
|
||||||
|
|
||||||
|
Modèle MVC en prenant celui de grabber par exemple :
|
||||||
|
|
||||||
|
- Model = Base De Donnée (ex: EMPLOYEES, COMPUTERS)
|
||||||
|
- View = Tableau de bord, Site
|
||||||
|
- Controller = Cerveau qui dirige les deux parties Model et View (ex: app.py)
|
||||||
|
|
||||||
|
## TUTO : COMMENT CR2ER UNE BDD SQL FACILEMENT EN 2 MINUTES (SUPER FACILE)
|
||||||
|
|
||||||
|
### Structure d'une Base De Données
|
||||||
|
*celle de grabber pour l'exemple*
|
||||||
|
|
||||||
|
```
|
||||||
|
BDD (Etape 1) - grabberman
|
||||||
|
├── TABLES (Etape 2) - COMPUTERS
|
||||||
|
│ ├── Colonne (Etape 3) - PcId, entier/clé primaire
|
||||||
|
│ │ └── Donnée (Etape 4)
|
||||||
|
│ ├── Colonne (Etape 3) - Hostname, chaîne de charactère
|
||||||
|
│ └── Colonne (Etape 3) - MacAddress, chaîne de charactère
|
||||||
|
└── TABLES (Etape 2) - EMPLOYEES
|
||||||
|
├── Colonne (Etape 3) - UserId, entier/clé primaire
|
||||||
|
├── Colonne (Etape 3) - Username, chaîne de charactère
|
||||||
|
└── Colonne (Etape 3) - PcId, clé secondaire
|
||||||
|
```
|
||||||
|
### Etape 1 : Créer une BDD
|
||||||
|
|
||||||
|
`sqlite3 grabberman.db` <- Commande qui crée une DB qu'on appellera ici "grabberman"
|
||||||
|
|
||||||
|
### Etape 2 : Créer une table
|
||||||
|
|
||||||
|
```sql
|
||||||
|
CREATE TABLE "COMPUTERS"
|
||||||
|
(
|
||||||
|
PcId INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
|
Hostname VARCHAR(50) NOT NULL,
|
||||||
|
MacAddress VARCHAR(50)
|
||||||
|
);
|
||||||
|
```
|
||||||
|
!!! note
|
||||||
|
|
||||||
|
Ici on crée une table dans laquelle on stockera des données (des PC que l'on grab par exemple)
|
||||||
|
|
||||||
|
### Etape 3 : Ajouter des données dans une table
|
||||||
|
|
||||||
|
`INSERT into COMPUTERS (Hostname, MacAddress) VALUES ('mypc', '1B:12:F0:FL:94');`
|
||||||
|
!!! note
|
||||||
|
|
||||||
|
Pour ajouter une donnée dans une tableau, on **INSERE** dans le **TABLEAU** donné les **VALEURS** dans les **Colonnes**
|
||||||
|
|
||||||
|
### Etape 4 : Créer un autre tableau avec une clé liée (foreign key)
|
||||||
|
|
||||||
|
```sql
|
||||||
|
CREATE TABLE "EMPLOYEES"
|
||||||
|
(
|
||||||
|
UserId INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
|
Username VARCHAR(50) NOT NULL,
|
||||||
|
FOREIGN KEY (PcId) REFERENCES COMPUTERS(PcId)
|
||||||
|
);
|
||||||
|
```
|
||||||
|
|
||||||
|
!!! note
|
||||||
|
|
||||||
|
On recommence comme à l'étape 2, en ajoutant une clé étrangère **foreign key**, qui lie une clé extérieure, **PcId** ici, dans notre second Tableau
|
||||||
30
oldies/2025-10-16.md
Normal file
30
oldies/2025-10-16.md
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# Premier cours de DevOps
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Le Garage Numérique
|
||||||
|
|
||||||
|
Un compte **Garages** servira en gros :
|
||||||
|
- au **Git du garage** ;
|
||||||
|
- un **Discord-like : Element** ;
|
||||||
|
- le **Nextcloud du garage**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Création du compte Garage
|
||||||
|
|
||||||
|
Création du compte, le mien c'est **ramzouille**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation de l’application **Element**
|
||||||
|
|
||||||
|
Installation et configuration de **Element**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Présentation des projets **Open Source**
|
||||||
|
|
||||||
|
Introduction à la philosophie **Open Source**.
|
||||||
|
|
||||||
|
---
|
||||||
15
oldies/2025-10-17.md
Normal file
15
oldies/2025-10-17.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Deuxieme cours de DevOps
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Premiere note dans le Git
|
||||||
|
|
||||||
|
- Une **note par cours** pour résumer en gros la journée, le tout en **Markdown**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Présentation a l'oral
|
||||||
|
|
||||||
|
Un oral sur le hardware réseau qui se trouve dans nos PC comme la carte WIFI, Bluetooth ou encore le port Ethernet
|
||||||
|
|
||||||
|
---
|
||||||
17
oldies/2025-10-23.md
Normal file
17
oldies/2025-10-23.md
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# Troisieme cours de DevOps
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Debian sur le mac
|
||||||
|
|
||||||
|
- Installation de debian sur le mac, il n'y avait qu'a suivre les commandes sur ce wiki et une seule commande shell : [The Banana port of debian](https://wiki.debian.org/InstallingDebianOn/Apple/M1#The_Bananas_port)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Debut de gameshell
|
||||||
|
|
||||||
|
- Jeu pour apprendre le shell
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Clone du git de la note sur le debian
|
||||||
15
oldies/2025-10-24.md
Normal file
15
oldies/2025-10-24.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Quatrième cours de DevOps
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation d'une VM
|
||||||
|
|
||||||
|
- Sur le debian, on a installé une VM d'un debian (debian-ception) via kvm
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gameshell pt.2
|
||||||
|
|
||||||
|
- J'ai avancé sur gameshell et suis arrivé vers les niveaux 30
|
||||||
|
|
||||||
|
---
|
||||||
15
oldies/2025-10-31.md
Normal file
15
oldies/2025-10-31.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Sixième cours de DevOps
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Grabber pt.2
|
||||||
|
|
||||||
|
- On continue le grabber
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Instal. debian n.195
|
||||||
|
|
||||||
|
- J'installe debian sur un troisième mac, cette fois-ci un intel, je deviens un expert en la matière
|
||||||
|
|
||||||
|
---
|
||||||
1091
site/learn/devops/2025-10-30/index.html
Normal file
1091
site/learn/devops/2025-10-30/index.html
Normal file
File diff suppressed because one or more lines are too long
1253
site/learn/devops/2025-11-28/index.html
Normal file
1253
site/learn/devops/2025-11-28/index.html
Normal file
File diff suppressed because one or more lines are too long
1337
site/learn/devops/2025-12-12/index.html
Normal file
1337
site/learn/devops/2025-12-12/index.html
Normal file
File diff suppressed because one or more lines are too long
1117
site/learn/devops/2026-01-16/index.html
Normal file
1117
site/learn/devops/2026-01-16/index.html
Normal file
File diff suppressed because one or more lines are too long
1254
site/learn/devops/2026-01-22/index.html
Normal file
1254
site/learn/devops/2026-01-22/index.html
Normal file
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user