Concepts innovants — Veza
Specification detaillee des fonctionnalites qui n'existent nulle part ailleurs.
Ce document sert de reference pour l'implementation future.
1. Systeme de patine de l'interface
Concept
L'interface de Veza evolue visuellement avec le temps et l'usage, comme un objet
physique qui se patine. Chaque compte a une interface unique, forgee par son
histoire d'utilisation.
Variables de patine
account_age_days → anciennete du compte en jours
total_play_time_hours → temps d'ecoute cumule
total_uploads → nombre de morceaux uploades
total_messages → nombre de messages envoyes
total_exchanges → nombre de trocs realises
zone_usage[zone_id] → nombre d'interactions par zone de l'interface
Niveaux de patine
| Niveau |
Condition |
Effet visuel |
| 0 — Neuf |
Compte < 7 jours |
Interface froide, surfaces lisses, pas de grain |
| 1 — Rode |
Compte > 30 jours + 10h d'ecoute |
Leger rechauffement des tons, grain subtil apparait |
| 2 — Vecu |
Compte > 90 jours + 50h d'ecoute + 5 uploads |
Tons cuivres plus profonds, textures plus riches, micro-details |
| 3 — Patine |
Compte > 180 jours + 200h + 20 uploads |
Palette pleinement rechauffee, usure visible sur les elements frequents |
| 4 — Heritage |
Compte > 365 jours + 500h + activite communautaire |
Patine complete, details uniques, effet "objet de famille" |
Regles de patine par zone
Chaque zone de l'interface se patine independamment selon son usage :
- Le player se patine le plus vite (element le plus utilise)
- La barre de navigation se patine selon les onglets frequentes
- Le profil se patine selon l'activite de publication
- Les zones peu visitees restent "neuves" — creant un contraste naturel
Contraintes techniques
- La patine est un calcul cote client, base sur des compteurs stockes dans le profil
- Pas de requete supplementaire au serveur — les compteurs sont inclus dans le
payload d'authentification
- Les changements visuels sont des CSS custom properties recalculees au login
- Cout en performance : negligeable (quelques calculs au chargement, 0 impact ensuite)
- La patine n'est jamais reversible ni achetable — elle est le reflet du temps reel
Ce que la patine N'EST PAS
- Pas un systeme de niveaux / XP / gamification (pas de notification "vous avez
atteint le niveau 3 !")
- Pas un badge ou un statut visible par les autres
- Pas un avantage fonctionnel (pas de features debloquees)
- Le changement est si progressif que l'utilisateur ne le "remarque" pas
consciemment — il le ressent
2. Recherche comme exploration spatiale
Concept
L'onglet de decouverte se transforme progressivement en un espace navigable
ou chaque artiste est un lieu a explorer, avec un paysage sonore en temps reel.
Version 1 — Recherche enrichie (implementable maintenant)
La recherche classique par tags/genres, mais avec une presentation visuelle
plus riche que la norme :
- Les resultats ne sont pas une liste verticale mais un arrangement spatial
(grille organique, pas de rangees uniformes)
- Chaque resultat a une micro-visualisation du son (petite waveform, couleur
dominante de la pochette)
- Le survol d'un resultat declenche un preview audio de 5 secondes
- Les resultats se regroupent visuellement par affinite (genres proches =
resultats proches dans l'espace)
Version 2 — Carte des artistes (moyen terme)
Un canvas 2D navigable :
- Chaque artiste est un point dans un espace 2D
- La position est determinee par les tags/genres (pas par popularite, pas par ML)
- L'utilisateur peut zoomer et se deplacer (pan/zoom fluide)
- En zoomant, les points deviennent des cartes avec pochette + nom + preview
- Un algorithme deterministe de placement (t-SNE ou UMAP applique aux vecteurs
de tags, pas de tracking comportemental)
- Le point de depart de l'exploration est determine par les genres preferes
de l'utilisateur (declares, pas devines)
Version 3 — Paysage sonore (long terme)
Un monde genere proceduralement :
- Chaque zone a une ambiance sonore (fond ambient genere a partir des morceaux
des artistes de la zone)
- Le terrain est genere a partir de la densite d'artistes (plus d'artistes =
zone plus "peuplee" visuellement)
- L'utilisateur se deplace librement (clavier/touch/souris)
- Decouvrir un artiste = s'approcher d'un point lumineux dans le paysage
- Le paysage est different pour chaque utilisateur (point de depart aleatoire,
mais la topologie est la meme)
Version 4 — Monde persistant (vision finale)
- Les artistes peuvent customiser leur "lieu" dans le monde
- Les zones actives (artistes qui publient souvent) sont plus vivantes visuellement
- Les collaborations entre artistes creent des chemins visibles entre leurs lieux
- L'exploration a une memoire : les lieux deja visites sont marques (comme une
carte qu'on remplit au fur et a mesure)
- Les nouveaux artistes apparaissent comme des "lumieres" dans des zones encore
non explorees
Contraintes ethiques (non-negociables)
- Le placement n'est JAMAIS base sur la popularite, les revenus ou les paiements
- Pas de "boost" payant pour apparaitre en meilleure position
- Le classement est deterministe (memes tags = meme voisinage) et transparent
- La recherche textuelle classique reste toujours accessible en 1 clic
- L'exploration est optionnelle, jamais forcee
3. Espaces artistes personnalisables
Concept
Chaque artiste a un espace qu'il peut personnaliser visuellement, pas juste
un profil uniforme.
Elements personnalisables
| Element |
Options |
| Couleur d'ambiance |
Palette libre ou presets |
| Image de fond |
Upload libre |
| Disposition des blocs |
Drag & drop (morceaux, bio, visuels, liens, playlist) |
| Typographie |
Choix parmi 5-8 familles (curees, pas illimitees) |
| Player |
S'adapte automatiquement aux couleurs de l'espace |
| CSS custom (avance) |
Zone d'injection CSS limitee pour les utilisateurs techniques |
Themes communautaires
- A terme : les utilisateurs peuvent creer des themes complets et les partager
- Les themes sont echangeables (troc) ou offerts
- Un theme populaire beneficie a son createur (reputation, pas argent)
Inspiration
L'esprit MySpace (expression personnelle) avec l'execution de 2026
(controles elegants, preview en temps reel, pas de HTML brut).
4. Systeme de troc
Concept
Un tableau d'offres et de demandes ou les competences sont une monnaie.
Structure d'une annonce de troc
Titre: "Je cherche un site web pour mon projet musical"
J'offre: "3 beats instrumentaux exclusifs, mix et master inclus"
Je cherche: "Un site one-page responsive avec player integre"
Tags: #beatmaking #webdev #echange
Disponibilite: Flexible
Mecanismes
- Pas de monnaie interne, pas de points, pas de tokens
- Annonce visible par toute la communaute
- Les utilisateurs se contactent par le chat pour negocier
- Une fois le troc realise, les deux parties le "confirment"
- L'historique de trocs est visible sur le profil (reputation)
- Pas de systeme d'evaluation (pas de note sur 5, pas d'etoiles — la reputation
est l'historique lui-meme)
Exemples de trocs possibles
| J'offre |
Je cherche |
| 5 beats exclusifs |
Un site web |
| Mix + master d'un EP |
Un shooting photo |
| Design de pochette |
3 instrumentales |
| Formation MAO (3 sessions) |
Logo + charte graphique |
| Prise de son live |
Montage video |
| Preset pack (Serum/Vital) |
Enregistrement voix |
Ce que ce n'est pas
- Pas une marketplace avec des prix (ca c'est le module Shop)
- Pas un systeme de faveurs comptabilisees
- Pas un smart contract ou un engagement legal — c'est de la confiance communautaire
- Le troc est informel et humain. Veza facilite la mise en relation, pas la transaction.
5. Sites artistes (a terme)
Concept
Chaque artiste peut avoir un mini-site public accessible en dehors de Veza,
a une URL propre (artiste.veza.xxx ou un domaine custom).
Contenu du site artiste
- Bio, photo, liens sociaux
- Lecteur audio avec ses morceaux
- Galerie (pochettes, photos, visuels)
- Lien vers le profil Veza
- Contact
- Design personnalise (theme Veza applique)
Fonctionnement
- Genere statiquement a partir du profil Veza (SSG)
- Heberge sur les R720 (cout marginal : zero)
- Le site se met a jour quand l'artiste modifie son profil Veza
- Pas de publicite, pas de tracking
- L'artiste peut brancher son propre domaine (CNAME)
Pourquoi c'est important
- Un artiste independant n'a souvent pas de site web
- Les plateformes (Spotify, SoundCloud) ne permettent pas la personnalisation
- Avoir son propre site = legitimite, autonomie, professionnalisme
- C'est un argument puissant pour rejoindre Veza (valeur tangible gratuite)
6. UI qui ne gaspille pas
Philosophie
L'app doit etre complete et vivante MAIS econome. Chaque octet charge, chaque
requete envoyee, chaque animation jouee doit servir l'experience.
Contraintes techniques
| Metrique |
Objectif |
| Bundle JS initial |
< 150 Ko gzip |
| First Contentful Paint |
< 1.5s |
| Time to Interactive |
< 2s |
| Requetes au chargement |
< 5 |
| Animations simultanees |
max 2 |
| Images : format |
WebP ou AVIF, lazy-loaded |
| Audio : streaming |
HLS adaptatif (qualite selon la connexion) |
| Polices |
2 max (variable fonts de preference) |
Strategies
- Code splitting agressif : chaque page charge uniquement son code
- Prefetch intelligent : precharger la page la plus probable (pas tout)
- Mode hors-ligne : les morceaux recemment ecoutes sont caches localement
- Mode eco : un toggle qui desactive les textures, les animations et la patine
pour les machines/connexions modestes
- Pas de polyfill inutile : cibler les navigateurs modernes uniquement
- SVG > PNG pour les icones (poids moindre, rendu net a toute taille)
Ordre d'implementation suggere
| Priorite |
Concept |
Complexite |
Impact |
| 1 |
Identite visuelle (palette, typo, textures, icones) |
Moyenne |
Fondamental |
| 2 |
Player audio repense |
Moyenne |
Coeur de l'experience |
| 3 |
Espaces artistes personnalisables |
Moyenne |
Differenciation forte |
| 4 |
Systeme de troc |
Faible |
Communaute |
| 5 |
Patine de l'interface (V1 : global, pas par zone) |
Faible |
Signature unique |
| 6 |
Recherche enrichie (V1) |
Moyenne |
UX amelioree |
| 7 |
Sites artistes statiques |
Moyenne |
Valeur ajoutee |
| 8 |
Carte des artistes 2D (V2) |
Elevee |
Innovation |
| 9 |
Patine par zone (V2) |
Moyenne |
Profondeur |
| 10 |
Monde explorable (V3-V4) |
Tres elevee |
Vision long terme |