+ + +
+
+ + + + +
+
+
@@ -15,51 +43,61 @@
-
+
1

{{ t('p2p.selectFriend') }}

-
+ + +

{{ t('p2p.selectFriendDesc') }}

-
-
- {{ t('p2p.noOnlineFriends') }} -
-
-
-
-
- - {{ getInitials(friend.name) }} -
- -
- {{ friend.name }} -
-
+
+
+
+ {{ t('p2p.noOnlineFriends') }} +
+ +
+
+ + {{ t('p2p.invite.title') }} +
-
+ + +
{{ getInitials(selectedFriend.name) }}
@@ -69,25 +107,33 @@
+ + +
+
+ + {{ t('p2p.invite.title') }} +
+ +
+
-
+
2

{{ t('p2p.selectFile') }}

- {{ t('p2p.selectFriendDesc') }} - {{ t('p2p.dropFile') }} + {{ t('p2p.dropFile') }}
@@ -105,48 +151,142 @@
- + +
+ +
+ + diff --git a/frontend/src/views/landing/HomeView.vue b/frontend/src/views/landing/HomeView.vue index 524350b3..19ae40dd 100644 --- a/frontend/src/views/landing/HomeView.vue +++ b/frontend/src/views/landing/HomeView.vue @@ -9,50 +9,46 @@
-
Cloud souverain · Open Source · Français
+
{{ t('landing.home.eyebrow') }}

- Le cloud qui
- ne peut pas lire vos données + {{ t('landing.home.titleLine1') }}
+ {{ t('landing.home.titleHighlight') }}

-

- Kagibi chiffre vos fichiers sur votre appareil avant tout envoi. - Ni nous, ni personne ne peut y accéder — mathématiquement. - Hébergé en France, conforme RGPD, immunisé au Cloud Act. -

+

{{ t('landing.home.subtitle') }}

- Accéder au Drive - - - Transfert P2P instantané + {{ t('landing.home.ctaDrive') }} + + {{ t('landing.home.ctaP2P') }} +
- Hébergé en France + {{ t('landing.home.badgeFrance') }}
- Open Source AGPLv3 + {{ t('landing.home.badgeOpenSource') }}
- Zero-Knowledge + {{ t('landing.home.badgeZK') }}
- Immunisé Cloud Act + {{ t('landing.home.badgeCloudAct') }}
@@ -65,17 +61,9 @@
AGPLv3
-

Un projet 100% open source

-

- Kagibi est publié sous licence GNU AGPLv3 — la licence copyleft la plus forte. - Toute modification déployée en production doit être partagée publiquement. - Aucune version propriétaire cachée, aucun backdoor possible. -

-

- Le code est librement auditable, forçable et améliorable par tous. - Contribuez à la sécurité, signalez des bugs, proposez des fonctionnalités — - chaque Pull Request est la bienvenue. -

+

{{ t('landing.home.ossTitle') }}

+

{{ t('landing.home.ossPara1') }}

+

{{ t('landing.home.ossPara2') }}

-
Licence
+
{{ t('landing.home.ossLicenceLabel') }}
AGPLv3
@@ -120,8 +108,8 @@
-
Contributions
-
Ouvertes
+
{{ t('landing.home.ossContribLabel') }}
+
{{ t('landing.home.ossContribValue') }}
@@ -129,7 +117,7 @@
-
Plateforme
+
{{ t('landing.home.ossPlatformLabel') }}
GitHub
@@ -140,13 +128,13 @@
-

Comment ça fonctionne ?

-

Trois étapes, zéro compromis sur la vie privée.

+

{{ t('landing.home.howTitle') }}

+

{{ t('landing.home.howSubtitle') }}

1
-

Chiffrement local

-

Vos fichiers sont chiffrés avec AES-256-GCM directement dans votre navigateur. La clé ne quitte jamais votre appareil.

+

{{ t('landing.home.step1Title') }}

+

{{ t('landing.home.step1Desc') }}

@@ -156,8 +144,8 @@
2
-

Stockage sécurisé

-

