feat: add multi-select notes and Gemini AI integration

- Implemented multi-selection for notes with Ctrl+click, long-press, and keyboard shortcuts (Ctrl+A, Escape)
- Added Gemini API integration with environment configuration and routes
- Enhanced code block UI with improved copy feedback animation and visual polish
- Added sort order toggle (asc/desc) for note lists with persistent state
This commit is contained in:
2025-11-04 09:54:03 -05:00
parent 79e80fd798
commit 59d8a9f83a
56 changed files with 7135 additions and 307 deletions
+21
View File
@@ -0,0 +1,21 @@
---
titre: "Nouvelle note 1"
auteur: "Bruno Charest"
creation_date: "2025-10-24T03:30:58.977Z"
modification_date: "2025-11-03T22:06:07-04:00"
tags: [""]
status: "en-cours"
publish: false
favoris: true
template: false
task: false
archive: false
draft: false
private: false
description: "Stargate Atlantis: une expédition militaire et scientifique découvre la cité mythique d'Atlantis dans la galaxie de Pégase et affronte les Wraiths."
---
*Stargate Atlantis* est une série de science-fiction dérivée de la populaire *Stargate SG-1*. Elle suit les aventures d'une expédition internationale, composée de scientifiques et de militaires, qui voyage à travers la porte des étoiles vers la lointaine galaxie de Pégase. Leur destination est la cité mythique d'Atlantis, une métropole volante abandonnée construite par une race ancienne et technologiquement supérieure connue sous le nom d'Anciens.
Dès leur arrivée, l'équipe, dirigée initialement par la diplomate Dr. Elizabeth Weir et le lieutenant-colonel John Sheppard, découvre que la cité est au fond d'un océan et manque cruellement d'énergie. Pire encore, ils réveillent accidentellement un ennemi redoutable : les Wraiths. Cette espèce humanoïde dominante de la galaxie de Pégase se nourrit de la force vitale des humains, qu'ils "cultivent" sur différentes planètes. Coupée de la Terre, l'expédition doit survivre par ses propres moyens, explorer cette nouvelle galaxie et trouver des ressources tout en combattant une menace qui a déjà vaincu les Anciens.
Au fil des saisons, l'équipe principale, qui inclut également le brillant mais arrogant astrophysicien Dr. Rodney McKay, la leader athosienne Teyla Emmagan et le guerrier satedien Ronon Dex, explore de nouveaux mondes, se fait des alliés (comme les Genii, une civilisation militarisée à la technologie rudimentaire) et affronte d'autres dangers, notamment les Asurans (des réplicateurs humanoïdes). *Stargate Atlantis* a su captiver les fans grâce à son mélange d'action, d'humour, d'exploration et d'enjeux de survie, développant ainsi sa propre identité tout en enrichissant l'univers *Stargate*.
@@ -2,8 +2,8 @@
titre: "test-new-file"
auteur: "Bruno Charest"
creation_date: "2025-10-19T12:15:21-04:00"
modification_date: "2025-10-19T12:15:21-04:00"
aliases: [""]
modification_date: "2025-11-02T16:41:10-04:00"
tags: [""]
status: "en-cours"
publish: false
favoris: true
@@ -13,8 +13,9 @@ archive: false
draft: false
private: false
color: "#22C55E"
description: "Page personnelle de Bruno, un espace de travail où sont compilées notes et démonstrations Markdown variées."
---
# Page de Test Markdown
# Page de Bruno
## Section 1
+1
View File
@@ -14,6 +14,7 @@ archive: false
draft: false
private: false
color: "#22C55E"
description: "Page de test Markdown montrant l'utilisation des titres, listes, tableaux, blocs de code et citations pour la mise en forme."
---
# Page de Test Markdown
+2 -17
View File
@@ -1,21 +1,6 @@
---
titre: dessin.excalidraw
auteur: Bruno Charest
creation_date: 2025-10-30T07:48:55-04:00
modification_date: 2025-11-01T23:42:24-04:00
catégorie: ""
tags: []
aliases: []
status: en-cours
publish: false
favoris: false
template: false
task: false
archive: false
draft: false
private: false
excalidraw-plugin: parsed
updated: 2025-10-30T11:48:55.327Z
updated: "2025-11-04T01:33:48.022Z"
---
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
@@ -25,6 +10,6 @@ updated: 2025-10-30T11:48:55.327Z
%%
## Drawing
```compressed-json
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
```
%%
@@ -1,15 +0,0 @@
---
excalidraw-plugin: parsed
updated: "2025-10-30T11:48:55.327Z"
---
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
# Excalidraw Data
## Text Elements
%%
## Drawing
```compressed-json
N4IgLgngDgpiBcIYA8DGBDANgSwCYCd0B3EAGhADcZ8BnbAewDsEAmcm+gV31TkXoBGdXNnSMAtCgw4CxcVEycA5tmbkYmGAFsYjMDQQBtUJFgIQI9Fqa4ylanSYIAjAAYAbOSq0GjAHJMvC4ArAAcrgAsAOyh7s7k2DQAIhowYDC28ABmWDQwCZkgAOoQAF4CuMgA+izoFAAKLABKAPKlAELiABbtyEp2WdiYmADKkJrmHDJ2NGD49ADWMEV4YF2s7HOLMGMQE4hTeHbzyl2MMDQG8PEg9FDoqNiQLq6u5GJK+28gyAgAzBFvhBWK9NvMlgBheiYej4cwAYmcMCRSLsAgeCyUJ0YuChMLhiDmYho93wujAdiIq3W8BiADoIgBOZks1ks8hdGDYJRdCnwRlsEB5DIuCKhAVuYLBRnkLFcKAASVwV0MAF1yFlCDolQhGJxhuRsbhzpcECZoHwWABfcgCLg4gCimh0ehV6pAnCguHQ6UyziicXcjKiUUZQei5BwjAWuv1mEj9FQS0yOUweRt5rMiHQ+HmJC8Dl8CHcoQLPiYAUYQXgfzioQDf0ZfwSyVSvoQqbyBXMCoAGs5MMERgA1egAaQhWWQCzAUFKrnaAFUIIuBkNRuM+ELoUcwdsVrg1hshVslrt9tvpoauDyTVcbncHk9gddQSAPl9yL8a+FyC+WK4LB0lEwR7pC0KwgiKLInAtoYnKnA4nikGEoQjAkjm5KUtSCCuMBoEgJy3K8ggsR0gRwp+kGUR/JErhRDcCGKsqRjupqVgwDq8B6gaIBGneZrgBarA2iAdqIbgTraOSbrkJ63rttcAb+hEUruI2oSliAUYxtxcYJkmIrZLk+QnjmYDtKoIiMP0em8bouCWTiqi2Tx8baegsxQloWhPL69T0KofJuZs5kAIK5vQRCcugmQhUgOIRXmMWFDmeZ2FAgWukYhhvK46q5fhpBkcEqqqla7roFAUBjD6fCgDQXRRUUGioPQOgjKgZK6B2JnkGs0nmN6+AxuQqDcGSegQl05kACrCYg6JwmNE3kgq6RaO08FGshBLgGhGGTRSK25mtG0OolkXRTAsXmGlUV2ONp16Ot2gAGLrueW6HLYJ1Ha9WhvUwYBvVYQwvjcT3/RtQN6CM2ClJa3xQ2d2gtPcjzPK+yOrS9G1NDeZwXPef2o1otX4GASVRSlsa8SjePaGM4IwLtUEwaipOM1oBMSQJiBGo9uNgADzPbF9kw7r9IAMyLG1i0sB5HvAgqywDs0oFTOBKMwiCaFkx0y9wHD4O0nBgGATiIJ6dgPGA2BUA6WgCBk3oCPs8WyEoKg2VJLrBfpSAiPbvvOlhdnuRkTwuQA4iczF05HwcuQAMqoN34H74fxXbDswLN9DQoJpjfakqD204K2zO181ZvFMKGSmfUebMYXl3nBdFxHomwIwACy9C4Hwnamb3KTpOXRkj+okX4H3xPoEofDxSgmWU1tSYITiCBzJwpmr7CYCdVglrqMga9gE7Lu4J1ujD83B+UysaxJDmCwD0PvVpqZgyaAAEmIXAHtA5YjwPDRGicWxOWskoC66B3ZGV3qZIeOR9RHzwDAJaSREzJnqGSLI1BdDVmniARIKd6CxRcl/LspCaBNAuAjKhxlv4tgJmAH0TCSGYE8mAAKQVqDYKIIwZ+NIQDWE4HkOwWg0HYCznoSBIBGAcXMIuPQTxNC4HEABFgwRxBuC0aEPRwRnAREesDTW889QKLuLoSxnBrG9wClAG2EdyA2MYPDIeS0HG6CSKIGErlA73FmDAPxWB6C2Qak1IR1DkE+nQInHuZIKAMAkSMMuvo5EixYvAUAfYBxDlHBOKcM45wLmXKueASDRJkjoKUFyWSFE0C6tCDRLRzbCHviwoULThi9gQOIWieEQLsF6ZgAAmgM5wLBPBCgyRkLJSorjAFEnkTQk9cBx3lEss0qz5mSTDq6CKMB2hchskkQg3sp7NzWTAduTBGmuKFE1fUuIHicgVDrWEMAABahctCxPYNE2q+hAVmXXvaA50l5FPJoMoJeITHJWRcrJEA7EdD0JxNQJhoBdDwI0TvfAe8xo4CgIS4lijlFVKJaZLgYAox8CQeQLQb9qB+CpUysRrLM5KIQZkapGotT53oH/Yi2sSJPKjiHJQb0hUKNSP7GgBdRU8nFQHXilseEKJSTAIgG9MQ7QgnteEWRQhZEZDkOwiN+6DxgHAvlYLSj/MEhQLAe8RJeGwLqj+dreUEuYTQ3uMCFQsqXosuKgdGpRT/hafAOknEuJIbcjZadzg5kefFGgSioCpouKxNx+BuSqBGNmloWQsh5HVe5QQAArO5+gS1VR9fa/1JD6DlsrSnGABsEABm+O2itaQC5kpVu4AiVJDw0j+CYjkXIeR8jFK4USv8825KtFaIAA=
```
%%
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

-16
View File
@@ -1,16 +0,0 @@
---
titre: "Nouvelle note 1"
auteur: "Bruno Charest"
creation_date: "2025-10-24T03:30:58.977Z"
modification_date: "2025-10-23T23:30:59-04:00"
aliases: [""]
status: "en-cours"
publish: false
favoris: false
template: false
task: false
archive: false
draft: false
private: false
---
# Nouvelle note 1