Sommaire

Après avoir introduit Constellation, découvrons comment installer la plateforme sur vos ordinateurs ou serveurs.

Prérequis

La plateforme Constellation se compose :

  • d’un serveur qui héberge et expose la Constellation en HTTP/s (un serveur = une Constellation)
  • de sentinelles (UI ou Service) à installer sur vos différentes machines (tout système Windows ou Linux)
  • d’une Console d’administration : application Web de pilotage de votre Constellation

Vous pouvez installer le serveur Constellation sur une machine Windows ou Linux, que ce soit un laptop, un desktop, un NUC, un SoC, un serveur local ou dans le Cloud.

Dans la rubrique Constellation Server vous retrouverez plusieurs articles sur les différentes installations possibles (système Linux,  Raspberry, cloud Azure ou Amazon, etc…).

Pour démarrer, nous allons déployer dans ce guide une Constellation complète (serveur, sentinelle, console et le SDK) sur une machine Windows.

Vous avez donc besoin pour suivre ce guide :

  • d’un ordinateur ou serveur sous Windows (Windows 7/8/10 ou Windows Server)
  • Pour installer le SDK : Visual Studio 2015, 2017 ou 2019

Si vous ne disposez pas de licence de Visual Studio, vous pouvez installer la version  “Community”, une version gratuite de Visual Studio compatible avec le SDK Constellation : https://www.visualstudio.com/fr-fr/products/visual-studio-community-vs.aspx

Télécharger la plateforme Constellation

Sur la page de téléchargement vous trouverez plusieurs programmes d’installation pour chaque composant Constellation  :

  • Le serveur
  • Les sentinelles (UI ou Service)
  • La console
  • Le SDK Visual Studio

Mais pour gagner en productivité, vous avez à votre disposition le “Web Platform Installer” (WPI), un programme d’installation tout-en-un qui télécharge automatiquement et configure les composants que vous souhaitez installer.

Commencez donc par télécharger le programme  “Constellation Web Platform Installer” pour Windows :

Constellation Web Platform Installer
Constellation Web Platform Installer
Constellation-Web-Platform-Installer-1.9.735.exe
Version: 1.9.735
1.2 MiB
1897 Downloads
Détails

Installer la plateforme

Etape 1 : lancement de l’installation

Lancez le programme “Constellation Web Platform Installer.exe”

Web Platform Installer

Etape 2 : identification

Vous devez dans cette étape renseigner votre compte myConstellation.io afin de pouvoir télécharger les composants Constellation et accéder à vos licences :

Identification

Etape 3 : acceptez la licence d’utilisation

Vous retrouverez le détail des licences Constellation sur cette page. Pour résumer, Constellation est gratuit pour un usage personnel ou éducatif sans aucun but lucratif et soumis à l’acquisition d’une licence pour un usage professionnel ou entreprise.

Licence d'utilisation

Etape 4 : choix du canal de distribution

Vous devez sélectionner le canal de distribution à utiliser : Stable ou Pre-release (versions Beta) :

Choix du canal

Etape 5 : répertoire d’installation

Vous devez choisir le répertoire d’installation racine de la plateforme Constellation :

Repertoire d'installation de la plateforme

Etape 6 : sélectionnez les composants Constellation à installer

Vous pouvez sélectionner ici les composants à installer ou utiliser les profils prédéfinis :

  • Full server installation : installation typique pour un serveur (le serveur, la sentinelle en version service et la console Constellation)
  • Full developer installation : installation typique pour un poste de développement (le serveur, la sentinelle UI, la console et le SDK Visual Studio)
  • Custom installation : sélectionnez à la carte les composants que vous souhaitez installer

Selection des composants

Notez que le WPI vous indiquera la dernière version de chaque composant à installer et est capable de déployer les mises à jour pour chacun de ces composants si une nouvelle version plus récente est disponible.

Notez également que si Visual Studio n’est pas installé, le composant SDK sera grisé avec la mention “Not applicable”.

Dans ce guide, sélectionnons le profil “Développeur” :

Selection des composants

Etape 7 : configuration du serveur Constellation