Seul le flux chiffré arrive sur nos serveurs en France. Même avec un accès complet à l'infrastructure, personne ne peut déchiffrer vos fichiers.

+

{{ t('landing.home.step2Title') }}

+

{{ t('landing.home.step2Desc') }}

@@ -167,8 +155,8 @@
3
-

Accès exclusif

-

Seul vous pouvez déchiffrer et lire vos données. Partagez en toute sécurité via liens chiffrés ou transfert P2P direct.

+

{{ t('landing.home.step3Title') }}

+

{{ t('landing.home.step3Desc') }}

@@ -177,8 +165,8 @@
-

Tout ce dont vous avez besoin

-

Une plateforme complète, construite sur des fondations cryptographiques solides.

+

{{ t('landing.home.featTitle') }}

+

{{ t('landing.home.featSubtitle') }}

@@ -187,11 +175,8 @@
-

Zero-Knowledge garanti

-

- Chiffrement AES-256-GCM côté client. Vos clés ne quittent jamais votre appareil. - Nos serveurs ne voient que du bruit chiffré — impossible autrement. -

+

{{ t('landing.home.feat1Title') }}

+

{{ t('landing.home.feat1Desc') }}

@@ -201,11 +186,8 @@
-

Transfert P2P jusqu'à 10 Go

-

- Envoyez de gros fichiers en direct, de navigateur à navigateur. - Aucun stockage intermédiaire, vitesse maximale, aucune trace sur nos serveurs. -

+

{{ t('landing.home.feat2Title') }}

+

{{ t('landing.home.feat2Desc') }}

@@ -214,11 +196,8 @@
-

Souveraineté numérique

-

- Infrastructure 100% OVH France (Gravelines). Hors juridiction américaine. - Conformité RGPD stricte. Vos données ne quittent jamais l'Europe. -

+

{{ t('landing.home.feat3Title') }}

+

{{ t('landing.home.feat3Desc') }}

@@ -228,12 +207,8 @@
-

100% vérifiable

-

- Code source intégralement publié sous licence AGPLv3. - Auditez vous-même ce que fait Kagibi de vos données. - La confiance ne devrait pas être aveugle. -

+

{{ t('landing.home.feat4Title') }}

+

{{ t('landing.home.feat4Desc') }}

@@ -242,15 +217,15 @@
@@ -259,7 +234,11 @@ + + diff --git a/frontend/src/views/landing/TransferView.vue b/frontend/src/views/landing/TransferView.vue index 15c73992..b548f60b 100644 --- a/frontend/src/views/landing/TransferView.vue +++ b/frontend/src/views/landing/TransferView.vue @@ -6,8 +6,8 @@
-

Transfert P2P Ultra-Rapide

-

Envoyez jusqu'à 10 Go en direct, sans upload. Vitesse maximale, zéro trace.

+

{{ t('landing.transfer.heroTitle') }}

+

{{ t('landing.transfer.heroSubtitle') }}

@@ -22,27 +22,27 @@
-

Comment ça fonctionne ?

+

{{ t('landing.transfer.howTitle') }}

1
-

Sélectionnez vos fichiers

-

Choisissez les fichiers à envoyer (10 Go max)

+

{{ t('landing.transfer.step1Title') }}

+

{{ t('landing.transfer.step1Desc') }}

2
-

Obtenez un lien unique

-

Un lien sécurisé est généré instantanément

+

{{ t('landing.transfer.step2Title') }}

+

{{ t('landing.transfer.step2Desc') }}

3
-

Partagez et transférez

-

Connexion P2P directe via serveur TURN

+

{{ t('landing.transfer.step3Title') }}

+

{{ t('landing.transfer.step3Desc') }}

@@ -54,8 +54,8 @@ -

Vitesse Maximale

-

Pas d'upload serveur, transfert direct P2P à pleine bande passante

+

{{ t('landing.transfer.feat1Title') }}

+

{{ t('landing.transfer.feat1Desc') }}

@@ -63,16 +63,16 @@ -

Chiffrement E2E

-

Vos fichiers sont chiffrés de bout en bout pendant le transfert

+

