Décrivez votre problème, votre suggestion
Tout d'abord: un grand bravo @laem et au contributeurs de ce projet. C'est une belle réalisation, et une excellente alternative aux mastodontes du domaine. Et le fait de vous voir régulièrement documenter l'avance sur Bluesky, c'est top!
Quelques petites choses me font un peu ticker à l'usage, d'où ce... ticket 😅 exposant quelques suggestions.
Même si plus cablé VueJS, je peux contribuer avec quelques PR si les modifications suggérés ci-dessous vont dans la direction souhaitée.
TL;DR
L'interface de Cartes affiche AMA un manque de cohérence visuelle sur certains aspects.
Les composants UI étant stylés indépendamment, s'appuyer sur un framework comme TailwindCSS + PrimeReact pourrait aider à harmoniser l'ensemble.
Côté icônes, dont les origines sont variées, une librairie telle qu'Iconify + choix d'un pack serait une piste intéressante.
Enfin, l'adoption d'une police commune à large couverture de glyphes (ie: Plus Jakarta Sans ) permettrait d'unifier la typo.
Uniformisation des composants
J'ai l'impression que certains élements d'interface n'ont pas de cohésion visuelle.
L'utilisation de composants stylés indépendamment (mentionné en #336) fait qu'il y a une grande diversité de rendus, parfois au sein même d'un groupe de composants. Par exemple: les taille de typo et arrondis de certains boutons diffèrent, les alignements/interlignages/paddings sont inégaux, et il y a des différences notable entre navigateurs (ie: sur Firefox, la suggestion "Installer l'app sur cet ordi" contient 2 tailles de typo, et le texte adjacent à l'icone n'est pas aligné).
À ce que je lis (notamment en fin de discussion sur #201), ça peut rendre la concrétisation d'un prototype plus ardue. Et l'absence de guidelines méticuleusement précises (à la Apple ou Google) fait que chaque création de compose alimente cette diversité / ce manque de cohésion visuelle.
Je suggère de s'appuyer sur un framework de style et un framework de composant ayant déjà fait leurs preuves, qui puisse uniformiser l'expérience utilisateur, et la consistence entre les différents éléments d'interface.
Il est mentionné l'interêt porté pour Next-Yak. J'aurais tendance à suggérer l'adoption de TailwindCSS et d'un framework tel que PrimeReact qui s'appui sur ce dernier. On utilise PrimeVue de notre côté (avec VueJS) et ce sont des composants assez souple pour être adaptés à tous les cas d'usage, et en même temps apporter une uniformisation de l'UI/UX. Tailwind est également assez flexible, et cotoie le CSS sans problème ce qui permet une transition progressive. L'utilisation de classes utilitaire permet un prototypage rapide, et son adoption par beaucoup fait qu'il est facile de trouver exemples de composants (ou de les faire haluciner par votre LLM favorite).
Uniformisation des icones
Dans le même ordre d'idée, les icones sur Cartes n'ayant pas d'origine commune, en dehors de ce qui semble être fontawesome pour certains éléments d'UI, elles présentent des épaisseurs de trait différentes, et des style peu concordants.
Je suggère de s'appuyer sur une (ou plusieurs) librairie d'icones, en plus de celle propre à Cartes (cas des icones maki, temaki et OsmAnd pour les POI par exemple). Je suggère l'adoption de Iconify qui possède un composant React notamment. La contrepartie étant que les icones sont récupérées à la demande (mais dans le cadre d'une application de cartographie qui doit charger les tiles, je pense pas que ce soit un facteur discriminant). Les set d'icones pris en charge peuvent être parcourus sur le site Icones.js, d'où il est même possible d'exporter des SVG individuels si besoin.
Il faut bien sûr trouver le (ou les) set(s) qui correspond(ent) le plus à la direction graphique voulue.
Uniformisation de la typo
Cette section rejoint le besoin d'identité exprimé en #264 et doit surement faire l'objet d'un ticket à part entière, mais je le mentionne ici aussi, parce qu'une police a un impacte sur l'homogénéité visuelle, et peut dicter le rendu de certains composants (padding, vertical-align variant suivant l'interlignage et la chasse de la police utilisée par exemple).
Comme Google ("Roboto"), Apple ("San Francisco"), Here ("FireGO"), Mappy ("Fira"), pourrait avoir sa police de titre (et/ou police de corps). Idéalement, une police ayant un large panel de glyphes couverts serait le mieux, pour éviter les soucis avec l'i18n, et une variante "variable", pour ne pas avoir à inclure une famille de polices trop lourde. Une font comme Plus Jakarta Sans (auto-hébergeable) pourrait faire l'affaire.
Système d'exploitation
No response
Navigateur
No response
### Décrivez votre problème, votre suggestion
Tout d'abord: un grand bravo @laem et au contributeurs de ce projet. C'est une belle réalisation, et une excellente alternative aux mastodontes du domaine. Et le fait de vous voir régulièrement documenter l'avance sur Bluesky, c'est top!
Quelques petites choses me font un peu ticker à l'usage, d'où ce... ticket 😅 exposant quelques suggestions.
Même si plus cablé VueJS, je peux contribuer avec quelques PR si les modifications suggérés ci-dessous vont dans la direction souhaitée.
> **TL;DR**
>
> L'interface de Cartes affiche AMA un manque de cohérence visuelle sur certains aspects.
> Les composants UI étant stylés indépendamment, s'appuyer sur un framework comme TailwindCSS + PrimeReact pourrait aider à harmoniser l'ensemble.
> Côté icônes, dont les origines sont variées, une librairie telle qu'Iconify + choix d'un pack serait une piste intéressante.
> Enfin, l'adoption d'une police commune à large couverture de glyphes (ie: Plus Jakarta Sans ) permettrait d'unifier la typo.
## Uniformisation des composants
J'ai l'impression que certains élements d'interface n'ont pas de cohésion visuelle.
L'utilisation de composants stylés indépendamment (mentionné en #336) fait qu'il y a une grande diversité de rendus, parfois au sein même d'un groupe de composants. Par exemple: les taille de typo et arrondis de certains boutons diffèrent, les alignements/interlignages/paddings sont inégaux, et il y a des différences notable entre navigateurs (ie: sur Firefox, la suggestion "Installer l'app sur cet ordi" contient 2 tailles de typo, et le texte adjacent à l'icone n'est pas aligné).
À ce que je lis (notamment en fin de discussion sur #201), ça peut rendre la concrétisation d'un prototype plus ardue. Et l'absence de guidelines méticuleusement précises (à la [Apple](https://developer.apple.com/design/human-interface-guidelines) ou [Google](https://m3.material.io/)) fait que chaque création de compose alimente cette diversité / ce manque de cohésion visuelle.
Je suggère de s'appuyer sur un framework de style et un framework de composant ayant déjà fait leurs preuves, qui puisse uniformiser l'expérience utilisateur, et la consistence entre les différents éléments d'interface.
Il est mentionné l'interêt porté pour [Next-Yak](https://yak.js.org/). J'aurais tendance à suggérer l'adoption de [TailwindCSS](https://tailwindcss.com/) et d'un framework tel que [PrimeReact](primereact.org/) qui s'appui sur ce dernier. On utilise PrimeVue de notre côté (avec VueJS) et ce sont des composants assez souple pour être adaptés à tous les cas d'usage, et en même temps apporter une uniformisation de l'UI/UX. Tailwind est également assez flexible, et cotoie le CSS sans problème ce qui permet une transition progressive. L'utilisation de classes utilitaire permet un prototypage rapide, et son adoption par beaucoup fait qu'il est facile de trouver exemples de composants (ou de les faire haluciner par votre LLM favorite).
## Uniformisation des icones
Dans le même ordre d'idée, les icones sur Cartes n'ayant pas d'origine commune, en dehors de ce qui semble être fontawesome pour certains éléments d'UI, elles présentent des épaisseurs de trait différentes, et des style peu concordants.
Je suggère de s'appuyer sur une (ou plusieurs) librairie d'icones, en plus de celle propre à Cartes (cas des icones maki, temaki et OsmAnd pour les POI par exemple). Je suggère l'adoption de [Iconify](https://github.com/iconify/iconify) qui possède un composant React notamment. La contrepartie étant que les icones sont récupérées à la demande (mais dans le cadre d'une application de cartographie qui doit charger les tiles, je pense pas que ce soit un facteur discriminant). Les set d'icones pris en charge peuvent être parcourus sur le site [Icones.js](https://icones.js.org/), d'où il est même possible d'exporter des SVG individuels si besoin.
Il faut bien sûr trouver le (ou les) set(s) qui correspond(ent) le plus à la direction graphique voulue.
## Uniformisation de la typo
Cette section rejoint le besoin d'identité exprimé en #264 et doit surement faire l'objet d'un ticket à part entière, mais je le mentionne ici aussi, parce qu'une police a un impacte sur l'homogénéité visuelle, et peut dicter le rendu de certains composants (padding, vertical-align variant suivant l'interlignage et la chasse de la police utilisée par exemple).
Comme Google ("Roboto"), Apple ("San Francisco"), Here ("FireGO"), Mappy ("Fira"), pourrait avoir sa police de titre (et/ou police de corps). Idéalement, une police ayant un large panel de glyphes couverts serait le mieux, pour éviter les soucis avec l'i18n, et une variante "variable", pour ne pas avoir à inclure une famille de polices trop lourde. Une font comme [Plus Jakarta Sans](https://github.com/tokotype/PlusJakartaSans) ([auto-hébergeable](https://github.com/iamkentleom/plusplusjakartasans)) pourrait faire l'affaire.
### Système d'exploitation
_No response_
### Navigateur
_No response_