CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : Quel Database pour un tchat ?

DébutPage précedente
1
Page suivantePage suivante
Azimut88 Azimut88
MP
Niveau 10
29 juin 2021 à 20:26:17

Je suis un peu perdu, j'aimerais faire un site web de vente seconde main avec un tchat général mais je suis pas du tout vers quoi partir pour le stockage (on doit pouvoir envoyer des photos dedans), vous savez quels outils utiliser sans devoir payer trop cher ? Je compte utiliser angular pour le frontend et express pour le backend

Le_Tryall Le_Tryall
MP
Niveau 8
30 juin 2021 à 13:55:40

Pour les photo, il est vraiment préférable de ne pas passer par une base de données (même si c'est techniquement faisable).

Lorsque qu'un utilisateur envoie une photo, ton serveur peut la stocker sur dans les fichiers locaux où se trouve ton application, ou bien tu peux passer par une méthode de stockage Cloud comme Amazon S3, DigitalOcean Storage ou d'autres équivalents.

Pour les messages tu peux utiliser n'importe quoi (Mysql, MongoDB, PostgresSQL).

Azimut88 Azimut88
MP
Niveau 10
30 juin 2021 à 14:02:25

Le 30 juin 2021 à 13:55:40 :
Pour les photo, il est vraiment préférable de ne pas passer par une base de données (même si c'est techniquement faisable).

Lorsque qu'un utilisateur envoie une photo, ton serveur peut la stocker sur dans les fichiers locaux où se trouve ton application, ou bien tu peux passer par une méthode de stockage Cloud comme Amazon S3, DigitalOcean Storage ou d'autres équivalents.

Pour les messages tu peux utiliser n'importe quoi (Mysql, MongoDB, PostgresSQL).

Et firebase c'est pas bien ? On m'a dit que c'était simple d'utilisation

boucif boucif
MP
Niveau 24
30 juin 2021 à 20:28:18

Firebase c’est simple mais c’est sûrement un des services les plus chère si t’as peu d’appel et de données ça devrait aller

Nuagedecube Nuagedecube
MP
Niveau 21
01 juillet 2021 à 11:52:35

Un t'chat n'a pas besoin d'une base de données, un fichier texte suffit et c'est un projet intéressant

TidoDaWiseOlMan TidoDaWiseOlMan
MP
Niveau 7
01 juillet 2021 à 21:06:44

Le 01 juillet 2021 à 11:52:35 :
Un t'chat n'a pas besoin d'une base de données, un fichier texte suffit et c'est un projet intéressant

OK champion. Le prochain message c'est quoi ? Les SGBD ne servent à rien ?

Azimut88 Azimut88
MP
Niveau 10
02 juillet 2021 à 01:08:47

Le 01 juillet 2021 à 11:52:35 :
Un t'chat n'a pas besoin d'une base de données, un fichier texte suffit et c'est un projet intéressant

"on doit pouvoir envoyer des photos dedans"
Donc oui il faut une BD pour les stocker

Et pour les textes je trouve ça plus propre d'utiliser un BD, personne ne conseillerait d'utiliser un fichier texte...

VinkingBanni VinkingBanni
MP
Niveau 10
02 juillet 2021 à 06:04:53

Le 02 juillet 2021 à 01:08:47 :

Le 01 juillet 2021 à 11:52:35 :
Un t'chat n'a pas besoin d'une base de données, un fichier texte suffit et c'est un projet intéressant

"on doit pouvoir envoyer des photos dedans"
Donc oui il faut une BD pour les stocker

Et pour les textes je trouve ça plus propre d'utiliser un BD, personne ne conseillerait d'utiliser un fichier texte...

Euh non pas besoin de bdd pour les images...

mynameisflash mynameisflash
MP
Niveau 12
02 juillet 2021 à 11:10:50

Le 01 juillet 2021 à 11:52:35 :
Un t'chat n'a pas besoin d'une base de données, un fichier texte suffit et c'est un projet intéressant

Tu me tues toi je sais jamais si tu trolls ou pas :rire:

Azimut88 Azimut88
MP
Niveau 10
02 juillet 2021 à 13:37:21

Le 02 juillet 2021 à 06:04:53 :

Le 02 juillet 2021 à 01:08:47 :

Le 01 juillet 2021 à 11:52:35 :
Un t'chat n'a pas besoin d'une base de données, un fichier texte suffit et c'est un projet intéressant

"on doit pouvoir envoyer des photos dedans"
Donc oui il faut une BD pour les stocker

Et pour les textes je trouve ça plus propre d'utiliser un BD, personne ne conseillerait d'utiliser un fichier texte...

Euh non pas besoin de bdd pour les images...

Et tu les stockes où ? Sur l'espace mémoire de l'hébergement qui dépasse pas quelques Go ?

VinkingBanni VinkingBanni
MP
Niveau 10
02 juillet 2021 à 14:45:32

Et tu crois que l'espace des db est magique aussi ?

Quelle que giga suffit largement... tu crois quoi ? En plus c'est un tchat pas un forum. Ya encore plus simple c'est l'envoi au client direct comme pour les message pas besoin de db.

Enfin bref ... aucune raison de stocker des image en blob

Azimut88 Azimut88
MP
Niveau 10
02 juillet 2021 à 14:47:48

Le 02 juillet 2021 à 14:45:32 :
Et tu crois que l'espace des db est magique aussi ?

Quelle que giga suffit largement... tu crois quoi ? En plus c'est un tchat pas un forum. Ya encore plus simple c'est l'envoi au client direct comme pour les message pas besoin de db.

Enfin bref ... aucune raison de stocker des image en blob

Comment ça l'envoie direct au client ? Où sont stocké les photos d'un tchat général sur lequel plusieurs utilisateurs parlent et en envoient dis moi ?

Le_Tryall Le_Tryall
MP
Niveau 8
02 juillet 2021 à 16:11:38

Les bases de données sont performantes pour trouver des informations précises contenues dans des tableaux (SQL) ou des objets plus "libres" (NoSQL) car elles utilisent des techniques pour optimiser les recherches (Caches, indexes, différentes stratégies pour les query).

Sauf que stocker des images (plusieurs MB parfois) sur une base de données, tu risques de toucher rapidement à des limites techniques qui n'ont pas été prévues par le moteur de la DB. MongoDB par exemple à une limite de quelques Mégabits pour chaque objet. Tu peux notamment exploser la mémoire de ton serveur à cause de ça (exploser dans le sens où elle est à 100% tout le temps, ralentissant ainsi ta DB).

Alors le meilleur moyen, c'est de les stocker directement sur ton serveur (comme sur ton Windows où tu mets tes fichiers dans un dossier). Tu peux ensuite configurer ton serveur Web (Nginx, Apache) afin qu'il puisse servir tes documents en fonction de l'URL utilisée.

Par exemple si l'utilisateur demande au serveur sur l'adresse "http://monserveur.fr" l'URL "images/monchat.png" (donc l'URL complète sera "http://monserveur.fr/images/monchat.png" alors ton serveur va comprendre qu'il faut récupérer l'image présente dans un fichier bien spécifique et ensuite le servir à l'utilisateur.

Il existe bien évidemment des techniques pour optimiser ce processus, comme l'utilisation d'un cache, d'un CDN. Tu peux aussi configurer ton serveur web pour demander un mot de passe, ou l'authentification de l'utilisateur pour accéder à une ressource.

Les services Amazon S3, Firebase ou encore DigitalOcean Storage fonctionnent sur ce principe, mais ils simplifient toute une partie pour éviter que tu aies à tout configurer toi-même.

Pour revenir au problème du tchat, lorsqu'un utilisateur publie une photo sur le tchat, dans ta base de données tu va uniquement stocker l'information "<img src="images/monchat.png"/>" ou un équivalent pour dire aux navigateurs qui affichent le tchat de télécharger et afficher la photo à l'adresse en question. Pas besoin de stocker la photo entière dans ton message.

VinkingBanni VinkingBanni
MP
Niveau 10
02 juillet 2021 à 18:17:45

Ta aussi l'exemple de WhatsApp qui envoie la conversation et les fichiers à tous les utilisateurs.
Défait qui sont stocké en local la conversation dans un fichiers et les photo dans un dossier propre

CryptoCipher CryptoCipher
MP
Niveau 6
18 juillet 2021 à 12:00:24

Une base de données peer-to-peer distribuée qui utilisent le protocole IPFS.

https://orbitdb.org
https://github.com/orbitdb

HEjdkchhhek HEjdkchhhek
MP
Niveau 10
21 juillet 2021 à 20:25:49

Pour revenir au problème du tchat, lorsqu'un utilisateur publie une photo sur le tchat, dans ta base de données tu va uniquement stocker l'information "<img src="images/monchat.png"/>" ou un équivalent pour dire aux navigateurs qui affichent le tchat de télécharger et afficher la photo à l'adresse en question. Pas besoin de stocker la photo entière dans ton message.

Je te rejoins sur tous les points, je ne vais rien rajouter et comme l'ont dit les VDD le stockage des images dans un dossier sur le serveur est une bonne option. En revanche je me permets de faire une remarque sur un point (en gras)

Il vaudrait mieux stocker uniquement le nom du fichier et son extension dans la BDD. Par exemple "chaton_mignon.jpg"

Et ne pas mettre l'URI complète, ou pire du HTML car si un jour le dev décide de changer le chemin ou modifier la balise HTML (une classe CSS par exemple) ça risque d'être compliqué si ces détails sont enregistrés en dur dans la BDD. :ok:

FionDeTonPatron FionDeTonPatron
MP
Niveau 10
24 juillet 2021 à 18:30:38

mysql/mariadb, toujours, on ne le répètera jamais assez

boucif boucif
MP
Niveau 24
24 juillet 2021 à 22:39:26

Le 24 juillet 2021 à 18:30:38 :
mysql/mariadb, toujours, on ne le répètera jamais assez

C’est sûrement une des bdd les moins performantes et moins respectueuses des standards sql.
Vaut mieux prendre postgres en gratuit

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : Thymotep
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment