diff --git a/docs/learn/devops/2025-10-30.md b/docs/learn/devops/2025-10-30.md new file mode 100644 index 0000000..732aa83 --- /dev/null +++ b/docs/learn/devops/2025-10-30.md @@ -0,0 +1,38 @@ +--- +tags: + - Linux + - UNIX + - Distributions +--- + +drake (moi) t'aidant avec mes notes remplies de bonne volontés + +# 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) \ No newline at end of file diff --git a/docs/learn/devops/2025-11-28.md b/docs/learn/devops/2025-11-28.md new file mode 100644 index 0000000..91c254e --- /dev/null +++ b/docs/learn/devops/2025-11-28.md @@ -0,0 +1,113 @@ +--- +tags: + - Bash + - UNIX +--- + +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 \ No newline at end of file diff --git a/docs/learn/devops/2025-12-12.md b/docs/learn/devops/2025-12-12.md new file mode 100644 index 0000000..68e2a50 --- /dev/null +++ b/docs/learn/devops/2025-12-12.md @@ -0,0 +1,75 @@ +--- +tags: + - Git + - Bash +--- + +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) +``` + diff --git a/docs/learn/devops/2026-01-16.md b/docs/learn/devops/2026-01-16.md new file mode 100644 index 0000000..6ed5dde --- /dev/null +++ b/docs/learn/devops/2026-01-16.md @@ -0,0 +1,41 @@ +--- +tags: + - Python + - pip + - Environnements Virtuels +--- + +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) \ No newline at end of file diff --git a/docs/learn/devops/2026-01-22.md b/docs/learn/devops/2026-01-22.md new file mode 100644 index 0000000..7ac3ba4 --- /dev/null +++ b/docs/learn/devops/2026-01-22.md @@ -0,0 +1,77 @@ +--- +tags: + - SQL +--- + +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. + +Modèle MVC par MDN + +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 diff --git a/oldies/2025-10-16.md b/oldies/2025-10-16.md new file mode 100644 index 0000000..a2f2e73 --- /dev/null +++ b/oldies/2025-10-16.md @@ -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**. + +--- \ No newline at end of file diff --git a/oldies/2025-10-17.md b/oldies/2025-10-17.md new file mode 100644 index 0000000..712a25c --- /dev/null +++ b/oldies/2025-10-17.md @@ -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 + +--- \ No newline at end of file diff --git a/oldies/2025-10-23.md b/oldies/2025-10-23.md new file mode 100644 index 0000000..fd24f9e --- /dev/null +++ b/oldies/2025-10-23.md @@ -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 \ No newline at end of file diff --git a/oldies/2025-10-24.md b/oldies/2025-10-24.md new file mode 100644 index 0000000..804203a --- /dev/null +++ b/oldies/2025-10-24.md @@ -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 + +--- \ No newline at end of file diff --git a/oldies/2025-10-31.md b/oldies/2025-10-31.md new file mode 100644 index 0000000..2702233 --- /dev/null +++ b/oldies/2025-10-31.md @@ -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 + +--- \ No newline at end of file diff --git a/site/learn/devops/2025-10-30/index.html b/site/learn/devops/2025-10-30/index.html new file mode 100644 index 0000000..191cfb2 --- /dev/null +++ b/site/learn/devops/2025-10-30/index.html @@ -0,0 +1,1091 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + C'est quoi linux ? (30/10/25) - Les incroyables notes de devops + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+ +
+ + + + + + +

drake (moi) t'aidant avec mes notes remplies de bonne volontés

+

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.

+ + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/learn/devops/2025-11-28/index.html b/site/learn/devops/2025-11-28/index.html new file mode 100644 index 0000000..88fcec9 --- /dev/null +++ b/site/learn/devops/2025-11-28/index.html @@ -0,0 +1,1253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Commandes *sh pour les idiots (28/11/25) - Les incroyables notes de devops + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+ +
+ + + + + + +

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 +

    sudo [commande]
    +

    +
  2. +
  3. +

    ls : liste les fichiers d'un dossier +

    # -a pour afficher les fichiers cachés / -l pour afficher en liste avec plus d'infos
    +ls [options] [fichier|dir]
    +

    +
  4. +
  5. +

    cd : changer de dossier +

    # ~ pour aller au répertoire home / .. pour revenir en arriere
    +cd [dir]
    +

    +
  6. +
  7. +

    pwd : affiche le répertoire actuel +

    pwd
    +

    +
  8. +
  9. +

    touch : affiche le contenu d'un fichier +

    touch [fichier]
    +

    +
  10. +
  11. +

    nano : éditeur de texte +

    nano [fichier]
    +

    +
  12. +
  13. +

    mkdir : supprime ce qu'on lui donne +

    mkdir [options] [fichier|dir]
    +

    +
  14. +
  15. +

    rm : supprime ce qu'on lui donne +

    # -r pour supprimer un dossier et son contenu (recursive) (`rmdir` le fait aussi)
    +# -f force la commande
    +rm [options] [fichier|dir]
    +

    +
  16. +
  17. +

    cp : copie... +

    cp [options] [source] [destination]
    +

    +
  18. +
  19. +

    mv : ...et déplace +

    mv [options] [source] [destination]
    +

    +
  20. +
+

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" +

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

+ + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/learn/devops/2025-12-12/index.html b/site/learn/devops/2025-12-12/index.html new file mode 100644 index 0000000..9dce457 --- /dev/null +++ b/site/learn/devops/2025-12-12/index.html @@ -0,0 +1,1337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Git pour les neuilles (12/12/25) - Les incroyables notes de devops + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+ +
+ + + + + + +

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

+
+

-> 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 ⬇️ +

    git merge -s ours main
    +git checkout main
    +git merge (branche à merge)
    +

    +
  • +
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/learn/devops/2026-01-16/index.html b/site/learn/devops/2026-01-16/index.html new file mode 100644 index 0000000..2640387 --- /dev/null +++ b/site/learn/devops/2026-01-16/index.html @@ -0,0 +1,1117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + pip et environnements virtuels pour les caca (16/01/26) - Les incroyables notes de devops + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+ +
+ + + + + + +

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

+
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/learn/devops/2026-01-22/index.html b/site/learn/devops/2026-01-22/index.html new file mode 100644 index 0000000..753c1e8 --- /dev/null +++ b/site/learn/devops/2026-01-22/index.html @@ -0,0 +1,1254 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + SQL pour les tung tung tung sahur (22/01/26) - Les incroyables notes de devops + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+ +
+ + + + + + +

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.

+
+

Modèle MVC par MDN

+

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

+
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)

+
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

+
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file