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