Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3933 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  67  68  69  ..  77  78  79  80  81  82
Auteur Sujet :

[Topic unique] .Net @ Prog

n°2372255
Implosion ​du Sord
Fesseur de chameaux
Posté le 23-12-2020 à 15:26:48  profilanswer
 

Reprise du message précédent :

ixemul a écrit :

J'ai ma solution pour mon problème de gestion de droits évoqués précédemment !
 
Vive les policy et l'authorization handler !!!
 
...
 
Ha oui... .Net core, Autofac, MediatR et Automapper, c'est vraiment de la bonne came !!!  


Je travaille en ce moment sur un composant d’autorisation, je vais regarder attentivement ce que tu as fait, ça me donnera peut-être des idées :)


---------------
[VDS]AIO Fractal Design Celsius S36 | Carte Wifi N Intel 5100 mPCIe | divers accessoire boitier Fractal Design | Away from keyboard, close to your breast
mood
Publicité
Posté le 23-12-2020 à 15:26:48  profilanswer
 

n°2372256
DiB91
Bwaaaaaaah
Posté le 23-12-2020 à 15:28:30  profilanswer
 

ixemul a écrit :


 
C'est pas le blob qu'il faut renvoyer, mais le target.result (URL... mais c'est une image encodée Base 64) du reader !
 
Côté serveur, tu prends en String (rien de graveleux hein ! :o)


 
:D
 
Oook super, merci beaucoup.
J'ai vu pas mal de billets sur cette technique avec l'image en Base64 mais je pensais que le fait d'utiliser la classe Clipboard avec le retour Promise me permettait de passer outre.
Bon bah nickel, je sais manipuler les Base64, donc ça devrait le faire.
 
Merci :jap:


---------------
La DiBerie | Rehost | Link
n°2372257
ixemul
Nan mais sans blague ! ⚡
Posté le 23-12-2020 à 15:33:36  profilanswer
 

Implosion du Sord a écrit :


Je travaille en ce moment sur un composant d’autorisation, je vais regarder attentivement ce que tu as fait, ça me donnera peut-être des idées :)


 
De ce que j'en retiens pour ce que j'ai mis en place c'est que :
 
avec un IAuthorizationPolicyProvider et un AuthorizationHandler<T>, couplé à de l'injection de dépendance (autofac, ou la DI de base core) t'as aucune limite, tu fais ce que tu veux :D
 
J'avais jamais eu à me pencher sur le problème jusqu'ici, en dehors de rôles de base, ça n'a jamais été une partie de plaisir, mais là, avec ces outils, bha c'est 'achement plus souple !


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2372258
ixemul
Nan mais sans blague ! ⚡
Posté le 23-12-2020 à 15:44:26  profilanswer
 

DiB91 a écrit :


 
:D
 
Oook super, merci beaucoup.
J'ai vu pas mal de billets sur cette technique avec l'image en Base64 mais je pensais que le fait d'utiliser la classe Clipboard avec le retour Promise me permettait de passer outre.
Bon bah nickel, je sais manipuler les Base64, donc ça devrait le faire.
 
Merci :jap:


 
 
C'est un peu spécial le Blob JS (c'est la classe de base de File :D). ça représente du binaire, mais non exploitable directement en JS, il faut toujours passer par un reader pour en extraire les données, soit par un simple readAsArrayBuffer pour récupérer.. bha un ArrayBuffer ou un readAsDataURL pour du Base64 (une url formatée dans les faits)
 
Tu peux aussi récupérer en pure String avec readAsBinaryString...
 
mais la méthode Base64 reste la plus simple, t'as plein d'exemple sur le net pour convertir en Stream ou byte[] .NET
 

Spoiler :


genre  
Convert.FromBase64String(base64encodedstring)
 :whistle:  


 


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2372259
DiB91
Bwaaaaaaah
Posté le 23-12-2020 à 15:45:35  profilanswer
 

Ah bah un byte[] me conviendrait encore mieux oui, mais je crois que j'ai déjà mis ça en oeuvre dans un vieux projet un jour :jap:


---------------
La DiBerie | Rehost | Link
n°2372470
vylkor
Posté le 27-12-2020 à 23:13:32  profilanswer
 

Salut!
 
J'ai un projet entre les mains et le topic programmation m'a conseillé de me diriger vers du C# pour ça (les autres options étaient WinDev, du VB ou du VBA via un fichier excel).
 
N'étant pas programmeur, et n'ayant encore jamais utilisé du C#, vous avez quelques ressources qui trainent expliquant les erreurs de bases a éviter et comment bien structurer son code en C#?
On m'a mis a disposition une machine virtuelle avec Visual Studio pour réaliser mon projet.
 
