diff --git a/.markdownlint.yaml b/.markdownlint.yaml index 110a5f0..474dbc9 100644 --- a/.markdownlint.yaml +++ b/.markdownlint.yaml @@ -4,3 +4,5 @@ MD009: strict: false MD013: false +MD033: false +MD024: false diff --git a/Cuisine/Cocktails/Gin_fizz.md b/Cuisine/Cocktails/Gin_fizz.md index a62f2f0..c92320f 100644 --- a/Cuisine/Cocktails/Gin_fizz.md +++ b/Cuisine/Cocktails/Gin_fizz.md @@ -5,6 +5,6 @@ - Jus de citron vert 4cl - Eau gazeuse 12 cl -## Indication +## Indication - Mélange à réaliser au shaker avant d'ajouter l'eau gazeuse. diff --git a/Cuisine/Cocktails/Sex_on_the_beach.md b/Cuisine/Cocktails/Sex_on_the_beach.md index 4894de9..75d1a9b 100644 --- a/Cuisine/Cocktails/Sex_on_the_beach.md +++ b/Cuisine/Cocktails/Sex_on_the_beach.md @@ -1,4 +1,4 @@ -# Sex on the beach +# Sex on the beach - Vodka 3cl - Chambord 2cl diff --git a/Divers/lien/index.md b/Divers/lien/index.md index 7ff54bd..18e9a49 100644 --- a/Divers/lien/index.md +++ b/Divers/lien/index.md @@ -1,3 +1,5 @@ +# lien + [site permettant d'avoir les prox d'achat de masion ou terrain](https://app.dvf.etalab.gouv.fr) -[liste api public](https://github.com/public-apis/public-apis) \ No newline at end of file +[liste api public](https://github.com/public-apis/public-apis) diff --git a/Divers/lien/mental_model.md b/Divers/lien/mental_model.md index 96cb904..ae22c47 100644 --- a/Divers/lien/mental_model.md +++ b/Divers/lien/mental_model.md @@ -1,4 +1,5 @@ # Mental Model + ## Links - [Ask HN: Which books teach mental models?](https://news.ycombinator.com/item?id=19895407) diff --git a/Divers/lyrics/hey_hey_my_my.md b/Divers/lyrics/hey_hey_my_my.md index d78a964..678aa1a 100644 --- a/Divers/lyrics/hey_hey_my_my.md +++ b/Divers/lyrics/hey_hey_my_my.md @@ -1,3 +1,5 @@ +# hey hey my my + Hey hey, my my Rock and roll can never die There's more to the picture @@ -21,4 +23,4 @@ My my, hey hey Rock and roll is here to stay It's better to burn out Than to fade away -My my, hey hey +My my, hey hey diff --git a/Divers/replique citation/citation.md b/Divers/replique citation/citation.md index 202a96f..1cd8470 100644 --- a/Divers/replique citation/citation.md +++ b/Divers/replique citation/citation.md @@ -1,7 +1,9 @@ ->Se vouloir libre, c'est aussi vouloir les autres libres +# citations + +> Se vouloir libre, c'est aussi vouloir les autres libres simone de beauvoir - + >Les ordinateurs ne sont pas le truc. Ils sont le truc qui nous conduit au truc - + Halte and catch fire diff --git a/Divers/replique citation/eldorado.md b/Divers/replique citation/eldorado.md index 6103200..97d8a6a 100644 --- a/Divers/replique citation/eldorado.md +++ b/Divers/replique citation/eldorado.md @@ -1,26 +1,27 @@ +# eldorado + Un chevalier sur son coursier, jour et nuit au grand galop , courut longtemps - tout en chantant. -Il cherchait l'El Dorado, -au-delà des monts + tout en chantant. +Il cherchait l'El Dorado, +au-delà des monts les plus hauts, - dans les profondeurs de la terre, + dans les profondeurs de la terre, poursuivant sa chimère ! - -A moitié mort, -marchant encore, + +A moitié mort, +marchant encore, il vit une ombre au grand galop. Il lui cria, " Ombre dis-moi, suis-je encore loin d'El Dorado ? -" " - +" + Au-delà des monts - les plus hauts, + les plus hauts, dans les profondeurs de la terre, chevauche sans repos, - dit l'ombre solitaire, + dit l'ombre solitaire, si tu cherches El Dorado ! -" diff --git a/Divers/replique citation/littanie_contre_la_peur.md b/Divers/replique citation/littanie_contre_la_peur.md index 09fad0f..65e8eb1 100644 --- a/Divers/replique citation/littanie_contre_la_peur.md +++ b/Divers/replique citation/littanie_contre_la_peur.md @@ -1,4 +1,5 @@ +# littanie contre la peur + Je ne connaîtrai pas la peur, car la peur tue l'esprit. La peur est la petite mort qui conduit à l'oblitération totale. J'affronterai ma peur. Je lui permettrai de passer sur moi, au travers de moi. Et lorsqu'elle sera passée, je tournerai mon œil intérieur sur son chemin. Et là où elle sera passée, il n'y aura plus rien. Rien que moi. I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain. - diff --git a/Divers/replique citation/replique.md b/Divers/replique citation/replique.md index fa23f02..5feedc5 100644 --- a/Divers/replique citation/replique.md +++ b/Divers/replique citation/replique.md @@ -6,13 +6,14 @@ - On n'est pas là pour sucer des glaçons ## audiart + - Le jour où on mettra les cons sur orbite, t'as pas fini de tourner - Les cons, ça ose tout. C'est même à ça qu'on les reconnaît - Dans la vie on partage toujours les emmerdes, jamais le pognon. ## inspecteur harry -> - Lorsque je vois un adulte du sexe masculin courir derrière une femelle avec l’intention évidente de la violer, je le descends avant, c’est ma politique. -> - L’intention ? Elle restait à établir. -> - Quand un gars à poil court derrière une fille la queue en l’air avec un couteau de boucher à la main, c’est drôle, j’ai peine à croire qu’il est en train de quêter pour la croix rouge. -- les avis c'est comme les trous du cul tout le monde en a un +> Lorsque je vois un adulte du sexe masculin courir derrière une femelle avec l’intention évidente de la violer, je le descends avant, c’est ma politique. +> L’intention ? Elle restait à établir. +> Quand un gars à poil court derrière une fille la queue en l’air avec un couteau de boucher à la main, c’est drôle, j’ai peine à croire qu’il est en train de quêter pour la croix rouge. +> les avis c'est comme les trous du cul tout le monde en a un diff --git a/Divers/replique citation/republique-alamo.md b/Divers/replique citation/republique-alamo.md index b7fd3ef..b37ddc4 100644 --- a/Divers/replique citation/republique-alamo.md +++ b/Divers/replique citation/republique-alamo.md @@ -1 +1,3 @@ +# République Alamo + République. J’aime le son de ce mot. Il signifie que les gens peuvent vivre libres, parler comme bon leur semble, aller et venir, acheter ou vendre, s’enivrer ou rester sobres, selon leurs désirs. Certains mots vous font vibrer. République est l’un de ces mots qui me nouent la gorge – la même sensation qui s’empare du père voyant voit son bébé faire ses premiers pas ou son premier enfant entreprendre de se raser et parler comme un homme. Certains mots vous réchauffent le cœur. République est l’un de ces mots. diff --git a/Divers/replique citation/voyez_cela.md b/Divers/replique citation/voyez_cela.md index 05d7378..2b9422a 100644 --- a/Divers/replique citation/voyez_cela.md +++ b/Divers/replique citation/voyez_cela.md @@ -1,4 +1,6 @@ +# Voyez Cela (13 éme guerrier) + Voyez cela je vois mon père. Voyez cela je vois ma mère et mes sœurs et mes frères. Voyez cela je vois tous mes ancêtres qui sont assis et me regardent. -Et voilà, voilà qu’ils m’appellent et me demandent de prendre place à leurs côtés dans le palais de Valhalla là ou les braves vivent à jamais. \ No newline at end of file +Et voilà, voilà qu’ils m’appellent et me demandent de prendre place à leurs côtés dans le palais de Valhalla là ou les braves vivent à jamais. diff --git a/IT/JS/index.md b/IT/JS/index.md index 560bafd..2d76022 100644 --- a/IT/JS/index.md +++ b/IT/JS/index.md @@ -1 +1,3 @@ +# JS + [Javascript without JQuery](https://github.com/nefe/You-Dont-Need-jQuery) diff --git a/IT/SQL/FormationSQL.md b/IT/SQL/FormationSQL.md index ea181f2..8c8a79a 100644 --- a/IT/SQL/FormationSQL.md +++ b/IT/SQL/FormationSQL.md @@ -704,8 +704,7 @@ deux conception: - diferentille: enregistre les pages modifiées depuis la derniére sauvegarde compléte et les transactions qui ont eu lieu pendant la sauvegarde -- journal de transactions: enregistre mes transactions qui ont eu lieu depuis la derniére sauvegarde - +- journal de transactions: enregistre mes transactions qui ont eu lieu depuis la derniére sauvegarde ### mode de récupération @@ -713,9 +712,9 @@ deux conception: - bulk logged - simple -### syntaxe de commande +### syntaxe de commande -complete +complete BAckup DATABASE @@ -723,7 +722,7 @@ differentiel Backup DATABASE WITH DIFFERENTIAL -transactionelle +transactionelle BAckup LOG @@ -737,11 +736,11 @@ il est possible d'envoyer la sauvegarde sur plusieur fichier en paralléle chaqu il est aussi possible d'envoyer la sauvegarde sur diferent device -### compresioon +### compresioon WITH COMPRESSION -gain sur le temps de sauvegarde +gain sur le temps de sauvegarde gain important sur le temps de restauration gain importants sur le volume @@ -755,7 +754,6 @@ RESTORE FILELISTONLY list les fichier restaurable pour l'in des sauvegarde conte RESTORE VERIFYONLY: controle la sauvegarde - ## surveillance et performance ### Historisation des données @@ -768,17 +766,16 @@ Tables temporelles: l'intervalle de temps est ouvert a droite fermée a gauche interrogation temporelle + - as-of - from - between -- contained in +- contained in - all ### verrouillages et blocages -mode de verrouillage pessimiste par default +mode de verrouillage pessimiste par default + - une écriture bloque la lecture et l'écriture d'autre processus - le verrouillafe peut entrainner des: wait,Blocage,deadlock - - - diff --git a/IT/SQL/PostgreSQL/Upgrade.md b/IT/SQL/PostgreSQL/Upgrade.md index 72e7c17..ad5667d 100644 --- a/IT/SQL/PostgreSQL/Upgrade.md +++ b/IT/SQL/PostgreSQL/Upgrade.md @@ -5,41 +5,54 @@ if not done you can meet issue during request ## action -**need to have postgresqk-old-upgrade installed on arch** +need to have **postgresqk-old-upgrade** installed on arch - stop service + ```systemctl stop postgresql.service``` + - rename cluster directory -```mv /var/lib/postgres/data /var/lib/postgres/olddata + +```bash +mv /var/lib/postgres/data /var/lib/postgres/olddata mkdir /var/lib/postgres/data /var/lib/postgres/tmp chown postgres:postgres /var/lib/postgres/data /var/lib/postgres/tmp ``` + - log in postgres account -``` + +```bash sudo -iu postgres cd /var/lib/postgres/tmp +``` -``` - launch upgrade -``` + +```bash pg_upgrade -b /opt/pgsql-PG_VERSION/bin -B /usr/bin -d /var/lib/postgres/olddata -D /var/lib/postgres/data ``` + - check both pg_hba.conf in new and old cluster - restart server `sc-start postgresql` -# sequece manipulation +## sequece manipulation sequence are use to generate uniq identifier + - get sequence value + ```SQL select * from name_seq; ``` + - increment sequence value + ```SQL select nextval(name_seq); ``` - set sequence value: + ```SQL select setval(name_seq,newvalue); -``` \ No newline at end of file +``` diff --git a/IT/SQL/cheasheet.md b/IT/SQL/cheasheet.md index 0d20bee..b773325 100644 --- a/IT/SQL/cheasheet.md +++ b/IT/SQL/cheasheet.md @@ -1,29 +1,36 @@ -# Quick SQL Cheatsheet +# SQL Cheatsheet -A quick reminder of all relevant SQL queries and examples on how to use them. +## Quick SQL Cheatsheet -This repository is constantly being updated and added to by the community. +A quick reminder of all relevant SQL queries and examples on how to use them. + +This repository is constantly being updated and added to by the community. Pull requests are welcome. Enjoy! -# Table of Contents -1. [ Finding Data Queries. ](#find) -2. [ Data Modification Queries. ](#modify) -3. [ Reporting Queries. ](#report) -4. [ Join Queries. ](#joins) -5. [ View Queries. ](#view) -6. [ Altering Table Queries.](#alter) -7. [ Creating Table Query.](#create) +## Table of Contents + +1. [Finding Data Queries.](#find) +2. [Data Modification Queries.](#modify) +3. [Reporting Queries.](#report) +4. [Join Queries.](#joins) +5. [View Queries.](#view) +6. [Altering Table Queries.](#alter) +7. [Creating Table Query.](#create) -# 1. Finding Data Queries + +## 1. Finding Data Queries ### **SELECT**: used to select data from a database + * `SELECT` * `FROM` table_name; ### **DISTINCT**: filters away duplicate values and returns rows of specified column + * `SELECT DISTINCT` column_name; ### **WHERE**: used to filter records/rows + * `SELECT` column1, column2 `FROM` table_name `WHERE` condition; * `SELECT` * `FROM` table_name `WHERE` condition1 `AND` condition2; * `SELECT` * `FROM` table_name `WHERE` condition1 `OR` condition2; @@ -32,17 +39,20 @@ Pull requests are welcome. Enjoy! * `SELECT` * `FROM` table_name `WHERE EXISTS` (`SELECT` column_name `FROM` table_name `WHERE` condition); ### **ORDER BY**: used to sort the result-set in ascending or descending order + * `SELECT` * `FROM` table_name `ORDER BY` column; * `SELECT` * `FROM` table_name `ORDER BY` column `DESC`; * `SELECT` * `FROM` table_name `ORDER BY` column1 `ASC`, column2 `DESC`; ### **SELECT TOP**: used to specify the number of records to return from top of table + * `SELECT TOP` number columns_names `FROM` table_name `WHERE` condition; * `SELECT TOP` percent columns_names `FROM` table_name `WHERE` condition; * Not all database systems support `SELECT TOP`. The MySQL equivalent is the `LIMIT` clause * `SELECT` column_names `FROM` table_name `LIMIT` offset, count; ### **LIKE**: operator used in a WHERE clause to search for a specific pattern in a column + * % (percent sign) is a wildcard character that represents zero, one, or multiple characters * _ (underscore) is a wildcard character that represents a single character * `SELECT` column_names `FROM` table_name `WHERE` column_name `LIKE` pattern; @@ -54,26 +64,31 @@ Pull requests are welcome. Enjoy! * `LIKE` ‘[a-c]%’ (find any values starting with “a”, “b”, or “c” ### **IN**: operator that allows you to specify multiple values in a WHERE clause + * essentially the IN operator is shorthand for multiple OR conditions * `SELECT` column_names `FROM` table_name `WHERE` column_name `IN` (value1, value2, …); * `SELECT` column_names `FROM` table_name `WHERE` column_name `IN` (`SELECT STATEMENT`); ### **BETWEEN**: operator selects values within a given range inclusive + * `SELECT` column_names `FROM` table_name `WHERE` column_name `BETWEEN` value1 `AND` value2; * `SELECT` * `FROM` Products `WHERE` (column_name `BETWEEN` value1 `AND` value2) `AND NOT` column_name2 `IN` (value3, value4); * `SELECT` * `FROM` Products `WHERE` column_name `BETWEEN` #01/07/1999# AND #03/12/1999#; ### **NULL**: values in a field with no value + * `SELECT` * `FROM` table_name `WHERE` column_name `IS NULL`; * `SELECT` * `FROM` table_name `WHERE` column_name `IS NOT NULL`; ### **AS**: aliases are used to assign a temporary name to a table or column + * `SELECT` column_name `AS` alias_name `FROM` table_name; * `SELECT` column_name `FROM` table_name `AS` alias_name; * `SELECT` column_name `AS` alias_name1, column_name2 `AS` alias_name2; * `SELECT` column_name1, column_name2 + ‘, ‘ + column_name3 `AS` alias_name; ### **UNION**: set operator used to combine the result-set of two or more SELECT statements + * Each SELECT statement within UNION must have the same number of columns * The columns must have similar data types * The columns in each SELECT statement must also be in the same order @@ -81,115 +96,147 @@ Pull requests are welcome. Enjoy! * `UNION` operator only selects distinct values, `UNION ALL` will allow duplicates ### **INTERSECT**: set operator which is used to return the records that two SELECT statements have in common + * Generally used the same way as **UNION** above * `SELECT` columns_names `FROM` table1 `INTERSECT SELECT` column_name `FROM` table2; ### **EXCEPT**: set operator used to return all the records in the first SELECT statement that are not found in the second SELECT statement + * Generally used the same way as **UNION** above * `SELECT` columns_names `FROM` table1 `EXCEPT SELECT` column_name `FROM` table2; ### **ANY|ALL**: operator used to check subquery conditions used within a WHERE or HAVING clauses + * The `ANY` operator returns true if any subquery values meet the condition * The `ALL` operator returns true if all subquery values meet the condition * `SELECT` columns_names `FROM` table1 `WHERE` column_name operator (`ANY`|`ALL`) (`SELECT` column_name `FROM` table_name `WHERE` condition); ### **GROUP BY**: statement often used with aggregate functions (COUNT, MAX, MIN, SUM, AVG) to group the result-set by one or more columns + * `SELECT` column_name1, COUNT(column_name2) `FROM` table_name `WHERE` condition `GROUP BY` column_name1 `ORDER BY` COUNT(column_name2) DESC; ### **HAVING**: this clause was added to SQL because the WHERE keyword could not be used with aggregate functions + * `SELECT` `COUNT`(column_name1), column_name2 `FROM` table `GROUP BY` column_name2 `HAVING` `COUNT(`column_name1`)` > 5; ### **WITH**: often used for retrieving hierarchical data or re-using temp result set several times in a query. Also referred to as "Common Table Expression" + * `WITH RECURSIVE` cte `AS` (
-   `SELECT` c0.* `FROM` categories `AS` c0 `WHERE` id = 1 `# Starting point`
+   `SELECT` c0.\* `FROM` categories `AS` c0 `WHERE` id = 1 `# Starting point`
  `UNION ALL`
-   `SELECT` c1.* `FROM` categories `AS` c1 `JOIN` cte `ON` c1.parent_category_id = cte.id
+   `SELECT` c1.\* `FROM` categories `AS` c1 `JOIN` cte `ON` c1.parent_category_id = cte.id
)
`SELECT` *
`FROM` cte - -# 2. Data Modification Queries + +## 2. Data Modification Queries ### **INSERT INTO**: used to insert new records/rows in a table + * `INSERT INTO` table_name (column1, column2) `VALUES` (value1, value2); * `INSERT INTO` table_name `VALUES` (value1, value2 …); ### **UPDATE**: used to modify the existing records in a table + * `UPDATE` table_name `SET` column1 = value1, column2 = value2 `WHERE` condition; * `UPDATE` table_name `SET` column_name = value; ### **DELETE**: used to delete existing records/rows in a table + * `DELETE FROM` table_name `WHERE` condition; * `DELETE` * `FROM` table_name; -# 3. Reporting Queries + +## 3. Reporting Queries ### **COUNT**: returns the # of occurrences + * `SELECT COUNT (DISTINCT` column_name`)`; ### **MIN() and MAX()**: returns the smallest/largest value of the selected column + * `SELECT MIN (`column_names`) FROM` table_name `WHERE` condition; * `SELECT MAX (`column_names`) FROM` table_name `WHERE` condition; ### **AVG()**: returns the average value of a numeric column + * `SELECT AVG (`column_name`) FROM` table_name `WHERE` condition; ### **SUM()**: returns the total sum of a numeric column + * `SELECT SUM (`column_name`) FROM` table_name `WHERE` condition; -# 4. Join Queries -### **INNER JOIN**: returns records that have matching value in both tables +## 4. Join Queries + +### **INNER JOIN**: returns records that have matching value in both tables + * `SELECT` column_names `FROM` table1 `INNER JOIN` table2 `ON` table1.column_name=table2.column_name; * `SELECT` table1.column_name1, table2.column_name2, table3.column_name3 `FROM` ((table1 `INNER JOIN` table2 `ON` relationship) `INNER JOIN` table3 `ON` relationship); ### **LEFT (OUTER) JOIN**: returns all records from the left table (table1), and the matched records from the right table (table2) + * `SELECT` column_names `FROM` table1 `LEFT JOIN` table2 `ON` table1.column_name=table2.column_name; ### **RIGHT (OUTER) JOIN**: returns all records from the right table (table2), and the matched records from the left table (table1) + * `SELECT` column_names `FROM` table1 `RIGHT JOIN` table2 `ON` table1.column_name=table2.column_name; ### **FULL (OUTER) JOIN**: returns all records when there is a match in either left or right table + * `SELECT` column_names `FROM` table1 ``FULL OUTER JOIN`` table2 `ON` table1.column_name=table2.column_name; ### **Self JOIN**: a regular join, but the table is joined with itself + * `SELECT` column_names `FROM` table1 T1, table1 T2 `WHERE` condition; -# 5. View Queries + +## 5. View Queries ### **CREATE**: create a view + * `CREATE VIEW` view_name `AS SELECT` column1, column2 `FROM` table_name `WHERE` condition; ### **SELECT**: retrieve a view + * `SELECT` * `FROM` view_name; ### **DROP**: drop a view + * `DROP VIEW` view_name; -# 6. Altering Table Queries + +## 6. Altering Table Queries ### **ADD**: add a column + * `ALTER TABLE` table_name `ADD` column_name column_definition; ### **MODIFY**: change data type of column + * `ALTER TABLE` table_name `MODIFY` column_name column_type; ### **DROP**: delete a column + * `ALTER TABLE` table_name `DROP COLUMN` column_name; -# 7. Creating Table Query + +## 7. Creating Table Query ### **CREATE**: create a table + * `CREATE TABLE` table_name `(`
`column1` `datatype`,
`column2` `datatype`,
`column3` `datatype`,
`column4` `datatype`,
`);` + :q + :q diff --git a/IT/SQL/commande.md b/IT/SQL/commande.md index 4143446..17a1ec5 100644 --- a/IT/SQL/commande.md +++ b/IT/SQL/commande.md @@ -5,23 +5,25 @@ voir version: `select @@version` passer une base en mode single user -` ALTER DATABASE [toto] SET SINGLE_USER WITH ROLLBACK IMMEDIATE` + +`ALTER DATABASE [toto] SET SINGLE_USER WITH ROLLBACK IMMEDIATE` passer en mode multi user `alter database [toto] set MULTI_USER` - voir la configuration `exec sp_configure` activé affichage des option avancé + ```SQL exec sp_configure 'show advanced options', 1; REconfigure; ``` autorisé la mise en autonomie partielle des bases + ```SQL exec sp_configure 'contained database authentication',1; reconfigure @@ -39,11 +41,13 @@ reconfigure ``` Backup + ```sql BACKUP DATABASE [toto] TO DISK = 'c:\toto.bak' with Compression ``` ajouter filegroup + ```SQL USE [master] GO @@ -56,6 +60,7 @@ GO ``` setter filegroup par default + ```SQL USE [DB_GRAND_HOTEL] GO @@ -63,7 +68,8 @@ IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name = N'F GO ``` -modifier taille de fichier +modifier taille de fichier + ```SQL USE [DB_GRAND_HOTEL] GO @@ -80,4 +86,4 @@ voir nombre de page utilisé et temps ```SQL SET STATISTCS IO ON SET STATISTCS TIME ON -``` \ No newline at end of file +``` diff --git a/IT/WebDesign/CSS.md b/IT/WebDesign/CSS.md index 91de750..6f38935 100644 --- a/IT/WebDesign/CSS.md +++ b/IT/WebDesign/CSS.md @@ -1,5 +1,6 @@ # CSS ## link + [Bulma style sheet](https://devhints.io/bulma) [Remove.bg](https://www.remove.bg/) diff --git a/IT/WebDesign/building_palette.md b/IT/WebDesign/building_palette.md index cd1a2da..82f184d 100644 --- a/IT/WebDesign/building_palette.md +++ b/IT/WebDesign/building_palette.md @@ -6,20 +6,19 @@ Adapted from our book and video series, [Refactoring UI](moz-extension://3cbfa46 Ever used one of those fancy color palette generators? You know, the ones where you pick a starting color, tweak some options that probably include some musical jargon like "triad" or "major fourth", and are then bestowed the five perfect color swatches you should use to build your website? -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-01.png) +![pallette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-01.png) This calculated and scientific approach to picking the perfect color scheme is extremely seductive, but not very useful. Well, unless you want your site to look like this: -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-02.png) +![palette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-02.png) -What you actually need ----------------------- +## What you actually need You can't build anything with five hex codes. To build something real, you need a much more comprehensive set of colors to choose from. -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-03.png) +![palette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-03.png) You can break a good color palette down into three categories. @@ -27,13 +26,13 @@ You can break a good color palette down into three categories. Text, backgrounds, panels, form controls — almost everything in an interface is grey. -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-04.png) +![palette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-04.png) You'll need more greys than you think, too — three or four shades might sound like plenty but it won't be long before you wish you had something a little darker than shade #2 but a little lighter than shade #3. In practice, you want 8-10 shades to choose from (more on this later). Not so many that you waste time deciding between shade #77 and shade #78, but enough to make sure you don't have to compromise too much . -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-05.png) +![palette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-05.png) True black tends to look pretty unnatural, so start with a really dark grey and work your way up to white in steady increments. @@ -43,7 +42,7 @@ Most sites need one, _maybe_ two colors that are used for primary actions, empha Just like with greys, you need a variety _(5-10)_ of lighter and darker shades to choose from. -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-06.png) +![palette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-06.png) Ultra-light shades can be useful as a tinted background for things like alerts, while darker shades work great for text. @@ -53,19 +52,19 @@ On top of primary colors, every site needs a few _accent_ colors for communicati For example, you might want to use an eye-grabbing color like yellow, pink, or teal to highlight a new feature: -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-07.png) +![palette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-07.png) You might also need colors to emphasize different semantic _states_, like red for confirming a destructive action: -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-08.png) +![palette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-08.png) ...yellow for a warning message: -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-09.png) +![palette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-09.png) ...or green to highlight a positive trend: -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-10.png) +![palette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/whats-in-a-color-palette-10.png) You'll want multiple shades for these colors too, even though they should be used pretty sparingly throughout the UI. @@ -73,30 +72,27 @@ If you're building something where you need to use color to distinguish or categ All in, it's not uncommon to need as many as _ten_ different colors with _5-10 shades each_ for a complex UI. -Define your shades up front ---------------------------- +## Define your shades up front When you need to create a lighter or darker variation of a color in your palette, don't get clever using CSS preprocessor functions like "lighten" or "darken" to create shades on the fly. That's how you end up with 35 _slightly_ different blues that all look the same. Instead, define a fixed set of shades up front that you can choose from as you work. -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/define-your-shades-up-front-01.png) +![palette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/define-your-shades-up-front-01.png) So how do you put together a palette like this anyways? -Choose the base color first ---------------------------- +## Choose the base color first Start by picking a _base_ color for the scale you want to create — the color in the middle that your lighter and darker shades are based on. There's no real scientific way to do this, but for primary and accent colors, a good rule of thumb is to pick a shade that would work well as a button background. -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/define-your-shades-up-front-02.png) +![palette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/define-your-shades-up-front-02.png) It's important to note that there are no real rules here like "start at 50% lightness" or anything — every color behaves a bit differently, so you'll have to rely on your eyes for this one. -Finding the edges ------------------ +## Finding the edges Next, pick your darkest shade and your lightest shade. There's no real science to this either, but it helps to think about where they will be used and choose them using that context. @@ -104,12 +100,11 @@ The darkest shade of a color is usually reserved for text, while the lightest sh A simple alert component is a good example that combines both of these use cases, so it can be a great place to pick these colors. -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/define-your-shades-up-front-03.png) +![palette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/define-your-shades-up-front-03.png) Start with a color that matches the hue of your base color, and adjust the saturation and lightness until you're satisfied. -Filling in the gaps -------------------- +## Filling in the gaps Once you've got your base, darkest, and lightest shades, you just need to fill in the gaps in between them. @@ -119,25 +114,23 @@ Nine is a great number because it's easy to divide and makes filling in the gaps Start by picking shades _700_ and _300_, the ones right in the middle of the gaps. You want these shades to feel like the perfect compromise between the shades on either side. -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/define-your-shades-up-front-04.png) +![palette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/define-your-shades-up-front-04.png) This creates four more holes in the scale (_800_, _600_, _400_, and _200_), which you can fill using the same approach. -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/define-your-shades-up-front-05.png) +![palette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/define-your-shades-up-front-05.png) You should end up with a pretty balanced set of colors that provide just enough options to accommodate your design ideas without feeling limiting. -What about greys? ------------------ +## What about greys? With greys the base color isn't as important, but otherwise the process is the same. Start at the edges and fill in the gaps until you have what you need. -![](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/define-your-shades-up-front-06.png) +![palette](https://refactoring-ui.nyc3.cdn.digitaloceanspaces.com/previews/define-your-shades-up-front-06.png) Pick your darkest grey by choosing a color for the darkest text in your project, and your lightest grey by choosing something that works well for a subtle off-white background. -It's not a science ------------------- +## It's not a science As tempting as it is, you can't rely purely on math to craft the perfect color palette. @@ -147,5 +140,4 @@ Once you actually start using your colors in your designs, it's almost inevitabl Just try to avoid adding _new_ shades too often if you can avoid it. If you're not dilligent about limiting your palette, you might as well have no color system at all. - -[Source](https://refactoringui.com/previews/building-your-color-palette/) \ No newline at end of file +[Source](https://refactoringui.com/previews/building-your-color-palette/) diff --git a/IT/WebDesign/emailHTML.md b/IT/WebDesign/emailHTML.md index faeaf07..1425463 100644 --- a/IT/WebDesign/emailHTML.md +++ b/IT/WebDesign/emailHTML.md @@ -1 +1,3 @@ +# email HTML + [Rock Solid HTML Emails ◆ 24 ways](https://24ways.org/2009/rock-solid-html-emails) diff --git a/IT/WebDesign/html.md b/IT/WebDesign/html.md index 5bb7d52..09721f3 100644 --- a/IT/WebDesign/html.md +++ b/IT/WebDesign/html.md @@ -1,2 +1,4 @@ +# HTML + [HTMl Reference](https://htmlreference.io/) [CSS References](https://cssreference.io/) diff --git a/IT/docker/index.md b/IT/docker/index.md index 6b9bf26..392da14 100644 --- a/IT/docker/index.md +++ b/IT/docker/index.md @@ -1,26 +1,24 @@ - - # docker ## concept -- image: template en lecture seul pouvant créer un container +- image: template en lecture seul pouvant créer un container - conteneur: instance d'une image ## command -- telecharger une image: ` docker pull debian:$tag` -- crer et lancer un container en tty ` docker run -it bash ` +- telecharger une image: `docker pull debian:$tag` +- crer et lancer un container en tty `docker run -it bash` - arreter container: `docker stop` - démarrer containeur: `docker start` - lister tous les conteneur `docker ps -a` - delete conteneur: `docker rm 2cdc -- run a commad in container: `docker exec ` +- run a commad in container: `docker exec` - voir stdout d'un container: `docker logs` - créer et lancer un conteneur `docker run -d --name node-app -p 3000:3000 -v $(pwd):/app node:0.12.4 node /app/server.js` - - -d lance en tant que daemon - - --name permet de nommer le conteneur - - -p associe le port au port de l'hote (1er port pour l'hote et second pour le conteneur) + - -d lance en tant que daemon + - --name permet de nommer le conteneur + - -p associe le port au port de l'hote (1er port pour l'hote et second pour le conteneur) - -v $(pwd):/app : cette option permet de partager un dossier avec votre conteneur, ici, nous partageons le dossier courant (où se trouve notre fichier server.js) avec le dossier /app dans le conteneur (attention si vous êtes sur Mac ou Windows uniquement votre 'home' est partagé). - node:0.12.4 : l'image Docker que vous voulez utiliser. - node /app/server.js : la commande à exécuter dans le conteneur. @@ -66,10 +64,10 @@ le .dockerignore permet comme un .gitignore de ne pas inclure certain fichiers d ## créer image - lancer la build du fichier: `docker build -t nomducontainer:tag .` - - -t permet de nommer l'image docker -pour ajouter un tag il faut utiliser + - -t permet de nommer l'image docker +pour ajouter un tag il faut utiliser `docker tag` - + ## docker compose permet de gérer plusieur container ensemble (IaS) @@ -116,8 +114,6 @@ services: - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro ``` - - - `docker-compose up` démarre les services décrits dans docker-compose.yml et ne rend pas la main. - `docker-compose up -d` fait la même chose mais rend la main une fois que les services sont démarrés. - `docker-compose up –build` reconstruit les services avant de les lancer. diff --git a/IT/domotique/homeassistant.md b/IT/domotique/homeassistant.md index 24227e1..a466740 100644 --- a/IT/domotique/homeassistant.md +++ b/IT/domotique/homeassistant.md @@ -1,4 +1,4 @@ -# Home ASSistant +# Home ASSistant ## instalation @@ -6,7 +6,6 @@ - need mosquito broker for mqtt - ## Cheatsheet - [icon material](https://cdn.materialdesignicons.com/4.5.95/) @@ -18,4 +17,4 @@ ## SQL request - get most use entity: - ```SELECT entity_id, COUNT(*) as count FROM hass.states GROUP BY entity_id ORDER BY count DESC LIMIT 20``` \ No newline at end of file + ```SELECT entity_id, COUNT(*) as count FROM hass.states GROUP BY entity_id ORDER BY count DESC LIMIT 20``` diff --git a/IT/domotique/index.md b/IT/domotique/index.md index d9c4e69..6f75ef8 100644 --- a/IT/domotique/index.md +++ b/IT/domotique/index.md @@ -3,6 +3,9 @@ [Hack Xiaomi gateway V2](https://easydomoticz.com/forum/viewtopic.php?t=8397) ## jeedom + - install docker avec database sur host + ``` docker run --net host --name jeedom-server --privileged -v /opt/jeedom:/var/www/html -e ROOT_PASSWORD=toto -e APACHE_PORT=9080 jeedom/jeedom:alpha ``` -- pour le l'hote SQL mettre 127.0.0.1 \ No newline at end of file + +- pour le l'hote SQL mettre 127.0.0.1 diff --git a/IT/git/Git.md b/IT/git/Git.md index 661911c..6844cfc 100644 --- a/IT/git/Git.md +++ b/IT/git/Git.md @@ -1,5 +1,7 @@ # git + ![git](../img/git.jpg) + ## Clone with submodule recurse add *--recurse-submodules* to clone command @@ -25,7 +27,7 @@ this will ask if you want to add each modification with this option: be carefull can't push repo last time use need to be in a repo with no modification -``` +```bash git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch $file" HEAD rm -rf .git/refs/original/ && git reflog expire --all && git gc --aggressive --prune ``` @@ -35,14 +37,16 @@ rm -rf .git/refs/original/ && git reflog expire --all && git gc --aggressive -- - clone the first repo - go in this directory - launch -``` + +```bash git filter-branch --prune-empty --subdirectory-filter "subdirectory/path" master ``` + - push in your new git repo ## changing email adress -``` +```bash $ git filter-branch --commit-filter ' if [ "$GIT_AUTHOR_EMAIL" = "schacon@localhost" ]; then diff --git a/IT/git/Rewrite_History.md b/IT/git/Rewrite_History.md index b8b41e1..d3f9dfd 100644 --- a/IT/git/Rewrite_History.md +++ b/IT/git/Rewrite_History.md @@ -44,4 +44,4 @@ git rebase --continue ### delete **drop** will delete comite rebase will not apply modification during processing -to use by example if you have done a modifcation and a revert +to use by example if you have done a modifcation and a revert diff --git a/IT/git/submodule.md b/IT/git/submodule.md index 79a2f5e..0c031fe 100644 --- a/IT/git/submodule.md +++ b/IT/git/submodule.md @@ -5,7 +5,7 @@ Git submodule allows ro add externel repository in a repository ## Adding submodule - ```git submodule add http://git/toto.git $path``` - this command add *http://git/toto.git* in *path* directory (add -b $branchname to follow specific branch) + this command add ** in *path* directory (add -b $branchname to follow specific branch) - after that you need to add and commit submodule folder to populate a submodule nested in other submodule @@ -21,15 +21,12 @@ to populate a submodule nested in other submodule ## Updating submodule - you can update a submodule Manually going in submodule folder and perform a ```git fetch``` and ```git merge``` - ### Fetch and merge + automatic process + - perform a ```git submodule update --remote``` - in each case you need to commit update in project - - diff --git a/IT/http/ampache_nginx_config.conf.md b/IT/http/ampache_nginx_config.conf.md index 3bb7f02..291d886 100644 --- a/IT/http/ampache_nginx_config.conf.md +++ b/IT/http/ampache_nginx_config.conf.md @@ -1,6 +1,6 @@ +# ampache nginx config - -``` +```nginx if ( !-d $request_filename ) { rewrite ^/ampache/rest/(.*)\.view$ /ampache/rest/index.php?action=$1 last; rewrite ^/ampache/rest/play/(.+)$ /ampache/play/$1 last; diff --git a/IT/http/index.md b/IT/http/index.md index 6565a48..95ab456 100644 --- a/IT/http/index.md +++ b/IT/http/index.md @@ -1,8 +1,12 @@ +# HTTP + ## 1×× Informational + - 100 Continue This interim response indicates that everything so far is OK and that the client should continue with the request or ignore it if it is already finished. ## 2×× Success + - 200 OK The request has succeeded. The meaning of a success varies depending on the HTTP method: GET: The resource has been fetched and is transmitted in the message body. @@ -19,6 +23,7 @@ The response body contains multiple status informations for different parts of a batch/bulk request ## 3×× Redirection + - 300 Multiple Choices The request has more than one possible responses. User-agent or user should choose one of them. There is no standardized way to choose one of the responses. - 301 Moved Permanently @@ -31,6 +36,7 @@ This is used for caching purposes. It is telling to client that response has not been modified. So, client can continue to use same cached version of response. ## 4×× Client Error + - 400 Bad Request This response means that server could not understand the request due to invalid syntax. - 401 Unauthorized @@ -45,6 +51,7 @@ The client does not consider rate limiting and sent too many requests. ## 5×× Server Error + - 500 Internal Server Error The server has encountered a situation it doesn't know how to handle. - 501 Not Implemented @@ -54,4 +61,4 @@ - 503 Service Unavailable The server is not ready to handle the request. Common causes are a server that is down for maintenance or that is overloaded. Note that together with this response, a user-friendly page explaining the problem should be sent. This responses should be used for temporary conditions and the Retry-After: HTTP header should, if possible, contain the estimated time before the recovery of the service. The webmaster must also take care about the caching-related headers that are sent along with this response, as these temporary condition responses should usually not be cached. -For more info: https://httpstatuses.com/ +For more info: diff --git a/IT/http/nginx.md b/IT/http/nginx.md index 3035cb4..3b95277 100644 --- a/IT/http/nginx.md +++ b/IT/http/nginx.md @@ -1,6 +1,8 @@ # nginx + ## reverse proxy -``` + +```nginx location /chainetv { proxy_pass http://unix:/run/gunicorn/socket:/; #proxy_set_header Host $host; @@ -10,6 +12,7 @@ } ``` + - le :/ aprés le socket sert a envoyer le sous répertoire a la suite de l'adresse demander l'appli écoute donc la route /api - la parie commenté a le même fonctionnement mais permet un réglage plus fin associer a flask et la classe ReverseProxied par exemple: la location peut rediriger /chaine/api en metant le X-Script-ame a /chainetv l'appli peut donc écouter la route /api diff --git a/IT/linux/AUR.md b/IT/linux/AUR.md index 386e5e9..37d5b1f 100644 --- a/IT/linux/AUR.md +++ b/IT/linux/AUR.md @@ -4,9 +4,9 @@ makepkg -sf -le f permet de forcer la compimation meme si des dossier existe déja +le f permet de forcer la compimation meme si des dossier existe déja on peut rajouter l'option *i* afin de lancer l'instalation du package a la fin de la build ## update .SRCINFO -`makepkg --printsrcinfo > .SRCINFO` \ No newline at end of file +`makepkg --printsrcinfo > .SRCINFO` diff --git a/IT/linux/LVM.md b/IT/linux/LVM.md index 544c0a0..35848a1 100644 --- a/IT/linux/LVM.md +++ b/IT/linux/LVM.md @@ -23,4 +23,4 @@ reduce logical volume `lvextend -L +44G /dev/mapper/arch-root` -`resize2fs /dev/mapper/arch-root` \ No newline at end of file +`resize2fs /dev/mapper/arch-root` diff --git a/IT/linux/arch.md b/IT/linux/arch.md index 9e9161e..b62e37e 100644 --- a/IT/linux/arch.md +++ b/IT/linux/arch.md @@ -1,18 +1,19 @@ +# Arch + ![arch](../img/Arch_Linux_logo.svg.png) ## [instalation](arch_install.md) - ## arch tips -#### clés GPG corrompue ou usagé +### clés GPG corrompue ou usagé -``` +```bash sudo pacman -S archlinux-keyring sudo pacmam-key --init sudo pacman-key --populate archlinux ``` +### Personaliser un iso arch -#### Personaliser un iso arch [archiso](https://wiki.archlinux.org/index.php/Archiso) diff --git a/IT/linux/arch_install.md b/IT/linux/arch_install.md index c8fbd61..a0e967f 100644 --- a/IT/linux/arch_install.md +++ b/IT/linux/arch_install.md @@ -1,6 +1,5 @@ ---- -title: arch_install ---- +# arch install + ![arch](../img/Arch_Linux_logo.svg.png) The following is a brief installation tutorial for [Arch Linux][1]. It assumes familiarity with the Arch [Beginner's Guide][2] and [Installation Guide][3]. @@ -15,89 +14,87 @@ Boot into the Arch installer. If your console font is tiny ([HiDPI][7] systems), set a new font. - $ setfont sun12x22 + setfont sun12x22 Connect to the Internet. Verify that the [system clock is up to date][8]. - $ timedatectl set-ntp true + timedatectl set-ntp true (bios mode) - $ parted -s /dev/sda mklabel msdos - $ parted -s /dev/sda mkpart primary 1MiB 513MiB - $ parted -s /dev/sda mkpart primary 1024MiB 100% - $ mkfs.ext2 /dev/sda1 - $ mkfs.ext4 /dev/sda2 + parted -s /dev/sda mklabel msdos + parted -s /dev/sda mkpart primary 1MiB 513MiB + parted -s /dev/sda mkpart primary 1024MiB 100% + mkfs.ext2 /dev/sda1 + mkfs.ext4 /dev/sda2 (UEFI mode) Create partitions for EFI, boot, and root. - $ parted -s /dev/sda mklabel gpt - $ parted -s /dev/sda mkpart primary fat32 1MiB 513MiB - $ parted -s /dev/sda set 1 boot on - $ parted -s /dev/sda set 1 esp on - $ parted -s /dev/sda mkpart primary 513MiB 1024MiB - $ parted -s /dev/sda mkpart primary 1024MiB 100% - $ mkfs.ext4 /dev/sda2 - $ mkfs.fat -F32 /dev/sda1 - + parted -s /dev/sda mklabel gpt + parted -s /dev/sda mkpart primary fat32 1MiB 513MiB + parted -s /dev/sda set 1 boot on + parted -s /dev/sda set 1 esp on + parted -s /dev/sda mkpart primary 513MiB 1024MiB + parted -s /dev/sda mkpart primary 1024MiB 100% + mkfs.ext4 /dev/sda2 + mkfs.fat -F32 /dev/sda1 Create and mount the encrypted root filesystem. Note that for UEFI systems this will be partition 3. - - $ pvcreate /dev/sda3pc - $ vgcreate arch /dev/mapper/lvm - $ lvcreate -L 4G arch -n swap - $ lvcreate -L 30G arch -n root - $ lvcreate -l +100%FREE arch -n home - $ lvdisplay - $ mkswap -L swap /dev/mapper/arch-swap - $ mkfs.ext4 /dev/mapper/arch-root - $ mkfs.ext4 /dev/mapper/arch-home - $ mount /dev/mapper/arch-root /mnt - $ mkdir /mnt/home - $ mount /dev/mapper/arch-home /mnt/home - $ swapon /dev/mapper/arch-swap + pvcreate /dev/sda3pc + vgcreate arch /dev/mapper/lvm + lvcreate -L 4G arch -n swap + lvcreate -L 30G arch -n root + lvcreate -l +100%FREE arch -n home + lvdisplay + mkswap -L swap /dev/mapper/arch-swap + mkfs.ext4 /dev/mapper/arch-root + mkfs.ext4 /dev/mapper/arch-home + mount /dev/mapper/arch-root /mnt + mkdir /mnt/home + mount /dev/mapper/arch-home /mnt/home + swapon /dev/mapper/arch-swap (UEFI mode) Encrypt the boot partition using a separate passphrase from the root partition, then mount the boot and EFI partitions. - $ mkdir /mnt/boot - $ mount /dev/sda2 /mnt/boot - $ mkdir /mnt/boot/efi - $ mount /dev/sda1 /mnt/boot/efi + mkdir /mnt/boot + mount /dev/sda2 /mnt/boot + mkdir /mnt/boot/efi + mount /dev/sda1 /mnt/boot/efi Optionally [edit the mirror list][9]. - $ vi /etc/pacman.d/mirrorlist + vi /etc/pacman.d/mirrorlist Install the [base system][10]. - $ pacstrap -i /mnt base base-devel net-tools wireless_tools dialog wpa_supplicant openssh git grub ansible + pacstrap -i /mnt base base-devel net-tools wireless_tools dialog wpa_supplicant openssh git grub ansible (UEFI mode) $ pacstrap /mnt efibootmgr Generate and verify [fstab][11]. - $ genfstab -U -p /mnt >> /mnt/etc/fstab - $ less /mnt/etc/fstab + genfstab -U -p /mnt >> /mnt/etc/fstab + less /mnt/etc/fstab Change root into the base install and perform [base configuration tasks][12]. - $ arch-chroot /mnt /bin/bash - $ systemctl enable dhcpcd.service - $ systemctl enable sshd.service - $ passwd + arch-chroot /mnt /bin/bash + systemctl enable dhcpcd.service + systemctl enable sshd.service + passwd modifier /etc/ssh/sshd_config et mettre PermitRoorlogin yes Set your mkinitcpio. - # only for UEFI - $ sed -i 's/^HOOKS=.*/HOOKS="base udev autodetect modconf block keyboard lvm2 resume filesystems fsck"/' /etc/mkinitcpio.conf - # for both - $ mkinitcpio -p linux + only for UEFI + sed -i 's/^HOOKS=.*/HOOKS="base udev autodetect modconf block keyboard lvm2 resume filesystems fsck"/' /etc/mkinitcpio.conf + for both + mkinitcpio -p linux Configure GRUB. @@ -113,13 +110,12 @@ Configure GRUB. Cleanup and reboot! - $ exit - $ umount -R /mnt - $ reboot + exit + umount -R /mnt + reboot Run ansible! - [1]: https://www.archlinux.org/ [2]: https://wiki.archlinux.org/index.php/Beginners'_guide [3]: https://wiki.archlinux.org/index.php/Installation_guide diff --git a/IT/linux/cron.md b/IT/linux/cron.md index 15774b3..d4ee9ba 100644 --- a/IT/linux/cron.md +++ b/IT/linux/cron.md @@ -1,6 +1,6 @@ # cron -``` +```bash # * * * * * command to execute # │ │ │ │ │ # │ │ │ │ │ @@ -10,13 +10,18 @@ # │ └──────────────────── hour (0 - 23) # └───────────────────────── min (0 - 59) ``` + [test cron](https://crontab.guru/) + See also - - [wikipedia/cron](http://en.wikipedia.org/wiki/Cron) + + [wikipedia/cron](http://en.wikipedia.org/wiki/Cron) ## cron directories + You can create directories that run cron commands. Taken from the `Ubuntu` distro: + ```txt # /etc/crontab: system-wide crontab # Unlike any other crontab you don't have to run the `crontab' @@ -35,15 +40,17 @@ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin ``` ## run every weekday at midnight + ```sh 0 0 * * 0-5 ``` ## edit cronjobs + ```sh -$ sudo crontab -e +sudo crontab -e ``` -## user crontab lcation +## user crontab lcation `/var/spool/cron/crontabs` diff --git a/IT/linux/grubshell.md b/IT/linux/grubshell.md index ba0db53..b87e779 100644 --- a/IT/linux/grubshell.md +++ b/IT/linux/grubshell.md @@ -1,19 +1,22 @@ -## grub_shell +# grub_shell -# booter depuis le shell grub +## booter depuis le shell grub - les commande **cat** et **ls** fonctionne -- trouver partition de boot -- mettre la partion en racine `set root=(hd0,1)` -- charger le kernel ce trouvant sur cette partition et setter la partition racine: `linux /vmlinuz root=/dev/sda3` -- charger le fichier image correspondant au kernel :`initrd /boot/initrd.img` -- enter `boot` to boot +- trouver partition de boot +- mettre la partion en racine `set root=(hd0,1)` +- charger le kernel ce trouvant sur cette partition et setter la partition racine: `linux /vmlinuz root=/dev/sda3` +- charger le fichier image correspondant au kernel :`initrd /boot/initrd.img` +- enter `boot` to boot ## regénérer config + `grub-mkconfig -o /boot/grub/grub.cfg` ## install sur MBR + `grub-install --target=i386-pc /dev/sdX` + ## meme chose depuis grub rescue `grub rescue> set prefix=(hd0,1)/boot/grub diff --git a/IT/linux/index.md b/IT/linux/index.md index 2806b3b..dda2271 100644 --- a/IT/linux/index.md +++ b/IT/linux/index.md @@ -1,8 +1,12 @@ +# Linux + ![linux](../img/linux.png) + ## retrouvé date t'instalation + `ls -lct /etc | tail -1 | awk '{print $6, $7, $8}'` -## enable Wayland support: +## enable Wayland support - execute `ln -s /dev/null /etc/udev/rules.d/61-gdm.rules` to avoid that gnome test your nvidia Driver @@ -14,7 +18,8 @@ `MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)` - create pacman hook: -``` + +```ini [Trigger] Operation=Install Operation=Upgrade @@ -32,12 +37,10 @@ NeedsTargets Exec=/bin/sh -c 'while read -r trg; do case $trg in linux) exit 0; esac; done; /usr/bin/mkinitcpio -P' ``` - -## see if you run on wayland: +## see if you run on wayland `loginctl show-session $(loginctl G $USERNAME|awk '{print $1}') -p Type` - ## boot in emergency target 1. (Re)boot the machine diff --git a/IT/linux/shell.md b/IT/linux/shell.md index 1848264..7e99255 100644 --- a/IT/linux/shell.md +++ b/IT/linux/shell.md @@ -1,31 +1,34 @@ -#shell +# shell -##tips +## tips - setter IFS au retour chariot -``` IFS=$'\n'``` + +```IFS=$'\n'``` ## boucle -``` + +```bash for var in $variable do commande done ``` - ## if -``` +```bash if [ test ]; then echo "C'est vrai" else - echo "c'est faux" + echo "c'est faux" fi ``` ### test + #### string + |test|def| |----|---| |$a = j$b|egale| @@ -44,8 +47,7 @@ fi |$a -gt $b| >| |$a -ge $b| >= | - -#### file +#### file |test|def| |----|---| @@ -59,7 +61,7 @@ fi ## Supprimer les Dossiers contenant 1 élement -``` +```bash IFS=$'\n';for i in $(ls) do  ✔  10022  18:29:32  if [ $(ls $i|wc|awk '{print $1}') = 1 ] then diff --git a/IT/linux/zsh.md b/IT/linux/zsh.md index f994129..f5f60c3 100644 --- a/IT/linux/zsh.md +++ b/IT/linux/zsh.md @@ -1,13 +1,11 @@ +# ZSH + ![zsh](../img/zsh.jpg) -# functionality +## functionality - -# shortcut +## shortcut key|comportment ---|----------- | - - - diff --git a/IT/python/index.md b/IT/python/index.md index 1e9ade8..577ca09 100644 --- a/IT/python/index.md +++ b/IT/python/index.md @@ -1,6 +1,8 @@ # python + ## référence -https://github.com/gto76/python-cheatsheet/blob/master/README.md + + Afficher les warning:```python -Wd``` Mode développement :`-X dev` @@ -10,6 +12,7 @@ Mode développement :`-X dev` ` ## Virtual env + - create virtual env: `python3 -m venv /path` - enter in virtual env: `source env/bin/activate` - leave venv: `deactivate` @@ -17,8 +20,12 @@ Mode développement :`-X dev` - install package list in file: `pip install -r requirement.txt` ## tips + - pprint permet d afficher vos structure de données -- la fonction dir() permet de lister les attribut d un +- la fonction dir() permet de lister les attribut d un + ## unitest -### lancer une suite de tests + +### lancer une suite de tests + ```python -m unittest tests.suite``` diff --git a/README.md b/README.md index ca82990..a4f2736 100644 --- a/README.md +++ b/README.md @@ -2,5 +2,4 @@ ![¬ebook](Divers/img/notebook.webp) - Ceci est mon wiki personnel où je partage mes notes sous la forme d'un livre MkDocs en ligne via mon instance [gitea](https://git.ducamps.win/).