Entrons désormais dans les étapes de configuration de chacun des composants à installer en commençant par le serveur Constellation.

Etape 7.1 : sélection de la licence

Premièrement, vous devez sélectionner une licence pour l’utilisation du serveur. Vous pouvez utiliser une licence que vous aurez préalablement téléchargée depuis le portail Constellation ou  vous connecter directement sur le service de licence de Constellation depuis le WPI :

Selection de la licence

Vous obtiendrez l’ensemble des licences associées à votre compte avec la possibilité de créer des licences gratuites pour un usage personnel (plus d’information ici).

Dans notre cas créons une licence personnelle :

Selection/Création de la licence

Etape 7.2 : choix du répertoire des packages

Dans cette étape vous devez définir le répertoire pour votre catalogue de packages de votre Constellation.

Par défaut, il s’agit du sous-dossier “Packages” de votre répertoire d’installation :

Configuration du Package Repository

Etape 7.3 : choix du port d’écoute du serveur

Le serveur Constellation utilise le protocole HTTP pour exposer ses différents hubs et API. Pour cela vous avez besoin de choisir le port d’écoute et de l’ouvrir au niveau de votre firewall.

L’assistant peut déclarer le port que vous avez choisi dans le pare-feu de Windows. Si vous souhaitez ouvrir Constellation à l’extérieur de votre réseau local, à vous d’ouvrir le port sur votre routeur.

Configuration réseau

A noter que vous pouvez déclarer dans la configuration du serveur Constellation sur plusieurs ports HTTP et/ou HTTPS ou même définir un chemin HTTP personnalisé. Il est d’ailleurs conseillé d’activer le protocole HTTPS si vous souhaitez exposer votre serveur Constellation sur Internet. Vous retrouverez plusieurs articles sur la configuration avancée du serveur dans la rubrique Constellation Server.

Etape 7.4 : choix des clés d’accès

Pour se connecter à Constellation vous avez besoin de créer des clés d’accès (les “Access Keys”). Dans le cas d’une nouvelle installation, l’assistant vous proposera de créer deux clés :

  • Une clé “Standard” (accès de base) que vous utiliserez pour connecter vos sentinelles et packages
  • Une clé “Administrator” qui dispose des droits d’accès au hub de contrôle (pour le pilotage de la Constellation) et à l’API de Management (pour la configuration du serveur) :

Configuration des Access Keys

Une clé d’accès est une chaîne de caractère. Il est conseillé de choisir des clés d’accès assez longues (> 16 caractères) et compliquées.

Pour simplifier leurs mémorisations et générations, Constellation propose d’utiliser un couple login/password pour créer des clés d’accès. Pour cela, on utilise le hash SHA1.

Exemple : pour le login “Admin” et le mot de passe “Password”, la clé d’accès sera “d882b8721a224d38ebb54559e6b54e5df3a1bc6d » (soit SHA1(“AdminPassword”)). Notez bien que la casse est importante !

Dans l’assistant d’installation, cliquez sur le bouton “Use Password” pour renseigner un couple login/password afin de générer les Access Keys :

Création des Access KeysCréation des Access Keys

Pour finir, vous pouvez ajouter le droit de débogage sur la clé “Administrator” en cochant la case correspondante. Cela nous permettra de tester des packages connectés à votre Constellation depuis Visual Studio.

Etape 8 : configuration de la Console Constellation

Comme la Console Constellation est déployée sur la même machine que le serveur Constellation, l’assistant vous propose héberger la console par le serveur Constellation lui-même.

Si vous désirez utiliser votre propre serveur Web pour exposer la Console (Apache, IIS ou autre) sélectionnez la deuxième option mais dans notre guide laissons le serveur Constellation héberger la console :

Hosting de la console

Vous pouvez ensuite fixer une clé d’accès en dur ou utiliser une page de login. De plus vous pouvez également restreindre l’accès à la console en local seulement.

Laissons les options par défaut (c’est à dire Console ouverte à tous avec une page de login) :

Configuration de la console

Etape 9 : configuration de la Sentinelle Constellation