Le projet étant une simple interface graphique pour définir quelques variables et lancer des impressions vers une imprimante dédié Zebra (en créant un fichier .txt pour lancer l'impression), avec un enregistrement dans un log des différentes actions.
 
Merci d'avance :)

n°2372471
Mackila
Posté le 28-12-2020 à 00:19:38  profilanswer
 

Putin d'orage  :fou:  
 
Encore une Freebox de cramée (ça fera que la 3e)  :fou:  
 
Retour en ADSL1 à 8Mpbs  :fou:  (encore heureux que j'ai encore des modems qui trainent)
 
Je sens arriver la catastrophe demain matin "non mais ya plus la télé là ?"  [:massys]

n°2372480
Implosion ​du Sord
Fesseur de chameaux
Posté le 28-12-2020 à 11:15:13  profilanswer
 

Mackila a écrit :

Putin d'orage  :fou:  
 
Encore une Freebox de cramée (ça fera que la 3e)  :fou:  
 
Retour en ADSL1 à 8Mpbs  :fou:  (encore heureux que j'ai encore des modems qui trainent)
 
Je sens arriver la catastrophe demain matin "non mais ya plus la télé là ?"  [:massys]


toi tu as confondu avec le topic net@prog avec blabla@prog :o bienvenue du côté obscure  [:cacique]


---------------
[VDS]AIO Fractal Design Celsius S36 | Carte Wifi N Intel 5100 mPCIe | divers accessoire boitier Fractal Design | Away from keyboard, close to your breast
n°2372483
Implosion ​du Sord
Fesseur de chameaux
Posté le 28-12-2020 à 11:28:37  profilanswer
 

vylkor a écrit :

Salut!
 
J'ai un projet entre les mains et le topic programmation m'a conseillé de me diriger vers du C# pour ça (les autres options étaient WinDev, du VB ou du VBA via un fichier excel).
 
N'étant pas programmeur, et n'ayant encore jamais utilisé du C#, vous avez quelques ressources qui trainent expliquant les erreurs de bases a éviter et comment bien structurer son code en C#?
On m'a mis a disposition une machine virtuelle avec Visual Studio pour réaliser mon projet.
 
Le projet étant une simple interface graphique pour définir quelques variables et lancer des impressions vers une imprimante dédié Zebra (en créant un fichier .txt pour lancer l'impression), avec un enregistrement dans un log des différentes actions.
 
Merci d'avance :)


Hello et bienvenue !
 
Beaucoup d'infos peuvent être trouvée directement chez Microsoft :
Apprendre à programmer en C# => https://docs.microsoft.com/fr-fr/dotnet/csharp/
Tutos divers => https://docs.microsoft.com/fr-fr/do [...] tutorials/
 
Après tu as Pluralsigh qui est bien pour apprendre les bases (si tu as accès à un abonnement), où sinon quelques chaines YouTube comme Fox Learn par exemple
 
Ton interface graphique, doit-elle être un client lourd ou léger ?
 
Concernant les erreurs de base, avec la faible description du projets ce n'est pas facile de t'orienter. Par contre ce que je peux te dire c'est qu'il faut commencer par savoir où sera déployée l'application que tu développes pour s'assurer que la version du framework que tu vas choisir soit bien disponible (dans un environnement industriel par exemple, il est rare que les dernières versions soient disponibles)


---------------
[VDS]AIO Fractal Design Celsius S36 | Carte Wifi N Intel 5100 mPCIe | divers accessoire boitier Fractal Design | Away from keyboard, close to your breast
n°2372498
vylkor
Posté le 28-12-2020 à 14:28:21  profilanswer
 

Implosion du Sord a écrit :


Hello et bienvenue !
 
Beaucoup d'infos peuvent être trouvée directement chez Microsoft :
Apprendre à programmer en C# => https://docs.microsoft.com/fr-fr/dotnet/csharp/
Tutos divers => https://docs.microsoft.com/fr-fr/do [...] tutorials/
 
Après tu as Pluralsigh qui est bien pour apprendre les bases (si tu as accès à un abonnement), où sinon quelques chaines YouTube comme Fox Learn par exemple
 
Ton interface graphique, doit-elle être un client lourd ou léger ?
 
Concernant les erreurs de base, avec la faible description du projets ce n'est pas facile de t'orienter. Par contre ce que je peux te dire c'est qu'il faut commencer par savoir où sera déployée l'application que tu développes pour s'assurer que la version du framework que tu vas choisir soit bien disponible (dans un environnement industriel par exemple, il est rare que les dernières versions soient disponibles)


 
 
Merci pour les liens, je commence a lire tout ça!
 
Pour le projet je m'étais fait cette "carte":
https://rehost.diberie.com/Uploads/0/20201228-135609-2c5eda3a-9212-4acd-bbdf-e13526eeb814.0.min.jpg
 
Depuis le menu démarrage, si on va vers la droite:
On a des charges (types A ou B, le bouton rouge en haut permettant de choisir quel type de charges on veux voir), l'utilisateur choisis dans la listbox (en bleu) UNE charge.
En cliquant sur suivant une nouvelle liste apparais qui montre tous les items possibles dans la charge, on vient sélectionner le ou les items voulus (listview avec checkbox?).
En cliquant suivant, ça nous demande combien d'étiquettes on veux (textbox acceptant que les chiffres de 0 a 99) de chaque cas de figure (les dessins a droites représentent les cas de figure, rappel visuel pour les opérateurs) pour chaque item coché précédement (une nouvelle fenêtre avec en en-tête le nom de l'item pour chaque item coché).
Puis une récap de l'impression totale.
Et quand on clique sur "Lancer l'impression", on viens imprimer le nombre d'étiquettes voulu pour chaque cas de figure.
 
Depuis le menu démarrage, de l'autre coté, on peut aussi aller dans les paramètres pour définir les charges (nom, type A ou B), les items (nom, charges associées (0 à N charges)) ou les paramètres d'impressions (adresse IP).
Je pense stocker toutes ces infos dans un XML (qui me servira donc de base de donnée pour générer mes listes et envoyer les bonnes infos a l'imprimante).
 
Je vais avoir une imprimante Zebra dédiée pour ces impressions et l'application tournera sur une machine virtuelle dédiée uniquement a ça.
 
Et il me faudra un log (un bête fichier .txt a coté) pour enregistrer toutes les modifs et actions effectuées dans le programme.
 
 
C'est un de mes premiers gros "projets", j'ai essayé de clarifier au maximum les choses avant, maintenant il vas falloir que je trouve comment transformer tout cela en réalité, mais de mon expérience VB, ça ne me semble pas insurmontable :)


Message édité par vylkor le 28-12-2020 à 14:30:09
mood
Publicité
Posté le 28-12-2020 à 14:28:21  profilanswer
 

n°2372503
DiB91
Bwaaaaaaah
Posté le 28-12-2020 à 16:31:10  profilanswer
 

Ixemul, t'es un chef !
 
J'ai utilisé ta méthode, et ça a fonctionné.
Grace à toi, Rehost a désormais une fonctionnalité d'upload d'image directement depuis le clipboard :jap:
 
Merci beaucoup pour ton aide :) :love:


---------------
La DiBerie | Rehost | Link
n°2372505
ixemul
Nan mais sans blague ! ⚡
Posté le 28-12-2020 à 16:54:18  profilanswer
 

DiB91 a écrit :

Ixemul, t'es un chef !
 
J'ai utilisé ta méthode, et ça a fonctionné.
Grace à toi, Rehost a désormais une fonctionnalité d'upload d'image directement depuis le clipboard :jap:
 
Merci beaucoup pour ton aide :) :love:


 
J'y penserais à chaque utilisation !  [:mossieurpropre]
 
Edit: Test :
 
https://rehost.diberie.com/Uploads/0/20201228-164954-90a7ef96-32e1-4308-bf30-a1eba0abc368.0.min.jpg


Message édité par ixemul le 28-12-2020 à 16:58:46

---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2372507
ixemul
Nan mais sans blague ! ⚡
Posté le 28-12-2020 à 17:36:37  profilanswer
 

je regardais le code :
 

Code :
  1. document.getElementById('pasteArea').onpaste = function (event) {
  2.                 document.getElementById("pastedImage" ).src = '';
  3.                 var items = (event.clipboardData || event.originalEvent.clipboardData).items;
  4.                 var blob = null;
  5.                 for (var i = 0; i < items.length; i++) {
  6.                     if (items[i].type.indexOf("image" ) === 0) {
  7.                         blob = items[i].getAsFile();
  8.                     }
  9.                 }
  10.                 if (blob !== null) {
  11.                     var reader = new FileReader();
  12.                     var selectedAlbum = $('#ddlAlbumClip').val();
  13.                     reader.onload = function (event) {
  14.                         document.getElementById("pastedImage" ).src = event.target.result;
  15.                         $.ajax({
  16.                             type: "POST",
  17.                             async: true,
  18.                             url: "/Upload/Clip",
  19.                             data: {
  20.                                 dataBlob: event.target.result,
  21.                                 album: selectedAlbum
  22.                             },
  23.                             cache: false,
  24.                             success: function (responseText) {
  25.                                 document.write(responseText);
  26.                             },
  27.                             error: function (errorText) {
  28.                                 console.log(errorText);
  29.                             }
  30.                         });
  31.                     };
  32.                     reader.readAsDataURL(blob);
  33.                 }
  34.                 else {
  35.                 }
  36.             }


 
C'est du bon vieux jQuery des familles ça :D
 
Mention spéciale pour le else "vide"  :o  
 
C'est dommage de pas être parti sur un Front Angular/Back .NET Core dockerisé  [:cupra]


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2372514
DiB91
Bwaaaaaaah
Posté le 28-12-2020 à 19:01:24  profilanswer
 

Ah j'ai jamais prétendu être un artiste :o
Mais ouais, le else vide je trouvais ça joli avec ma collection de catch() vides côté serveur :o :o
 
Blague à part, j'ai un //TODO sur la gestion des erreurs et des logs, je ferai une passe globale :o


---------------
La DiBerie | Rehost | Link
n°2372617
Implosion ​du Sord
Fesseur de chameaux
Posté le 30-12-2020 à 14:34:02  profilanswer
 

Hello les dev !
 
J'ai de la vérification de signature de messages à faire (principalement des JWT, mais pas que) à partir d'une clef public RSA et je me rend compte que c'est toujours autant galère en .Net :/ Pas vraiment de possibilité de charger une clef au format PEM (le format de clef qui commence par "-----BEGIN RSA PUBLIC KEY-----";)
Il y a des trucs cool en .Net 5 (voir même à partir de NET.Core 3.0), mais ma lib doit être rétrocompatible netstandard2_0.
Deux contraintes supplémentaires :
* aucun accès disque possible, sachant la plus part des API du framework se basent sur des chemins de fichiers
* pas d'accès à un quelconque Certificate Store
 
J'ai passé beaucoup de temps à essayer d'interpréter mon PEM, d'extraire le modulus et l'exponent, d'utiliser la lib Bouncy Castle... sans grand succès
Bouncy Castle me semble pourtant être la solution à mon problème, mais l'on ne trouve que peu de doc dessus et principalement lié à la version Java (avec pas mal de changement en .Net)
 
J'allais donc vous demander de l'aide, après 2 semaines de galère :o
Mais en rédigeant ce message je suis tombé sur ça : Reading RSA key pair from PEM files in .NET with C# using Bouncy Castle [...] [Tek Shinobi] . Je ne comprend pas comment je ne suis pas tombé dessus avant, vu que le titre est exactement ce que je cherche à faire !
 
Voici donc un extrait de code comme retour d'expérience :)
 
Utilisation du NuGet Portable.BouncyCastle
 
Voici ce que l'on retrouve dans l'article :

Code :
  1. public static RSACryptoServiceProvider GetPublicKeyFromPemFile(String filePath)
  2. {
  3.     using (TextReader publicKeyTextReader = new StringReader(File.ReadAllText(filePath)))
  4.     {
  5.         RsaKeyParameters publicKeyParam = (RsaKeyParameters)new PemReader(publicKeyTextReader).ReadObject();
  6.         RSAParameters rsaParams = DotNetUtilities.ToRSAParameters((RsaKeyParameters)publicKeyParam);
  7.         RSACryptoServiceProvider csp = new RSACryptoServiceProvider();// cspParams);
  8.         csp.ImportParameters(rsaParams);
  9.         return csp;
  10.     }
  11. }


Dans mon cas, j'ai juste besoin d'un objet SecurityKey de Microsoft.IdentityModel.Tokens
Voici un extrait d'implémentation :

Code :
  1. string publicKey = @"-----BEGIN RSA PUBLIC KEY-----\n.............";
  2. using TextReader publicKeyTextReader = new StringReader(publicKey);
  3. RsaKeyParameters publicKeyParam = (RsaKeyParameters)new PemReader(publicKeyTextReader).ReadObject();
  4. RSAParameters rsaParams = DotNetUtilities.ToRSAParameters(publicKeyParam);
  5. SecurityKey sec = new RsaSecurityKey(rsaParams);


 
A partir de ça, il est possible de facilement valider un JWT en créant un TokenValidationParameters
 
Aller, en cadeau, la vérification du token :

Code :
  1. var tvp = new TokenValidationParameters
  2. {
  3.     ValidateIssuerSigningKey = true,
  4.     ValidateIssuer = false,
  5.     ValidateAudience = false,
  6.     ValidateLifetime = false,
  7.     IssuerSigningKey = securityKey,
  8.     ClockSkew = TimeSpan.FromSeconds(20)
  9. };
  10. var tvr = new JsonWebTokenHandler().ValidateToken("token.to.validate", tvp);
  11. return tvr?.IsValid;


 
 [:baelg]


---------------
[VDS]AIO Fractal Design Celsius S36 | Carte Wifi N Intel 5100 mPCIe | divers accessoire boitier Fractal Design | Away from keyboard, close to your breast
n°2372699
overclocke​d
Posté le 01-01-2021 à 19:47:36  profilanswer
 

Bonjour,  
Pour ceux qui utilisent les micro services vous utiliser quoi comme stack pour communiquer entre vos services rabbitmq, grpc ... ?
Si on partage la même base de données entre plusieurs services ça limite pas l’intérêt des microservices ?

n°2372700
Implosion ​du Sord
Fesseur de chameaux
Posté le 01-01-2021 à 19:51:15  profilanswer
 

overclocked a écrit :

Bonjour,  
Pour ceux qui utilisent les micro services vous utiliser quoi comme stack pour communiquer entre vos services rabbitmq, grpc ... ?
Si on partage la même base de données entre plusieurs services ça limite pas l’intérêt des microservices ?


La communication dépend du besoin du service (synchrone vs asynchrone entre autres)
Beaucoup d'utilisation de communication REST, mais aussi un peu de Service Bus, d'Azure Queue Storage, d'AWS SQS...
Concernant les accès DB, en général un seul service doit accéder à une base. Je dirais même que ce service doit être l'unique point d'accès à cette base. Il faut séparer la responsabilité de la donnée


---------------
[VDS]AIO Fractal Design Celsius S36 | Carte Wifi N Intel 5100 mPCIe | divers accessoire boitier Fractal Design | Away from keyboard, close to your breast
n°2372701
overclocke​d
Posté le 01-01-2021 à 20:05:49  profilanswer
 

J’ai un vps chez Ovh actuellement, j’ai pas envie d’être dépendant d’un provider particulier.
J’ai besoin d’une certaine intégrité de mes données, j’utilise une base de données postgre actuellement.
Pour l’instant c’est une application monolithique, avec un webservice en signalr comme point d’entrée, et plusieurs couche bll/repo, une archi bien à l’ancienne mais comme j’ai de l’injection de dépendance de partout transformer ça en micro services devrait pas être trop compliqué.
 
Vous faites comment pour garder une certaine intégrité entre vos données si chaque service à sa base ?

n°2372702
Yor_le_Bou​rrin
Posté le 01-01-2021 à 21:02:54  profilanswer
 

Pour moi en microservice chaque service doit gérer son propre domaine (au sens pattern). Donc pas de conflit : si tu dois modifier un autre domaine tu appelles la méthode qui va bien.

 

Rien ne t'empêche d'utiliser la même base, les services taperont alors sur un ensemble de tables qui lui sont propre, idéalement isolées via des utilisateurs n'ayant accès qu'à ces tables.

 

Si tu ne peux pas faire cette isolation de domaine, de mon point de vue tu devrais rester en monolithique.

n°2372707
antac
..
Posté le 01-01-2021 à 22:00:01  profilanswer
 

Chez nous, on utilise les services bus Azure.
(Architecture de base de type CQRS)

n°2372708
Implosion ​du Sord
Fesseur de chameaux
Posté le 01-01-2021 à 22:26:45  profilanswer
 

Yor_le_Bourrin a écrit :

Pour moi en microservice chaque service doit gérer son propre domaine (au sens pattern). Donc pas de conflit : si tu dois modifier un autre domaine tu appelles la méthode qui va bien.
 
Rien ne t'empêche d'utiliser la même base, les services taperont alors sur un ensemble de tables qui lui sont propre, idéalement isolées via des utilisateurs n'ayant accès qu'à ces tables.
 
Si tu ne peux pas faire cette isolation de domaine, de mon point de vue tu devrais rester en monolithique.


Quand je parle de DB séparées, je vais en fait dans ton sens. Ca peut être la même base, mais chacun sa responsabilité. Après je trouve qu'il reste préférable de faire une séparation pour éviter d'être tenté de faire quelques jointures inter-domaines
 

overclocked a écrit :

J’ai un vps chez Ovh actuellement, j’ai pas envie d’être dépendant d’un provider particulier.
J’ai besoin d’une certaine intégrité de mes données, j’utilise une base de données postgre actuellement.
Pour l’instant c’est une application monolithique, avec un webservice en signalr comme point d’entrée, et plusieurs couche bll/repo, une archi bien à l’ancienne mais comme j’ai de l’injection de dépendance de partout transformer ça en micro services devrait pas être trop compliqué.
 
Vous faites comment pour garder une certaine intégrité entre vos données si chaque service à sa base ?


J'ai pas mal travaillé avec Rabbit MQ à un moment donné, ça fait très bien le taf. Il faut faire attention à la consommation du service RMQ qui peuvent encombrer ta VM. Il faut aussi noter que l'un des but d'une architecture micro-service, c'est de pouvoir déployer / répartir la charge sur différentes VM, voir héberger dans des containers
Pour la choisir la taille de tes services, un bon indicateur serai d'être capable de refaire le service entièrement sur une sprint.


---------------
[VDS]AIO Fractal Design Celsius S36 | Carte Wifi N Intel 5100 mPCIe | divers accessoire boitier Fractal Design | Away from keyboard, close to your breast
n°2372714
overclocke​d
Posté le 02-01-2021 à 00:34:06  profilanswer
 

Actuellement j’ai 3 hub (signalr) sur mon appli chacun dans leur domaine qui appel des services qui eux même ont leur propre repository.
J’ai bien une ségrégation des domaines, du genre si un service à besoin de modifier les données du player je vais appeler le service player et pas directement le repository player.
Après j’ai créer un service qui va par exemple mettre des données en cache au lieu que mes autres service appel le service qui renvoie la liste des monstres/sorts/items, infos qui ne changent jamais ils appellent ce service de cache ...
 
J’ai bossé avec azure, même avec Azure service fabric mais les prix pratiqués me refroidissent pour une utilisation perso.
 
C’est pour ça que je veux pas être dépendant d’une techno cloud particulière, je sais que rabbitmq tourne un peu partout mais ça à l’air assez chiant à mettre en place, sinon j’ai lu qu’un dev de jeu était plutôt passé par grpc pour la communication entre ses services, peut-être ça peut-être une bonne solution ou foutre du signalr entre, mais je sais pas si le coût n’est pas plus important avec signalr.
 
C’est un mmorpg tour par tour donc la montée en charge à son importance et la vitesse de réponse aussi dans une moindre mesure.
 
Je pense que je vais tout passer sur docker même si je ne suis pas un expert dessus et que ça m’a déjà posé des problèmes par le passé avec asp.net...

n°2372810
DiB91
Bwaaaaaaah
Posté le 04-01-2021 à 14:54:02  profilanswer
 

Les gars, y a moyen de savoir sous SSMS quels clients sont connectés au serveur de base de données, avec leur IP ?
 
Je n'arrive pas à me connecter à mon propre serveur SQL depuis l'extérieur, même quand je suis sous VPN :??:
J'aimerai donc voir quelle IP je présente au serveur quand je suis sous VPN, pour comprendre pourquoi le pare-feu me jette ...


---------------
La DiBerie | Rehost | Link
n°2372820
Yor_le_Bou​rrin
Posté le 04-01-2021 à 15:34:23  profilanswer
 

Tu peux tenter avec
 

SELECT client_net_address
FROM sys.dm_exec_connections


 
Après je ne sais pas comment tu as configuré ton SQL server, mais si tu as laissé la conf par défaut (port dynamique), le pare-feu risque d'être compliqué à configurer. Il vaut mieux le mettre en port fixe (typiquement 1433)


Message édité par Yor_le_Bourrin le 04-01-2021 à 15:36:11
n°2372828
DiB91
Bwaaaaaaah
Posté le 04-01-2021 à 16:21:40  profilanswer
 

Ouep c'est ça, j'ai fixé en 1433 mais rien ouvert dehors dans le pare-feu puisque pour le moment c'est la même machine qui sert de serveur SQL et de server web (donc les applis piochent dedans en localhost).

 

Mes machines en local accèdent bien à l'instance SQL via SSMS, mais pas celle que je connecte en VPN, même en saisissant l'adresse IP au lieu du nom netbios de la machine.

 

D'ailleurs, dans le pare-feu de ce serveur, quand je whiteliste l'IP publique de ma connexion d'où je suis (donc à l'entrée du VPN), là, je me connecte ! :ouch:
On dirait que SSMS détecte que je suis sous VPN en fait, il semble que je lui présente mon IP d'entrée et non mon IP attribuée par le serveur VPN.

 

