reorg
This commit is contained in:
parent
d000f77098
commit
40e8e08690
3487 changed files with 39 additions and 21 deletions
70
src/Yavsc.Org/Views/Home/About.cshtml
Executable file
70
src/Yavsc.Org/Views/Home/About.cshtml
Executable file
|
|
@ -0,0 +1,70 @@
|
|||
@using System.Diagnostics
|
||||
|
||||
<h1>@SiteSettings.Value.Title - À Propos</h1>
|
||||
|
||||
**Version de Development**
|
||||
|
||||
<asciidoc>
|
||||
== L'objectif
|
||||
|
||||
Cette application est construite pour mettre en relation des artistes du domaine musical avec leur public.
|
||||
|
||||
== Le fonctionnement
|
||||
|
||||
Les utilisateurs du site sont soit artiste, soit client, soit administrateur. ils ont tous droit à leur blog.
|
||||
Pour les artistes, c'est un moyen de promouvoir leur activité.
|
||||
Ils peuvent y publier des articles, truffés de vidéos et photos.
|
||||
Pour les clients, c'est un moyen de casser la glace avec leurs idoles, par la description détaillées de leur centres d'intérêts.
|
||||
|
||||
L'application propulse aussi une messagerie instantanée, disponible depuis un navigateur Web ou depuis l'appplication mobile,
|
||||
pouvant garantir la preservation du secret sur toute information personnelle, du client comme du prestataire.
|
||||
|
||||
Puis viennent (ou pas) une prise commande, un payement du client,
|
||||
la prestation, une collecte du retour du client, et un paiement du prestataire de services.
|
||||
|
||||
Ni le client ni le prestataire ne sont anonymes pour l'applications, il sont même formellement authentifies par l'acquitement d'une première
|
||||
facturation en ligne, ou à l'occasion de la saisie de leur profil proféssionnel.
|
||||
|
||||
Durant la phase de construction d'un contrat de prestation, le client et l'artiste peuvent profiter d'un canal de communication privé et anonyme, qui est fermé à la validation définitive du dit contrat.
|
||||
|
||||
Valider un contrat, c'est:
|
||||
|
||||
* Choisir le type de contrat
|
||||
* Se mettre d'accord sur les paramètres du contrat
|
||||
* Le faire signer des deux parties
|
||||
* Mettre en œuvre d'éventuels paiement d'arrhes
|
||||
|
||||
Une fois validé, le contrat est publié à destination des deux parties. la facture est publiée à destination du client, qui peut l'honorer auprès du système, auquel cas ce client est marqué solvable, et le contrat est marqué approvisionné.
|
||||
|
||||
En cas de défaut d'approvisionnement, le système prendra soin de marquer le contrat comme provisoire, et de prévenir l'artiste d'effectuer toute prestation en relation tant le paiement associé laisse à douter.
|
||||
|
||||
Une fois sa prestation associée exécutée, les paiements relatifs sont effectués auprès de l'artiste.
|
||||
|
||||
Pour un contrat exécuté et non honoré par le client, le processus de poursuite en recouvrement est engagé, sinon, le contrat est archivé, des attestations de paiement sont disponibles pour l'artiste et la facture est marquée payée, puis repostée au client.
|
||||
|
||||
=== Pour l'artiste
|
||||
|
||||
L'artiste choisit plusieurs paramètres qui vont faire son profil :
|
||||
|
||||
* Le type d'activités qu'il veut promouvoir, le type de prestations qu'il fournit (est-ce un DJ, un chanteur solo, un musicien solo, un ensemble musical classique, un groupe)
|
||||
* La tarification de sa mise en contact avec un nouveau client (combien je reçois par demande client traitée sans lourdeur de plus d'une journée)
|
||||
* Le lieu où il exerce et, le cas échéant, sur combien de distance il pourrait se déplacer.
|
||||
* Un agenda Google optionnel, à consulter pour établir sa disponibilité
|
||||
* Des paramètres supplémentaires en fonctions de son type d'activité par exemple, pour les ensembles, leur taille, le cas échéant, leur répertoire ou des indications sur le style de leur musique)
|
||||
|
||||
=== Pour le client
|
||||
|
||||
Il choisit un lieu et une date pour déclarer un événement avenir (il peut bien-sûr en programmer autant qu'il le veut).
|
||||
|
||||
Il peut, parcourir les publications des artistes, et entamer, sur la base d'un de ses projets événementiel, la négociation d'un contrat de prestation.
|
||||
|
||||
Il a accès à la connaissance des journées connues comme libres des artistes par le système.
|
||||
|
||||
== La confidentialité
|
||||
|
||||
À aucun moment, aucune adresse postale, aucune adresse e-mail ni aucun numéro de téléphone ne sont transmis ni aux clients, ni aux artistes. Seul le système a accès à ces informations.
|
||||
|
||||
De plus, le droit de retrait est permanent et sa mise en oeuvre immédiate.
|
||||
Les artistes comme les clients peuvent demander leur désinscription, qui désactive immédiatement les publications associées à leurs informations, et programme la suppression complète de ces dites informations dans les quinze jours à compter de la demande, sauf demande contradictoire.
|
||||
L'opération est annulable, jusqu'à deux semaines après sa programmation.
|
||||
</asciidoc>
|
||||
158
src/Yavsc.Org/Views/Home/About.pt.cshtml
Executable file
158
src/Yavsc.Org/Views/Home/About.pt.cshtml
Executable file
|
|
@ -0,0 +1,158 @@
|
|||
<h1>@SiteSettings.Value.Title - objetivo</h1>
|
||||
<environment names="freefield,Development">
|
||||
|
||||
<asciidoc>
|
||||
= O objetivo
|
||||
|
||||
Esta aplicação é construída para conectar artistas
|
||||
do campo musical com seu público.
|
||||
|
||||
== Operation
|
||||
|
||||
Os usuários do site são artista, cliente ou administrador. Todos eles têm direito ao seu blog.
|
||||
Para artistas, é uma maneira de promover seus negócios.
|
||||
Eles podem publicar artigos, cheios de vídeos e fotos.
|
||||
Para os clientes, é uma maneira de quebrar o gelo com seus ídolos,
|
||||
pela descrição detalhada de seus centros de interesse.
|
||||
|
||||
O aplicativo também alimenta um mensageiro instantâneo, disponível desde
|
||||
um navegador da web ou de um aplicativo para dispositivos móveis
|
||||
pode garantir a preservação do sigilo sobre qualquer informação pessoal,
|
||||
cliente e provedor.
|
||||
|
||||
Então venha (ou não) um pedido, um pagamento do cliente,
|
||||
a entrega, uma coleta do retorno do cliente e um pagamento do provedor de serviços.
|
||||
|
||||
Nem o cliente nem o provedor são anônimos para os aplicativos,
|
||||
eles são até formalmente autenticados pela aquisição de um primeiro
|
||||
faturamento on-line ou ao entrar em seu perfil profissional.
|
||||
|
||||
Durante a fase de construção de um contrato de serviço,
|
||||
o cliente e o artista podem se beneficiar de um canal de comunicação privado e anônimo,
|
||||
que está fechado para a validação final do referido contrato.
|
||||
|
||||
Valide um contrato é:
|
||||
|
||||
* Escolha o tipo de contrato
|
||||
* Concordo com os parâmetros do contrato
|
||||
* Faça ambas as partes assinarem
|
||||
* Implementar qualquer adiantamento
|
||||
|
||||
Uma vez validado, o contrato é publicado para ambas as partes. a fatura é publicada para o cliente,
|
||||
quem pode homenageá-lo ao sistema, caso em que esse cliente recebe uma pontuação de solvente e o contrato é marcado como provisionado.
|
||||
|
||||
Em caso de falta de fornecimento, o sistema terá o cuidado de marcar o contrato como provisório, e avisar o artista
|
||||
para executar qualquer serviço relacionado, pois o pagamento associado deixa dúvidas.
|
||||
|
||||
Depois que o serviço associado tiver sido executado, os pagamentos relativos serão feitos ao artista.
|
||||
|
||||
Para um contrato executado e não honrado pelo cliente, o processo de processo de recuperação é contratado, caso contrário, o contrato é arquivado,
|
||||
Os certificados de pagamento estão disponíveis para o artista e a fatura é marcada como paga e depois repassada ao cliente.
|
||||
|
||||
=== Para o artista
|
||||
|
||||
O artista escolhe vários parâmetros que farão o seu perfil:
|
||||
|
||||
* O tipo de atividades que ele quer promover, o tipo de serviços que ele oferece (é um DJ,
|
||||
um cantor solo, um músico solo, um conjunto musical clássico, uma banda)
|
||||
* O preço de seu contato com um novo cliente
|
||||
(quanto recebo por solicitação de cliente processada sem peso de mais de um dia)
|
||||
* O lugar onde ele pratica e, se sim, até onde ele pode se mover.
|
||||
* um calendário opcional do Google, para consultar para estabelecer sua disponibilidade
|
||||
* Parâmetros adicionais dependendo do tipo de atividade, por exemplo, para
|
||||
conjuntos, seu tamanho, se houver, seu repertório ou indicações do estilo de sua música)
|
||||
|
||||
=== Para o cliente
|
||||
|
||||
Ele escolhe um lugar e uma data para declarar um evento futuro
|
||||
(Ele pode programar o quanto quiser).
|
||||
|
||||
Ele pode, navegar pelas publicações dos artistas e começar,
|
||||
com base em um de seus projetos de eventos, a negociação de um contrato de serviço.
|
||||
|
||||
Ele tem acesso ao conhecimento de dias conhecidos como artistas livres pelo sistema.
|
||||
|
||||
== Confidencialidade
|
||||
|
||||
Em nenhum momento, nenhum endereço de correspondência, nenhum endereço de e-mail e nenhum número de telefone
|
||||
não são transmitidos para clientes ou artistas. Apenas o sistema tem acesso a essas informações.
|
||||
|
||||
Além disso, o direito de retirada é permanente e sua implementação imediata.
|
||||
Artistas e clientes podem solicitar sua desinscrição,
|
||||
que imediatamente desativa as publicações associadas às suas informações,
|
||||
e planeia a eliminação completa desta informação no prazo de quinze dias
|
||||
do aplicativo, a menos que seja um pedido contraditório.
|
||||
A operação é anulável até duas semanas após a sua programação.
|
||||
</asciidoc>
|
||||
</environment>
|
||||
|
||||
<environment names="Lua,Development">
|
||||
<asciidoc>Este é o meu site perso, uma configuração de _Yavsc_ (outro negócio muito pequeno).
|
||||
|
||||
* [README](https://github.com/pazof/yavsc/blob/vnext/README.md)
|
||||
* [licença: GNU GPL v3](https://github.com/pazof/yavsc/blob/vnext/LICENSE)
|
||||
|
||||
Outras instalações:
|
||||
</asciidoc>
|
||||
<asciidoc>
|
||||
* [Coiffure](http://coiffure.pschneider.fr)
|
||||
* [ZicMoove](http://linkmuse.pschneider.fr)
|
||||
* [Yavsc](http://yavsc.pschneider.fr)
|
||||
</asciidoc>
|
||||
</environment>
|
||||
|
||||
<environment names="Yavsc">
|
||||
<asciidoc>
|
||||
Yet Another Very Small Company ...
|
||||
|
||||
* [README](https://github.com/pazof/yavsc/blob/vnext/README.md)
|
||||
* [license: GNU FPL v3](https://github.com/pazof/yavsc/blob/vnext/LICENSE)
|
||||
|
||||
</asciidoc>
|
||||
</environment>
|
||||
|
||||
<environment names="YavscPre">
|
||||
<asciidoc>
|
||||
## Yet Another Very Small Company :
|
||||
* [README](https://github.com/pazof/yavsc/blob/vnext/README.md)
|
||||
* [license: GNU FPL v3](https://github.com/pazof/yavsc/blob/vnext/LICENSE)
|
||||
|
||||
En production:
|
||||
|
||||
* [Lua](https://lua.pschneider.fr)
|
||||
* [Yavsc](https://yavsc.pschneider.fr)
|
||||
|
||||
</asciidoc>
|
||||
</environment>
|
||||
|
||||
|
||||
<environment names="coiffure">
|
||||
<asciidoc>
|
||||
Você está no site da ordem em cabeleireiro em casa de Soraya Boudjouraf,
|
||||
um ás de cabeleireiro, que trabalha na região de Paris.
|
||||
|
||||
Ao validar um formulário de pedido aqui, é para ela que você notifica sua solicitação.
|
||||
|
||||
Você pode [Deixe-lhe o seu número de telefone] (/ HairCutCommand / HairCut? ActivityCode = Brush & performerId = 1bd841ab-c305-4971-940d-7ddca818310c)
|
||||
e / ou detalhes sobre o seu pedido,
|
||||
ela vai ligar de volta.</asciidoc>
|
||||
</environment>
|
||||
|
||||
<environment names="Development">
|
||||
<asciidoc>
|
||||
## Este é um site de desenvolvimento.
|
||||
|
||||
Este recurso só diz respeito ao desenvolvimento do software que o implementa.
|
||||
É efêmero e praticamente constantemente força 500 códigos.
|
||||
|
||||
Por favor, desculpe a equipe de desenvolvimento para informá-lo sobre este endereço e pelo inconveniente.
|
||||
|
||||
A "pré-produção" exibe os seguintes sites:
|
||||
|
||||
* [Yavsc](https://yavsc.pschneider.fr)
|
||||
* [Lua](https://lua.pschneider.fr)
|
||||
|
||||
</asciidoc>
|
||||
</environment>
|
||||
|
||||
<p>@Model</p>
|
||||
40
src/Yavsc.Org/Views/Home/AboutAccess.cshtml
Normal file
40
src/Yavsc.Org/Views/Home/AboutAccess.cshtml
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
@{
|
||||
ViewData["Title"] = @Localizer["À propos des restrictions d'accès"];
|
||||
}
|
||||
<h1>@ViewData["Title"]</h1>
|
||||
|
||||
<asciidoc>
|
||||
|
||||
# Blog et fichiers utilisateurs
|
||||
|
||||
Par défaut, un envoi à destination du serveur est privé, visible seulement pour son possesseur (et l'administration).
|
||||
|
||||
L'utilisateur peu publier chacun de ces derniers à l'adresse :
|
||||
|
||||
* de tout le monde,
|
||||
* ou d'une liste de cercles d'utilisateurs,
|
||||
* ou de personne
|
||||
|
||||
Quand il s'agit d'un fichier, son adresse permanente relative à la racine du serveur web est: `/UserFiles/(Nom Utilisateur)/(cheminVersLeFichier)`
|
||||
|
||||
Les restrictions d'accès à ce fichier sont celles associées à tous les fichiers du même dossier.
|
||||
Il n'y a pas de regle assiciée à chaque fichier individuellement,
|
||||
elles appartiennent au dossier qui les contient.
|
||||
|
||||
Les billet de blog sont regroupés par utilisateur, à l'Url
|
||||
|
||||
/Blog/(Nom d'Utilisateur)
|
||||
|
||||
Ils sont aussi regroupés par titre :
|
||||
|
||||
/Title/(Titre de post)
|
||||
|
||||
Et ils possèdent une addresse permanente de la forme :
|
||||
|
||||
/Blogspot/Details/(Id Numerique De Post)
|
||||
|
||||
|
||||
|
||||
</asciidoc>
|
||||
|
||||
|
||||
32
src/Yavsc.Org/Views/Home/AboutIdentityServer.cshtml
Normal file
32
src/Yavsc.Org/Views/Home/AboutIdentityServer.cshtml
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
@using System.Diagnostics
|
||||
|
||||
@{
|
||||
var version = FileVersionInfo.GetVersionInfo(typeof(IdentityServer8.Hosting.IdentityServerMiddleware).Assembly.Location).ProductVersion.Split('+').First();
|
||||
}
|
||||
|
||||
<div class="welcome-page">
|
||||
<h1>
|
||||
<img src="~/icon.jpg">
|
||||
Welcome to IdentityServer8
|
||||
<small class="text-muted">(version @version)</small>
|
||||
</h1>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
IdentityServer publishes a
|
||||
<a href="~/.well-known/openid-configuration">discovery document</a>
|
||||
where you can find metadata and links to all the endpoints, key material, etc.
|
||||
</li>
|
||||
<li>
|
||||
Click <a href="~/diagnostics">here</a> to see the claims for your current session.
|
||||
</li>
|
||||
<li>
|
||||
Click <a href="~/grants">here</a> to manage your stored grants.
|
||||
</li>
|
||||
<li>
|
||||
Here are links to the
|
||||
<a href="https://github.com/identityserver/IdentityServer8">source code repository</a>,
|
||||
and <a href="https://github.com/IdentityServer/IdentityServer8/tree/main/samples">ready to use samples</a>.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
19
src/Yavsc.Org/Views/Home/AboutMarkdown.cshtml
Normal file
19
src/Yavsc.Org/Views/Home/AboutMarkdown.cshtml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
@{
|
||||
ViewData["Title"] = @Localizer["À propos de Markdown"];
|
||||
}
|
||||
<h1>@ViewData["Title"]</h1>
|
||||
|
||||
<asciidoc>
|
||||
Quelques extensions à un Markdown de base :
|
||||
|
||||
* les video et audio: ``
|
||||
|
||||

|
||||
|
||||
à faire:
|
||||
|
||||
* le tag "Numéro de ticket": "Ticket#6854"
|
||||
* le tag "Titre d'article": "#1_great_title"
|
||||
* le tag "User" = "@@(John Doe)" ou "@@jdoe"
|
||||
|
||||
</asciidoc>
|
||||
9
src/Yavsc.Org/Views/Home/Audio.cshtml
Normal file
9
src/Yavsc.Org/Views/Home/Audio.cshtml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
@{
|
||||
ViewData["Title"] = @Localizer["Page d'accueil"];
|
||||
}
|
||||
@section scripts {
|
||||
|
||||
<script src="~/js/str.js">
|
||||
</script>
|
||||
|
||||
}
|
||||
10
src/Yavsc.Org/Views/Home/Basket.cshtml
Normal file
10
src/Yavsc.Org/Views/Home/Basket.cshtml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
@Model BasketView
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<a asp-controller="HaircutCommand" asp-action="Index">
|
||||
@Model.HairCutActiveQueryCount </a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
13
src/Yavsc.Org/Views/Home/CGV.cshtml
Normal file
13
src/Yavsc.Org/Views/Home/CGV.cshtml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
@{
|
||||
ViewData["Title"] = "Conditions Générales de Vente";
|
||||
}
|
||||
<h2>@ViewData["Title"]</h2>
|
||||
<asciidoc>
|
||||
|
||||
Le paiement intervient à la commande, quelque soit la date d'intervention.
|
||||
Vous pouvez annuler votre commande depuis la [liste de vos commande en cours](/HairCutCommand/),
|
||||
|
||||
Vous pouvez demander le remboursement d'un paiement, dans le cadre d'une réclamation sur l'execution
|
||||
de votre commande, en nous contactant via courrier éléctronique ou postal, [que vour retrouverez sur la page de contact](/Home/Contact), votre demande sera rapidement traitée.
|
||||
|
||||
</asciidoc>
|
||||
22
src/Yavsc.Org/Views/Home/Chat.cshtml
Normal file
22
src/Yavsc.Org/Views/Home/Chat.cshtml
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
@{ ViewBag.Title = "Chat"; }
|
||||
<h2>@ViewBag.Title</h2>
|
||||
|
||||
<label><input type="checkbox" id="mute" />Muet</label>
|
||||
|
||||
<div class="container disabled panel" id="chatview" data="fullchatview"
|
||||
data-chans="yavsc" data-mutectl="mute" ></div>
|
||||
|
||||
@section scripts {
|
||||
<!--Reference the autogenerated SignalR hub script. -->
|
||||
<!-- SignalR script to update the chat page and send messages.-->
|
||||
|
||||
@if (!ViewBag.IsAuthenticated) { // Get the user name and store it to prepend to messages.
|
||||
<script>
|
||||
// var uname = prompt('Entrez votre nom:', '');
|
||||
|
||||
</script>
|
||||
}
|
||||
<script src="~/lib/microsoft/signalr/dist/browser/signalr.min.js" asp-append-version="true"></script>
|
||||
<script src="~/js/chat.js" asp-append-version="true"></script>
|
||||
|
||||
}
|
||||
15
src/Yavsc.Org/Views/Home/Contact.cshtml
Executable file
15
src/Yavsc.Org/Views/Home/Contact.cshtml
Executable file
|
|
@ -0,0 +1,15 @@
|
|||
@model SiteSettings
|
||||
@{
|
||||
ViewData["Title"] = "Contact";
|
||||
}
|
||||
<h2>@ViewData["Title"].</h2>
|
||||
<h3>@ViewData["Message"]</h3>
|
||||
|
||||
<p>
|
||||
@Model.Owner.Name <br>
|
||||
@Html.DisplayFor(m=>m.Owner.PostalAddress)</p>
|
||||
|
||||
<address>
|
||||
<strong>Support:</strong> <a href="mailto:@Model.Admin.EMail">@(Model.Admin.Name)<@(Model.Admin.EMail)></a><br />
|
||||
<strong>Marketing:</strong> <a href="mailto:@Model.Owner.EMail">@(Model.Owner.Name)<@(Model.Owner.EMail)></a>
|
||||
</address>
|
||||
19
src/Yavsc.Org/Views/Home/Dash.cshtml
Normal file
19
src/Yavsc.Org/Views/Home/Dash.cshtml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
@{
|
||||
ViewData["Title"] = @Localizer["Dash"];
|
||||
}
|
||||
|
||||
<div>
|
||||
<video id="videoPlayer" controls></video>
|
||||
</div>
|
||||
|
||||
@section scripts {
|
||||
<script src="~/js/dash.all.min.js"></script>
|
||||
<script>
|
||||
(function(){
|
||||
var url = "https://dash.akamaized.net/envivio/EnvivioDash3/manifest.mpd";
|
||||
var player = dashjs.MediaPlayer().create();
|
||||
player.initialize(document.querySelector("#videoPlayer"), url, true);
|
||||
})();
|
||||
</script>
|
||||
}
|
||||
|
||||
91
src/Yavsc.Org/Views/Home/Index.cshtml
Executable file
91
src/Yavsc.Org/Views/Home/Index.cshtml
Executable file
|
|
@ -0,0 +1,91 @@
|
|||
@model IEnumerable<Activity>
|
||||
|
||||
@{
|
||||
ViewData["Title"] = @Localizer["Page d'accueil"];
|
||||
int i=0;
|
||||
bool multipleact = Model.Count()>1;
|
||||
}
|
||||
|
||||
@section scripts {
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
var car = $('.carousel').first();
|
||||
var fi = car.children('.carousel-inner').first()
|
||||
.children('.item').first();
|
||||
var capt = fi.children('.carousel-caption-s');
|
||||
|
||||
fi.addClass('active');
|
||||
car.animate({'background-color':'rgba(0, 0, 0, .5)'},500,function() {
|
||||
car.animate({'background-color':'rgba(0, 0, 0, 0)'},500)
|
||||
})
|
||||
})
|
||||
</script>
|
||||
}
|
||||
@section subbanner {
|
||||
|
||||
<div id="myCarousel" class="carousel slide" data-ride="carousel" data-interval="6000">
|
||||
@if (multipleact) {
|
||||
|
||||
<ol class="carousel-indicators">
|
||||
@{
|
||||
|
||||
foreach (var act in Model) {
|
||||
if (i==0) {
|
||||
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
|
||||
} else {
|
||||
<li data-target="#myCarousel" data-slide-to="@i"></li>
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
</ol> }
|
||||
<div class="carousel-inner" role="listbox">
|
||||
@{
|
||||
string cls = "item";
|
||||
i=0;
|
||||
foreach (var act in Model) {
|
||||
<div class="@cls" style="background-image: url('@act.Photo'); background-repeat: no-repeat; ">
|
||||
|
||||
<div class="carousel-caption-s" >
|
||||
<p><em>@act.Name</em><br/>
|
||||
@act.Description </p>
|
||||
|
||||
@if (act.Children.Count>0) {
|
||||
<a asp-route-id="@act.Code" class="btn btn-light">
|
||||
@foreach (Activity c in act.Children) {
|
||||
@Html.DisplayFor(subact=>c)
|
||||
}
|
||||
</a>
|
||||
}
|
||||
|
||||
@foreach (var frm in act.Forms) {
|
||||
<a class="btn btn-primary" asp-controller="FrontOffice" asp-action="@frm.ActionName" asp-route-id="@act.Code">
|
||||
@frm.Title
|
||||
</a>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
i++;
|
||||
cls = "item";
|
||||
}
|
||||
}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
}
|
||||
|
||||
@section ctxmenu {
|
||||
@if (ViewData["Announces"]!=null) {
|
||||
<li><a asp-controller="Announces" class="badge" >
|
||||
<img src="@SiteSettings.Value.Logo" alt="announces" title="Annonces @SiteSettings.Value.Title" /></a></li>
|
||||
}
|
||||
}
|
||||
@section header {
|
||||
<script src="~/lib/bootstrap/js/carousel.js" asp-append-version="true"></script>
|
||||
<style>
|
||||
.navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
</style>
|
||||
}
|
||||
13
src/Yavsc.Org/Views/Home/Privacy.cshtml
Normal file
13
src/Yavsc.Org/Views/Home/Privacy.cshtml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
|
||||
<asciidoc>
|
||||
= La confidentialité
|
||||
:hide-uri-scheme:
|
||||
|
||||
xref:Contact[Get Report]
|
||||
|
||||
À aucun moment, aucune adresse postale, aucune adresse e-mail ni aucun numéro de téléphone
|
||||
ne sont transmis à personne. Seul le système et son link:Contact[possesseur] ont accès à ces informations.
|
||||
|
||||
De plus, le droit de retrait est permanent et sa mise en oeuvre link:/Account/Delete[immédiate].
|
||||
|
||||
</asciidoc>
|
||||
17
src/Yavsc.Org/Views/Home/Todo.cshtml
Executable file
17
src/Yavsc.Org/Views/Home/Todo.cshtml
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
@{
|
||||
ViewData["Title"] = @Localizer["Todo (first)"];
|
||||
}
|
||||
<h1>@ViewData["Title"]</h1>
|
||||
<em>Linkmuse(trox)</em>
|
||||
|
||||
<asciidoc>
|
||||
Les tags.
|
||||
La librairie, les lives.
|
||||
</asciidoc>
|
||||
@{
|
||||
ViewData["Title"] = @Localizer["TODO"];
|
||||
}
|
||||
<h1>@ViewData["Title"]</h1>
|
||||
<em>Faster, stronger, shorter</em>
|
||||
<asciidoc>
|
||||
</asciidoc>
|
||||
76
src/Yavsc.Org/Views/Home/VideoChat.cshtml
Normal file
76
src/Yavsc.Org/Views/Home/VideoChat.cshtml
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
@{ ViewBag.Title = "video Chat"; }
|
||||
|
||||
|
||||
|
||||
<input type="file" accept="video/*;capture=camcorder" id="cam">
|
||||
<!-- <input type="file" accept="image/*;capture=camera" >
|
||||
<input type="file" accept="audio/*;capture=microphone"> -->
|
||||
<video autoplay id="localvideo">
|
||||
</video>
|
||||
@section scripts
|
||||
{
|
||||
<script>
|
||||
|
||||
function readURL(input) {
|
||||
if (input.files && input.files[0]) {
|
||||
var reader = new FileReader();
|
||||
|
||||
reader.onload = function (e) {
|
||||
$('#localvideo').attr('src', e.target.result);
|
||||
}
|
||||
|
||||
reader.readAsDataURL(input.files[0]);
|
||||
}
|
||||
}
|
||||
|
||||
$("#cam").change(function(){
|
||||
readURL(this);
|
||||
});
|
||||
|
||||
var errorCallback = function(e) {
|
||||
console.log('Reeeejected!', e);
|
||||
};
|
||||
|
||||
navigator.getUserMedia = navigator.getUserMedia ||
|
||||
navigator.webkitGetUserMedia ||
|
||||
navigator.mediaDevices.getUserMedia ||
|
||||
navigator.mozGetUserMedia ||
|
||||
navigator.msGetUserMedia;
|
||||
|
||||
// Not showing vendor prefixes.
|
||||
navigator.mediaDevices.getUserMedia({video: true, audio: true},
|
||||
function(localMediaStream) {
|
||||
var video = document.querySelector('video');
|
||||
video.src = window.URL.createObjectURL(localMediaStream);
|
||||
|
||||
// Note: onloadedmetadata doesn't fire in Chrome when using it with getUserMedia.
|
||||
// See crbug.com/110938.
|
||||
video.onloadedmetadata = function(e) {
|
||||
// Ready to go. Do some stuff.
|
||||
};
|
||||
}, errorCallback);
|
||||
|
||||
|
||||
if (navigator.mediaDevices.getUserMedia) {
|
||||
navigator.mediaDevices.getUserMedia({audio: true, video: false}, function(stream) {
|
||||
if ("srcObject" in video) {
|
||||
video.srcObject = stream;
|
||||
} else {
|
||||
// Avoid using this in new browsers, as it is going away.
|
||||
video.src = window.URL.createObjectURL(stream);
|
||||
}
|
||||
}, errorCallback);
|
||||
} else {
|
||||
video.src = $("#cam").attr('src'); // fallback.
|
||||
}
|
||||
|
||||
$(document).ready(
|
||||
function () {
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue