Nouvelles Chroniques d'Amethyste

Penser au Sens, pas au Verbe


Poster un commentaire

Les secrets utilisateurs dans Visual Studio

Un projet utilise fréquemment des infos sensibles comme des chaînes de connexion des login/mot de passe, des email, numéro de téléphone…

Seulement voilà, il y a un moment où on doit pousser le code dans un repository de code, au hasard Github et là vos infos se retrouvent publiquement accessibles.

Alors que faire? Justement Visual Studio propose une solution élégante, mais avec quelques limites.

L’idée est de sauvegarder ses données dans un fichier qui ne fait pas partie du projet, mais en restant facilement accessibles sans écrire de code spécifique.

Lire la suite

Publicités


Poster un commentaire

Faire survivre une sélection de fichiers à un upload

Vous avez une appli qui ressemble à ceci:

On aperçoit 3 <input type= »file »/>. Disons que la règle métier est que l’on doit obligatoirement fournir TROIS fichiers. Seulement je n’en ai fournit qu’un seul.

Si je clique sur SUBMIT. La validation échoue, je reviens sur la page avec un message d’erreur.

A votre avis la sélection initiale sera t’elle perdue? Si oui, que peut t’on faire pour l’empêcher?

Lire la suite


Poster un commentaire

Les projet ASP.Net Core 2

J’ai écris une série d’articles sur la prise en main d’un projet ASP.NET Core 1 ici:

https://amethyste16.wordpress.com/2016/11/30/les-projets-asp-net-core/

Depuis la version 2 est arrivée et il n’est pas inutile de faire une petite mise à jour. Tout n’ayant pas changé, je vais me contenter des nouveautés et d’ajouter des compléments techniques.

Pour la suite je résumerai le nom de l’outil en C2.

Lire la suite


Poster un commentaire

Tutoriel Postman

Postman est un de ces outils indispensables si vous développez des web Api. J’ai déjà fais un tuto il y a tout juste 2 ans:

https://amethyste16.wordpress.com/2016/02/24/tutoriel-postman/

Mais les choses ont beaucoup changées depuis et je crois utile de le refaire complètement.

Au programme:

  • A quoi sert Postman
  • Installation
  • Opération de base
  • Collection
  • Créer un environnement
  • Génération de code
  • Le Runner

 

Lire la suite


1 commentaire

Comment trouver l’id de son tenant

Question importante lorsque l’on a besoin d’écrire une application devant s’authentifier à Azure AD. Comment trouver l’Id du tenant de l’utilisateur.

Voici une liste de solution possibles.

La première chose à savoir est que cet id peut être fournit sous deux formes:

  1. un GUID
  2. un hostname (nom de domaine)

Le premier est moins poétique, mais présente l’avantage d’être immuable.

Il existe également une valeur réservée: ‘common’. Elle est utilisée dans les scénarios où votre application est multi-tenante.

http://www.cloudidentity.com/blog/2014/08/26/the-common-endpoint-walks-like-a-tenant-talks-like-a-tenant-but-is-not-a-tenant/

Lire la suite


Poster un commentaire

Les modules JavaScript: utilisation pratique

J’ai discuté les différentes architectures de module rencontrées en JavaScript dans un précédent article:

https://amethyste16.wordpress.com/2017/06/24/les-architectures-de-modules-en-javascript/

 

OK, maintenant j’ai créé une série de modules. Comment je les intègre de façon concrète dans un vrai projet?

Il y a je pense 3 options:

  1. Les chargeurs de module
  2. Les constructeurs de bundle
  3. Chargement via des <script>

La première installe dans le site lui-même un chargeur de module, comme par exemple RequireJS, qui s’occupera de charger le module et l’ensemble de ses dépendances.

La deuxième vise à rassembler dans un même fichier le module et l’ensemble de ses dépendances dans l’ordre qui convient. On créée un nouveau fichier, appelons le bundle.js, qui est le résultat de la « bundlelisation ». On n’a alors plus besoin de référencer de chargeurs de module, il suffit de référencer bundle.js directement.

La dernière est la méthode traditionnelle si je puis dire. On a N fichiers *.js à charger, on écrit N déclarations <script> et on gère à la main le bon ordre. C’est très simple, très utilisé, mais peut devenir vite laborieux.

Surtout cette méthode encourage guère à écrire des modules propres, c’est à dire avec une empreinte minimale sur le scope global. Laissons de côté cette méthode qui ne concerne en rien cet article.

Lire la suite