EDIT : D'ailleurs le message que j'ai n'est pas un error 40 comme si le serveur ne répondait pas, c'est un "accès refusé" comme si le login SQL que je lui fournissais ne passait pas :??:


Message édité par DiB91 le 04-01-2021 à 16:23:17

---------------
La DiBerie | Rehost | Link
n°2372836
overclocke​d
Posté le 04-01-2021 à 16:40:49  profilanswer
 

En même temps le vpn y accède par quel port

n°2372845
DiB91
Bwaaaaaaah
Posté le 04-01-2021 à 17:04:41  profilanswer
 

1433 justement.

 

Je viens de faire le test en ouvrant le 1433 (TCP) et le 1434 (UDP) vers l'extérieur côté NAT de ma box, c'est mort, toujours pas d'accès quand je suis sous VPN.


Message édité par DiB91 le 04-01-2021 à 17:05:00

---------------
La DiBerie | Rehost | Link
n°2372855
Yor_le_Bou​rrin
Posté le 04-01-2021 à 18:01:52  profilanswer
 

C'est quoi comme erreur du coup ? Un genre de timeout ? La commande "telnet sqlip 1433" passe ?

n°2372885
ixemul
Nan mais sans blague ! ⚡
Posté le 04-01-2021 à 21:26:54  profilanswer
 