{{ t('landing.transfer.feat2Title') }}

+

{{ t('landing.transfer.feat2Desc') }}

-

Zero-Trace

-

Aucun fichier n'est stocké sur nos serveurs, tranquillité absolue

+

{{ t('landing.transfer.feat3Title') }}

+

{{ t('landing.transfer.feat3Desc') }}

@@ -80,20 +80,20 @@ -

Disponible 24/7

-

Service disponible en permanence, aucune limite d'utilisation

+

{{ t('landing.transfer.feat4Title') }}

+

{{ t('landing.transfer.feat4Desc') }}

-

Prêt à transférer ?

-

Connectez-vous pour commencer à utiliser le transfert P2P instantané

+

{{ t('landing.transfer.ctaTitle') }}

+

{{ t('landing.transfer.ctaSubtitle') }}

- Accéder au transfert + {{ t('landing.transfer.ctaBtn') }}
- Gratuit et illimité pour tous les utilisateurs + {{ t('landing.transfer.ctaNote') }}
@@ -103,28 +103,19 @@
-

Technologie WebRTC & TURN

+

{{ t('landing.transfer.techTitle') }}

-

WebRTC

-

- Protocole de communication peer-to-peer standardisé par le W3C. - Permet une connexion directe entre navigateurs sans intermédiaire. -

+

{{ t('landing.transfer.tech1Title') }}

+

{{ t('landing.transfer.tech1Desc') }}

-

Serveur TURN

-

- Infrastructure de relais pour les connexions impossibles en direct. - Garantit un transfert réussi même derrière un NAT strict. -

+

{{ t('landing.transfer.tech2Title') }}

+

{{ t('landing.transfer.tech2Desc') }}

-

Chiffrement AES

-

- Chiffrement côté client avant transfert. Les clés sont échangées via - signaling sécurisé, jamais stockées. -

+

{{ t('landing.transfer.tech3Title') }}

+

{{ t('landing.transfer.tech3Desc') }}

@@ -133,7 +124,10 @@ diff --git a/frontend/src/views/p2p/P2PSubdomainView.vue b/frontend/src/views/p2p/P2PSubdomainView.vue new file mode 100644 index 00000000..845675ef --- /dev/null +++ b/frontend/src/views/p2p/P2PSubdomainView.vue @@ -0,0 +1,1002 @@ + + + + + + + + diff --git a/frontend/vite.config.js b/frontend/vite.config.js index 95d58efb..07ea3091 100644 --- a/frontend/vite.config.js +++ b/frontend/vite.config.js @@ -14,8 +14,8 @@ export default defineConfig({ sourcemap: false, rollupOptions: { output: { - manualChunks: { - 'libsodium': ['libsodium-wrappers-sumo'], + manualChunks: (id) => { + if (id.includes('libsodium-wrappers-sumo')) return 'libsodium' }, }, }, diff --git a/scripts/rclone-backup.conf b/scripts/rclone-backup.conf new file mode 100644 index 00000000..bd85bccc --- /dev/null +++ b/scripts/rclone-backup.conf @@ -0,0 +1,25 @@ +# Configuration rclone pour la réplication OVH → Scaleway +# Ce fichier est monté depuis un K8s Secret (ne jamais committer avec les vraies clés). +# Utilise les variables d'environnement à la place en production (voir CronJob YAML). + +[ovh] +type = s3 +provider = Other +env_auth = false +access_key_id = ${S3_ACCESS_KEY} +secret_access_key = ${S3_SECRET_KEY} +endpoint = ${S3_ENDPOINT} +region = ${S3_REGION} +acl = private + +[scaleway] +type = s3 +provider = Scaleway +env_auth = false +access_key_id = ${S3_BACKUP_ACCESS_KEY} +secret_access_key = ${S3_BACKUP_SECRET_KEY} +endpoint = ${S3_BACKUP_ENDPOINT} +region = ${S3_BACKUP_REGION} +acl = private +# Classe de stockage : STANDARD (1 zone), ONEZONE_IA, ou GLACIER selon le bucket +storage_class = STANDARD