[Angular] Init un service avant le chargement

Parfois, nous avons une classe de service qu’on aimerait bien charger AVANT les autres et sans qu’elle n’est de dépendance avec les autres. Si, ça arrive ! Par exemple dans un proto Electron/Angular :

  • J’ai une classe qui expose un Subjet/Observable,
  • Un service est à l’écoute de cet observable pour communiquer avec la couche electron,
  • La 2ème n’est référencée par personne car je ne souhaite pas que toute les classes aient un lien avec electron

Donc si, cela arrive. Un autre exemple (tirez du lien ci-dessous), on souhaite appeler un service de chargement de données AVANT la fin du chargement de l’application. Pour ce faire, il est possible d’utiliser la notion suivante APP_INITIALIZER qui n’est pas forcément hyper bien documentée. Voici un lien qui explique tout bien comment qui faut faire : How to call an asynchronous service before bootstrap ?

[VSCode] Mise à jour des tabulations

J’ai eu des soucis de tabulations sous VSCode, d’un coup les fichiers passaient à deux tabulations … Une astuce pour remettre d’équerre trouver sur un thread github et donné par @todmotto s’il vous plait :

  • Sélectionner tous les fichiers (CTRL + A),
  • Supprimer toutes les tabulations (SHIFT + TAB),
  • Remettre à jour les tabulations (CTRL + SHIFT + i)

Pour choisir le nombre d’espaces pour un tab :

  • Paramètres (CTLR + ,),
  • “editor.tabSize”.

CyPress

CyPress

J’ai tendance à fonctionner par signaux faibles. Quand j’entends parler d’une choses 4/5 fois via des canaux différents, je me dis “Tiens faut creuser”. Bon, autant dire qu’avec les technos Web, je suis occupé pour les 20 prochaines années !

Pour aujourd’hui, le tirage au sort a donné : “CyPress“ dont la phrase d’accroche est : “The web has evolved. Finally, testing has too.”. Tout un programme …

Plus

NodeJS, Cloud, tout ça ...

Présentation

Depuis quelques semaines, je “travaille” sur NodeJS pour tester ce que cela peut donner dans un projet. L’idée étant comme d’habitude d’avoir une vision des concepts sans aller (malheureusement) jusqu’à l’expertise …

L’objectif du jour est de voir comment je pourrais héberger une application NodeJS dans le cloud … Pourquoi ? Parce que !

Plus

Fichier ESP sous GIMP

Par défaut, il semble que Gimp 2 ait quelques difficultés à ouvrir les fichiers EPS. Voici une solution :

  • Installer Ghostscript https://www.ghostscript.com/download/gsdnld.html
  • Récupérer la dll : gsdll64.dll depuis l’installation de GhostScript (C:\Program Files\gs\gs9.21\bin)
  • Dans le répertoire GIMP (C:\Program Files\GIMP 2\bin), renommer libgs-8.dll en libgs-8.old
  • Copier gsdll64.dll dans le répertoire Gimp puis renommer en libgs-8.dll
  • Relancer Gimp

Votre PassPort !

PassPort

PassPort est un middleware NodeJs qui s’occupe d’authentifier un utilisateur. Comme je fais du NodeJS depuis quelques temps et qu’après quelques recherches, je me suis rendu compte que ce middelware était assez populaire : c’est parti pour aujourd’hui !

Plus

[Angular][NodeJS] Gestion des routes

Présentation

Un point qui peut devenir “embêtant” quand on associe Angular & NodeJs et que NodeJS “sert” l’application Angular: la gestion des routes. En effet, comment faire la différence entre une route qui doit être gérée par NodeJS (l’API) et une route qui est gérée par Angular ? Il ne faudrait pas qu’un utilisateur reçoivent une erreur 404 de la part de NodeJs alors qu’il essaye d’accéder à une URL gérée par Angular.

Solution : ce qui n’est pas géré par Node renvoie vers Angular

app.get('*', (req, res) => {
    res.sendFile(path.join( __dirname + '/client/dist/index.html' ));
});

Cette route doit être intégrée après les différentes routes gérées dans NodeJS.