﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tag Server - Constellation</title>
	<atom:link href="https://developer.myconstellation.io/tag/server/feed/" rel="self" type="application/rss+xml" />
	<link>https://developer.myconstellation.io/tag/server/</link>
	<description>Votre plateforme d&#039;interconnexion</description>
	<lastBuildDate>Tue, 16 Jun 2020 10:04:28 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0.11</generator>

<image>
	<url>https://developer.myconstellation.io/wp-content/uploads/2016/02/256x256-e1457476015859.png</url>
	<title>Tag Server - Constellation</title>
	<link>https://developer.myconstellation.io/tag/server/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Constellation 1.8.3 est disponible</title>
		<link>https://developer.myconstellation.io/blog/constellation-1-8-3-est-disponible/</link>
					<comments>https://developer.myconstellation.io/blog/constellation-1-8-3-est-disponible/#respond</comments>
		
		<dc:creator><![CDATA[Sebastien Warin]]></dc:creator>
		<pubDate>Wed, 12 Jul 2017 12:50:01 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sentinel]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[Changelog]]></category>
		<guid isPermaLink="false">https://developer.myconstellation.io/?p=5242</guid>

					<description><![CDATA[<p>La nouvelle version 1.8.3 de la plateforme Constellation disponible depuis lundi 10 juillet 2017 sur l’environnement “beta” vient tout juste d’être validée sur l’environnement “Stable” aujourd&#8217;hui-même ! Vous pouvez mettre à jour votre installation en lançant le « Web Platform Installer »</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/blog/constellation-1-8-3-est-disponible/">Constellation 1.8.3 est disponible</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>La nouvelle version 1.8.3 de la plateforme Constellation disponible depuis lundi 10 juillet 2017 sur l’environnement “beta” vient tout juste d’être validée sur l’environnement “Stable” aujourd&rsquo;hui-même !</p>
<p>Vous pouvez mettre à jour votre installation en lançant le « Web Platform Installer » sur Windows :</p>
<div class="wpfilebase-file-default" onclick="if('undefined' == typeof event.target.href) document.getElementById('wpfb-file-link-1').click();">
  <div class="icon"><a href="https://developer.myconstellation.io/download/installers/Constellation-Web-Platform-Installer-1.9.735.exe" target="_blank" title="Download Constellation Web Platform Installer"><img class="colorbox-5242"  align="middle" src="https://developer.myconstellation.io/wp-includes/images/crystal/interactive.png" alt="Constellation Web Platform Installer" /></a></div>
  <div class="filetitle">
    <a href="https://developer.myconstellation.io/download/installers/Constellation-Web-Platform-Installer-1.9.735.exe" title="Download Constellation Web Platform Installer" target="_blank" id="wpfb-file-link-1">Constellation Web Platform Installer</a>
    <a href="https://developer.myconstellation.io/getting-started/installer-constellation/#wpfb-file-42" class="postlink">» Article</a>
    <br />
    Constellation-Web-Platform-Installer-1.9.735.exe<br />
    Version: 1.9.735<br />
  </div>
  <div class="info">
    1.2 MiB<br />
    2137 Downloads<br />
    <a href="#" onclick="return wpfilebase_filedetails(1);">Détails</a>
  </div>
  <div class="details" id="wpfilebase-filedetails1" style="display: none;">
  <p>Constellation Web Platform Installer pour Windows</p>
  <table border="0">
   
   <tr><td><strong>Auteur:</strong></td><td>MyConstellation.io</td></tr>
   <tr><td><strong>Plateformes:</strong></td><td>Windows</td></tr>
   
   <tr><td><strong>Catégorie:</strong></td><td>Web Platform Installers</td></tr>
   <tr><td><strong>Licence:</strong></td><td>Constellation License Agreement</td></tr>
   <tr><td><strong>Date:</strong></td><td>juin 15, 2020</td></tr>
  </table>
  </div>
 <div style="clear: both;"></div>
</div>
<p>Ou, sur Linux, en lançant la commande :</p>
<p></p><pre class="crayon-plain-tag">wget -O install.sh https://developer.myconstellation.io/download/installers/install-linux.sh &amp;&amp; chmod +x install.sh &amp;&amp; ./install.sh</pre><p></p>
<h3>Constellation Server 1.8.3</h3>
<p>Tout d’abord les dépendances du serveur Constellation ont été mises à jour : Json.NET 9.0.1, NLog 4.4.11, SignalR 2.2.2 et enfin la stack OWIN en version 3.1. Chacune d’entre elles apportant des correctifs et améliorations de performance.</p>
<p>La modification la plus importante de cette version 1.8.3 est la refonte complète de la gestion des packages au niveau du serveur. En effet, jusqu’à présent seuls les packages réels (et non virtuels) étaient gérés par le hub de contrôle. Pour les packages virtuels, il fallait exploiter l’API de Management (ou lire la configuration XML) car ils n’existaient pas sur le hub de contrôle (d’où le terme “virtuel”).</p>
<p>Désormais, chaque package déclaré dans la configuration d’une Constellation, qu’il soit réel ou virtuel, est chargé sur le hub de contrôle. Il n’y a donc plus de Statut en “N/A” sur la Console Constellation : tous les packages ont par défaut un état à “Unknown”. Une simple connexion sur le hub de contrôle permet donc de récupérer l’intégralité des packages d’une Constellation sans devoir combiner des informations venant de la configuration XML pour y ajouter la partie « virtuelle ».</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/07/image.png"><img class="colorbox-5242"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Constellation Console 1.8.3" src="https://developer.myconstellation.io/wp-content/uploads/2017/07/image_thumb.png" alt="Constellation Console 1.8.3" width="404" height="147" border="0" /></a></p>
<p>De plus les packages virtuels initialisant des abonnements aux messages ou StateObjects sont maintenant marqués comme “connecté” sur le hub de contrôle permettant de suivre leurs états. Par exemple, un Arduino/ESP est maintenant vu comme connecté sur le hub de contrôle :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/07/image-1.png"><img loading="lazy" class="alignnone colorbox-5242" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Trois packages Arduino/EST vus comme connecté dans Constellation 1.8.3" src="https://developer.myconstellation.io/wp-content/uploads/2017/07/image_thumb-1.png" alt="Trois packages Arduino/EST vus comme connecté dans Constellation 1.8.3" width="404" height="221" border="0" /></a></p>
<p>Aussi chaque package envoie désormais, en plus de son n° de version et de la libraire Constellation utilisée, le type de la libraire utilisée : il s’agit de la propriété “ConstellationClientType”.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/07/image-2.png"><img class="colorbox-5242"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Remonté du type de la librarie Constellation" src="https://developer.myconstellation.io/wp-content/uploads/2017/07/image_thumb-2.png" alt="Remonté du type de la librarie Constellation" width="244" height="109" border="0" /></a></p>
<p>Aussi, il est possible définir le répertoire de base de la Constellation dans lequel trouver le fichier de configuration en spécifiant la clé « Constellation.BaseDirectory ». Cela permet de séparer les binaires Constellation de sa configuration, très utile dans un environnement Docker. Un article sur le sujet sera prochainement publié.</p>
<p><!--EndFragment--></p>
<p>Outre différentes optimisations du code et correction de défauts mineurs on peut aussi noter :</p>
<ul>
<li>Server / ControlHub : le ReloadServerConfiguration envoi la liste des packages aux sentinelles seulement connectées et « Update settings » sur les packages connectés seulement et non à tous les groupes</li>
<li>Server / ControlHub : prise en charge des mises à jour de configuration des packages à volée</li>
<li>Server / Management API : ajout d’un objet de synchronisation pour les I/O vers le fichier de configuration pour éviter les écritures concurrentes</li>
<li>Server / Licensing : LeaseLicensing dans le domaine serveur si multi-tenant sinon dans le domaine de la constellation si mono-instance (permettant ainsi de récupérer les erreurs de licence dans la Console Log)</li>
<li>Server / API REST : le timeout des sessions HTTP est maintenant de 150 secondes par défaut configurable dans le fichier de configuration</li>
</ul>
<p>Enfin notez que le serveur 1.8.3 est rétrocompatible avec les différents composants Constellation 1.8.x, que ce soit pour la Console, les packages ou les sentinelles. Autrement dit vous pouvez mettre à jour votre serveur en 1.8.3 tout en gardant vos packages et sentinelles 1.8.x fonctionnelles.</p>
<h3>Constellation Sentinel 1.8.3</h3>
<p>L’autre grande nouveauté de cette nouvelle version 1.8.3 est la refonte complète du gestionnaire de processus sur les sentinelles.</p>
<p>Jusqu’à présent lorsqu’une sentinelle recevait sa liste des packages, elle se chargeait de télécharger et démarrer chaque package de sa liste. Si le package était déjà en fonctionnement elle levait un Warning ce qui avait tendance à “polluer” les logs notamment lorsqu’on déployé la configuration au niveau d’une Constellation. Enfin lorsqu’un package en fonctionnement était supprimé de la liste, elle fermait le processus associé.</p>
<p>Le problème dans ce mécanisme est que si vous arrêtez un package et que vous redéployer la configuration, par exemple en ajoutant, supprimant ou modifiant les settings d&rsquo;un autre package, la liste était renvoyée à votre sentinelle qui relançait “bêtement” le package vous avez arrêté !</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/07/image-3.png"><img class="colorbox-5242"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Sentinelle 1.8.3 connectée" src="https://developer.myconstellation.io/wp-content/uploads/2017/07/image_thumb-3.png" alt="Sentinelle 1.8.3 connectée" width="354" height="68" border="0" /></a></p>
<p>C’est pour cela que le fonctionnement interne de la sentinelle a été profondément revu et a conduit à la réécriture complète du mécanisme de gestion des processus. Ainsi la description de chaque package, démarré ou non, est maintenue en mémoire. Lorsqu’une sentinelle reçoit sa nouvelle liste, elle est toujours capable de charger/démarrer les nouveaux packages et supprimer/arrêter les packages retirés mais les packages existants ne sont pas redémarrés automatiquement, ils conservent leurs états.</p>
<p>Cette refonte a amélioré beaucoup de chose en apportant plus de fiabilité et stabilité dans le suivi du processus et elle apporte une meilleure cohérence des états de chaque package.</p>
<p>Aussi, comme le serveur, les dépendances ont été mises à jour : Json.NET 9.0.1, SignalR 2.2.2, NLog 4.4.11 et NLog.Windows.Form 4.2.3 pour la Sentinelle UI.</p>
<p>Notez enfin qu&rsquo;une sentinelle 1.8.3 peut fonctionner sans aucun problème dans une Constellation 1.8.x de version antérieure tout comme une sentinelle antérieure à la version 1.8.3 pour fonctionner sur une Constellation 1.8.3.</p>
<ul><!--EndFragment--></ul>
<h3>Constellation Console 1.8.3</h3>
<p>La Console Constellation a aussi reçu sont lot de nouveautés à l’occasion de cette nouvelle release 1.8.3.</p>
<p>Etant donné la refonte dans la gestion des packages sur le hub de contrôle, la Console Constellation a été impacté à ce niveau. Elle se base exclusivement sur le hub de contrôle sans devoir interroger la Management API en parallèle pour intégrer les packages virtuels ou non connectés.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/07/image-4.png"><img class="colorbox-5242"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Console Constellation 1.8.3" src="https://developer.myconstellation.io/wp-content/uploads/2017/07/image_thumb-4.png" alt="Console Constellation 1.8.3" width="404" height="221" border="0" /></a></p>
<p>Suite à la publication des <a href="/blog/nouvelles-api-javascript-angularjs-1-8-2/">nouvelles librairies Javascript et AngularJS 1.8.2 </a>du mois dernier, les codes snippets du <a href="/constellation-platform/constellation-console/messagecallbacks-explorer/">MessageCallbacks Explorer</a> ont été mis à jour pour intégrer les nouveautés de ces librairies.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/07/image-5.png"><img class="colorbox-5242"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Code snippet JS 1.8.2" src="https://developer.myconstellation.io/wp-content/uploads/2017/07/image_thumb-5.png" alt="Code snippet JS 1.8.2" width="404" height="256" border="0" /></a></p>
<p>On notera aussi l’ajout d’un bouton pour vider la Console Log, l’ajout ConstellationClientType sur les packages ou encore du credential utilisé par une sentinelle sur la fenêtre de détail. Aussi la Console supporte pleinement les utilisateurs connectés sans droits de Management.</p>
<p>Mais aussi :</p>
<ul>
<li>Console / Package : Gestion des packages virtuels avec un statut Unknown, menu contextuel synchronisé et mise à jour de l’activité pour les packages virtuels</li>
<li>Console / Packages : « Update Settings » affiché dans le menu contextuel si le package est connecté et démarré (package virtuel compris)</li>
<li>Console / Packages : bugfix sur le déploiement de package avec un setting de type DateTime (module $filter non injecté dans le contrôleur principal)</li>
<li>Console / Packages : bugfix sur le déploiement de la configuration une fois que le SetRecoveryOption est terminé et non en parallèle</li>
<li>Console : déconnexion des deux hubs (consumer et controller) si l’un des deux est déconnecté (cas très rare où l’un des deux hubs parvient à se reconnecter et pas l’autre)</li>
<li>Console : Mise à jour de l’API Constellation Javascript &amp; AngularJS en version 1.8.2 et de la librairie SignalR 2.2.2</li>
</ul>
<h3>Autres nouveautés</h3>
<p>La librairie .NET pour les packages a été mise à jour en version 1.8.3.17190, et est disponible sur le repository Nuget. Cette nouvelle version envoie le “ConstellationClientType” ( net40 » ou « net45 ») lors de la connexion de votre package à Constellation. De plus les dépendances ont été mises à jour vers JSON.NET 9.0.1 et SignalR 2.2.2.</p>
<p>Notez enfin qu&rsquo;un package exploitant l&rsquo;API 1.8.3 peut fonctionner sans aucun problème sur une Constellation 1.8.x de version antérieure tout comme un package antérieure à la version 1.8.3 peut fonctionner sur une Constellation 1.8.3.</p>
<p>Une nouvelle version SDK est également disponible. Il intègre une mise à jour des templates de projet Constellation pour prendre en compte les dernières versions des API 1.8.3.</p>
<p>Pour finir le <a href="/constellation-platform/constellation-server/installer-constellation-sur-linux/">Web Platform Installer pour Linux</a> a lui aussi été mis à jour. Il garde en mémoire le jeton d’authentification entre les différents installeurs Server, Sentinel et Console de façon à éviter de devoir se ré authentifier à chaque composant mais surtout le pilotage des services Server et Sentinel dans Supervisor est désormais basé sur “supervisorctl” pour une gestion plus fine des services.</p>
<p>Pour consulter le <a href="/constellation-platform/changelog/#10072017_Release_183_18317190">changelog complet</a> de cette nouvelle version <a href="/constellation-platform/changelog/#10072017_Release_183_18317190">cliquez ici</a>. N’hésitez pas non plus à remonter <a href="https://developer.myconstellation.io/forums/topic/constellation-1-8-1-en-release-candidate/">vos feedbacks sur le forum</a>.</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/blog/constellation-1-8-3-est-disponible/">Constellation 1.8.3 est disponible</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://developer.myconstellation.io/blog/constellation-1-8-3-est-disponible/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WakeOnLan : réveillez vos équipements réseau depuis Constellation</title>
		<link>https://developer.myconstellation.io/package-library/wakeonlan/</link>
					<comments>https://developer.myconstellation.io/package-library/wakeonlan/#comments</comments>
		
		<dc:creator><![CDATA[Constellation Documentation Agent]]></dc:creator>
		<pubDate>Sun, 21 May 2017 08:36:00 +0000</pubDate>
				<category><![CDATA[Packages]]></category>
		<category><![CDATA[WOL]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Wake On Lan]]></category>
		<guid isPermaLink="false">https://developer.myconstellation.io/?p=4926</guid>

					<description><![CDATA[<p>Documentation en cours de rédaction &#8230;</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/package-library/wakeonlan/">WakeOnLan : réveillez vos équipements réseau depuis Constellation</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Documentation en cours de rédaction &#8230;</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/package-library/wakeonlan/">WakeOnLan : réveillez vos équipements réseau depuis Constellation</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://developer.myconstellation.io/package-library/wakeonlan/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Constellation 1.8.2 est disponible</title>
		<link>https://developer.myconstellation.io/blog/constellation-1-8-2-est-disponible/</link>
					<comments>https://developer.myconstellation.io/blog/constellation-1-8-2-est-disponible/#comments</comments>
		
		<dc:creator><![CDATA[Sebastien Warin]]></dc:creator>
		<pubDate>Sun, 23 Apr 2017 11:53:11 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[Changelog]]></category>
		<guid isPermaLink="false">https://developer.myconstellation.io/?p=4177</guid>

					<description><![CDATA[<p>La nouvelle version 1.8.2 de la plateforme Constellation est disponible au téléchargement depuis le 22 avril 2017. Vous pouvez mettre à jour votre installation en lançant le « Web Platform Installer » : Ou sur Linux en lançant la commande suivante :</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/blog/constellation-1-8-2-est-disponible/">Constellation 1.8.2 est disponible</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>La nouvelle version 1.8.2 de la plateforme Constellation est disponible au téléchargement depuis le 22 avril 2017.</p>
<p>Vous pouvez mettre à jour votre installation en lançant le « Web Platform Installer » :</p>
<div class="wpfilebase-file-default" onclick="if('undefined' == typeof event.target.href) document.getElementById('wpfb-file-link-2').click();">
  <div class="icon"><a href="https://developer.myconstellation.io/download/installers/Constellation-Web-Platform-Installer-1.9.735.exe" target="_blank" title="Download Constellation Web Platform Installer"><img class="colorbox-4177"  align="middle" src="https://developer.myconstellation.io/wp-includes/images/crystal/interactive.png" alt="Constellation Web Platform Installer" /></a></div>
  <div class="filetitle">
    <a href="https://developer.myconstellation.io/download/installers/Constellation-Web-Platform-Installer-1.9.735.exe" title="Download Constellation Web Platform Installer" target="_blank" id="wpfb-file-link-2">Constellation Web Platform Installer</a>
    <a href="https://developer.myconstellation.io/getting-started/installer-constellation/#wpfb-file-42" class="postlink">» Article</a>
    <br />
    Constellation-Web-Platform-Installer-1.9.735.exe<br />
    Version: 1.9.735<br />
  </div>
  <div class="info">
    1.2 MiB<br />
    2137 Downloads<br />
    <a href="#" onclick="return wpfilebase_filedetails(2);">Détails</a>
  </div>
  <div class="details" id="wpfilebase-filedetails2" style="display: none;">
  <p>Constellation Web Platform Installer pour Windows</p>
  <table border="0">
   
   <tr><td><strong>Auteur:</strong></td><td>MyConstellation.io</td></tr>
   <tr><td><strong>Plateformes:</strong></td><td>Windows</td></tr>
   
   <tr><td><strong>Catégorie:</strong></td><td>Web Platform Installers</td></tr>
   <tr><td><strong>Licence:</strong></td><td>Constellation License Agreement</td></tr>
   <tr><td><strong>Date:</strong></td><td>juin 15, 2020</td></tr>
  </table>
  </div>
 <div style="clear: both;"></div>
</div>
<p>Ou sur Linux en lançant la commande suivante :</p>
<p></p><pre class="crayon-plain-tag">wget -O install.sh https://developer.myconstellation.io/download/installers/install-linux.sh &amp;&amp; chmod +x install.sh &amp;&amp; ./install.sh</pre><p></p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image.png"><img class="colorbox-4177"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Mise à jour 1.8.2" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb.png" alt="Mise à jour 1.8.2" width="350" height="286" border="0" /></a></p>
<h3>Constellation SDK 1.8.2 : support de Visual Studio 2017</h3>
<p>La nouvelle version du SDK Constellation est désormais compatible avec toutes les éditions de Visual Studio 2012, 2013, 2015 et maintenant 2017.</p>
<p>Cette version embarque également une mise à jour du générateur de code pour supporter des booléens optionnels dans la signature des MC ou encore l’ajout de méthode d’extension pour les StateObjects de type générique.</p>
<p>Aussi, les fenêtres s’ouvrent maintenant au centre de l’instance Visual Studio et non sur l’écran principal ce qui était peu conviviale sur les environnements multi-écrans. Les templates de projet ont également été mis à jour.</p>
<p>Enfin avec l’arrivée de Visual Studio 2017, le programme d’installation du SDK a été révisé pour supporter cette nouvelle version ainsi que le concept de “multi-instance” de Visual Studio 2017. Vous aurez maintenant le programme “VSIX Installer” qui sera lancé automatiquement lors de l’installation pour sélectionner les instances de VS où installer le SDK Constellation.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-1.png"><img class="colorbox-4177"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Installation du SDK par VSIX Installer" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-1.png" alt="Installation du SDK par VSIX Installer" width="350" height="286" border="0" /></a></p>
<h3>Constellation Console 1.8.2 : plus de productivité</h3>
<p>Cette mise à jour apporte beaucoup d’améliorations de la Console Constellation.</p>
<h5>Déploiement des mises à jour des packages</h5>
<p>Depuis Constellation 1.8.1, lorsqu’une mise à jour est disponible dans le catalogue en ligne, vous avez une notification avec la possibilité de télécharger la nouvelle version du package :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-7.png"><img class="colorbox-4177"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Mise à jour des packages depuis le catalogue en ligne" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-7.png" alt="Mise à jour des packages depuis le catalogue en ligne" width="240" height="153" border="0" /></a></p>
<p align="left">La nouvelle version du package est déployée dans votre repository local et c’est à vous, ensuite, de déployer manuellement cette nouvelle version sur les instances en cours de fonctionnement via le bouton “Reload”.</p>
<p align="left">Désormais avec la version de 1.8.2 de la Console, une fenêtre s’ouvre automatiquement à la suite du déploiement d’une mise à jour d’un package pour vous proposer de recharger directement le ou les packages sur les sentinelles de votre Constellation où ils sont déployés :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-2.png"><img class="colorbox-4177"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Déploiement des mises à jour des packages" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-2.png" alt="Déploiement des mises à jour des packages" width="227" height="240" border="0" /></a></p>
<h5>Détachement des fenêtres</h5>
<p>Sur toutes les pages de la Console 1.8.2, vous avez deux nouvelles icones en haut à droite :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-3.png"><img class="colorbox-4177"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Détachement des fenêtres" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-3.png" alt="Détachement des fenêtres" width="218" height="90" border="0" /></a></p>
<p align="left">La première icone permet de détacher la page en cours dans une pop-up et la deuxième icone permet de détacher la page en cours dans un nouvel onglet de votre navigateur.</p>
<p align="left">Cela permet d’ouvrir plusieurs pages de la Console sur un même écran, pour suivre par exemple les logs, contrôler les packages, visualiser les StateObjects, etc. sans devoir changer constamment de page :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-4.png"><img class="colorbox-4177"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Détachement des fenêtres" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-4.png" alt="Détachement des fenêtres" width="240" height="109" border="0" /></a></p>
<h5>Contrôle de la compatibilité du déploiement des packages sur les sentinelles</h5>
<p>Sur la fenêtre de déploiement d’un package, un contrôle de compatibilité est réalisé pour vous indiquer si le package est compatible avec la sentinelle sélectionnée.</p>
<p>Par exemple un package comme <a href="/package-library/hwmonitor/">HWMonitor</a> ou <a href="/package-library/windowscontrol/">WindowsControl</a> n’est pas compatible avec une sentinelle Linux, vous aurez donc directement l’information lors du déploiement d’un nouveau package.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-5.png"><img class="colorbox-4177"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Contrôle de la compatibilité" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-5.png" alt="Contrôle de la compatibilité" width="240" height="89" border="0" /></a></p>
<p align="left">Ce contrôle est basé sur les informations définies dans le <a href="/concepts/package-manifest/#Informations_de_compatibilite">manifeste du package</a>. A charge au package de spécifier les informations de compatibilité dans leur manifeste.</p>
<h5>Les filtres persistants</h5>
<p>Les filtres de chaque page sont maintenant conservés lorsque l’on change puis revient sur une page (au sein d’une même session). Cela apporte plus de productivité en nous évitant de devoir constamment réappliquer les filtres lorsque l’on passe d’une page à l’autre.</p>
<p><!--EndFragment--></p>
<h4 align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-6.png"><img class="colorbox-4177"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Filtres persistants" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-6.png" alt="Filtres persistants" width="240" height="65" border="0" /></a></h4>
<h5>Plus de réactivité</h5>
<p>Outre les nouvelles fonctionnalités, la Console 1.8.2 apporte aussi plus de réactivité. Anciennement il y a certaines opérations comme la suppression de sentinelles ou de packages, la création d’un package virtuel, qui nécessitaient de recharger la Console (via un F5 par exemple). Désormais, les vues se mettent bien à jour en temps réel quelque soit les actions réalisées.</p>
<p>Il est également possible de déployer plusieurs instances d’un même package sur une même sentinelle.</p>
<h5>Autre</h5>
<p>En vrac :</p>
<ul>
<li>Extinction automatique des packages lors de la suppression d’une sentinelle</li>
<li>Affichage du nombre d’élément filtré et total sur chaque page</li>
<li>Limite de 500 lignes dans la Console Log et de 20 erreurs max dans la sidebar de notification pour éviter les dérives de performances</li>
<li>Rafraichissement automatique du cookie d’authentification lorsque l’on est connecté (pour éviter les déconnexions au changement de page)</li>
<li>Mise en forme des types génériques sur le StateObjects Explorer &amp; MessageCallbacks Explorer</li>
<li>Bugfix graphique sur le rédimensionnement de la Console log &amp; editeur de configuration</li>
<li>Mise à jour des codes snippets pour les appels HTTP (exemples pour l’API Constellation et l’API Consumer) dans le MessageCallbacks Explorer</li>
<li>Appel des ressources JS/CSS et templates HTML avec le numéro de version pour éviter les problèmes de cache lors des mises à jour de la Console</li>
</ul>
<h3>Constellation Server 1.8.2 : section de configuration et compteurs de performance</h3>
<p>Premièrement, le nom de la section de configuration “constellationSection” a été renommé en “constellation”.</p>
<p>Le programme d’installation du serveur 1.8.2 renommera automatiquement la section en cas de mise à jour de votre Constellation. Soyez simplement vigilant sur le fait que, désormais, la section est “<em>&lt;constellation&gt;</em>” et non “<em>&lt;constellationSection&gt;</em>”. Les schémas XSD fournis avec le SDK ainsi que l&rsquo;IntelliSense du “Configuration Editor” de la Console ont été mis à jour dans ce sens.</p>
<p>Ensuite autre modification importante, les compteurs de performance sont activés si et seulement si la clé de configuration  “<em>EnablePerformanceCounters</em>” est définie à “<em>true</em>”.</p>
<p>Si la valeur est “false” ou encore si la clé n’est pas présente, les compteurs ne seront pas activés.</p>
<p></p><pre class="crayon-plain-tag">&lt;appSettings&gt;
  &lt;add key="EnablePerformanceCounters" value="true" /&gt;
&lt;/appSettings&gt;</pre><p></p>
<p>Par défaut, lors d’une nouvelle installation la clé est définie à “false”. Dans le cas d’une mise à jour, la clé n’est pas ajoutée, autrement dit cette clé sera absente de votre configuration. De ce fait, les compteurs de performance sont désactivés par défaut.</p>
<p>C’est pourquoi, si vous souhaitez suivre les indicateurs de performance du serveur Constellation, vous devez explicitement ajouter ou modifier cette clé dans votre fichier de configuration et redémarrer le service Windows “Constellation Server”. Pour rappel, cette fonctionnalité n’est disponible que sur un environnement Windows.</p>
<p>N’hésitez pas à consulter le <a href="/constellation-platform/changelog/#22042017_Release_182_18217112">changelog complet</a> et remonter <a href="https://developer.myconstellation.io/forums/topic/constellation-1-8-1-en-release-candidate/">vos feedbacks sur le forum</a>.</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/blog/constellation-1-8-2-est-disponible/">Constellation 1.8.2 est disponible</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://developer.myconstellation.io/blog/constellation-1-8-2-est-disponible/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Constellation 1.8.1 est disponible</title>
		<link>https://developer.myconstellation.io/blog/constellation-1-8-1-est-disponible/</link>
					<comments>https://developer.myconstellation.io/blog/constellation-1-8-1-est-disponible/#respond</comments>
		
		<dc:creator><![CDATA[Sebastien Warin]]></dc:creator>
		<pubDate>Fri, 16 Sep 2016 13:11:42 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Constellation]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[Changelog]]></category>
		<category><![CDATA[Sentinel]]></category>
		<category><![CDATA[Server]]></category>
		<guid isPermaLink="false">https://developer.myconstellation.io/?p=2572</guid>

					<description><![CDATA[<p>Après deux mois en “Release Candidate”, la version 1.8.1 de la plateforme Constellation est disponible pour tous sur l’environnement de production “stable”. Vous pouvez donc mettre à jour votre installation en lançant le « Web Platform Installer » : Ou sur Linux</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/blog/constellation-1-8-1-est-disponible/">Constellation 1.8.1 est disponible</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Après deux mois en “Release Candidate”, la version 1.8.1 de la plateforme Constellation est disponible pour tous sur l’environnement de production “stable”.</p>
<p>Vous pouvez donc mettre à jour votre installation en lançant le « Web Platform Installer » :</p>
<div class="wpfilebase-file-default" onclick="if('undefined' == typeof event.target.href) document.getElementById('wpfb-file-link-3').click();">
  <div class="icon"><a href="https://developer.myconstellation.io/download/installers/Constellation-Web-Platform-Installer-1.9.735.exe" target="_blank" title="Download Constellation Web Platform Installer"><img class="colorbox-2572"  align="middle" src="https://developer.myconstellation.io/wp-includes/images/crystal/interactive.png" alt="Constellation Web Platform Installer" /></a></div>
  <div class="filetitle">
    <a href="https://developer.myconstellation.io/download/installers/Constellation-Web-Platform-Installer-1.9.735.exe" title="Download Constellation Web Platform Installer" target="_blank" id="wpfb-file-link-3">Constellation Web Platform Installer</a>
    <a href="https://developer.myconstellation.io/getting-started/installer-constellation/#wpfb-file-42" class="postlink">» Article</a>
    <br />
    Constellation-Web-Platform-Installer-1.9.735.exe<br />
    Version: 1.9.735<br />
  </div>
  <div class="info">
    1.2 MiB<br />
    2137 Downloads<br />
    <a href="#" onclick="return wpfilebase_filedetails(3);">Détails</a>
  </div>
  <div class="details" id="wpfilebase-filedetails3" style="display: none;">
  <p>Constellation Web Platform Installer pour Windows</p>
  <table border="0">
   
   <tr><td><strong>Auteur:</strong></td><td>MyConstellation.io</td></tr>
   <tr><td><strong>Plateformes:</strong></td><td>Windows</td></tr>
   
   <tr><td><strong>Catégorie:</strong></td><td>Web Platform Installers</td></tr>
   <tr><td><strong>Licence:</strong></td><td>Constellation License Agreement</td></tr>
   <tr><td><strong>Date:</strong></td><td>juin 15, 2020</td></tr>
  </table>
  </div>
 <div style="clear: both;"></div>
</div>
<p>Ou sur Linux en lançant la commande suivante :</p>
<p></p><pre class="crayon-plain-tag">wget -O install.sh https://developer.myconstellation.io/download/installers/install-linux.sh &amp;&amp; chmod +x install.sh &amp;&amp; ./install.sh</pre><p></p>
<p>A ce sujet, le « Web Platform Installer » pour Linux a été revu pour corriger les différents bugs remontés par la communauté.</p>
<h3>Constellation Server 1.8.1 : ajout des compteurs de performance et nouvelle API de Management</h3>
<p>Outre la refonte du manageur de StateObject et diverses optimisations et corrections de bugs mineurs, la nouvelle version du serveur Constellation supporte les compteurs de performance sous Windows pour pouvoir suivre l’activité du serveur.</p>
<p>Vous trouverez dans l’analyseur de performance Windows une nouvelle catégorie Constellation avec l’ensemble des compteurs du serveur :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-8.png"><img class="colorbox-2572"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Compteurs de performance Windows" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-8.png" alt="Compteurs de performance Windows" width="240" height="180" border="0" /></a></p>
<p>L’autre grande nouveauté concerne l’API de Management. Elle met à disposition une API HTTP/REST d’édition de la configuration de votre Constellation :</p>
<ul>
<li>Gestion des sentinelles</li>
<li>Gestion des packages</li>
<li>Gestion des groupes</li>
<li>Gestion des settings</li>
<li>Gestion des RecoveryOptions</li>
<li>Gestion des credentials et autorisations</li>
<li>Gestion du Package Repository et upload de package</li>
<li>Gestion de la licence</li>
<li>Lire / Ecriture du fichier de configuration</li>
<li>Récupération du numéro de version du serveur</li>
<li>Rechargement et déploiement de la configuration</li>
</ul>
<p>Vous trouverez <a href="/client-api/rest-api/interface-rest-management/">sur cette page la documentation complète</a> relative à cette API.</p>
<h3>Constellation Sentinel 1.8.1</h3>
<p>Les sentinelles remontent désormais au serveur des informations quant au moteur .NET utilisé et prennent en compte les changements de configuration des <a href="/constellation-platform/constellation-server/fichier-de-configuration/#Section_recoveryOptions">RecoveryOptions</a> même si le package est déjà démarré. Aussi diverses optimisations et correctifs de bugs mineurs sont embarqués dans cette mise à jour.</p>
<h3>Constellation Console 1.8.1 : une console vraiment complète !</h3>
<p>C’est certainement la principale nouveauté de cette release 1.8.1 : l’évolution majeure de la Console !</p>
<p>Couplée à l’API de Management du serveur Constellation 1.8.1, il est désormais possible de configurer / piloter la quasi-totalité de Constellation depuis l’interface graphique de la Console sans devoir éditer le fichier de configuration XML manuellement.</p>
<p>De plus, cette version ajoute le catalogue en ligne de package Constellation directement dans la Console.</p>
<h5>Gestion des sentinelles et packages</h5>
<p>Il est maintenant possible d’ajouter, éditer ou supprimer les sentinelles depuis l’interface graphique.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-9.png"><img class="colorbox-2572"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Ajout de sentinelles" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-9.png" alt="Ajout de sentinelles" width="350" height="146" border="0" /></a></p>
<p align="left">De la même façon, il est possible de déployer des packages sans devoir éditer le fichier de configuration XML grâce à un assistant de déploiement :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-10.png"><img class="colorbox-2572"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Déployer un package" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-10.png" alt="Déployer un package" width="350" height="128" border="0" /></a></p>
<p align="left">De plus il est maintenant possible d’éditer la configuration ou les paramètres (settings) d’un package, de gérer les groupes de messages ou encore de supprimer les packages depuis l’interface de la Console :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-11.png"><img class="colorbox-2572"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Gestion des packages" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-11.png" alt="Gestion des packages" width="350" height="165" border="0" /></a></p>
<ul><!--EndFragment--></ul>
<h5>Gestion des settings</h5>
<p>La Console 1.8.1 rend possible l’édition des settings des packages sur base du manifeste. La Console tient compte des <a href="/concepts/package-manifest/#Informations_sur_les_Settings_du_package">différentes informations contenues dans le manifeste</a> comme les valeurs par défaut, le type du setting, son caractère obligatoire ou non, etc..</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-12.png"><img class="colorbox-2572"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Edition de settings" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-12.png" alt="Edition de settings" width="350" height="210" border="0" /></a></p>
<p align="left">De plus l’éditeur s’adaptera en fonction du type du setting (types simples, section XML ou JSON) :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-13.png"><img class="colorbox-2572"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Edition de settings" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-13.png" alt="Edition de settings" width="350" height="280" border="0" /></a></p>
<h5>Le catalogue de package en ligne</h5>
<p>Le catalogue de package officiel est directement intégré dans la console ce qui vous permettra de déployer des nouveaux packages ou les mises à jour sans quitter votre Console Constellation.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-14.png"><img class="colorbox-2572"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Ajout du catalogue en ligne" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-14.png" alt="Ajout du catalogue en ligne" width="350" height="223" border="0" /></a></p>
<h5>Gestion des crédentials et des autorisations</h5>
<p>Il est désormais possible de gérer les crédentials depuis l’interface de la Console sans devoir éditer la configuration XML :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-15.png"><img class="colorbox-2572"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Gestion des credentials" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-15.png" alt="Gestion des credentials" width="350" height="83" border="0" /></a></p>
<p align="left">De plus, les autorisations sont également éditables depuis la Console :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-16.png"><img class="colorbox-2572"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Gestion des autorisations" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-16.png" alt="Gestion des autorisations" width="350" height="368" border="0" /></a></p>
<h5>Editeur de configuration</h5>
<p>L’éditeur de configuration a évolué afin d’ajouter l&rsquo;IntelliSense sur du base du schéma de configuration de Constellation pour simplifier l’édition bien qu’avec cette nouvelle version 1.8.1 il n’est plus tellement nécessaire de devoir éditeur ce fichier manuellement, l’interface de la Console permet la quasi-totalité des opérations.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-17.png"><img class="colorbox-2572"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Ajout de l'IntelliSense" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-17.png" alt="Ajout de l'IntelliSense" width="350" height="127" border="0" /></a></p>
<p>Pour consulter le changelog complet de la version 1.8.1 :</p>
<ul>
<li><a href="/constellation-platform/changelog/#15092016_Release_181_18116259">Release 1.8.1 (1.8.1.16259)</a></li>
<li><a href="/constellation-platform/changelog/#14092016_Release_181_RC3_18116258">Release 1.8.1 RC3 (1.8.1.16258)</a></li>
<li><a href="/constellation-platform/changelog/#21072016_Release_181_RC2_18116203">Release 1.8.1 RC2 (1.8.1.16203)</a></li>
<li><a href="/constellation-platform/changelog/#20072016_Release_181_RC1_18116202">Release 1.8.1 RC1 (1.8.1.16202)</a></li>
</ul>
<p>N’hésitez pas à remonter <a href="https://developer.myconstellation.io/forums/topic/constellation-1-8-1-en-release-candidate/">vos feedbacks sur le forum</a>.</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/blog/constellation-1-8-1-est-disponible/">Constellation 1.8.1 est disponible</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://developer.myconstellation.io/blog/constellation-1-8-1-est-disponible/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Installer la plateforme Constellation 1.8</title>
		<link>https://developer.myconstellation.io/getting-started/installer-constellation/</link>
					<comments>https://developer.myconstellation.io/getting-started/installer-constellation/#comments</comments>
		
		<dc:creator><![CDATA[Sebastien Warin]]></dc:creator>
		<pubDate>Sun, 13 Mar 2016 18:22:53 +0000</pubDate>
				<category><![CDATA[Constellation Server]]></category>
		<category><![CDATA[Guide de démarrage]]></category>
		<category><![CDATA[Sentinel]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Sentinel UI]]></category>
		<category><![CDATA[Console]]></category>
		<guid isPermaLink="false">https://developer.myconstellation.io/?p=1016</guid>

					<description><![CDATA[<p>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) à</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/getting-started/installer-constellation/">Installer la plateforme Constellation 1.8</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Après avoir <a href="/plateforme/">introduit Constellation</a>, découvrons comment installer la plateforme sur vos ordinateurs ou serveurs.</p>
<p style="text-align: center;"><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/hD8Upyb2jXo" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<h3>Prérequis</h3>
<p>La plateforme Constellation se compose :</p>
<ul>
<li>d’un <strong>serveur</strong> qui héberge et expose la Constellation en HTTP/s (un serveur = une Constellation)</li>
<li>de <strong>sentinelles</strong> (UI ou Service) à installer sur vos différentes machines (tout système Windows ou Linux)</li>
<li>d’une <strong>Console</strong> d&rsquo;administration : application Web de pilotage de votre Constellation</li>
</ul>
<p>Vous pouvez installer le serveur Constellation sur une machine Windows ou <a href="/constellation-platform/constellation-server/installer-constellation-sur-linux/">Linux</a>, que ce soit un laptop, un desktop, un NUC, un SoC, un serveur local ou dans le Cloud.</p>
<p>Dans la rubrique <a href="/constellation-platform/constellation-server/">Constellation Server</a> vous retrouverez plusieurs articles sur les différentes installations possibles (système Linux,  Raspberry, cloud Azure ou Amazon, etc…).</p>
<p>Pour démarrer, nous allons déployer dans ce guide une Constellation complète (serveur, sentinelle, console et le SDK) sur une machine Windows.</p>
<p>Vous avez donc besoin pour suivre ce guide :</p>
<ul>
<li>d&rsquo;un ordinateur ou serveur sous <strong>Windows</strong> (Windows 7/8/10 ou Windows Server)</li>
<li>Pour installer le SDK : <strong>Visual Studio 2015, 2017 ou 2019</strong></li>
</ul>
<p>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 : <a title="https://www.visualstudio.com/fr-fr/products/visual-studio-community-vs.aspx" href="https://www.visualstudio.com/fr-fr/products/visual-studio-community-vs.aspx">https://www.visualstudio.com/fr-fr/products/visual-studio-community-vs.aspx</a></p>
<h3>Télécharger la plateforme Constellation</h3>
<p>Sur la <a href="/download/">page de téléchargement</a> vous trouverez plusieurs programmes d’installation pour chaque composant Constellation  :</p>
<ul>
<li>Le serveur</li>
<li>Les sentinelles (UI ou Service)</li>
<li>La console</li>
<li>Le SDK Visual Studio</li>
</ul>
<p>Mais pour gagner en productivité, vous avez à votre disposition le “<strong>Web Platform Installer</strong>” (WPI), un programme d’installation tout-en-un qui télécharge automatiquement et configure les composants que vous souhaitez installer.</p>
<p>Commencez donc par télécharger le programme  “<strong>Constellation Web Platform Installer</strong>” pour Windows :</p>
<p align="center"><div class="wpfilebase-file-default" onclick="if('undefined' == typeof event.target.href) document.getElementById('wpfb-file-link-4').click();">
  <div class="icon"><a href="https://developer.myconstellation.io/download/installers/Constellation-Web-Platform-Installer-1.9.735.exe" target="_blank" title="Download Constellation Web Platform Installer"><img class="colorbox-1016"  align="middle" src="https://developer.myconstellation.io/wp-includes/images/crystal/interactive.png" alt="Constellation Web Platform Installer" /></a></div>
  <div class="filetitle">
    <a href="https://developer.myconstellation.io/download/installers/Constellation-Web-Platform-Installer-1.9.735.exe" title="Download Constellation Web Platform Installer" target="_blank" id="wpfb-file-link-4">Constellation Web Platform Installer</a>
    
    <br />
    Constellation-Web-Platform-Installer-1.9.735.exe<br />
    Version: 1.9.735<br />
  </div>
  <div class="info">
    1.2 MiB<br />
    2137 Downloads<br />
    <a href="#" onclick="return wpfilebase_filedetails(4);">Détails</a>
  </div>
  <div class="details" id="wpfilebase-filedetails4" style="display: none;">
  <p>Constellation Web Platform Installer pour Windows</p>
  <table border="0">
   
   <tr><td><strong>Auteur:</strong></td><td>MyConstellation.io</td></tr>
   <tr><td><strong>Plateformes:</strong></td><td>Windows</td></tr>
   
   <tr><td><strong>Catégorie:</strong></td><td>Web Platform Installers</td></tr>
   <tr><td><strong>Licence:</strong></td><td>Constellation License Agreement</td></tr>
   <tr><td><strong>Date:</strong></td><td>juin 15, 2020</td></tr>
  </table>
  </div>
 <div style="clear: both;"></div>
</div></p>
<h3>Installer la plateforme</h3>
<h4>Etape 1 : lancement de l’installation</h4>
<p>Lancez le programme “Constellation Web Platform Installer.exe”</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-8.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Web Platform Installer" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-8.png" alt="Web Platform Installer" width="428" height="333" border="0" /></a></p>
<h4>Etape 2 : identification</h4>
<p>Vous devez dans cette étape renseigner votre compte myConstellation.io afin de pouvoir télécharger les composants Constellation et accéder à vos licences :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-9.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Identification" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-9.png" alt="Identification" width="428" height="333" border="0" /></a></p>
<h4>Etape 3 : acceptez la licence d’utilisation</h4>
<p>Vous retrouverez le détail des licences Constellation <a href="/licensing/">sur cette page</a>. 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.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/03/image11.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Licence d'utilisation" src="https://developer.myconstellation.io/wp-content/uploads/2016/03/image11_thumb.png" alt="Licence d'utilisation" width="424" height="347" border="0" /></a></p>
<h4 align="left">Etape 4 : choix du canal de distribution</h4>
<p>Vous devez sélectionner le canal de distribution à utiliser : Stable ou Pre-release (versions Beta) :</p>
<p style="text-align: center;"><a href="https://developer.myconstellation.io/wp-content/uploads/2019/05/image-6.png"><img loading="lazy" class="alignnone aligncenter colorbox-1016" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Choix du canal" src="https://developer.myconstellation.io/wp-content/uploads/2019/05/image-6.png" alt="Choix du canal" width="424" height="347" border="0" /></a></p>
<h4 align="left">Etape 5 : répertoire d’installation</h4>
<p align="left">Vous devez choisir le répertoire d’installation racine de la plateforme Constellation :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/03/image47.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Repertoire d'installation de la plateforme" src="https://developer.myconstellation.io/wp-content/uploads/2016/03/image47_thumb.png" alt="Repertoire d'installation de la plateforme" width="424" height="347" border="0" /></a></p>
<h4 align="left">Etape 6 : sélectionnez les composants Constellation à installer</h4>
<p align="left">Vous pouvez sélectionner ici les composants à installer ou utiliser les profils prédéfinis :</p>
<ul>
<li>
<div align="left"><u>Full server installation</u> : installation typique pour un serveur (le serveur, la sentinelle en version service et la console Constellation)</div>
</li>
<li>
<div align="left"><u>Full developer installation</u> : installation typique pour un poste de développement (le serveur, la sentinelle UI, la console et le SDK Visual Studio)</div>
</li>
<li>
<div align="left"><u>Custom installation</u> : sélectionnez à la carte les composants que vous souhaitez installer</div>
</li>
</ul>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-10.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Selection des composants" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-10.png" alt="Selection des composants" width="428" height="333" border="0" /></a></p>
<p>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.</p>
<p>Notez également que si Visual Studio n’est pas installé, le composant SDK sera grisé avec la mention “Not applicable”.</p>
<p>Dans ce guide, sélectionnons le profil “Développeur” :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-11.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Selection des composants" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-11.png" alt="Selection des composants" width="428" height="333" border="0" /></a></p>
<h4 align="left">Etape 7 : configuration du serveur Constellation</h4>
<p align="left">Entrons désormais dans les étapes de configuration de chacun des composants à installer en commençant par le serveur Constellation.</p>
<h5 align="left">Etape 7.1 : sélection de la licence</h5>
<p align="left">Premièrement, vous devez sélectionner <a href="/licensing/">une licence</a> 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 :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-12.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Selection de la licence" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-12.png" alt="Selection de la licence" width="428" height="333" border="0" /></a></p>
<p align="left">Vous obtiendrez l’ensemble des licences associées à votre compte avec la possibilité de créer des licences gratuites pour un usage personnel (<a href="/licensing/">plus d’information ici</a>).</p>
<p align="left">Dans notre cas créons une licence personnelle :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-13.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Selection/Création de la licence" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-13.png" alt="Selection/Création de la licence" width="428" height="333" border="0" /></a></p>
<h5 align="left">Etape 7.2 : choix du répertoire des packages</h5>
<p align="left">Dans cette étape vous devez définir le répertoire pour votre catalogue de packages de votre Constellation.</p>
<p align="left">Par défaut, il s’agit du sous-dossier “Packages” de votre répertoire d’installation :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-14.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Configuration du Package Repository" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-14.png" alt="Configuration du Package Repository" width="428" height="333" border="0" /></a></p>
<h5 align="left">Etape 7.3 : choix du port d’écoute du serveur</h5>
<p align="left">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.</p>
<p align="left">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.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-15.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Configuration réseau" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-15.png" alt="Configuration réseau" width="428" height="333" border="0" /></a></p>
<p align="left">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 <a href="https://developer.myconstellation.io/constellation-platform/constellation-server/">Constellation Server</a>.</p>
<h5 align="left">Etape 7.4 : choix des clés d’accès</h5>
<p align="left">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 :</p>
<ul>
<li>
<div align="left">Une clé “Standard” (accès de base) que vous utiliserez pour connecter vos sentinelles et packages</div>
</li>
<li>
<div align="left">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) :</div>
</li>
</ul>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-16.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Configuration des Access Keys" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-16.png" alt="Configuration des Access Keys" width="428" height="333" border="0" /></a></p>
<p align="left">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 (&gt; 16 caractères) et compliquées.</p>
<p align="left">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.</p>
<p align="left">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 !</p>
<p align="left">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 :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-17.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Création des Access Keys" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-17.png" alt="Création des Access Keys" width="354" height="275" border="0" /></a><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-18.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Création des Access Keys" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-18.png" alt="Création des Access Keys" width="354" height="275" border="0" /></a></p>
<p align="left">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.</p>
<h4 align="left">Etape 8 : configuration de la Console Constellation</h4>
<p align="left">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.</p>
<p align="left">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 :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-19.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Hosting de la console" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-19.png" alt="Hosting de la console" width="428" height="333" border="0" /></a></p>
<p align="left">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.</p>
<p align="left">Laissons les options par défaut (c’est à dire Console ouverte à tous avec une page de login) :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-20.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Configuration de la console" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-20.png" alt="Configuration de la console" width="428" height="333" border="0" /></a></p>
<h4 align="left">Etape 9 : configuration de la Sentinelle Constellation</h4>
<p align="left">Dans la sélection des composants nous avons indiqué vouloir installer la sentinelle UI. Vous arrivez donc à cette étape de configuration.</p>
<p align="left">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.</p>
<p align="left">Dans notre cas, laissons la première option sélectionnée pour ajouter notre sentinelle UI à notre Constellation en cours d”installation :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-21.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Ajout de la sentinelle" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-21.png" alt="Ajout de la sentinelle" width="428" height="333" border="0" /></a></p>
<h4>Etape 10 : Installation</h4>
<p>La configuration des composants est désormais terminée. Vous retrouverez tout le détail sur l’écran de confirmation :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-22.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Confirmation d'installation" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-22.png" alt="Confirmation d'installation" width="428" height="333" border="0" /></a></p>
<p align="left">En cliquant sur le bouton “Install”, le <em>Web Platform Installer </em>va télécharger les dernières versions de composants Constellation à installer :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-23.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Téléchargement des composants" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-23.png" alt="Téléchargement des composants" width="428" height="333" border="0" /></a></p>
<p align="left">Puis il déroulera l’installation et la configuration de chacun de ces composants :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-24.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Installation des composants" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-24.png" alt="Installation des composants" width="428" height="333" border="0" /></a></p>
<p align="left">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) :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-25.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Fin de l'installation" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-25.png" alt="Fin de l'installation" width="428" height="333" border="0" /></a></p>
<h4 align="left">Etape 11 : Validation de l’installation</h4>
<p align="left">En fermant le programme d’installation, la sentinelle UI va être lancée :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/03/image73.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Démarrage de la sentinelle UI" src="https://developer.myconstellation.io/wp-content/uploads/2016/03/image73_thumb.png" alt="Démarrage de la sentinelle UI" width="424" height="140" border="0" /></a></p>
<p align="left">En double-cliquant sur l’icone vous pourrez visualiser les logs de cette sentinelle qui doit être correctement connectée au serveur :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/03/image77.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Sentinel UI" src="https://developer.myconstellation.io/wp-content/uploads/2016/03/image77_thumb.png" alt="Sentinel UI" width="424" height="207" border="0" /></a></p>
<p align="left">Vous aurez également la Console Constellation qui se lancera dans votre navigateur Internet par défaut :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/03/image81.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Page de connexion à la Console" src="https://developer.myconstellation.io/wp-content/uploads/2016/03/image81_thumb.png" alt="Page de connexion à la Console" width="424" height="332" border="0" /></a></p>
<p>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 :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/03/image85.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Sentinelle connectée" src="https://developer.myconstellation.io/wp-content/uploads/2016/03/image85_thumb.png" alt="Sentinelle connectée" width="424" height="332" border="0" /></a></p>
<p align="left">Bravo vous avez déployé votre première Constellation avec succès !</p>
<h4>Optionnellement : ajouter ou mettre à jour un composant</h4>
<p>Vous pouvez à tout moment relancer le “Web Platform Installer” (WPI) pour<strong> ajouter</strong> ou <strong>mettre à jour</strong> des composants Constellation.</p>
<p>Ainsi quand des mises à jour Constellation sont disponibles, vous avez juste à relancer le WPI et vous laissez guider par l&rsquo;assistant.</p>
<p>Dans notre exemple, relançons le WPI. Comme nous le montre l&rsquo;écran ci-dessous, tous les composants sont bien à jour mais vous pouvez encore ajouter la “Sentinel Service” sur cette machine :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-26.png"><img class="colorbox-1016"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Ajout de composant" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-26.png" alt="Ajout de composant" width="428" height="333" border="0" /></a></p>
<p>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.</p>
<h3>Next steps</h3>
<ul>
<li><a href="https://developer.myconstellation.io/getting-started/ajouter-des-sentinelles/">Ajoutez des sentinelles dans votre Constellation</a></li>
<li><a href="https://developer.myconstellation.io/getting-started/telecharger-et-deployer-des-packages-sur-vos-sentinelles/">Téléchargez et déployez des packages sur vos sentinelles</a></li>
<li>Exposer votre serveur Constellation derrière avec reverse proxy <a href="/constellation-platform/constellation-server/exposer-constellation-derrire-un-serveur-web-reverse-proxy/">IIS</a> ou <a href="/constellation-platform/constellation-server/exposer-constellation-en-https-derriere-un-reverse-proxy-avec-nginx-et-lets-encrypt/">Nginx</a> et ajouter le <a href="https://developer.myconstellation.io/constellation-platform/constellation-server/configuration-ssl/">support du HTTPS/SSL</a></li>
</ul>
<p>Vous souhaitez installer le serveur et sa console sur un système Linux ?</p>
<ul>
<li>
<p class="header-post-title-class"><a href="/constellation-platform/constellation-server/installer-constellation-sur-linux/">Installer Constellation sur Linux</a></p>
</li>
</ul>
<p>Prêt pour développer avec Constellation ?</p>
<ul>
<li><a href="https://developer.myconstellation.io/getting-started/creez-votre-premier-package-constellation-en-csharp/">Créez votre premier package Constellation en C#</a></li>
<li><a href="https://developer.myconstellation.io/client-api/net-package-api/packages-ui-wpf-winform/">Créez des packages UI en Winform ou WPF</a></li>
<li><a href="https://developer.myconstellation.io/getting-started/connectez-vos-pages-web-constellation/">Connectez vos pages Web à Constellation</a></li>
<li><a href="https://developer.myconstellation.io/getting-started/creez-votre-premier-package-constellation-en-python/">Créez votre premier package Constellation en Python</a></li>
<li><a href="https://developer.myconstellation.io/getting-started/connecter-un-arduino-ou-un-esp8266-constellation/">Connectez un Arduino ou un ESP8266 à Constellation</a></li>
</ul>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/getting-started/installer-constellation/">Installer la plateforme Constellation 1.8</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://developer.myconstellation.io/getting-started/installer-constellation/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Le fichier de configuration</title>
		<link>https://developer.myconstellation.io/constellation-platform/constellation-server/fichier-de-configuration/</link>
					<comments>https://developer.myconstellation.io/constellation-platform/constellation-server/fichier-de-configuration/#respond</comments>
		
		<dc:creator><![CDATA[Sebastien Warin]]></dc:creator>
		<pubDate>Tue, 09 Aug 2016 12:52:30 +0000</pubDate>
				<category><![CDATA[Constellation Server]]></category>
		<category><![CDATA[Settings]]></category>
		<category><![CDATA[Sentinel]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Credential]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[AccessKey]]></category>
		<category><![CDATA[SettingsGroups]]></category>
		<category><![CDATA[Authorization]]></category>
		<category><![CDATA[Package]]></category>
		<guid isPermaLink="false">https://developer.myconstellation.io/?p=2149</guid>

					<description><![CDATA[<p>Une Constellation est décrite en un seul fichier : le fichier de configuration Constellation. Ce fichier se nomme “Constellation.Server.exe.config” et se trouve dans le répertoire d’installation du serveur (par défaut dans “Program Files\Constellation Plateform\Server« ). Vous pouvez le modifier de différente</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/constellation-platform/constellation-server/fichier-de-configuration/">Le fichier de configuration</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Une Constellation est décrite en un seul fichier : le <strong>fichier de configuration Constellation</strong>.</p>
<p>Ce fichier se nomme “<em>Constellation.Server.exe.config</em>” et se trouve dans le répertoire d’installation du serveur (par défaut dans “<em>Program Files\Constellation Plateform\Server</em>« ).</p>
<p>Vous pouvez le modifier de différente manière :</p>
<ul>
<li>En éditant ce fichier directement sur le serveur (avec un éditeur de texte type Notepad)</li>
<li>Via la Console Constellation (sur la page Configuration Editor)</li>
<li>Via Visual Studio</li>
<li>Via l’API de Management Constellation</li>
</ul>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/03/image75-4.png"><img class="colorbox-2149"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Edition de la configuration" src="https://developer.myconstellation.io/wp-content/uploads/2016/03/image75_thumb.png" alt="Edition de la configuration" width="363" height="200" border="0" /></a></p>
<p>Le fichier contient une balise globale “configuration” dans laquelle vous trouverez 4 sections :</p>
<ul>
<li><u>configSections</u> : réservé au moteur .NET</li>
<li><u>constellation</u> : la section de configuration Constellation (anciennement nommée &lsquo;constellationSection&rsquo;)</li>
<li><u>startup</u> : réservé au moteur .NET</li>
<li><u>runtime</u> : réservé au moteur .NET</li>
</ul>
<p>Vous ne devez en aucun cas modifier les sections réservées au moteur .NET sans savoir exactement ce que vous faites.</p>
<p>La section de “<strong>constellation</strong>” se décompose de la façon suivante :</p>
<ul>
<li><u><a href="/constellation-platform/constellation-server/fichier-de-configuration/#Section_listenUris">listenUris</a></u> : définit la configuration des URI d’écoute du serveur Constellation</li>
<li><u><a href="/constellation-platform/constellation-server/fichier-de-configuration/#Section_fileServer">fileServer</a></u> : définit la configuration du serveur Web statique utilisé pour l’hébergement de la Console Constellation</li>
<li><u><a href="/constellation-platform/constellation-server/fichier-de-configuration/#Section_recoveryOptions">recoveryOptions</a></u> : définit les options de récupération des packages</li>
<li><u><a href="/constellation-platform/constellation-server/fichier-de-configuration/#Section_sentinels">sentinels</a></u> : définit la configuration des sentinelles (et des packages) de votre Constellation</li>
<li><u><a href="/constellation-platform/constellation-server/fichier-de-configuration/#Section_settingsGroups">settingsGroups</a></u> : définit la configuration des groupes de “settings”</li>
<li><u><a href="/constellation-platform/constellation-server/fichier-de-configuration/#Section_credentials">credentials</a></u> : définit la configuration des credentials pour l’accès à votre Constellation</li>
</ul>
<p>A chaque modification vous devez recharger la configuration soit via le hub de contrôle ou la Console Constellation (bouton “Reload Configuration”) ou soit en redémarrant le service Constellation Server.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/08/image-10.png"><img class="colorbox-2149"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Schéma de configuration" src="https://developer.myconstellation.io/wp-content/uploads/2016/08/image_thumb-10.png" alt="Schéma de configuration" width="350" height="261" border="0" /></a></p>
<h3>Section “listenUris”</h3>
<p>Cette section permet de définir les URI sur lesquels le serveur Constellation doit écouter.</p>
<p></p><pre class="crayon-plain-tag">&lt;listenUris&gt;
  &lt;uri listenUri="http://+:8088/" /&gt;
&lt;/listenUris&gt;</pre><p></p>
<p>Ici le serveur répondra sur le port HTTP 8088 quelque soit le host (nom DNS ou adresse IP) car nous utilisons le wildcard “+” (pour plus d’information, <a href="https://msdn.microsoft.com/en-us/library/system.net.httplistener(v=vs.100).aspx#Anchor_6">lisez ceci</a>).</p>
<p>Vous pouvez configurer autant de “listenUri” que vous souhaitez. Par exemple :</p>
<p></p><pre class="crayon-plain-tag">&lt;listenUris&gt;
  &lt;uri listenUri="http://+:8088/" /&gt;
  &lt;uri listenUri="http://constellation.mydomain.net:8888/" /&gt;
  &lt;uri listenUri="http://+:8080/constellation/" /&gt;
  &lt;uri listenUri="https://+:8089/" /&gt;
&lt;/listenUris&gt;</pre><p></p>
<p>Ici, le serveur Constellation répondra :</p>
<ul>
<li>Aux requêtes sur le port HTTP 8088</li>
<li>Aux requêtes sur le port HTTP 8888 où le host est “constellation.mydomain.net” (en clair une requête <a href="http://&lt;ip&gt;:8888">http://&lt;ip&gt;:8888</a>  ne fonctionnera pas)</li>
<li>Aux requêtes sur le port HTTP 8080 quelque soit le host mais dont le path doit forcement démarrer par “/constellation/”</li>
<li>Aux requêtes sur le port HTTPS 8089 en utilisant un cryptage SSL (<a href="/constellation-platform/constellation-server/configuration-ssl/">plus d’information</a>)</li>
</ul>
<p>Pour prendre en compte les modifications de cette section vous devez redémarrer le service Constellation.</p>
<h3>Section “fileServer”</h3>
<p>Cette section permet d’activer et configurer le “fileServer” de Constellation pour héberger des fichiers statiques (pages HTML, fichiers CSS, JS, images, etc..).</p>
<p>Cela sert principalement pour “auto-héberger”  la Console Constellation par le serveur Constellation lui-même.</p>
<p>En effet, la Console Constellation n’est ni plus ni moins qu’une application Web client-side, c’est à dire une série de pages HTML avec scripts JS et fichiers CSS/Image. Libre à vous de l’héberger sur vos serveurs Web mais afin de limiter les prérequis, le serveur Constellation peut lui-même héberger la console grâce au “fileServer” intégré.</p>
<p>La section “fileServer” ne contient que quatre attributs :</p>
<p></p><pre class="crayon-plain-tag">&lt;fileServer enable="true" path="/WebConsole" localhostOnly="true" physicalPath="D:\App\Constellation\Console" /&gt;</pre><p></p>
<ul>
<li>“<u>enable</u>” : indique si le serveur de fichier statique sur le serveur Constellation doit être activé (<em>true</em> ou <em>false</em>).</li>
<li>“<u>path</u>” : le répertoire d’écoute (préfixé par la listenUri).</li>
<li>“<u>localhostOnly</u>” : indique si le fileServer répond seulement aux requêtes “locales” ou à toutes les requêtes (<em>true</em> ou <em>false</em>).</li>
<li>“<u>physicalPath</u>” : le répertoire physique</li>
</ul>
<p>Dans l’exemple ci-dessus, le serveur de fichier est activé mais ne répondra qu’aux requêtes locales. Le serveur délivra les fichiers dans “D:\App\Constellation\Console” sur l’URL “&lt;listen_URI_du_serveur_Constellation&gt;/WebConsole” par exemple <a href="http://localhost:8088/WebConsole">http://localhost:8088/WebConsole</a> ou <a href="http://127.0.0.1:8088/WebConsole">http://127.0.0.1:8088/WebConsole</a> en partant du principe qu’il existe une listenUri “http://+:8088”.</p>
<p>Comme pour la section précédente (listenUris), il faut obligatoirement redémarrer le service Constellation Server pour prendre en compte ces modifications.</p>
<h3>Section “recoveryOptions”</h3>
<p>Les options de récupération (recoveryOptions) permettent de définir le comportement de la sentinelle en cas d’arrêt brutale de l’exécution d’un package (crash du package).</p>
<p>Chaque package peut avoir ses propres options de récupération mais cette section permet de définir les options “globales”, c’est à dire appliqué par défaut pour chaque package de la Constellation.</p>
<p>Les options de récupérations se résume en quatre propriétés :</p>
<ul>
<li>“<u>restartAfterFailure</u>” (<em>true</em> par défaut) : définit si la sentinelle doit redémarrer un package en cas de crash de ce dernier</li>
<li>“<u>numberOfRetry</u>” (<em>3 </em>par défaut) : définit le nombre maximal de tentative de redémarrage d’un package</li>
<li>“<u>restCounterAfterMinutes</u>” (<em>15 </em>par défaut) : définit la période (en minute) au delà de laquelle le compteur d’erreur est réinitialisé</li>
<li>“<u>restartPackageAfterSeconds</u>” (<em>30 </em>par défaut) : définit le délai d’attente avant de redémarrer un package suite à un crash</li>
</ul>
<p>Dans la configuration par défaut, si un package “crash” il est automatiquement redémarré 30 secondes après son crash dans la limite de 3 tentatives sachant qu’au bout de 15 minutes, le compteur de tentative est réinitialisé à 0.</p>
<h3>Section “sentinels”</h3>
<p>Dans cette section vous allez déclarer vos sentinelles (virtuelles ou non) dans lesquelles vous déclarerez les packages (virtuels ou non) qui eux même déclarons leurs settings et leurs groupes.</p>
<p>En clair, c’est cette section qui décrit votre “Constellation”.</p>
<p>Prenez l’exemple de la Constellation suivante :</p>
<p></p><pre class="crayon-plain-tag">&lt;sentinels&gt;
  &lt;sentinel name="SENTINEL-NAME-DEMO" credential="Standard"&gt;
    &lt;packages&gt;    
      &lt;package name="HWMonitor" enable="true"&gt;&lt;/package&gt;          
      &lt;package name="DemoPackage" credential="ControlHubAccess" enable="true"&gt;
        &lt;settings&gt;
        &lt;import&gt;
          &lt;settingGroup groupName="GroupSettingsDemo" /&gt;
        &lt;/import&gt;
        &lt;setting key="IntSetting" value="42" /&gt;
        &lt;setting key="StringSetting" value="sample config value 2" /&gt;
        &lt;setting key="SettingXml"&gt;
          &lt;content&gt;
            &lt;demo type="test"&gt;
              &lt;list count="42"&gt;
              &lt;a&gt;123&lt;/a&gt;
              &lt;b&gt;test&lt;/b&gt;
              &lt;/list&gt;
            &lt;/demo&gt;
          &lt;/content&gt;
        &lt;/setting&gt;
        &lt;setting key="SettingJson"&gt;
          &lt;content&gt;
          &lt;![CDATA[
          {
            ListenPorts: [ 80, 443 ],
            EnableCaching : true,
            ServerProgramName: "Hypothetical WebServer 1.0",
            Websites: [
              {
                Path: "/srv/www/example/",
                Domain: "example.com",
                Contact: "admin@example.com"    
              },
              {
                Path: "/srv/www/somedomain/",
                Domain: "somedomain.com",
                Contact: "admin@somedomain.com"
              }
            ]
          }
          ]]&gt;
          &lt;/content&gt;
        &lt;/setting&gt;
        &lt;/settings&gt;
      &lt;/package&gt;
    &lt;/packages&gt;
  &lt;/sentinel&gt;
  &lt;sentinel name="ANOTHER-SENTINEL" credential="Standard"&gt;
    &lt;!-- ..... --&gt;
  &lt;/sentinel&gt;
&lt;/sentinels&gt;</pre><p></p>
<p>Voici ce qu’elle décrit :</p>
<ul>
<li>Nous avons deux sentinelles “SENTINEL-NAME-DEMO” et “ANOTHER-SENTINEL »</li>
<li>Les deux sentinelles utilisent le même <a href="/concepts/securite-accesskey-credential-authorization/">credential</a> “Standard” (déclaré dans la <a href="/constellation-platform/constellation-server/fichier-de-configuration/#Section_credentials">section credentials</a>).</li>
<li>Sur la première sentinelle est déployée deux packages :
<ul>
<li>“HWMonitor” : le package utilise le même credential que sa sentinelle (car non défini explicitement donc hérite du credential de sa sentinelle)</li>
<li>“DemoPackage” : ce package utilise le credential nommé “ControlHubAccess” et déclare les settings suivants :
<ul>
<li>IntSetting et StringSetting associés à des valeurs (numérique et string)</li>
<li>SettingXml et SettingJson associés à des contenus (XML et JSON)</li>
<li>Importe le groupes de settings nommé “GroupSettingsDemo” défini dans <a href="/constellation-platform/constellation-server/fichier-de-configuration/#Section_settingsGroups">la section “settingsGroups”</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h4>Les sentinelles</h4>
<p>Pour entrer dans le détail, vous allez déclarer dans la section “sentinels”, les sentinelles de votre Constellation que ce soit des sentinelles réelles ou virtuelles.</p>
<p>Pour cela, vous utiliser la balise “&lt;sentinel&gt;” qui comporte les attributs suivants :</p>
<ul>
<li>“<u>name</u>” : le nom de la sentinelle (obligatoire et unique)</li>
<li>“<u>credential</u>” : le nom du credential (déclaré dans la <a href="/constellation-platform/constellation-server/fichier-de-configuration/#Section_credentials">section credentials</a>) à utiliser pour l’authentification (obligatoire)</li>
</ul>
<p>La section “&lt;sentinel&gt;” contient une collection de “&lt;package&gt;” rangée dans la balise “&lt;packages&gt;”. Chaque package peut-être réel ou virtuel.</p>
<h4>Les packages</h4>
<p>L’élément “&lt;package&gt;” contient les attributs suivants :</p>
<ul>
<li>“<u>name</u>”: le nom de l’instance du package (obligatoire et unique)</li>
<li>“<u>filename</u>” (facultatif) : le nom du fichier du package à utiliser dans le repository (<a href="/concepts/instance-package/">plus d’info</a>)</li>
<li>“<u>enable</u>” (facultatif, par defaut <em>true</em>) : indique si le package est activé ou désactivé</li>
<li>“<u>credential</u>” (facultatif, utilise par défaut du credential de sa sentinelle) : spécifie le <a href="/constellation-platform/constellation-server/fichier-de-configuration/#Section_credentials">credential</a> que le package va utiliser pour s’authentifier sur le serveur Constellation</li>
<li>“<u>autostart</u>” (facultatif, par defaut <em>true</em>) : indique si le package doit automatiquement démarrer sur sa sentinelle ou juste être déployé (et donc démarré manuellement)</li>
</ul>
<p>Un package peut contenir ensuite trois sous sections :</p>
<ul>
<li>“<u>recoveryOptions</u>” : définit les options de récupération du package (par défaut, la sentinelle utilise les <a href="/constellation-platform/constellation-server/fichier-de-configuration/#Section_recoveryOptions">options globales</a>)</li>
<li>“<u>settings</u>” : définit les paramètres/variables de configuration d’un package</li>
<li>“<u>groups</u>” : définit les groupes dans lesquels le package sera abonné</li>
</ul>
<h5>Les options de récupérations</h5>
<p>La balise est la même que la <a href="/constellation-platform/constellation-server/fichier-de-configuration/#Section_recoveryOptions">section globale</a>.</p>
<p>Par exemple si on ne souhaite pas que le package redémarre en cas de crash, on peut écrire :</p>
<p></p><pre class="crayon-plain-tag">&lt;package name="MonPackage" enable="true"&gt;
  &lt;recoveryOptions restartAfterFailure="false" /&gt;
&lt;/package&gt;</pre><p></p>
<h5>Les paramètres de configuration</h5>
<p>Chaque package peut définir des paramètres de configuration au niveau du serveur Constellation. Cela vous permet de changer ces paramètres directement depuis la Constellation qui se chargera de redescendre ces paramètres sur vos packages.</p>
<p>Il y a deux types de settings :</p>
<ul>
<li>Les “Setting Value” : il s’agit d’un couple clé/value</li>
<li>Les “Setting Content”  : il s’agit d’un setting dont la valeur peut être un XML ou JSON</li>
</ul>
<p>Dans l’exemple plus haut, le package “DemoPackage” contient à la fois des settings de type “value” et de type “content”.</p>
<p>Vous pouvez également regrouper des settings dans les groupes afin de les partager entre plusieurs package grâce aux <a href="/constellation-server/fichier-de-configuration/#Section_settingsGroups">settingsGroups</a>. Toujours dans l&rsquo;exemple précédent, le package “DemoPackage” inclut le groupe “GroupSettingsDemo”, un groupe de settings décrit dans la section ”<a href="/constellation-server/fichier-de-configuration/#Section_settingsGroups">settingsGroups</a>”.</p>
<p>Pour plus d’information sur les settings, consultez l’article sur l’exploitation des <a href="/client-api/net-package-api/settings/">settings avec l’API .NET</a>.</p>
<h5>Les groupes</h5>
<p>Comme <a href="/concepts/messaging-message-scope-messagecallback-saga/#Message_Scope">vous le savez</a>, un message peut être envoyé à un groupe dans lequel des packages réels ou virtuels peuvent s’abonner.</p>
<p>Il y a deux manières d’abonner un package à un groupe :</p>
<ul>
<li>Soit par le package lui même en invoquant la méthode “SubscribeToMessage” via les différentes API Constellation misent à disposition</li>
<li>Soit dans la configuration du package au niveau du serveur Constellation</li>
</ul>
<p>Cela vous permet d’avoir la main sur l’appartenance des packages aux groupes que vous pouvez administrer sans devoir modifier vos packages (virtuels ou non).</p>
<p>La section “groups” sur un package permet de définir ces liens. Par exemple :</p>
<p></p><pre class="crayon-plain-tag">&lt;package name="MonPackage" enable="true"&gt;
  &lt;groups&gt;
    &lt;group name="MonGroupeA" /&gt;
    &lt;group name="MonGroupeB" /&gt;
  &lt;/groups&gt;
&lt;/package&gt;</pre><p></p>
<p>Ici le package “MonPackage” est abonné aux groupes “MonGroupeA” et “MonGroupeB”. En cas de modification des affectations aux groupes, il faudra redémarrer le package soit via vos applications en utilisant les API du hub de contrôle soit depuis la Console Constellation.</p>
<h3>Section “settingsGroups”</h3>
<p>Vous pouvez grouper des settings (Content ou Value) dans des groupes au niveau du serveur et importer ces groupes dans les settings de vos packages ou dans d’autres groupes.</p>
<p>Par exemple, créons un groupe pour “HWMonitorSettings” qui contient le setting “Interval” :</p>
<p></p><pre class="crayon-plain-tag">&lt;settingsGroups&gt;
  &lt;group name="HWMonitorSettings"&gt;
    &lt;settings&gt;
      &lt;setting key="Interval" value="500" /&gt;
    &lt;/settings&gt;
  &lt;/group&gt;
&lt;/settingsGroups&gt;</pre><p></p>
<p>Ainsi pour chaque instance du package “HWMonitor”, vous pouvez importer le groupe “HWMonitorSettings” afin de centraliser la configuration de ce package :</p>
<p></p><pre class="crayon-plain-tag">&lt;package name="HWMonitor"&gt;
  &lt;settings&gt;
    &lt;import&gt;
      &lt;settingGroup groupName="HWMonitorSettings" /&gt;
    &lt;/import&gt;
  &lt;/settings&gt;
&lt;/package&gt;</pre><p></p>
<p>Vous pouvez importer des groupes dans des groupes sans limite.</p>
<p>C’est toujours la valeur du setting la plus proche du package qui gagne (surcharge).</p>
<p>Bien entendu, vous pouvez créer autant de groupe que vous voulez et chaque groupe peut contenir des SettingValue ou des SettingContent :</p>
<p></p><pre class="crayon-plain-tag">&lt;settingsGroups&gt;
  &lt;group name="test"&gt;
    &lt;settings&gt;
      &lt;setting key="Demo1" value="Seb" /&gt;
      &lt;setting key="Demo2" value="123" /&gt;
    &lt;/settings&gt;
  &lt;/group&gt;
  &lt;group name="test2"&gt;
    &lt;settings&gt;
      &lt;import&gt;
        &lt;settingGroup groupName="common" /&gt;
      &lt;/import&gt;
      &lt;setting key="Demo1" value="Sebastien" /&gt;
      &lt;setting key="Demo2" value="2015" /&gt;
    &lt;/settings&gt;
  &lt;/group&gt;
  &lt;group name="common"&gt;
    &lt;settings&gt;
      &lt;setting key="MyStringSetting" value="This is a string" /&gt;
      &lt;setting key="MyBoolSetting" value="true" /&gt;
      &lt;setting key="MyXmlDocument"&gt;
        &lt;content&gt;
          &lt;note date="09-02-2016"&gt;
            &lt;to&gt;Tove&lt;/to&gt;
            &lt;from&gt;Jani&lt;/from&gt;
            &lt;heading&gt;Reminder&lt;/heading&gt;
            &lt;body&gt;Don't forget me this weekend!&lt;/body&gt;
          &lt;/note&gt;
        &lt;/content&gt;
      &lt;/setting&gt;
      &lt;setting key="MyJsonObject"&gt;
        &lt;content&gt;
          &lt;![CDATA[
        {
          "Number": 123,
          "String" : "This is a test (local)",
          "Boolean": true
        }
        ]]&gt;
        &lt;/content&gt;
      &lt;/setting&gt;
    &lt;/settings&gt;
  &lt;/group&gt;
&lt;/settingsGroups&gt;</pre><p></p>
<p>Pour bien comprendre, imaginez le package suivant :</p>
<p></p><pre class="crayon-plain-tag">&lt;package name="DemoPackage"&gt;
  &lt;settings&gt;
    &lt;import&gt;
      &lt;settingGroup groupName="test" /&gt;
      &lt;settingGroup groupName="test2" /&gt;
    &lt;/import&gt;
    &lt;setting key="numberTest" value="42" /&gt;
    &lt;setting key="Demo1" value="It’me" /&gt;
  &lt;/settings&gt;
&lt;/package&gt;</pre><p></p>
<p>Ici cette instance du package “DemoPackage” définie au niveau du serveur (= sans prendre en compte les settings déclarés dans le fichier local et le manifeste) 7 settings :</p>
<ul>
<li>numberTest = 42 (définit dans les settings du package)</li>
<li>Demo1 = “It’s me” (définit dans les settings du package, cette valeur écrase celle des groupes importés)</li>
<li>Demo2 = 2015 (définit par le groupe “test2”. Cette valeur écrase la valeur du groupe “test”, car le groupe “test2” est importé APRES le groupe “test”)</li>
<li>MyStringSetting, MyBoolSetting, MyXmlDocument et MyJsonObject définies par le groupe “common” (groupe importé dans le groupe “test2” lui même importé sur le package “DemoPackage”).</li>
</ul>
<h3>Section “credentials”</h3>
<p>Comme évoqué dans <a href="/concepts/securite-accesskey-credential-authorization/">l’article lié à la sécurité</a>, tous les appels (http) au serveur Constellation doivent être authentifiés en utilisant une clé d’accès que l’on nomme “AccessKey”.</p>
<p>Ces clé d’accès sont liés à des credentials.</p>
<p>Dans la section “credentials” nous allons donc définir les différents credentials ainsi que les différentes autorisations et droits sur ces credentials.</p>
<p>Chaque credential comporte obligatoirement deux propriétés :</p>
<ul>
<li>Le nom (unique) du credential</li>
<li>L’AccessKey</li>
</ul>
<p>Ainsi que les propriétés suivantes :</p>
<ul>
<li>“<u>enable</u>” (<em>true</em> par défaut) : indique si le credential est activé ou désactivé</li>
<li>“<u>enableControlHub</u>” (<em>false</em> par défaut) : indique si le credential peut se connecter sur le hub de contrôle (pour l’administration de la Constellation)</li>
<li>“<u>enableManagementAPI</u>” (<em>false</em> par défaut) : indique si le credential peut se connecter à l’API de Management (pour l’édition de la configuration)</li>
<li>“<u>enableDeveloperAccess</u>” (<em>false </em>par défaut) : indique si le credential peut utiliser la sentinelle virtuelle “Developer” pour debugger des packages (utilisé par le SDK Visual Studio)</li>
</ul>
<p>Par exemple :</p>
<p></p><pre class="crayon-plain-tag">&lt;credentials&gt;
  &lt;credential name="Standard" accessKey="fb1af70a46057dbf4f2ff3f43b6ec0c544b22749" /&gt;
  &lt;credential name="Administrator" accessKey="b363d6ccb86ef1418a72f9fea4b96975d8a1f2c7" enableControlHub="true" enableDeveloperAccess="true" enableManagementAPI="true" /&gt;
&lt;/credentials&gt;</pre><p></p>
<p>Vous pouvez ensuite définir des <a href="/concepts/securite-accesskey-credential-authorization/#Les_Authorizations">autorisations</a> particulières sur un credential pour l’envoi de message, l’abonnement aux groupes de message ou encore l’interrogation de StateObject.</p>
<p>Pour cela il existe trois sous-sections :</p>
<ul>
<li>“<u>stateObjects</u>” : autorisations spécifiques pour l’interrogation (Request ou Subscribe) des StateObjects</li>
<li>“<u>messages</u>” : autorisations spécifiques pour l’envoi de messages</li>
<li>“<u>groups</u>” : autorisations spécifiques pour l’abonnement aux groupes</li>
</ul>
<h4>Les autorisations sur l’interrogation des StateObjects</h4>
<p>Par défaut un credential actif (<em>enable=true</em>) peut interroger (Request ou Subscribe) tous les StateObjects de votre Constellation sans restriction.</p>
<p>Pour modifier ce comportement vous pouvez utiliser les autorisation sur les StateObjects.</p>
<p>Par exemple :</p>
<p></p><pre class="crayon-plain-tag">&lt;credential name="Standard" accessKey="fb1af70a46057dbf4f2ff3f43b6ec0c544b22749"&gt;
  &lt;authorizations&gt;
    &lt;stateObjects defaultAuthorization="Deny"&gt;
      &lt;authorization id="Paradox" authorization="Allow" packageName="Paradox" /&gt;
      &lt;authorization id="MonPC" authorization="Allow" sentinelName="PC-SEB" /&gt;
      &lt;authorization id="LesCPU" authorization="Allow" packageName="HWMonitor" name="/intelcpu/load/0" /&gt;
      &lt;authorization id="ServerRAM" authorization="Allow" sentinelName="SERVER" packageName="HWMonitor" name="/ram/load" /&gt;
    &lt;/stateObjects&gt;
  &lt;/authorizations&gt;
&lt;/credential&gt;</pre><p></p>
<p>Ici le credential “Standard” ne pourra pas interroger les StateObjects de la Constellation (defaultAuthorization = Deny) sauf pour les exceptions suivantes :</p>
<ul>
<li>Les StateObjects produits par le(s) instance(s) du package “Paradox”</li>
<li>Les StateObjects produits par les packages (quel qu’il soit) de la sentinelle “PC-SEB”</li>
<li>Les StateObjects nommés “/intelcpu/load/0” et produits par le package “HWMonitor” peu importe la sentinelle</li>
<li>Le StateObject nommé “/ram/load” produit par le package “HWMonitor” sur la sentinelle “SERVER”</li>
</ul>
<p>Vous devez donc définir l’autorisation par défaut (defaultAuthorization) et optionnellement ajouter une ou plusieurs exceptions avec l’élément &lt;authorization&gt; dont les attributs sont les suivants :</p>
<ul>
<li>“<u>id</u>” (obligatoire) : identifiant unique de l’autorisation</li>
<li>“<u>authorization</u>” (facultatif &#8211; <em>Allow</em> par défaut) : type de l’exception (<em>Allow</em> ou <em>Deny</em>)</li>
<li>“<u>sentinelName</u>” (facultatif – <em>*</em> par défaut) : sentinelle producteur du StateObject</li>
<li>“<u>packageName</u>” (facultatif – <em>*</em> par défaut) : package producteur du StateObject</li>
<li>“<u>name</u>” (facultatif – <em>*</em> par défaut) :  nom du StateObject</li>
</ul>
<h4>Les autorisations sur l’envoi de messages</h4>
<p>Par défaut un credential actif (<em>enable=true</em>) peut envoyer un message à n’importe quel scope dans votre Constellation sans restriction.</p>
<p>Par exemple :</p>
<p></p><pre class="crayon-plain-tag">&lt;credential name="Standard" accessKey="fb1af70a46057dbf4f2ff3f43b6ec0c544b22749"&gt;
  &lt;authorizations&gt;
    &lt;messages defaultAuthorization="Deny"&gt;
      &lt;authorization id="GroupA" authorization="Allow" scope="Group" args="A" /&gt;
      &lt;authorization id="DemoSeb" authorization="Allow" scope="Package" args="DemoPackage" /&gt;
      &lt;authorization id="TemperatureNest" authorization="Allow" scope="Package" args="Nest" messageKey="SetTargetTemperature"  /&gt;
    &lt;/messages&gt;
  &lt;/authorizations&gt;
&lt;/credential&gt;</pre><p></p>
<p>Ici le credential “Standard” ne pourra pas envoyer de message dans la Constellation (defaultAuthorization = Deny) sauf pour les exceptions suivantes :</p>
<ul>
<li>Messages envoyés au groupe “A”</li>
<li>Messages envoyés au package “DemoPackage”</li>
<li>Message “SetTargetTemperature” envoyé au package “Nest”</li>
</ul>
<p>Vous devez donc définir l’autorisation par défaut (defaultAuthorization) et optionnellement ajouter une ou plusieurs exceptions avec l’élément &lt;authorization&gt; dont les attributs sont les suivants :</p>
<ul>
<li>“<u>id</u>” (obligatoire) : identifiant unique de l’autorisation</li>
<li>“<u>scope</u>” (obligatoire) : type de <a href="/concepts/messaging-message-scope-messagecallback-saga/#Message_Scope">scope</a> pour le message (<em>All</em>, <em>Group</em>, <em>Package</em> ou <em>Sentinel</em>)</li>
<li>“<u>authorization</u>” (facultatif &#8211; <em>Allow</em> par défaut) : type de l’exception (<em>Allow</em> ou <em>Deny</em>)</li>
<li>“<u>args</u>” (facultatif) : les arguments du scope</li>
<li>“<u>messageKey</u>” (facultatif) :  la clé du message</li>
</ul>
<h4>Les autorisation sur l’abonnement aux groupes</h4>
<p>Par défaut un credential actif (<em>enable=true</em>) peut s’abonner à n’importe quel groupe sans restriction.</p>
<p>Par exemple :</p>
<p></p><pre class="crayon-plain-tag">&lt;credential name="Standard" accessKey="fb1af70a46057dbf4f2ff3f43b6ec0c544b22749"&gt;
  &lt;authorizations&gt;
    &lt;groups defaultAuthorization="Deny"&gt;
      &lt;authorization groupName="A" /&gt;
    &lt;/groups&gt;
  &lt;/authorizations&gt;
&lt;/credential&gt;</pre><p></p>
<p>Ici le credential “Standard” ne pourra pas s’abonner à des groupes (defaultAuthorization = Deny) à l’exception du groupe “A”. Les attributs sont les suivants :</p>
<ul>
<li>“<u>groupName</u>” (obligatoire) : le nom du groupe</li>
<li>“<u>authorization</u>” (facultatif &#8211; <em>Allow</em> par défaut) : type de l’exception (<em>Allow</em> ou <em>Deny</em>)</li>
</ul>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/constellation-platform/constellation-server/fichier-de-configuration/">Le fichier de configuration</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://developer.myconstellation.io/constellation-platform/constellation-server/fichier-de-configuration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Configuration du serveur Constellation en SSL</title>
		<link>https://developer.myconstellation.io/constellation-platform/constellation-server/configuration-ssl/</link>
					<comments>https://developer.myconstellation.io/constellation-platform/constellation-server/configuration-ssl/#respond</comments>
		
		<dc:creator><![CDATA[Sebastien Warin]]></dc:creator>
		<pubDate>Tue, 09 Aug 2016 12:56:36 +0000</pubDate>
				<category><![CDATA[Constellation Server]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[Certificat]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Configuration]]></category>
		<guid isPermaLink="false">https://developer.myconstellation.io/?p=2161</guid>

					<description><![CDATA[<p>Afin de sécuriser votre Constellation, il est recommandé d’utiliser un cryptage SSL pour les communications avec votre serveur Constellation. Vous pouvez soit exposer votre serveur Constellation derrière un reverse-proxy IIS, ngnix, Apache ou autre sur lequel vous activerez le cryptage SSL</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/constellation-platform/constellation-server/configuration-ssl/">Configuration du serveur Constellation en SSL</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Afin de sécuriser votre Constellation, il est recommandé d’utiliser un cryptage SSL pour les communications avec votre serveur Constellation.</p>
<p>Vous pouvez soit exposer votre serveur Constellation derrière un reverse-proxy <a href="/constellation-platform/constellation-server/exposer-constellation-derrire-un-serveur-web-reverse-proxy/">IIS</a>, <a href="/constellation-platform/constellation-server/exposer-constellation-en-https-derriere-un-reverse-proxy-avec-nginx-et-lets-encrypt/">ngnix</a>, Apache ou autre sur lequel vous activerez le cryptage SSL ou soit exposer Constellation directement en SSL.</p>
<p>Pour cette dernière option voici la procédure compatible seulement sur un serveur Windows. Si votre serveur Constellation est sous Linux, vous devez mettre en place un reverse proxy (avec <a href="/constellation-platform/constellation-server/exposer-constellation-derrire-un-serveur-web-reverse-proxy/">IIS</a> sur Windows ou <a href="/constellation-platform/constellation-server/exposer-constellation-en-https-derriere-un-reverse-proxy-avec-nginx-et-lets-encrypt/">ngnix</a> sur Linux) devant votre serveur Constellation.</p>
<h3>Etape 1 : créer un certificat SSL</h3>
<p>La première étape consiste à créer un certificat SSL portant le nom de l’URI de votre Constellation (par exemple <em>constellation.mondomaine.com</em>).</p>
<p>Plusieurs options :</p>
<ul>
<li>Créer un certificat auto-signé</li>
<li>Créer un certificat privé avec votre propre autorité de certification</li>
<li>Créer/acheter un certificat à une autorité de certification reconnue</li>
</ul>
<p>Dans le premier cas, il faudra installer ce certificat sur chaque poste client sous peine d’avoir des avertissements de sécurité.</p>
<p>Vous pouvez créer des certificats auto-signés depuis la <a href="https://www.sslshopper.com/article-how-to-create-a-self-signed-certificate-in-iis-7.html">console IIS</a>, <a href="http://windowsitpro.com/blog/creating-self-signed-certificates-powershell">Powershell</a> ou en ligne de commande avec l’utilitaire “<a href="https://www.jayway.com/2014/09/03/creating-self-signed-certificates-with-makecert-exe-for-development/">makecert</a>” sur Windows par exemple. Il existe également <a href="http://www.selfsignedcertificate.com/">des générateurs de certificats auto-signés en ligne</a>.</p>
<p>Si vous avez un domaine Active Directory avec une autorité de certification (ADCS) vous pouvez générer des certificats SSL depuis la console IIS (<a href="https://www.youtube.com/watch?v=DLH7G_3XD2w">voir ici</a>). Il faudra que chaque client de votre Constellation ait le certificat publique de votre autorité de certification (AC) pour fonctionner.</p>
<p>Autrement pour éviter ce type de prérequis, vous devez générer un certificat SSL signé par une véritable autorité de certification tel que GlobalSign, GeoTrust, Gandi, etc. Chez <a href="https://www.startssl.com/">StartCom</a> ou <a href="https://www.wosign.com/english/freessl.htm">WoSign</a>, les certificats SSL sont gratuits. Chez <a href="https://www.gandi.net/ssl">Gandi</a>, vous avez la première année offerte pour chaque domaine que vous commandez chez eux.</p>
<p>Pour finir il est aussi possible d&rsquo;utiliser Let&rsquo;s Encrypt pour générer gratuitement et à la demande des certificats SSL. Il est recommandé d&rsquo;utiliser ce type de certificat avec un reverse proxy pour simplifier le déploiement et le renouvellement. Consultez avec article <a href="/constellation-platform/constellation-server/exposer-constellation-en-https-derriere-un-reverse-proxy-avec-nginx-et-lets-encrypt/">exposer Constellation en SSL avec des certificats Let&rsquo;s Encrypt et Nginx</a>.</p>
<h3>Etape 2 : installer le certificat</h3>
<p>Sous Windows, vous devez ouvrir la MMC de gestion des certificats pour installer le certificat créé à l’étape 1.</p>
<p>Vous pouvez par exemple suivre ces guides :</p>
<ul>
<li><a title="https://fr.godaddy.com/help/iis-8-install-a-certificate-4951" href="https://fr.godaddy.com/help/iis-8-install-a-certificate-4951">https://fr.godaddy.com/help/iis-8-install-a-certificate-4951</a></li>
<li><a title="https://www.startssl.com/Support?v=31" href="https://www.startssl.com/Support?v=31">https://www.startssl.com/Support?v=31</a> (étape 9 à 12).</li>
</ul>
<h3>Etape 3 : lier le certificat à un port TCP</h3>
<p>Lorsque vous installer votre certificat dans la MMC lors de l’étape précédente, copiez l’empreinte (thumbprint) visible dans les propriétés de votre certificat.</p>
<p>Puis dans une invite de commande, entrez la commande suivante :</p>
<p></p><pre class="crayon-plain-tag">netsh http add sslcert ipport=0.0.0.0:XXX appid={12345678-db90-4b66-8b01-88f7af2e36bf} certhash=yyy</pre><p></p>
<p>Vous devez remplacer “XXX” par le port TCP que vous souhaitez utiliser pour exposer Constellation en SSL et “YYY” par le thumbprint de votre certificat SSL.</p>
<h3>Etape 4 : configurer Constellation</h3>
<p>Pour finir éditez le fichier de configuration Constellation (<em>Constellation.Server.exe.config</em>) et ajoutez une “listenUri” sur le port défini dans l’étape précédente.</p>
<p>Par exemple, configurons Constellation pour écouter en HTTP sur le port par défaut 8088 et en HTTPS (SSL) sur le port 8089 :</p>
<p></p><pre class="crayon-plain-tag">&lt;listenUris&gt;
  &lt;uri listenUri="http://+:8088/" /&gt;
  &lt;uri listenUri="https://+:8089/" /&gt;
&lt;/listenUris&gt;</pre><p></p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/constellation-platform/constellation-server/configuration-ssl/">Configuration du serveur Constellation en SSL</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://developer.myconstellation.io/constellation-platform/constellation-server/configuration-ssl/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exposer Constellation en HTTPS derrière un reverse proxy avec Nginx et Let&#8217;s Encrypt</title>
		<link>https://developer.myconstellation.io/constellation-platform/constellation-server/exposer-constellation-en-https-derriere-un-reverse-proxy-avec-nginx-et-lets-encrypt/</link>
					<comments>https://developer.myconstellation.io/constellation-platform/constellation-server/exposer-constellation-en-https-derriere-un-reverse-proxy-avec-nginx-et-lets-encrypt/#respond</comments>
		
		<dc:creator><![CDATA[Sebastien Warin]]></dc:creator>
		<pubDate>Wed, 25 Apr 2018 08:11:01 +0000</pubDate>
				<category><![CDATA[Constellation Server]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[Routeur]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[Constellation]]></category>
		<category><![CDATA[Proxy]]></category>
		<category><![CDATA[Reverse Proxy]]></category>
		<category><![CDATA[Certificat]]></category>
		<category><![CDATA[TCP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://developer.myconstellation.io/?p=5890</guid>

					<description><![CDATA[<p>Pour sécuriser votre Constellation vous devez utilise le protocole HTTPS afin de chiffrer toutes les communications en SSL. Si vous avez un serveur Windows, vous pouvez également utiliser IIS pour configurer un reverse proxy vers Constellation. Dans cet article nous</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/constellation-platform/constellation-server/exposer-constellation-en-https-derriere-un-reverse-proxy-avec-nginx-et-lets-encrypt/">Exposer Constellation en HTTPS derrière un reverse proxy avec Nginx et Let&rsquo;s Encrypt</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Pour sécuriser votre Constellation vous devez utilise le protocole HTTPS afin de chiffrer toutes les communications en SSL.</p>
<p><img loading="lazy" class="alignnone size-full wp-image-3796 aligncenter colorbox-5890" src="https://developer.myconstellation.io/wp-content/uploads/2016/08/ssl.jpg" alt="" width="253" height="189" /></p>
<p>Si vous avez un serveur Windows, vous pouvez également <a href="/constellation-platform/constellation-server/exposer-constellation-derrire-un-serveur-web-reverse-proxy/">utiliser IIS pour configurer un reverse proxy</a> vers Constellation.</p>
<p>Dans cet article nous allons découvrir comment exposer le serveur Constellation derrière un serveur Nginx protégé avec un certificat SSL Let’s Encrypt.</p>
<h3>Prérequis : avoir une Constellation exposée publiquement avec un nom DNS</h3>
<p>Avant de démarrer vous devez avoir un serveur Constellation opérationel.</p>
<p>Si vous installez Constellation sur un Linux, cela se résume à lancer la commande ci-dessous et à suivre l&rsquo;assistant :</p>
<p></p><pre class="crayon-plain-tag">wget -O install.sh https://developer.myconstellation.io/download/installers/install-linux.sh &amp;&amp; chmod +x install.sh &amp;&amp; ./install.sh</pre><p></p>
<p>Pour plus d’information, veuillez suivre le guide : <a href="/constellation-platform/constellation-server/installer-constellation-sur-linux/">Installer Constellation sur Linux.</a></p>
<p>On considéra à ce stade que votre serveur Constellation est démarré et opérationnel. Vous pouvez lancer la commande suivante pour vérifier le statut des services Constellation :</p>
<p></p><pre class="crayon-plain-tag">sudo supervisorctl status</pre><p></p>
<p>Vous devriez voir le “<em>constellation-server</em>” avec le statut “RUNNING” (et la sentinelle si déployée) :</p>
<p></p><pre class="crayon-plain-tag">sebastien@ubuntu:~$ sudo supervisorctl status
constellation-sentinel           RUNNING   pid 1194, uptime 1 day, 17:36:48
constellation-server             RUNNING   pid 2888, uptime 1 day, 15:06:41</pre><p></p>
<p>Vous pouvez également installer Constellation sur un système Windows (voir <a href="/getting-started/installer-constellation/">le guide</a>).</p>
<p>En effet, le reverse proxy (ici Ngnix) qui sera installé sur un système Linux peut exposer un service tel que Constellation quelque soit le serveur sur lequel il est déployé. Le reverse proxy n&rsquo;est pas nécessairement sur la même machine sur le ou les services à exposer.</p>
<p>Il est donc possible d&rsquo;installer un serveur Linux avec Nginx pour exposer en SSL un serveur Constellation sur un système Windows de la même manière que nous pouvons installer un serveur <a href="/constellation-platform/constellation-server/exposer-constellation-derrire-un-serveur-web-reverse-proxy/">Windows avec IIS</a> pour exposer en SSL un serveur Constellation sur un système Linux !</p>
<p>Dans ce guide nous avons installer le serveur Constellation et le reverse proxy Nginx sur le même serveur, sous Linux Ubuntu 16.</p>
<p>Si vous souhaitez activer le HTTPS et donc ajouter un certificat SSL, vous devez nécessairement avoir un nom DNS qui pointe vers l’adresse IP (public) de votre serveur de reverse proxy.</p>
<p>Plusieurs options s&rsquo;offre à vous :</p>
<ul>
<li>Si vous avez un nom de domaine, modifiez votre zone DNS pour ajouter un “host” (enregistrement A ou AAAA) vers l’adresse IP (public) de votre Constellation.</li>
<li>SI vous n’avez pas de nom de domaine :
<ul>
<li>Achetez-en un ! Comptez environ 15€/an pour les extensions standards (.fr, .net, .com), 2,99€ HT par an pour  un <a href="https://www.ovh.com/fr/domaines/" target="_blank" rel="noopener noreferrer">.ovh</a></li>
<li>Utilisez un service de “Dynamic DNS” comme dyndns.fr, dyn.com ou autre</li>
<li>Certains FAI comme Free proposent d&rsquo;attacher un nom DNS type xxxx.hd.free.fr à votre IP de connexion</li>
<li>Certains NAS comme Synology permettent aussi de créer un DDNS type xxx.synology.me vers votre IP de connexion</li>
</ul>
</li>
</ul>
<p>Dans le cas présent, j’ai crée l’entrée DNS “demo.internal.myconstellation.io” qui pointe vers l’adresse IP public du serveur Constellation installé sur un Ubuntu (le DNS doit pointer votre le serveur où sera installé le reverse proxy dans la mesure où tout passera par lui. Etant donné que le reverse proxy sera sur le même serveur que le service Constellation on peut dire que le DNS pointe vers le serveur Constellation).</p>
<p>Bien évidement, si votre serveur est installé dernière un routeur avec du NAT (typiquement sur un réseau local derrière une box Internet) vous devez configurer la redirection de port sur votre routeur/box internet.</p>
<p>Encore une fois, on part du principe que le serveur de R.P et Constellation sont sur le même serveur, donc la même IP interne.</p>
<p>Dans un premier temps redirigez seulement le port 8088 en tcp sur l’IP interne de votre serveur Constellation. A noter que nous supprimerons cette redirection une fois le reverse proxy installé.</p>
<p>Donc pour résumer et avant de démarrer, vous devez avoir votre serveur Constellation démarré répondant sur l’URL : <a href="http://&lt;mon_nom_dns&gt;:8088">http://&lt;mon_nom_dns&gt;:8088</a></p>
<p>Dans mon cas : <a href="http://demo.internal.myconstellation.io:8088">http://demo.internal.myconstellation.io:8088</a> :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2018/04/image-1.png"><img class="colorbox-5890"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Serveur Constellation sur un nom DNS" src="https://developer.myconstellation.io/wp-content/uploads/2018/04/image_thumb.png" alt="Serveur Constellation sur un nom DNS" width="484" height="291" border="0" /></a></p>
<p>Voilà vous êtes prêt, votre Constellation est démarrée et elle répond bien sur un nom DNS public depuis l&rsquo;internet.</p>
<h3>Exposer Constellation derrière Nginx</h3>
<p>Avant de démarrer il est recommandé de mettre à jour le référentiel du gestionnaire de package par la commande suivante :</p>
<p></p><pre class="crayon-plain-tag">sudo apt-get update</pre><p></p>
<p>Ensuite installez le serveur Web Nginx avec la commande :</p>
<p></p><pre class="crayon-plain-tag">sudo apt-get install nginx</pre><p></p>
<p>Les fichiers de configuration sont situés dans le répertoire “<em>/etc/nginx/sites-available/</em>” et pour les activer on crée un lien symbolique vers ces fichiers dans le répertoire “<em>/etc/nginx/sites-enabled</em>”.</p>
<p>Pour commencer désactivez la configuration par défaut par la commande ci-dessous :</p>
<p></p><pre class="crayon-plain-tag">sudo rm /etc/nginx/sites-enabled/default</pre><p></p>
<p>Comme vous l’aurez compris le contenu de cette configuration par défaut est toujours présente dans le répertoire “<em>/etc/nginx/sites-available/</em>” mais non activée car on a supprimé le lien symbolique vers ce fichier dans le répertoire “<em>site-enabled</em>”.</p>
<p>Maintenant nous allons créer une configuration pour notre reverse proxy avec la commande :</p>
<p></p><pre class="crayon-plain-tag">sudo nano /etc/nginx/sites-available/constellation</pre><p></p>
<p>Dans ce fichier, copiez le contenu suivant :</p>
<p></p><pre class="crayon-plain-tag">server {
    listen 80; listen [::]:80;
    server_name demo.internal.myconstellation.io;

    location / {
        proxy_pass http://localhost:8088;

        set $content_length_safe $http_content_length;
        if ($content_length_safe = "") {
            set $content_length_safe 0;
        }
        proxy_set_header Content-Length $content_length_safe;

        proxy_set_header Host $host;
        proxy_set_header Connection "";
        proxy_http_version 1.1;

        proxy_buffering off;
        proxy_cache off;
        proxy_connect_timeout 30;
        proxy_send_timeout 30;
        proxy_read_timeout 150;
    }
}</pre><p></p>
<p>Vous devez modifier le paramètre “<em>server_name</em>” avec le nom DNS de votre serveur Constellation, dans le cas présent “demo.internal.myconstellation.io”.</p>
<p>Il est important de bien reprendre les mêmes options, notamment le “<em>proxy_buffering</em>” pour permettre les “<em>server-Sent events</em>” vers le serveur Constellation.</p>
<p>Dans le cas présent Nginx va « proxifer » les requêtes vers <em>http://localhost:8088</em>, c&rsquo;est à dire au service Constellation (port 8088) installé sur le même serveur (localhost).</p>
<p>Tapez ensuite sur la combinaison de touches “Ctrl+X” pour quitter en prenant suivant d’enregistrer le fichier. Puis, pour activer cette configuration, créez le lien symbolique suivant :</p>
<p></p><pre class="crayon-plain-tag">sudo ln -s /etc/nginx/sites-available/constellation  /etc/nginx/sites-enabled/constellation</pre><p></p>
<p>Avant de redémarrer Nginx, éditez le fichier de configuration global pour augmenter la taille maximale des requêtes entrantes afin de pouvoir uploader des packages Constellation sur le serveur (par défaut cette taille est fixée à 1Mo, autrement dit vous obtiendrez une erreur 413 « Request Entity Too Large » si vous tentez d&rsquo;uploader un package de plus de 1Mo).</p>
<p></p><pre class="crayon-plain-tag">sudo nano /etc/nginx/nginx.conf</pre><p></p>
<p>Sous la section « http », ajoutez l&rsquo;option « <strong>client_max_body_size</strong> » (ou si l&rsquo;option existe déjà, modifiez sa valeur) que nous fixerons à 100 Méga :</p>
<p></p><pre class="crayon-plain-tag">client_max_body_size 100M;</pre><p></p>
<p>Pour finir, rechargez Nginx afin prendre en compte notre nouvelle configuration :</p>
<p></p><pre class="crayon-plain-tag">sudo systemctl reload nginx</pre><p></p>
<p>Votre Constellation est maintenant accessible derrière Nginx sur le port 80.</p>
<p>Rendez-vous donc sur l’adresse http://&lt;votre_nom_dns&gt; (sans spécifier le port, car 80 par défaut) pour vérifier que le reverse proxy est opérationnel. Dans le cas présent <a href="http://demo.internal.myconstellation.io">http://demo.internal.myconstellation.io</a></p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2018/04/image-2.png"><img class="colorbox-5890"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="image" src="https://developer.myconstellation.io/wp-content/uploads/2018/04/image_thumb-1.png" alt="image" width="484" height="290" border="0" /></a></p>
<p align="left">Ce n’est donc plus Constellation qui répond mais notre serveur Nginx qui lui même communique avec le serveur Constellation local.</p>
<p align="left">Donc pour résumer, sur le port 80 c&rsquo;est le serveur Nginx qui répond en transférant au serveur Constellation sur le port 8088.</p>
<p><span style="text-decoration: underline;">Note</span> : si vous êtes dernière un routeur avec du NAT, n’oubliez pas d’ajouter la redirection du port 80 vers votre serveur Constellation interne. Par la même occasion vous pouvez supprimer la redirection du port 8088, ainsi tout passera nécessairement par Nginx.</p>
<h3>Activer le HTTPS avec des certificats SSL Let’s Encrypt</h3>
<p>Maintenant que votre service Constellation est exposé dernière le serveur Nginx vous allez pouvoir configurer différentes choses sur Nginx comme par exemple des restrictions d&rsquo;accès , l’authentification, des limites (throttling) et bien d’autre chose. Dans le cas présent on va s’intéresser au support du SSL.</p>
<p>Pour activer le HTTPS, il vous faut un certificat SSL. Pour simplifier la démarche, Let’s Encrypt est une autorité de certification lancée en 2015 qui permet d’automatiser la génération de certificat. De plus le service est gratuit ! Les certificats sont valides trois mois, il faudra donc régulièrement les renouveler mais vous allez voir que cette action est entièrement automatisable.</p>
<p>Ici nous allons utiliser <a href="https://certbot.eff.org/" target="_blank" rel="noopener noreferrer">Certbot</a>, un agent installé sur le serveur qui permet de générer et renouveler automatiquement les certificats SSL Let’s Encrypt.</p>
<p>Commencez par ajouter le repository suivant :</p>
<p></p><pre class="crayon-plain-tag">sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update</pre><p></p>
<p>Ensuite installez Certbot pour Nginx :</p>
<p></p><pre class="crayon-plain-tag">sudo apt-get install python-certbot-nginx</pre><p></p>
<p>Une fois installé, lancez la commande “<em>certbot –nginx</em>” en spécifiant le nom DNS vers votre serveur. Dans le cas présent :</p>
<p></p><pre class="crayon-plain-tag">sudo certbot --nginx -d demo.internal.myconstellation.io</pre><p></p>
<p>L’assistant vous demandera tout d’abord votre adresse mail :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2018/04/image-3.png"><img class="colorbox-5890"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="image" src="https://developer.myconstellation.io/wp-content/uploads/2018/04/image_thumb-2.png" alt="image" width="484" height="100" border="0" /></a></p>
<p>Après avoir accepté les conditions du service, l’assistant va automatiquement valider un challenge en interrogeant votre site Web (d’où la nécessité d’avoir exposé correctement votre serveur sur Internet avec le nom DNS spécifié), créer le certificat SSL et l&rsquo;ajouter dans votre configuration Nginx.</p>
<p>Pour finir l’assistant vous proposera de modifier automatiquement la configuration de votre Nginx pour rediriger tous les appels HTTP (port 80) vers HTTPS (port 443).</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2018/04/image-4.png"><img class="colorbox-5890"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Activation de la redirection HTTPS" src="https://developer.myconstellation.io/wp-content/uploads/2018/04/image_thumb-3.png" alt="Activation de la redirection HTTPS" width="484" height="438" border="0" /></a></p>
<p>Choisissiez l’option 2 pour activer cette redirection.</p>
<p>Et voilà, votre serveur Nginx est configuré avec le certificat SSL généré par Let’s Encrypt et toutes les requêtes seront redirigés en HTTPS et donc chiffrés !</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2018/04/image-5.png"><img class="colorbox-5890"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="image" src="https://developer.myconstellation.io/wp-content/uploads/2018/04/image_thumb-4.png" alt="image" width="484" height="108" border="0" /></a></p>
<p align="left"><strong>Votre Constellation est maintenant protégée !</strong></p>
<p align="left">Rechargez la page dans votre navigateur (F5) sur l’URL <em>http://&lt;mon_nom_dns&gt;</em> vous constaterez la redirection automatique en <em>https://</em> et le cadenas vert vous informant du chiffrement SSL :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2018/04/image-6.png"><img class="colorbox-5890"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Constellation en HTTPS" src="https://developer.myconstellation.io/wp-content/uploads/2018/04/image_thumb-5.png" alt="Constellation en HTTPS" width="484" height="290" border="0" /></a></p>
<p align="left">(Note : pour les personnes derrières un NAT, n’oubliez pas non plus d&rsquo;ajouter la redirection du port 443 vers votre serveur Nginx interne)</p>
<p align="left">Pour vérifier le bon renouvellement du certificat vous pouvez utiliser la commande suivante :</p>
<p></p><pre class="crayon-plain-tag">sudo certbot renew --dry-run</pre><p></p>
<p align="left">Certbot a automatiquement installé un trigger dans systemd (ou crontab selon le système) pour réaliser le renouvellement et déploiement automatique de vos certificats avant leurs expirations.</p>
<p align="left">Pour les plus curieux, vous pouvez jeter un œil dans le fichier “<em>/etc/nginx/sites-available/constellation</em>” pour voir les modifications apportées par Certbot.</p>
<h3>Pour aller plus loin</h3>
<h4>Sécuriser le serveur avec un firewall UFW et fail2ban</h4>
<h5>Installer fail2ban</h5>
<p><a href="http://fail2ban.sourceforge.net/">Fail2ban</a> est un script tournant en tâche de fond qui va vérifier si les tentatives d&rsquo;authentification SSH et Nginx; et en cas d&rsquo;attaque, bannir l&rsquo;IP grâce à <code>iptables</code>.</p>
<p></p><pre class="crayon-plain-tag">sudo apt-get install fail2ban</pre><p></p>
<p>Pour plus d’info:  <a title="https://www.digitalocean.com/community/tutorials/how-to-protect-an-nginx-server-with-fail2ban-on-ubuntu-14-04" href="https://www.digitalocean.com/community/tutorials/how-to-protect-an-nginx-server-with-fail2ban-on-ubuntu-14-04">https://www.digitalocean.com/community/tutorials/how-to-protect-an-nginx-server-with-fail2ban-on-ubuntu-14-04</a></p>
<h5>Installer UFW</h5>
<p>UFW est un firewall applicatif. Pour l’installer :</p>
<p></p><pre class="crayon-plain-tag">sudo apt-get install ufw</pre><p></p>
<p>Autorisez ensuite les services HTTP (nécessaire pour le challenge Let’s Encrypt), HTTPS (notre reverse proxy Nginx vers Constellation) et SSH :</p>
<p></p><pre class="crayon-plain-tag">sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh</pre><p></p>
<p>Pour l’activer :</p>
<p></p><pre class="crayon-plain-tag">sudo ufw enable</pre><p></p>
<p>Votre serveur Linux ne répondra plus que sur les ports 22 (ssh), 80 (http), 443 (https) en IPv4 et IPv6.</p>
<p></p><pre class="crayon-plain-tag">sebastien@ubuntu:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
22                         ALLOW       Anywhere
80 (v6)                    ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)
22 (v6)                    ALLOW       Anywhere (v6)</pre><p></p>
<p>Vous noterez que le port 8088 n&rsquo;est maintenant plus accessible car bloqué par le firewall UFW. Il faudra forcement se connecter à Constellation via Nginx en HTTPS. N’oubliez pas alors de modifier l’URI de votre Constellation sur vos sentinelles existantes pour prendre en compte ce changement.</p>
<h4>Ajouter d’autre application Web dernière votre reverse proxy SSL</h4>
<p>Jusqu&rsquo;au présent vous avez configuré un nom DNS type “demo.internal.myconstellation.io” qui pointe vers votre serveur Linux sur lequel le service Nginx répond en HTTP (80) et HTTPS (443) avec un certificat Let’s Encrypt pour “proxifier” les requêtes vers le service Constellation accessible localement sur le port 8088.</p>
<p>Vos utilisateurs se connectent donc forcement en HTTPS sur le reverse proxy pour accéder à Constellation !</p>
<p>La règle configurée dans Ngnix “proxifie” toutes les requêtes à partir de la racine « / » vers Constellation :</p>
<p></p><pre class="crayon-plain-tag">location / {
        proxy_pass http://localhost:8088;
....
}</pre><p></p>
<p>Mais il est également possible d’adapter cette règle pour que votre reverse proxy ne soit plus exclusivement un passe-plat pour Constellation mais aussi pour vos autres services internes (une box domotique, un serveur Web, un objet connecté, une camera IP, etc…).</p>
<p>Vous aurez ainsi la possibilité d’exposer différents services Web internes dernière votre reverse proxy profitant d’un même port TCP (le 443) et donc d’un même canal de communication sécurisé (par le cryptage SSL).</p>
<p>Parmi les différentes options pour ce type de configuration :</p>
<ol>
<li>Reverse proxy en fonction du “server_name”</li>
<li>Reverse proxy en fonction de la “location”</li>
</ol>
<h5>Reverse Proxy en fonction du server_name</h5>
<p>Le principe est de rejouer ce tutoriel depuis le début pour chacune de vos applications à exposer.</p>
<p>Vous devrez ainsi créer une adresse DNS vers votre IP public pour chaque site, créer une configuration Nginx en changeant le « <em>server_name</em> » et « <em>proxy_pass</em> » vers la ressource interne à exposer et créer un certificat SSL avec Certbot pour tous vos sites créés.</p>
<p>Vous aurez ainsi une multitude de nom DNS qui pointerons tous vers votre serveur Nginx qui lui redirigera vers les ressources internes en fonction du « server_name ». Par exemple “constellation.mondomaine.fr”, “macamera.mondomaine.fr”, “jeedom.mondomaine.fr”, etc.. etc..</p>
<p>La configuration est simple car il s’agit de répéter ce tutoriel pour chaque service, par contre l’administration est un peu lourde et vous aurez autant de sous domaine et donc de certificat que de service à exposer.</p>
<h5>Reverse Proxy en fonction de la “location”</h5>
<p>Dans ce mode, nous gardons un seul site Nginx (celui configuré dans le fichier <em>/etc/nginx/sites-available/constellation</em>) et donc un seul nom de domaine (ici <em>demo.internal.myconstellation.io</em>) avec son certificat associé.</p>
<p>Cependant au lieu de “rediriger” les requêtes depuis la racine « / » vers Constellation nous allons créer plusieurs “location”.</p>
<p>Prenons un exemple pour bien comprendre. Ici le serveur Ngnix est installé sur la même que le serveur Constellation, donc localhost. Imaginons que dans ce même réseau LAN, j’ai par exemple un serveur ZoneMinder qui répond sur 192.168.0.10 et une box Jeedom sur 192.168.0.11.</p>
<p>Je pourrais éditer la configuration Nginx de cette façon :</p>
<p></p><pre class="crayon-plain-tag">location /constellation/ {
        proxy_pass http://localhost:8088/constellation/;

        proxy_set_header Host $host;
        proxy_set_header Connection "";
        proxy_http_version 1.1;

        proxy_buffering off;
        proxy_cache off;
        proxy_connect_timeout 30;
        proxy_send_timeout 30;
    }
    
    
location /zm/ {
        proxy_pass <a href="http://192.168.0.10/zm/;">http://192.168.0.10/zm/;

</a>        proxy_set_header Host $host;
        proxy_set_header Connection "";
        proxy_http_version 1.1;
    }
    
location /jeedom/ {
        proxy_pass http://192.168.0.11;

        proxy_set_header Host $host;
        proxy_set_header Connection "";
        proxy_http_version 1.1;
    }</pre><p></p>
<p>Ainsi, en fonction du “path” demandé, un service différent me répondra :</p>
<ul>
<li><a href="https://&lt;mon_nom_DNS&gt;/constellation">https://&lt;mon_nom_DNS&gt;/constellation</a> : réponse du serveur Constellation</li>
<li><a href="https://&lt;mon_nom_DNS&gt;/zm">https://&lt;mon_nom_DNS&gt;/zm</a>  : réponse du serveur ZoneMinder</li>
<li><a href="https://&lt;mon_nom_DNS&gt;/jeedom">https://&lt;mon_nom_DNS&gt;/jeedom</a> : réponse du serveur Jeedom</li>
</ul>
<p><u>Attention</u> : si le serveur Constellation répond sur un “sous path”, comme ici “/constellation” il faut également modifier la configuration du serveur Constellation pour l’informer.</p>
<p>Pour cela modifiez le ficher “<em>/opt/constellation-server/Constellation.Server.exe.config</em>” :</p>
<p></p><pre class="crayon-plain-tag">sudo nano /opt/constellation-server/Constellation.Server.exe.config</pre><p></p>
<p>Et modifier le <em>listenUri</em> pour reprendre la même structure d’URI, ici en ajoutant “/constellation” :</p>
<p></p><pre class="crayon-plain-tag">&lt;listenUris&gt;
    &lt;uri listenUri="http://+:8088/constellation" /&gt;
&lt;/listenUris&gt;</pre><p></p>
<p>Pour finir, il faudra relancer le service Constellation pour prendre en compte ce changement :</p>
<p></p><pre class="crayon-plain-tag">sudo supervisorctl restart constellation-server</pre><p></p>
<p>Voilà votre Constellation répond maintenant sur le /constellation, dans notre cas <a title="https://demo.internal.myconstellation.io/constellation" href="https://demo.internal.myconstellation.io/constellation">https://demo.internal.myconstellation.io/constellation</a> :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2018/04/image-7.png"><img class="colorbox-5890"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Constellation derrière Nginx" src="https://developer.myconstellation.io/wp-content/uploads/2018/04/image_thumb-6.png" alt="Constellation derrière Nginx" width="484" height="290" border="0" /></a></p>
<p align="left">Si maintenant on change le path pour “/zm” soit ici <a href="https://demo.internal.myconstellation.io/zm">https://demo.internal.myconstellation.io/zm</a>, c’est notre serveur ZoneMinder qui répondra :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2018/04/image-8.png"><img class="colorbox-5890"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="ZoneMinder derrière Nginx" src="https://developer.myconstellation.io/wp-content/uploads/2018/04/image_thumb-7.png" alt="ZoneMinder derrière Nginx" width="484" height="290" border="0" /></a></p>
<p>On a donc un seul serveur en frontal, Ngnix qui écoute en HTTPS avec le certificat Let’s Encrypt pour sécuriser TOUS les échanges et qui, selon le “path” demandé, transféra les requêtes vers les différents services internes de votre réseau.</p>
<p>A noter que vous pouvez également utiliser des expressions régulières (regex) pour définir vos “locations”. Pour plus d’information : <a title="https://www.scalescale.com/tips/nginx/nginx-location-directive/" href="https://www.scalescale.com/tips/nginx/nginx-location-directive/">https://www.scalescale.com/tips/nginx/nginx-location-directive/</a></p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/constellation-platform/constellation-server/exposer-constellation-en-https-derriere-un-reverse-proxy-avec-nginx-et-lets-encrypt/">Exposer Constellation en HTTPS derrière un reverse proxy avec Nginx et Let&rsquo;s Encrypt</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://developer.myconstellation.io/constellation-platform/constellation-server/exposer-constellation-en-https-derriere-un-reverse-proxy-avec-nginx-et-lets-encrypt/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exposer Constellation en HTTPS derrière un reverse proxy avec IIS et Let’s Encrypt</title>
		<link>https://developer.myconstellation.io/constellation-platform/constellation-server/exposer-constellation-derrire-un-serveur-web-reverse-proxy/</link>
					<comments>https://developer.myconstellation.io/constellation-platform/constellation-server/exposer-constellation-derrire-un-serveur-web-reverse-proxy/#respond</comments>
		
		<dc:creator><![CDATA[Sebastien Warin]]></dc:creator>
		<pubDate>Tue, 09 Aug 2016 14:17:31 +0000</pubDate>
				<category><![CDATA[Constellation Server]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Reverse Proxy]]></category>
		<guid isPermaLink="false">https://developer.myconstellation.io/?p=2183</guid>

					<description><![CDATA[<p>Pour assurer un maximum de sécurité et ajouter des fonctionnalités (SSL, authentification basic/windows/ssl, filtrage, ou autre) vous  pouvez exposer votre serveur Constellation derrière un serveur proxy (reverse-proxy) tel que IIS, Apache, nginx ou autre. Nous allons voir ici comment configurer</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/constellation-platform/constellation-server/exposer-constellation-derrire-un-serveur-web-reverse-proxy/">Exposer Constellation en HTTPS derrière un reverse proxy avec IIS et Let’s Encrypt</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Pour assurer un maximum de sécurité et ajouter des fonctionnalités (SSL, authentification basic/windows/ssl, filtrage, ou autre) vous  pouvez exposer votre serveur Constellation derrière un serveur proxy (reverse-proxy) tel que IIS, Apache, <a href="/constellation-platform/constellation-server/exposer-constellation-en-https-derriere-un-reverse-proxy-avec-nginx-et-lets-encrypt/">nginx</a> ou autre.</p>
<p>Nous allons voir ici comment configurer un serveur Microsoft IIS en tant que reverse proxy pour Constellation. Vous pouvez également réaliser <a href="/constellation-platform/constellation-server/exposer-constellation-en-https-derriere-un-reverse-proxy-avec-nginx-et-lets-encrypt/">le reverse proxy avec nginx</a> notamment si vous êtes sur un système Linux.</p>
<h3>Etape 1 : installer ARR et URL Rewrite</h3>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/08/image-2.png"><img class="colorbox-2183"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="IIS" src="https://developer.myconstellation.io/wp-content/uploads/2016/08/image_thumb-2.png" alt="IIS" width="354" height="192" border="0" /></a></p>
<p>Pour commencer, en utilisant le “Web Platform Installer”, installez :</p>
<ul>
<li>Application Request Routing 3.0</li>
<li>URL Rewrite 2.0</li>
</ul>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/08/image-3.png"><img class="colorbox-2183"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Installation des modules IIS" src="https://developer.myconstellation.io/wp-content/uploads/2016/08/image_thumb-3.png" alt="Installation des modules IIS" width="354" height="243" border="0" /></a></p>
<h3 align="left">Etape 2 : créer un site Web IIS</h3>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/08/image-4.png"><img class="colorbox-2183"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="IIS Web Site" src="https://developer.myconstellation.io/wp-content/uploads/2016/08/image_thumb-4.png" alt="IIS Web Site" width="354" height="192" border="0" /></a></p>
<p align="left">Toujours depuis la Console IIS, créez un site web IIS. Configurez le binding et les autres options de votre choix (port d’écoute, SSL ou non, authentification, restriction d’IP, filtrage, etc..).</p>
<p>C’est ce site Web IIS qui devra être exposé sur Internet et qui sera le point d’entrée vers votre Constellation.</p>
<h3>Etape 3 : configurer la règle de reverse proxy</h3>
<p>Créez le fichier “web.config” dans le répertoire de votre site Web créé à l’étape précédente avec le contenu suivant :</p>
<p></p><pre class="crayon-plain-tag">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;configuration&gt;
    &lt;system.webServer&gt;
        &lt;rewrite&gt;
            &lt;rules&gt;
                &lt;clear /&gt;
                &lt;rule name="Constellation on my private server" stopProcessing="true"&gt;
                    &lt;match url="^constellation/(.*)" /&gt;
                    &lt;conditions logicalGrouping="MatchAll" trackAllCaptures="false" /&gt;
                    &lt;action type="Rewrite" url="http://myprivateserver.mynetwork.lan:8088/{R:1}" /&gt;
                &lt;/rule&gt;
            &lt;/rules&gt;
        &lt;/rewrite&gt;
    &lt;/system.webServer&gt;
&lt;/configuration&gt;</pre><p></p>
<p>Dans cet exemple toutes requêtes qui commence par “constellation/” seront “rewritées” vers le serveur local “myprivateserver.mynetwork.lan:8888”.</p>
<h3>Etape 4 : activer le HTTPS</h3>
<p>Vous pouvez depuis le gestionnaire IIS ajouter des certificat SSL pour activer le HTTPS sur votre site IIS et donc exposer votre Constellation dans un canal sécurisé.</p>
<p>Pour utiliser des certificats SSL Let&rsquo;s Encrypt, téléchargez et installez <a href="https://certifytheweb.com/">Certify SSL Manager</a>. Vous pourrez alors ajouter un certificat SSL en quelques clics à votre site IIS avec gestion automatique du renouvellement.</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/constellation-platform/constellation-server/exposer-constellation-derrire-un-serveur-web-reverse-proxy/">Exposer Constellation en HTTPS derrière un reverse proxy avec IIS et Let’s Encrypt</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://developer.myconstellation.io/constellation-platform/constellation-server/exposer-constellation-derrire-un-serveur-web-reverse-proxy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Surveiller et monitorer les indicateurs de performance du serveur Constellation</title>
		<link>https://developer.myconstellation.io/constellation-platform/constellation-server/performance-counters/</link>
					<comments>https://developer.myconstellation.io/constellation-platform/constellation-server/performance-counters/#respond</comments>
		
		<dc:creator><![CDATA[Sebastien Warin]]></dc:creator>
		<pubDate>Sat, 29 Apr 2017 17:12:45 +0000</pubDate>
				<category><![CDATA[Constellation Server]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Performance Counter]]></category>
		<category><![CDATA[Indicateur]]></category>
		<category><![CDATA[Stat]]></category>
		<guid isPermaLink="false">https://developer.myconstellation.io/?p=4298</guid>

					<description><![CDATA[<p>Sur un environnement Windows le serveur Constellation peut publier des compteurs de performance afin de suivre son activité en temps réel. Vous pourrez alors exploiter ces indicateurs de performance avec des outils de supervision tel quel New Relic, Nagios, Cacti,</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/constellation-platform/constellation-server/performance-counters/">Surveiller et monitorer les indicateurs de performance du serveur Constellation</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Sur un environnement Windows le serveur Constellation peut publier des compteurs de performance afin de suivre son activité en temps réel.</p>
<p>Vous pourrez alors exploiter ces indicateurs de performance avec des outils de supervision tel quel <a href="https://newrelic.com/plugins/52projects/115">New Relic</a>, <a href="https://www.nagios.com/solutions/performance-counter-monitoring/">Nagios</a>, <a href="http://docs.cacti.net/usertemplate:data:windows:typeperf">Cacti</a>, <a href="https://www.dotcom-monitor.com/windows-performance-counter-monitoring/">dotcom-monitor</a>, <a href="https://www.manageengine.com/products/applications_manager/windows-performance-counters.html">Applications Manager</a>, ou plus simplement en utilisant la MMC “<a href="https://technet.microsoft.com/fr-fr/library/cc749154(v=ws.11).aspx">Analyseur de Performances</a>” de Windows.</p>
<p>Vous pouvez également développer vos propres applications pour suivre les indicateurs de performance de votre serveur Constellation étant donné que ces compteurs Windows sont exposés en WMI (<a href="https://msdn.microsoft.com/en-us/library/aa392397(v=vs.85).aspx">voir la documentation</a>). Pour les développeurs .NET, la classe <a href="https://msdn.microsoft.com/fr-fr/library/system.diagnostics.performancecounter(v=vs.110).aspx">PerformanceCounter</a> vous permettra d’interroger ces compteurs très facilement.</p>
<p>Pour finir, vous trouverez dans le <a href="https://developer.myconstellation.io/plateforme/package-repository/">catalogue de package</a> gratuit, le package <a href="https://developer.myconstellation.io/package-library/perfcounter/">PerfCounter</a> qui permet de publier en temps réel des compteurs de performance Windows en tant que StateObject. Autrement dit vous pouvez suivre l&rsquo;activité et les performances de votre Constellation via des StateObjects de votre Constellation.</p>
<h3>Activer les compteurs de performance</h3>
<p>Pour activer les compteurs de performance, vous devez manuellement <a href="/constellation-platform/constellation-server/fichier-de-configuration/">éditer le serveur de configuration</a> pour ajouter la section et la clé de configuration suivante :</p>
<p></p><pre class="crayon-plain-tag">&lt;appSettings&gt;
  &lt;add key="EnablePerformanceCounters" value="true" /&gt;
&lt;/appSettings&gt;</pre><p></p>
<p>Vous pouvez éditer ce fichier depuis la <a href="/constellation-platform/constellation-console/configuration-editor/">Console Constellation</a>, depuis le <a href="/constellation-platform/constellation-sdk/editer-configuration-constellation-depuis-visual-studio/">SDK</a> ou directement sur votre serveur avec votre éditeur favori.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-18.png"><img class="colorbox-4298"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Edition de la configuration depuis la Console" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-18.png" alt="Edition de la configuration depuis la Console" width="450" height="227" border="0" /></a></p>
<p>Comme il s’agit d’une modification de bas niveau, vous devez nécessairement redémarrer le service Constellation :</p>
<ul>
<li>Soit via la MMC “Services” :</li>
</ul>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-19.png"><img class="colorbox-4298"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="MMC Services" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-19.png" alt="MMC Services" width="450" height="274" border="0" /></a></p>
<ul>
<li>Soit en ligne de commande :</li>
</ul>
<p></p><pre class="crayon-plain-tag">net stop ConstellationServer &amp;&amp; net start ConstellationServer</pre><p></p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-20.png"><img class="colorbox-4298"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Redémarrage du service Constellation" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-20.png" alt="Redémarrage du service Constellation" width="450" height="199" border="0" /></a></p>
<p align="left">Vous pourrez ensuite suivre les indicateurs de performance de votre Constellation avec un outil de supervision, l’analyseur de performances de Windows ou même développer vos propres outils en exploitant l’API PerformanceCounter sous .NET ou WMI.</p>
<h3>Utiliser l’analyseur de performances Windows</h3>
<p>Dans les outils d’administration Windows, lancez la MMC “Analyseur de Performances” et cliquer sur le bouton “Ajouter” dans la toolbar.</p>
<p>Tous les compteurs Constellation sont disponibles dans la catégories “Constellation Server” puis sélectionnez le ou les compteurs à suivre :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-21.png"><img class="colorbox-4298"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Compteurs de performance Constellation" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-21.png" alt="Compteurs de performance Constellation" width="450" height="322" border="0" /></a></p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/04/image-22.png"><img class="colorbox-4298"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="https://developer.myconstellation.io/wp-content/uploads/2017/04/image_thumb-22.png" alt="image" width="450" height="431" border="0" /></a></p>
<p align="left">A noter que cette fonctionnalité n’est disponible que sur un environnement Windows, la plateforme Linux n’ayant pas d’équivalent.</p>
<h3>Utiliser le package PerfCounter</h3>
<p>Le package PerfCounter permet de suivre des compteurs de performance Windows et de les injecter en tant que StateObject dans Constellation. Il est donc possible suivre l&rsquo;activité et les performances de votre Constellation via des StateObjects de votre Constellation.</p>
<p>Pour plus d&rsquo;information sur ce package et son utilisation : <a href="https://developer.myconstellation.io/package-library/perfcounter/">https://developer.myconstellation.io/package-library/perfcounter/ </a></p>
<p>Ci-dessous la définition des compteurs de performance publiés Constellation pour le package PerfCounter :</p>
<p></p><pre class="crayon-plain-tag">&lt;!-- Constellation Server / StateObjects provider --&gt;
&lt;perfCounter id="ConstellationPushStateObject" categoryName="Constellation Server" counterName="# PushStateObject / sec" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationPushStateObjectCount" categoryName="Constellation Server" counterName="Total PushStateObject" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationUpdateStateObject" categoryName="Constellation Server" counterName="# UpdateStateObject / sec" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationUpdateStateObjectCount" categoryName="Constellation Server" counterName="Total UpdateStateObject" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationRequestStateObjects" categoryName="Constellation Server" counterName="# RequestStateObjects /sec" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationRequestStateObjectsCount" categoryName="Constellation Server" counterName="Total RequestStateObjects" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationSubscribeStateObjects" categoryName="Constellation Server" counterName="# SubscribeStateObjects / sec" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationSubscribeStateObjectsCount" categoryName="Constellation Server" counterName="Total SubscribeStateObjects" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationStateObjectsCount" categoryName="Constellation Server" counterName="Current StateObjects Count" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationStateObjectSubscriptionCount" categoryName="Constellation Server" counterName="Current StateObject Subscriptions" instanceName="default" /&gt;
&lt;!-- Constellation Server / Messaging --&gt;
&lt;perfCounter id="ConstellationSendMessage" categoryName="Constellation Server" counterName="# SendMessage / sec" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationSendMessageCount" categoryName="Constellation Server" counterName="Total SendMessage" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationReceiveMessage" categoryName="Constellation Server" counterName="# ReceiveMessage / sec" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationReceiveMessageCount" categoryName="Constellation Server" counterName="Total ReceiveMessage" instanceName="default" /&gt;
&lt;!-- Constellation Server / Logging --&gt;
&lt;perfCounter id="ConstellationWriteLog" categoryName="Constellation Server" counterName="# WriteLog / sec" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationWriteLogCount" categoryName="Constellation Server" counterName="Total WriteLog" instanceName="default" /&gt;
&lt;!-- Constellation Server / Packages --&gt;
&lt;perfCounter id="ConstellationPackageConnections" categoryName="Constellation Server" counterName="Total Package connections" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationPackageDisconnections" categoryName="Constellation Server" counterName="Total Package disconnections" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationPackagesConnected" categoryName="Constellation Server" counterName="Current Packages connected" instanceName="default" /&gt;
&lt;!-- Constellation Server / Sentinels --&gt;
&lt;perfCounter id="ConstellationSentinelConnections" categoryName="Constellation Server" counterName="Total Sentinel connections" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationSentinelDisconnections" categoryName="Constellation Server" counterName="Total Sentinel disconnections" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationSentinelsConnected" categoryName="Constellation Server" counterName="Current Sentinels connected" instanceName="default" /&gt;
&lt;!-- Constellation Server / Consumers --&gt;
&lt;perfCounter id="ConstellationConsumerConnections" categoryName="Constellation Server" counterName="Total Consumers connections" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationConsumerDisconnections" categoryName="Constellation Server" counterName="Total Consumers disconnections" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationConsumerConnected" categoryName="Constellation Server" counterName="Current Consumers connected" instanceName="default" /&gt;
&lt;!-- Constellation Server / API REST --&gt;
&lt;perfCounter id="ConstellationWebApiSubscriptionCount" categoryName="Constellation Server" counterName="Current subscriptions (HTTP REST API)" instanceName="default" /&gt;
&lt;perfCounter id="ConstellationWebApiRequestInProcess" categoryName="Constellation Server" counterName="Current long-polling requests (HTTP REST API)" instanceName="default" /&gt;</pre><p></p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/constellation-platform/constellation-server/performance-counters/">Surveiller et monitorer les indicateurs de performance du serveur Constellation</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://developer.myconstellation.io/constellation-platform/constellation-server/performance-counters/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Mise en cache de page à l’aide de Disk: Enhanced 

Served from: developer.myconstellation.io @ 2026-01-23 02:01:57 by W3 Total Cache
-->