Bizarre cette histoire... j'ai déjà accédé à des Sql server avec mssms par VPN... pas en SA, mais avec un user en admin dbo quand même.


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2372898
DiB91
Bwaaaaaaah
Posté le 05-01-2021 à 00:00:17  profilanswer
 

Aah mais je suis sûr à 100% que ça vient de config pétée de mon routeur/NAT et/ou de mes réglages pare-feu sur le serveur :
- sur un autre serveur SQL extérieur à chez moi, hébergé chez OVH, accédé via son IP publique, où mon IP externe est whitelistée : pas de souci, je passe avec ou sans VPN.

 

- même en interne avec mon PC connecté en ethernet sur le même réseau (192.168.1.x), j'ai la même erreur n°5
https://rehost.diberie.com/Uploads/2/20210104-233609-b4754d67-7443-4fc4-b9a2-31b02e762129.2.min.jpg

 

- lorsque je whiteliste mes IP internes dans le pare-feu du serveur, là je peux passer  :pt1cable:
https://rehost.diberie.com/Uploads/2/20210104-234213-e1b2a8bd-da14-4296-936b-411f4982dc49.2.min.jpg
Ici, j'ai whitelisté la plage d'IP que mon opérateur me fournit (même si je passe en VPN...) et la plage d'IP locales des machines chez moi.
Dans cette config, ça passe

 

