Commit graph

50 commits

Author SHA1 Message Date
5707162edd readme: rewrite cancellation bullet to match actual code
Code review of HairCutCommandController confirms the previous
bullet ('Dans le cas de l'avance ... aucune annulation de la
prestation n'est supportée') understated the gap:

- Only the client side has any surface area
  (ClientCancel GET + ClientCancelConfirm POST).
- ClientCancelConfirm does _context.HairCutQueries.Remove(query)
  followed by SaveChangesAsync — no PayPal refund, no logic
  distinguishing arrhes vs avance.
- There is no PerformerCancel / ProviderCancel action anywhere
  in the codebase (grep -rn PerformerCancel|ProviderCancel
  returns nothing).
- No Refund* call exists anywhere in src/ (grep -rn Refund
  returns nothing).

The README's earlier promises (arrhes +20% on provider cancel,
arrhes lost on client cancel, advance non-cancellable) were
never implemented. PayPal flow has never been end-to-end tested.

Replace with a two-clause statement: current state (partial,
no refund, untested), target (RefundTransaction wired + full
workflow), link to ROADMAP.md.
2026-06-27 14:12:06 +01:00
79aedc302b readme: rewrite 'one command, one prestation' limitation
The original bullet ('à une commande, une prestation') was
syntactically broken (ellipsis without a verb, doubled 'à') and
said nothing about the multi-party target.

Replace with a two-clause statement that names both the current
limitation and the planned target, with a link to ROADMAP.md
where the multi-party direction is documented.

Bullet now reads:
  Aujourd'hui : une prestation par commande, sur un axe
  client → prestataire unique, sans sous-traitance.
  Cible roadmap : montages multi-parties (plusieurs clients
  et/ou plusieurs fournisseurs collaborant autour d'un même
  projet, avec sous-traitance validée par le client) —
  voir la ROADMAP.
2026-06-27 14:06:40 +01:00
575b623abb readme: rewrite authentication paragraph to remove ambiguity
The original phrasing 'Ni le client ni le prestataire ne sont
anonymes pour l'application, ils sont même formellement
authentifiés, au moment de leur accord pour une première
facturation en ligne, à l'occasion' was contradictory: the
paragraph asserted the users are not anonymous, then anchored
the formal authentication to the moment of the first billed
act, which a careful reader could parse as 'they ARE anonymous
until then'.

Rewrite as two distinct statements:
- both parties are nominatively identified and authenticated
  from the moment they register;
- a stronger verification step is triggered at the first
  billable act (light KYC on the client side, professional
  profile validation on the provider side).

While here, fix a small grammar slip in the second bullet
('de la validation' -> 'lors de la validation').
2026-06-27 14:00:45 +01:00
942b642fdc readme: split bullet and drop inline TODO in Limitations
The 'professionals are third parties' bullet was carrying an
inline 'TODO Aucune edition de fiche de paye …' mid-sentence,
which is hard to scan and mixes two distinct concerns
(commissioning / payout). Split into two bullets and tidy the
francais:
- 'edition' -> 'édition'
- 'payments unitaires' -> 'paiements unitaires'
- 'Seul … le sont' -> 'Seuls … le sont' (subject agreement)
2026-06-27 13:58:56 +01:00
c49a04384d readme: fix typo 'stokés' -> 'stockés' 2026-06-27 13:58:43 +01:00
dbafd225d0 readme: fix typo 'profile' -> 'profil' 2026-06-27 13:58:28 +01:00
be7d4f4ff9 readme: fix typos in authentification paragraph
- 'il sont' -> 'ils sont' (subject agreement)
- 'authentifies' -> 'authentifiés' (missing accents)
2026-06-27 13:58:21 +01:00
d25db13035 readme: fix typo in H3 title (Déploient -> Déploiement) 2026-06-27 13:58:13 +01:00
f3a3b63595 WIP PostIt login 2026-06-25 00:08:25 +01:00
fd129f19f5 README: mark appsettings-org.Development.json as gitignored
The previous commit's table incorrectly stated that
appsettings-org.Development.json is committed; it is in fact
matched by .gitignore (appsettings-*.*.json), so each developer
generates their own from the template documented here. Fix the
table and clarify the role.