Dans la sélection des composants nous avons indiqué vouloir installer la sentinelle UI. Vous arrivez donc à cette étape de configuration.

Comme la sentinelle est installée sur la même machine sur le serveur, vous pouvez l’inclure automatiquement dans votre Constellation ou bien l’inclure dans une autre Constellation en sélectionnant la deuxième option.

Dans notre cas, laissons la première option sélectionnée pour ajouter notre sentinelle UI à notre Constellation en cours d”installation :

Ajout de la sentinelle

Etape 10 : Installation

La configuration des composants est désormais terminée. Vous retrouverez tout le détail sur l’écran de confirmation :

Confirmation d'installation

En cliquant sur le bouton “Install”, le Web Platform Installer va télécharger les dernières versions de composants Constellation à installer :

Téléchargement des composants

Puis il déroulera l’installation et la configuration de chacun de ces composants :

Installation des composants

A la fin de l’installation, l’assistant vous proposera de lancer la Console et la Sentinelle UI (car ces deux composants ont été installés) :

Fin de l'installation

Etape 11 : Validation de l’installation

En fermant le programme d’installation, la sentinelle UI va être lancée :

Démarrage de la sentinelle UI

En double-cliquant sur l’icone vous pourrez visualiser les logs de cette sentinelle qui doit être correctement connectée au serveur :

Sentinel UI

Vous aurez également la Console Constellation qui se lancera dans votre navigateur Internet par défaut :

Page de connexion à la Console

Utilisez le Login/Password de la clé d’accès “Administrator” pour vous connecter. Sur la page “Sentinels” vous devriez voir votre sentinelle UI locale connectée :

Sentinelle connectée

Bravo vous avez déployé votre première Constellation avec succès !

Optionnellement : ajouter ou mettre à jour un composant

Vous pouvez à tout moment relancer le “Web Platform Installer” (WPI) pour ajouter ou mettre à jour des composants Constellation.

Ainsi quand des mises à jour Constellation sont disponibles, vous avez juste à relancer le WPI et vous laissez guider par l’assistant.

Dans notre exemple, relançons le WPI. Comme nous le montre l’écran ci-dessous, tous les composants sont bien à jour mais vous pouvez encore ajouter la “Sentinel Service” sur cette machine :

Ajout de composant

Vous entrez alors dans la configuration de la sentinelle avec la possibilité d’ajouter cette nouvelle sentinelle à votre Constellation locale (car précédemment installée) ou de l’ajouter à une autre Constellation.

Next steps

Vous souhaitez installer le serveur et sa console sur un système Linux ?

Prêt pour développer avec Constellation ?

Installer la plateforme Constellation 1.8
Constellation Web Platform Installer
Constellation Web Platform Installer
Constellation-Web-Platform-Installer-1.9.735.exe
Version: 1.9.735
1.2 MiB
1897 Downloads
Détails
Constellation Web Platform Installer
Constellation Web Platform Installer
Constellation-Web-Platform-Installer-1.9.735.exe
Version: 1.9.735
1.2 MiB
299 Downloads
Détails
Editer la page sur GitHub
Étiqueté avec :                

