-The backend is in ASP.NET/C#. -The frontend is using Razor and basic web technologies. -Data is stored in a MySql database but songs are stored in mp3 format on the server.
-LE backend est en ASP.NET/C#. -Le frontend utilise Razor et les technologies web basiques. -Les données sont stockées dans une bdd MySql mais les chansons sont stockées sur le serveur sous format mp3.
Users can use this form to login/register. When the user isn't authentified, he can only access this page as all other pages lead to an error message which tells him to authentify. Of course the application uses many security features as hash, JWT, SCRF Tokens, HTTPS etc...
Les utilisateurs peuvent utiliser ce formulaire pour se connecter ou s'inscrire. C'est la seule page à laquelle peut avoir accès un utilisateur non connecté puisque toutes les autres pages mèneront à un message lui demandant de se connecter. Biensûr l'application utilise plusieurs features de sécurité comme le hash, JWT, SCRF Tokens, HTTPS etc...
Here's the error message when a user tries to access an route without being authentified.
Voici le message qu'a un utilisateur non connecté quand il essaie d'accéder à une route interdite.
All authentified users can access this page, and songs are common to all users.
Tous les utilisateur connectés peuvent avoir accès à cette page et les musiques sont communes à tous les utilisateurs.
They can also upload new songs on this from.
Ils peuvent aussi uploader de nouvelles musiques ici.
They can upload songs using :
Ils peuvent le faire en utilisant :
- Mp3/wav format
- Des fichies Mp3/wav.
- Youtube links : the application converts the video to mp3 format and stores it.
They can name the artist and the song themselfs, but if they don't do, those filds will
be automatically generated from the file/video.
- Des liens Youtube : L'application convertit en mp3 et les stocke.
Ils peuvent remplir le nom de la chanson et de l'artiste eux même, mais s'ils ne le
font pas l'application les génère depuis le fichier/vidéo.
This is where users can create/edit/delete their playlists.
C'est ici que l'utilisateur peut créer/éditer/supprimer ses playlists.
They can click a playlist to open the player :
Il peut accèder au lecteur en cliquant sur une playlist :
In the player, users can : - Play/Stop music. - Go directly to a part of the current music. - Change music - Adjust volume. - Change player's color. To Play/Stop, adjust volume and change music, they can either us the buttons or keyboard shortcuts. User's preferences (volume, player's color etc..) are saved and used by default when he opens the player. They can also play a music individually from the songs list.
Dans celui-ci il peut : - Démarrer/Arrêter la musique. - Passer directement à un certain instant de la musique. - Changer la musique - Ajuster le volume. - Changer les couleurs du lecteur. Pour Play/Stop, le volume et le changement de musique, il peut utiliser les boutons ou les raccourcis clavier. Les préférences de l'utilisateur sont stockées (volume, couleur etc..) et utilisées par défault à chaque fois qu'il utilise le lecteur. L'utilisateur peut aussi jouer une musique directement depuis la liste des musiques.
The application is responsive and adapts to device's screen. So it can also be used on mobile/tablets.
L'application est responsive et s'adapte à l'écran. L'application peut donc aussi être utilisée sur mobile/tablette.
This application uses many security feature as : -HTTPS -JWT -CSRF Tokens -Rate limit (to prevent DDOS) -XSS filter -Password hash (Bcrypt) -And others...
L'application utilise plusieures features de sécurité comme : -HTTPS -JWT -CSRF Tokens -Rate limit (contre les attaques DDOS) -Filtre XSS -Hash des mots de passe (Bcrypt) -Et d'autres encore...