Messagerie Instantanée Fax : Différence entre versions
(→Photos) |
(→Photos) |
||
Ligne 105 : | Ligne 105 : | ||
===Photos=== | ===Photos=== | ||
− | + | Le code : | |
− | [[Fichier: | + | {| class="wikitable" |
− | [[Fichier: | + | |- |
− | [[Fichier: | + | ! Language !! Fonction !! Photo |
− | [[Fichier: | + | |- |
− | [[Fichier: | + | |rowspan="2"| Html || Head || [[Fichier:FaXHTMLHead.jpg ]] |
− | [[Fichier: | + | |- |
− | [[Fichier:FaXCssLight.jpg | + | | Body || [[Fichier:FaXHTMLBody.jpg | HTML Body]] |
− | [[Fichier: | + | |- |
− | [[Fichier: | + | |rowspan="5" | Css || Body et H1 || [[Fichier:FaXCssBodyH1.jpg]] |
− | [[Fichier: | + | |- |
− | [[Fichier: | + | | Container || [[Fichier:FaXCssContainerZonechatMessage.jpg]] |
− | [[Fichier: | + | |- |
− | [[Fichier: | + | | Message envoy/reçu || [[Fichier:FaXCssContainerZonechatMessage.jpg]] |
− | [[Fichier: | + | |- |
− | [[Fichier: | + | | Boîte de texte || [[Fichier:FaXCssTextBoxBtn.jpg]] |
− | [[Fichier: | + | |- |
+ | | Illumination des boîtes || [[Fichier:FaXCssLight.jpg]] | ||
+ | |- | ||
+ | |rowspan="4"| App.Js || Variables || [[Fichier:FaXAppJsConst.jpg]] | ||
+ | |- | ||
+ | | Fonction SendMsg || [[Fichier:FaXAppJsFuctionSendMessage.jpg]] | ||
+ | |- | ||
+ | | Evenement Socket.io || [[Fichier:FaXAppJsEventSocketIoMessageEnvoyeOuRecu.jpg]] | ||
+ | |- | ||
+ | | evenement envoy || [[Fichier:FaXAppJsEventEnvoyMessage.jpg]] | ||
+ | |- | ||
+ | |rowspan="5"| Server.js || Variables || [[Fichier:FaXServerJsConst.jpg]] | ||
+ | |- | ||
+ | | Requete/réponse || [[Fichier:FaXServerJsRequeteReponse.jpg]] | ||
+ | |- | ||
+ | | Evenement connection/deconnection || [[Fichier:FaXServerJsConsoleConnectionDeco.jpg]] | ||
+ | |- | ||
+ | | Evenement Message || [[Fichier:FaXServerJsEventChatMessage.jpg]] | ||
+ | |- | ||
+ | | Port utilisé || [[Fichier:FaXServerJsPort.jpg]] | ||
+ | |} | ||
==catégorie== | ==catégorie== | ||
[[Catégorie:Tn6]] | [[Catégorie:Tn6]] |
Version du 26 mars 2025 à 15:03
Sommaire
Auteur
Corto, stagiaire émérite du #TremplinNumérique6 vous présente la messagerie instanée FaX
Projet
Création d’une application de messagerie instantanée
Gestion du backend et de la base de données.
Objectifs
# Un challenge intéressant. # Nouveaux languages et nouvelles librairies. # Travail sous contrainte de temps et rendre un projet fonctionnel. # Ajouter un projet concret à mon portfolio et valoriser mes compétences.
Étapes de votre projet
Création d'un cahier des charges le plus complet possible comprenant : (lien Media:Cahier_des_charges_FaX.pdf)
- Les besoins du projet
- Un apperçu des objectifs
- Les étapes de réalisations
- Une description du site avec des captures d'écran
- Choix de la charte graphique (police d'écriture et couleurs)
- Une ébauche du design du site (faite avec Excalidraw)
- Une decription technique du site
- Un bugdet et un planning
- Un projet de maintenance de l'application
Construction de la page de discussion
- Création de plusieur boites (cf capture d'écran ->)
- Implémentation boite de texte pour les dialogues et bouton d'envoi.
- Test du système d'api pour me familiariser avec le format de fichier JSON (JavaScript Oriented Notation).
- Implémentation de JavaScript (fichier app.js) pour afficher message dans la zone de texte dédiée.
- Ajout d'évenement "si l'utilisateur appui sur la touche entrée, alors j'envoi mon message"
- Dans le JavaScript : Différenciation entre message envoyé et message reçu.
- Création de server.js (via node.js)
- Test de Node.js
- Test de Socket.io
- Modification du système d'évènement pour les messages reçu et les messages emis avec socket io.
- Création d'un JSON dans le JavaScript de app.js pour pouvoir envoyer les infos "pseudo" et "message"
- On modifie le css pour rendre le site "joli"
- Ajout d'une fonction autoscroll pour faire en sorte que le site défile vers le bas dès qu'un nouveau message arrive.
Post projet perso
Côté client | Côté serveur |
---|---|
![]() |
![]() |
- Ajout d'un système d'authentification utilisateur (Pseudo)
- Afficher le pseudo et l'heure d'envoi à côté des messages dans la fenêtre de discussion
- Ajout d'une base de donnée pour stocker les informations
(pour l'instant tout est dans le cache du navigateur,
des qu'on recharge la page toutes les infos sont éffacés) - Ajout d'une liste de discussion sur la gauche de la fenêtre de chat
- Ajout de la création de salon privés
- Ajout d'une page contact
- Ajout d'une page paramêtre pour changer le pseudo et l'image
Compétences
Noter ici les compétences dont vous avez eu besoin.
date
Du 17/03/2025 au 28/03/2025
Ressources
- IDE : VSCodium
- Schémas : Excalidraw
- Outil de création de présentation et diapos : Canva
- Gestion du server : Node.js
- Gestion des sockets de connections : Socket.io
- Votre présentation finale (celle que vous allez présenter au jury)
Aide technique
- Contact
- Introduction au HTML/CSS
- Css : Display flex
- Mooc sur le JavaScript OpenClassRoom Javascript
- Qu'est-ce qu'un fichier JSON ?
- Qu'est-ce qu'une API
- Tutoriel construction d'une application simple de messagerie instantantée Medium.com
- Tutoriel de socket.io (English) Socket.io
matériel et outils utilisés
Un pc et une connection internet !
Photos
Le code :