NB : Je suis actuellement élu parmi les élus à avoir le "bug de la dernière MAJ" de ma Livebox v4 (qui pète le trafic interne sur les ports 80 et 443 ainsi que le loopback). Je me demande si c'est pas lié, du coup :??:
NB2 : Mon serveur VPN c'est mon NAS Synology, configuré en L2TP/IPSec et qui ouvre sur une IP locale en 192.168.11.x (mon réseau interne est sur 192.168.1.x). Côté client, j'utilise le client natif intégré à Windows 10 (d'où mon choix pour L2TP/IPSec...)


Message édité par DiB91 le 05-01-2021 à 00:02:45

---------------
La DiBerie | Rehost | Link
n°2372939
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 05-01-2021 à 09:45:34  profilanswer
 

Mais ton NAS et ton SQL Server ils sont sur le même réseau ? Si oui, c'est normal de devoir whitelister une IP interne côté firewall du SQL Server du coup, si tu passes par le VPN du NAS.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°2372954
Je@nb
Kindly give dime
Posté le 05-01-2021 à 10:18:04  profilanswer
 

C'est pas un peu beaucoup hs ? Tu aurais plus de réponses en cat réseau gd public... Ou la première question qui te serait posée serait un schéma

n°2372956
DiB91
Bwaaaaaaah
Posté le 05-01-2021 à 10:23:24  profilanswer
 

Oui oui c'est ça, NAS en 192.168.1.83 et SQL en 192.168.1.102.
Les clients VPN sont en 192.168.11.x
 
Mais 2 choses m'intriguent :
- je suis obligé d'autoriser les adresses 192.168.x.x en externe, il ne les considère pas comme internes, même quand je suis en local, VPN OFF (donc sur mon réseau 192.168.1.x) ??! (bon, c'est peut être un bug du pare feu Windows, admettons)
- je suis obligé d'autoriser les adresses 92.184.x.x (public, de mon opérateur mobile lorsque je suis en VPN ON (donc sur mon réseau 192.168.11.x) à travers la connexion de mon téléphone)
 
Bon, c'est toujours plus sécure que laisser TOUT ouvert, mais bon, ça fait quand même un sacré trou dans mon infra...


---------------
La DiBerie | Rehost | Link
n°2372957
DiB91
Bwaaaaaaah
Posté le 05-01-2021 à 10:24:11  profilanswer
 

Je@nb a écrit :

C'est pas un peu beaucoup hs ? Tu aurais plus de réponses en cat réseau gd public... Ou la première question qui te serait posée serait un schéma


 
Oui effectivement, je partais sur un comportement anormal du SSMS, mais ça semble plutôt être un problème réseau, donc je vous embête pas plus avec ça, désolé :jap:


---------------
La DiBerie | Rehost | Link
n°2373079
DiB91
Bwaaaaaaah
Posté le 05-01-2021 à 16:21:43  profilanswer
 

Tiens, du coup, une autre petit bricole que j'ai dans un coin de la tête depuis quelques années : passer mon code source de TFS (actuellement, j'héberge mon propre serveur Azure DevOps Express...) vers Git.
Maintenant que c'est tout intégré nativement dans Visual Studio, et que de nombreux services propulsent Git vers l'avant, je me dis qu'il serait bon que je m'y mette :)
 
Pour le serveur Git, en plus, j'ai vu que mon NAS Synlogy pouvait aussi gérer ça, libérant ainsi mon serveur de dev d'une (coûteuse !) tâche :)
 
En furetant un peu sur la toile, j'ai cru comprendre qu'il existait, dans les années ~2012 un outil open source "Git-TF" capable d'assurer la migration entre les 2 systèmes... mais ça semble assez calme désormais, je ne suis même pas sûr que ça supporte Azure DevOps Express (aka "TFS 2019" ).
 
Certains ici ont déjà eu à faire cette transition ? :)
 
PS : Je ne souhaite pas utiliser la partie "en ligne" gratuite que Microsoft propose (lié à mon compte Microsoft, sur dev.azure.com) pour différentes raisons :jap:

Message cité 1 fois
Message édité par DiB91 le 05-01-2021 à 16:22:31

---------------
La DiBerie | Rehost | Link
n°2373080
ixemul
Nan mais sans blague ! ⚡
Posté le 05-01-2021 à 16:29:39  profilanswer
 

DiB91 a écrit :

Tiens, du coup, une autre petit bricole que j'ai dans un coin de la tête depuis quelques années : passer mon code source de TFS (actuellement, j'héberge mon propre serveur Azure DevOps Express...) vers Git.
Maintenant que c'est tout intégré nativement dans Visual Studio, et que de nombreux services propulsent Git vers l'avant, je me dis qu'il serait bon que je m'y mette :)
 
Pour le serveur Git, en plus, j'ai vu que mon NAS Synlogy pouvait aussi gérer ça, libérant ainsi mon serveur de dev d'une (coûteuse !) tâche :)
 
