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-1.9.735.exe
Version: 1.9.735
Installer la plateforme
Etape 1 : lancement de l’installation
Lancez le programme “Constellation Web Platform Installer.exe”
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 :
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.
Etape 4 : choix du canal de distribution
Vous devez sélectionner le canal de distribution à utiliser : Stable ou Pre-release (versions Beta) :
Etape 5 : répertoire d’installation
Vous devez choisir le répertoire d’installation racine de la plateforme Constellation :
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
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” :
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 :
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 :
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 :
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.
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) :
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 :
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 :
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) :
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 :
Etape 10 : Installation
La configuration des composants est désormais terminée. Vous retrouverez tout le détail sur l’écran de confirmation :
En cliquant sur le bouton “Install”, le Web Platform Installer va télécharger les dernières versions de composants Constellation à installer :
Puis il déroulera l’installation et la configuration de chacun de ces 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) :
Etape 11 : Validation de l’installation
En fermant le programme d’installation, la sentinelle UI va être lancée :
En double-cliquant sur l’icone vous pourrez visualiser les logs de cette sentinelle qui doit être correctement connectée au serveur :
Vous aurez également la Console Constellation qui se lancera dans votre navigateur Internet par défaut :
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 :
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 :
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
- Ajoutez des sentinelles dans votre Constellation
- Téléchargez et déployez des packages sur vos sentinelles
- Exposer votre serveur Constellation derrière avec reverse proxy IIS ou Nginx et ajouter le support du HTTPS/SSL
Vous souhaitez installer le serveur et sa console sur un système Linux ?
Prêt pour développer avec Constellation ?
- Créez votre premier package Constellation en C#
- Créez des packages UI en Winform ou WPF
- Connectez vos pages Web à Constellation
- Créez votre premier package Constellation en Python
- Connectez un Arduino ou un ESP8266 à Constellation
Constellation-Web-Platform-Installer-1.9.735.exe
Version: 1.9.735
Constellation-Web-Platform-Installer-1.9.735.exe
Version: 1.9.735
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 ?
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
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 :
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).
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
Ça fonctionne, merci ! Je vais pouvoir commencer à jouer
Au passage : désolé, je n’avais pas vu la rubrique « Questions »…
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