The localhoist typo that lived in the previously-shown blob is
not versioned, so it does not propagate via git.
2026-06-20 18:20:38 +01:00
2768552a2d README: document the appsettings-org.json deployment cycle
The Yavsc.Org service reads appsettings-org.json at runtime, but the
contrib/Makefile renames that file to appsettings-org-dist.json right
before deploying to $(BASEAPPDIR), so first-time operators have to
copy the dist variant back to appsettings-org.json on the server and
fill in their actual values. None of that was documented; this commit
adds a Fichiers de configuration d'Yavsc.Org section under Paramétrage.

The section also notes that Site.ExternalUrl is now consumed by the
IdentityServer EF seed (added in the previous PostIt PKCE commit) to
authorize a RedirectUri for the 'postit' OIDC client, so PostIt can
be embedded in a Yavsc.Org web page without redirect_uri mismatch.

Side note: the appsettings-org.Development.json template points at
'https://localhoist:5001' which looks like a typo for 'localhost'.
Flagged in the README so it doesn't get copy-pasted into a new
environment as-is.
2026-06-20 18:16:36 +01:00
197f9f90bb a banner 2026-06-19 13:46:17 +01:00
c3941a5158 Badges 2026-06-11 20:14:32 +01:00
18dc1295d3 ortho 2026-06-07 00:54:40 +01:00
Paul Schneider
39788f46f9 migration net9.0 2025-06-16 02:30:32 +01:00
Paul Schneider
ce8f3ebce0 WIP Accesses 2024-03-04 01:02:28 +00:00
Paul Schneider
8f524ca022 updated 2023-03-29 00:43:44 +01:00
Paul Schneider
4c985c6abd GitlLab 2021-04-04 22:26:06 +01:00
Paul Schneider
c77a033471 README 2021-04-03 03:15:11 +01:00
64b071d740 fenced code 2020-12-29 19:41:43 +00:00
e460f3b28c Orthographe 2019-07-25 14:48:19 +02:00
f0957766e6 site url 2019-01-25 17:28:56 +00:00
291030bdf9 better 2018-12-13 13:56:54 +00:00
12a9b50c12 mise en forme 2018-12-13 10:56:08 +00:00
d2f39e9409 installation info 2018-12-13 10:11:26 +00:00
6d6b061212 Running 2018-03-11 16:26:48 +01:00
c4f719de17 décrit la construction 2018-03-09 22:40:00 +01:00
08606c106b View Travis CI build status 2017-06-04 02:59:46 +02:00
259b0b15b5 period 2017-06-01 14:00:19 +02:00
cb4db1446d notes à propos du developement 2017-05-31 04:35:45 +02:00
29a2d2d66e updated 2017-05-30 23:38:57 +02:00
ccb97c219c plus de details 2017-05-25 01:07:10 +02:00
e02dceb0c6 lint 2017-03-17 18:00:23 +01:00
9f36b8b89c Get a README 2016-07-19 16:02:01 +02:00
388b004837 Passage à ASP.NET vNext 2016-05-17 18:22:18 +02:00
58839ab69c le theme, WIP les cercles
* input.css: refabrication des feuilles de style : la feuille des
  champs de formulaire.

* CircleMember.cs: un membre de cercle est un nom d'utilisateur
  associé au cercle d'un autre utilisateur.

* ICircle.cs: Définit l'interface d'un cercle:
un cercle est identifié par un entier long,
il a un possesseur.

* Makefile: utilise le fichier de conf généré pour débugger.

* NpgsqlContentProvider.cs: bug fix

* README.md: maj priorités

* AccountController.cs: implémente une méthode de l'API pour ajouter
  un utilisateur au cercle

* links.css: Corrige la couleur du boutton de validation des
  formulaire de classe `ActionLink`

* style.css: refabrication: importe la nouvelle feuille de style des
  champs de formulaires

* style.css: nettoyage du thème sombre

* style.css: nettoyage + section principale (`main`) centré

* FrontOfficeController.cs: Repositionne la route vers le devis à
  do/Estimate

* YavscHelpers.cs: corrige ma ré-écriture des helpers html ActionLink

* App.master: formattage du code source

* AppAdmin.master: synchronisation avec la page maître,
beaucoup de changements dans cette page maître pour les
  administrateurs:
* prend en charge les côtes d'article
* utilise les fontes de caractère de la page pour les lien action
* prend en charge les zones de formulaire masquable.

* NoLogin.master: synchronisation avec la page maître

* Performer.ascx: WIP permet d'ajouter un préstataire à un de ses
  cercles.

* YourEstimates.aspx: corrige un lien cassé

* Yavsc.csproj: mise à niveau Npgsql,
renommage Estimate

* packages.config: mise à niveau de la bibliothèque Npgsql (pilote
  d'accès à la base de donnée)

* CircleBase.cs: un objet cercle basique implémente l'interface d'un
  cercle.

* PerformerProfile.cs: s'assure que le nom d'utilisateur utilisé n'est
  pas vide.

* IIdentified.cs: doc xml

* UserNameBase.cs: l'objet base de type "nom d'utilisateur" implémente
  l'interface générique
d'un identifié, par une chaine de caractère.

* YavscModel.csproj: reference les nouvelles definitions :
* un membre de cercle
* l'interface d'un cercle

* MainClass.cs: format du code

* YavscClient.csproj:
* Estimate.aspx: refabrication
2015-12-15 21:36:33 +01:00
d999ae5a8e Thème clair opé, WIP circles
* animate.css: animations css

* links.css: liens avec le fond blanc qui se déroule

* links.css: WIP liens thème sombre

* GitHub.ico: un petit merci à GitHub

* live-concert-fg.png: image de plan rapproché : les fans

* live-concert-scene.jpg: Image de fond : la scene

* splash-image-2.jpg: image de fond : photo colorée, public de
  concert, vient de totemproduction.fr

* links.css: ficher de définitions globales du style des bouttons
  (encore inutilisé)

* yavsc.user.js: WIP implémente le widget "utilisateur", permettant
l'affichage des liens rapides pour tout nom d'ulitisateur, le cas
  échéant, vers l'ajout à un cercle,
vers son blog, vers des methodes choisies d'administateur, vers ses
  réseaux sociaux, voir plus.

* About.aspx: Implémente une page "à propos"

* Test.aspx: Page de test: désolé pour le bruit, elle n'est compilée
  qu'en mode `Debug` (elle n'est pas accessible en production)

* NpgsqlBlogProvider.cs: Corrige la méthode pour enlever un tag à un
  article ...

* NpgsqlBlogProvider.csproj: .

* NpgsqlCircleProvider.cs: liste les cercles auquels appartient un
  utilisateur.

* BasketController.cs:
* NpgsqlContentProvider.cs: Les commandes sont fortement typée.

* README.md: mise à jour des priorités

* style.css: réécriture du thème clair

* style.css: * implémente un classe css `clickme` pour attirer l'oeil
sur le boutton de validation après la modification d'un champ de
  formulaire.
* enlève tous les coins arrondis
* modifie la chasse de caractères (une seule utilisée pour le moment)
*

* style.css: * integre la référence à la feuille de style des
  [animations](https://daneden.github.io/animate.css/)
* corrige des marges, alignements
* supprime ce qui reste de coin arrondi
* néttoye les définitions obsolètes
* définit la classe `username`
* corrige le survol à la suppression de tag

* FrontOfficeController.cs: renomme des methodes, refabriqué pour
  s'adapter aux changements de l'API du workflow,
WIP propose les cercles utilisateurs pour l'ajout des profiles
  préstataires aux cercles.

* HomeController.cs: implémente une page "à propos"

* T.cs: re-autorise le titre vide de page, au cas où ... car ce n'est
  pas un véritable
défaut fonctionnel.

* YavscHelpers.cs: Implemente un outil de presentation des liens
  action traduits. Tous les liens action utilisent maintenant cette
  nouvelle methode,
au profile de celle du framework `HtmlHelpers.ActionLink`

* App.master: corrige l'usage du contrôle utilisateur des cotes dans
  le cadre des cotes de billet.

* AppAdmin.master:
* Index.aspx:
* Service.aspx:
* ProductCategory.aspx: traduction des liens action

* NoLogin.master: * traduction des liens action
* suppression des liens de remerciement dans le bas de page, cette
  information a été déplacée dans la page `/Home/Credits`

* to-markdown.js: transforme maintenant les noeuds Html `div` en
  paragraphes Markdown.

* yavsc.hidefieldset.js: Le script règle la forme de la souris au
  survol du bouton,
le cas échéant.

* yavsc.js: nouvelle fonction javascript pour logger un objet
  arbitraire.

* yavsc.rate.js: Fixe la possibilité de mettre des cotes très basses
  ou très hautes (reste encore un mieux à faire),
Affiche au survol des descriptions optionnelles de la cote.

* Title.aspx:
* UserPost.aspx:
* Edit.aspx:
* Index.aspx:
* Brand.aspx:
* Index.aspx:
* PostActions.ascx:
* TitleNotFound.aspx:
* Booking.aspx:
* Command.aspx:
* ChangePasswordSuccess.aspx: Traduction des liens action

* Login.aspx: * Traduction des liens actionTraduction des liens action

* Profile.aspx: * Traduction des liens actionTraduction des liens
  action
* utilisation de la classe css `mayhide` qui autorise maintenant un
  champ d'entrées de formulaire à être plié/déplié au click sur sa
  légende.

* Admin.aspx: Traduction des liens actionTraduction des liens
  actionTraduction des liens actionTraduction des liens
  actionTraduction des liens actionTraduction des liens action

* Backups.aspx:
* RoleList.aspx:
* UserList.aspx:
* Index.aspx: Traduction des liens actionTraduction des liens action

* Edit.aspx: * refabrication de la structure Html
* Traduction des liens actionTraduction des liens action

* Index.aspx: Simlpification des apperçus de blog

* TagControl.ascx: refabrication pour simplifier l'implémentation du
  contrôle utilisateur des tags

* UserPosts.aspx: Traduction des liens action, et simplification du
  listing de blog

* Basket.aspx: Affiche les articles du panier de commandes avec leur
  vue
dédiée à leur type (les commande sont maintenant fortement typées)

* Catalog.aspx: Traduction des liens action, correctin du lien vers le
  produit
(cassé depuis une vielle refabrication des routes)

* DoAnEstimate.aspx: refabrication de la vue de création du devis:
  renommée depuis `Estimate`

* Performer.ascx: * un message supplementaire à l'absence de
  compétence affichée par un préstataire
* des guillemets autour du commentaire du préstataire sur sa
  compétence
* ajout du préstataire au cercles

* Performers.aspx: Décrit en détail les informations sur la
  disponibilité d'un préstataire,
à la date demandée.

* YourEstimates.aspx: renomage de cette page, pour préciser sa
  fonction : Vos devis.

* Contact.aspx: structure Html de la page de contact

* Credits.aspx: Ajoute les remerciements aux communauté du libre

* Index.aspx: ne fait rien

* Web.config: * import de `System.Transactions`
* mise à jour des credits libres

* WebDeploy.targets: utilise les séparateurs de chemin vers ficher à
  la POSIX, ne change rien pour ma config ... (TODO tester sous
  WoinDose)

* Yavsc.csproj: déploie des pages des scripts Javascript et des images
  et feuilles de style en plus.

* CircleManager.cs: implémente les methodes utilisées à la
  construction du contrôle utilisateur.

* CircleProvider.cs: * doc xml
* extension de interface

* Commande.cs: l'objet `Command` devient abstrait, pour exister (être
  instanciée), une commande doit maintenant hériter de cet objet
  abstrait.

* LocalizedText.resx:
* LocalizedText.fr.resx:
* LocalizedText.Designer.cs:
* LocalizedText.fr.Designer.cs: traductions

* IContentProvider.cs: doc xml

* SiteSkills.aspx: renomage de cette page, pour préciser sa fonction :
  les compétences sur ce site.
2015-12-09 13:26:02 +01:00
986b78be3c mise à jour priorités
* README.md: mise à jour priorités

* Yavsc.csproj: references en plus ...
2015-12-01 16:21:55 +01:00
92120692e7 mise à jour des priorités 2015-12-01 15:35:29 +01:00
eee67fa62e à lire: README.md et Features.md
* README.md: mise à jour des priorités