En furetant un peu sur la toile, j'ai cru comprendre qu'il existait, dans les années ~2012 un outil open source "Git-TF" capable d'assurer la migration entre les 2 systèmes... mais ça semble assez calme désormais, je ne suis même pas sûr que ça supporte Azure DevOps Express (aka "TFS 2019" ).
 
Certains ici ont déjà eu à faire cette transition ? :)
 
PS : Je ne souhaite pas utiliser la partie "en ligne" gratuite que Microsoft propose (lié à mon compte Microsoft, sur dev.azure.com) pour différentes raisons :jap:


 
Perso j'utilise un vieux C2D E6300 avec un linux + Docker qui me fait toute la CI (Gitlab/Gitlab-CI/Sonarqube/Artifactory). Avec docker, ça se monte en 2h :D


Message édité par ixemul le 05-01-2021 à 16:30:02

---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2373081
DiB91
Bwaaaaaaah
Posté le 05-01-2021 à 16:32:35  profilanswer
 

Je suis presque sûr que le paquet DSM pour mon NAS fait la même chose oui :D  
C'est pour ça, au final, c'est bien plus judicieux qu'une vieille VM Windows Server qui pompe un max de RAM et une base de données SQL pour DevOps Express...


---------------
La DiBerie | Rehost | Link
n°2373082
ixemul
Nan mais sans blague ! ⚡
Posté le 05-01-2021 à 16:36:14  profilanswer
 

DiB91 a écrit :

Je suis presque sûr que le paquet DSM pour mon NAS fait la même chose oui :D  
C'est pour ça, au final, c'est bien plus judicieux qu'une vieille VM Windows Server qui pompe un max de RAM et une base de données SQL pour DevOps Express...


 
Mon syno est encore en DSM 4.2  [:adodonicoco]  
 
Mais les volumes sont montés dessus  :whistle:


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2373083
DiB91
Bwaaaaaaah
Posté le 05-01-2021 à 16:37:13  profilanswer
 

:love:
 
Je vais essayer, déjà, de créer le repo, on verra pour migrer le code ensuite.


---------------
La DiBerie | Rehost | Link
n°2373086
ixemul
Nan mais sans blague ! ⚡
Posté le 05-01-2021 à 16:46:06  profilanswer
 

DiB91 a écrit :

:love:
 
Je vais essayer, déjà, de créer le repo, on verra pour migrer le code ensuite.


 
Un simple gitlab, juste pour avoir le repo Git sans runner de CI, c'est easy :D
 


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2373088
meta67
Posté le 05-01-2021 à 16:47:47  profilanswer
 

J'avais migrer 10 ans de codes de sourceSafe vers git quand j'étais arriver dans une ancienne boite, ça avait mouliné plus de quatre jours pour tout copier  [:ramones] .
 
TFS vers git ça doit se faire easy :o

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  67  68  69  ..  77  78  79  80  81  82

Aller à :
Ajouter une réponse
 

Sujets relatifs
service web REST en VB.NET HeySpreadRequete Access avec paramètres, éxécutée en VB .Net
impersonalisation sous ASP.NET[Topic Unique] les blagues pourries de harko et florentg
Generation d'un GIF en ASP.NETAppeler un service web .NET sécurisé en Java
Prog Visual Basic "periodicité"[Oracle] Temps d'execution de requete tres long par rapport au .NET
[VB.NET] Lister des imprimantes réseauxFusion de résultats de requêtes dans une unique Table
Plus de sujets relatifs à : [Topic unique] .Net @ Prog


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)