Sur le forum :

  1. Avatar for gromk gromk says:

    A la fin de l’installation, la Sentinel UI se lance bien, mais la connexion au hub ne marche pas. J’ai indéfiniment les mêmes messages :

    2017-03-28 23:56:54.7131 : Connection state changed to [Connecting]
    2017-03-28 23:56:57.0063 : Connection state changed to [Disconnected]
    2017-03-28 23:56:57.0063 : Disconnected from the hub! Trying to reconnect in 3 seconds …

    Que dois-je faire ?

  2. Bonsoir,

    Premièrement il faut vérifier la configuration de la sentinelle. Dans le répertoire d’installation de la sentinelle, ouvrir le fichier Constellation.Sentinel.UI.exe.config et vérifier l’adresse du serveur Constellation et l’AccessKey.

    Avec un navigateur Internet, tester l’adresse du serveur Constellation tel qu’inscrit dans le fichier de configuration. Si le serveur Constellation est bien démarré et en écoute sur cette URI une page web indiquant le n° de version du serveur devrait s’afficher.

    Cas 1 : la page web ne s’affiche pas => le serveur n’est pas démarré ou n’a pas pu démarrer (voir les logs côté serveur) ou bien l’URI n’est pas la bonne ou problème réseau / firewall

    Cas 2 : la page web s’affiche donc l’URI du serveur est correcte et le serveur bien démarré. Dans ce cas problème d’AccessKey. Vérifier sur la Console Constellation, la sentinelle devrait être déclarée.

    Indiquez-nous votre cas pour affiner l’analyse et résoudre le problème.

    Bien à vous

  3. Avatar for gromk gromk says:

    Le serveur n’est en effet pas démarré, et je n’arrive pas à le démarrer manuellement.

    J’ai l’erreur suivante :

    « Le service Constellation Server 1.8 sur Ordinateur local a démarré et s’est ensuite arrêté. Certains services s’arrêtent automatiquement s’ils ne sont pas utilisés par d’autres services ou programmes »

    Rien de spécial dans le log côté serveur, à part la même ligne “[Info] Initializing the Constellation Server v1.8.1.16273” répétée à chaque démarrage.

    Voici par contre une erreur trouvée dans l’observateur d’évènements de mon Windows 7 :

    Service cannot be started.
    System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
     ---> System.InvalidOperationException: Cannot load Counter Name data because an invalid index '' was read from the registry.
     at System.Diagnostics.PerformanceCounterLib.GetStringTable(Boolean isHelp) at System.Diagnostics.PerformanceCounterLib.get_NameTable()
     at System.Diagnostics.PerformanceCounterLib.get_CategoryTable() at System.Diagnostics.PerformanceCounterLib.CategoryExists(String machine, String category)
     at System.Diagnostics.PerformanceCounterCategory.Exists(String categoryName, String machineName)
     at Constellation.Server.Core.Providers.WindowsPerformanceCounterProvider.Initialize(String instanceName)
     at Constellation.Server.Core.ConstellationPerformanceCounter.Initialize(String instanceName)
     at Constellation.Server.Core.ConstellationServerManager.ConstellationBootstrapper..ctor(String[] listenUris, String constellationName)
    --- End of inner exception stack...
    

    La commande “net start constellationserver” exécutée même avec des privilèges admin indique que le service n’a pas pu être lancé (sans pour autant renvoyer de message d’erreur).

  4. Bonjour,

    En effet, lorsque le serveur Constellation ne peut pas démarrer il y a peu ou pas de log du tout dans le répertoire « Logs » du dossier Constellation (étant donné que le serveur ne peut démarrer, il ne peut écrire !).

    De ce fait tu as eu le bon réflexe : il faut chercher dans l’observateur d’événement Windows pour avoir l’erreur de démarrage.

    Dans ton cas il s’agit d’un problème avec les compteurs de performance Windows déjà rencontré ici : https://developer.myconstellation.io/questions/question/probleme-demarrage-constellation-server-1-8-2/

    Il te suffit de lancer la commande » lodctr /r » dans cmd.exe (en admin).

    EDIT du 23/04/2017 : depuis la version 1.8.2 du serveur Constellation, les compteurs de performances sont par défaut désactivés. Pour ceux désireux de suivre les stats du service, on peut les activer en modifiant le fichier de configuration manuellement (lire cette doc). Cela évite ce genre d’erreur lors du premier démarrage :wink:

  5. Avatar for gromk gromk says:

    Ça fonctionne, merci ! Je vais pouvoir commencer à jouer :slightly_smiling_face:

    Au passage : désolé, je n’avais pas vu la rubrique « Questions »…

  6. Bonjour Sébastien

    Vraiment bluffé par ton système, même si tout le monde doit te le dire.

    Voilà, est ce que Constellation fonctionnerait avec Windows 7 en version starter

    ou passer en Debian 9.4…

    Merci d’avance !

    A+

    Nico

Continuez la discussion sur le forum Constellation

Participants

Avatar for gromk Avatar for nicovd Avatar for sebastien_warin