* Global.asax.cs: Fixe un 404 Not Found sur le script
  d'internationalisation.

* YavscAjaxHelper.cs: Fixe un 404 Not Found sur le script
  d'internationalisation:
Implementation d'une alternative à Ajax.GlobalisationScript() de Mono
  System.Web.MVC

* App.master: utilise la nouvelle methode pour construire les
  references aux scripts d'internationalisation
2015-12-01 12:04:12 +01:00
e8bf2dd8fa Documentation et fiche préstataire
Une nouvelle page de doc : la page des fonctionalités, [Features.md](Features.md),
au format Markdown.

* p8-av4.jpg:
* p8-av4.l.jpg:
* p8-av4.xs.jpg: p8-av4

* Performer.ascx: Implémente la fiche préstataire, avec son éventuel
  lien vers le blog

* ITContentProvider.csproj: ...

* NpgsqlBlogProvider.cs: implémente le compteur de billet en base de
  données

* Presta.csproj:
* TestAPI.csproj:
* YavscClient.csproj:
* fortune.csproj:
* WebControls.csproj:
* SalesCatalog.csproj:
* NpgsqlMRPProviders.csproj:
* NpgsqlBlogProvider.csproj:
* NpgsqlContentProvider.csproj: ...

* README.md: mise à jour des priorités

* Yavsc.sln: ajout du fichier "Features.md" à la solution

* BlogProvider.cs: doc xml

* BlogManager.cs: implémente un accès au compteur de billet
2015-11-30 18:04:47 +01:00
9a2652739b Merge from booking branch 2015-11-17 22:22:59 +01:00
Paul Schneider
3fa55acf2e * README.md: blanked: not clear enough
* FileSystemController.cs: Fixes the route to user's Files by an
  Admin.

* FileSystemManager.cs: * Fixes the dir separator usage
* Adds a method to validate a directory or file name

* YavscModel.csproj:
* Commande.cs: FileInfoCollection is now removed

* FileInfoCollection.cs:
* DirNotFoundException.cs: Removes useless code
2015-08-14 01:43:55 +02:00
Paul Schneider
577bf3a7bd the online doc link 2015-03-05 14:12:05 +01:00
Paul Schneider
a342b744df * README.md: a little more
* Yavsc.sln: Adds some solution items

* BBCodeHelper.cs: code formatting

* Edit.aspx: refactoring

* UserPost.aspx: useless statment

* Web.csproj: README removal

* README: moved to /README.md
2015-02-10 18:58:08 +01:00
Paul Schneider
a430452bea The Documentation url has moved. 2015-01-24 17:27:02 +01:00
Paul Schneider
753e5290bb Documentation link 2015-01-12 14:15:51 +01:00
Paul Schneider
57a473aff8 Many changes :
* JsonReaderError.aspx: display a nice json conversion error

* CalendarEntryList.cs: new Google data for the calendar entries

* JsonReaderError.cs: Json error model

* README.md: Documentation url

* NpgsqlBlogProvider.cs: Update the blog post title

* BlogsController.cs: - Updating the blog post title
- bug fix rendering the avatar

* FrontOfficeController.cs: - the client cannot modify its estimation

* GoogleController.cs: - implementing the calendar entries retrieval

* HomeController.cs: - the home start page from configuration
  parameter named "StartPage"

* Global.asax.cs: - back to a clean global.asax

* style.css: showing the main area with a background transparent color

* Post.aspx: Bug fix: the message was displayed two times (we keep the
  one from app.master)

* UserPost.aspx: the blog title comes from the poster profile found in
  ViewData

* DateQuery.aspx: implementing the date query

* Web.config: the start page now comes from Web.config

* Web.csproj: the Sql db creation script should not be deployed,
  neither as package.config

* BlogManager.cs: updating the blog post title

* BlogProvider.cs: yavscModel/Blogs/BlogManager.cs


* YavscModel.csproj: new cs files to compile

* App.master: returning from the Google login
2015-01-06 10:15:24 +01:00
Paul Schneider
0c865416ca Update README.md 2014-07-16 19:59:36 +02:00
Paul Schneider
d65620eaa7 Initial commit 2014-07-16 19:40:23 +02:00