﻿<?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>Catégorie Constellation Platform - Constellation</title>
	<atom:link href="https://developer.myconstellation.io/constellation-platform/feed/" rel="self" type="application/rss+xml" />
	<link>https://developer.myconstellation.io/constellation-platform/</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>Catégorie Constellation Platform - Constellation</title>
	<link>https://developer.myconstellation.io/constellation-platform/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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-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-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-1">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 />
    2136 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>
<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>Installer Constellation sur Linux</title>
		<link>https://developer.myconstellation.io/constellation-platform/constellation-server/installer-constellation-sur-linux/</link>
					<comments>https://developer.myconstellation.io/constellation-platform/constellation-server/installer-constellation-sur-linux/#comments</comments>
		
		<dc:creator><![CDATA[Sebastien Warin]]></dc:creator>
		<pubDate>Wed, 03 May 2017 22:59:59 +0000</pubDate>
				<category><![CDATA[Constellation Server]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web Platform Installer]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[installation]]></category>
		<guid isPermaLink="false">https://developer.myconstellation.io/?p=4353</guid>

					<description><![CDATA[<p>Dans cet article nous allons découvrir comment installer Constellation sur un système Linux/Debian et ses dérivés (Raspbian, Ubuntu, etc..). Les étapes sont conceptuellement les mêmes que pour une installation sur Windows. Prérequis Le bootstrapper du Web Platform Installer pour Linux utilise l’outil</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/constellation-platform/constellation-server/installer-constellation-sur-linux/">Installer Constellation sur Linux</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Dans cet article nous allons découvrir comment installer Constellation sur un système Linux/Debian et ses dérivés (Raspbian, Ubuntu, etc..).</p>
<p>Les étapes sont conceptuellement les mêmes que pour une <a href="/getting-started/installer-constellation/">installation sur Windows</a>.</p>
<h3>Prérequis</h3>
<p>Le bootstrapper du <em><strong>Web Platform Installer</strong></em> pour Linux utilise l’outil APT pour installer automatiquement les dépendances de Constellation à savoir :</p>
<ul>
<li>Python 2.7 et ses outils de développement (python-dev)</li>
<li>Mono 3.12 au minimum pour le serveur (Mono 3.10 pour la sentinelle)</li>
<li>Supervisor</li>
<li>Whiptail</li>
</ul>
<p>Si vous êtes sur une autre distribution que Debian (ou ses dérivés) et que vous ne disposez pas de l’outil APT, vous devrez installer ces packages manuellement.</p>
<p>Dans cet article nous avons créé une machine virtuelle x64 et installé le système <strong>Linux Debian 8.2</strong> en “net-install” (<a href="https://www.debian.org/distrib/netinst">à télécharger ici</a>).</p>
<p>Notez que la procédure est exactement la même pour un Raspberry Pi (sous Raspbian). A ce sujet, une page spécifique au Raspberry Pi et Constellation est <a href="#">disponible ici</a>.</p>
<p>Lors de l’installation du système Debian, nous avons installé les utilitaires de base ainsi que le serveur SSH, ni plus ni moins :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-11.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Installation d'un serveur Linux/Debian" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-11.png" alt="Installation d'un serveur Linux/Debian" width="428" height="221" border="0" /></a></p>
<p align="left">A la fin de l’installation, nous pouvons nous connecter à cette machine Linux fraîchement installée depuis un client SSH comme Putty :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-12.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Connexion SSH" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-12.png" alt="Connexion SSH" width="428" height="273" border="0" /></a></p>
<p align="left">Pour finir, il est fortement recommandé de mettre à jour les sources APT avant de commencer l&rsquo;installation de Constellation en lançant la commande suivante (en root) :</p>
<p></p><pre class="crayon-plain-tag">apt-get update</pre><p></p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-13.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Mise à jour des sources APT" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-13.png" alt="Mise à jour des sources APT" width="428" height="273" border="0" /></a></p>
<p align="left">N’oubliez pas, par défaut sur Debian 8, “sudo” n’est pas installé. Ainsi pour lancer des commandes en root :</p>
<ul>
<li>
<div align="left">soit vous vous connectez en SSH directement avec le login root</div>
</li>
<li>
<div align="left">soit vous lancez la commande “su” pour ouvrir la session root depuis votre session courante</div>
</li>
<li>
<div align="left">soit vous installez et configurez “sudo”</div>
</li>
</ul>
<p align="left">Voilà, notre machine Linux est prête à recevoir Constellation !</p>
<h3>Lancer le Web Platform Installer Linux</h3>
<p>Pour télécharger et démarrer <strong><em>Web Platform Installer</em></strong>, rien de plus simple ! Lancez simplement 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>Le <strong><em>Web Platform Installer</em></strong> (WPI) se chargera lui même de se lancer en root en utilisant “sudo” ou “su” si la première commande n’est pas disponible.</p>
<p>Ainsi si le WPI est lancé depuis un autre utilisateur, vous serez amené à saisir le mot de passe du compte “root” pour l’autoriser à se lancer :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-14.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Lancement du Web Platform Installer" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-14.png" alt="Lancement du Web Platform Installer" width="428" height="273" border="0" /></a></p>
<h3>Installer la plateforme</h3>
<h4>Etape 1 : installation des prérequis</h4>
<p>Comme décrit plus haut, le WPI va installer via APT les dépendances nécessaires pour Constellation (Python-Dev, Mono et Supervisor).</p>
<p>Comme il s’agit d’un système fraîchement installé, nous laissons le WPI installer l’ensemble des prérequis.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-15.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Installation des prérequis" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-15.png" alt="Installation des prérequis" width="244" height="156" border="0" /></a><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-16.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Installation des prérequis" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-16.png" alt="Installation des prérequis" width="244" height="156" border="0" /></a><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-17.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Installation des prérequis" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-17.png" alt="Installation des prérequis" width="244" height="156" border="0" /></a></p>
<h4>Etape 2 : sélectionnez les composants Constellation à installer</h4>
<p>Le WPI vous permet d’installer :</p>
<ul>
<li>Le <strong>Serveur</strong> Constellation (avec ou sans la Console)</li>
<li>La <strong>Console</strong> Constellation</li>
<li>La <strong>Sentinel</strong> Service</li>
</ul>
<p>Dans notre cas nous allons commencer par installer le serveur avec la console. Nous sélectionnons donc la première option :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-18.png"><img class="colorbox-4353"  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/2017/05/image_thumb-18.png" alt="Web Platform Installer" width="428" height="273" border="0" /></a></p>
<h4>Etape 3 : acceptez la licence d’utilisation</h4>
<p>Vous retrouverez le détail des licences Constellation <a href="https://developer.myconstellation.io/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/2017/05/image-19.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Licence Constellation" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-19.png" alt="Licence Constellation" width="428" height="273" border="0" /></a></p>
<h4>Etape 4 : 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/2017/05/image-20.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Identification MyConstellation" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-20.png" alt="Identification MyConstellation" width="244" height="156" border="0" /></a><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-21.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Identification MyConstellation" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-21.png" alt="Identification MyConstellation" width="244" height="156" border="0" /></a></p>
<h4>Etape 5 : configuration du serveur Constellation</h4>
<p>Entrons désormais dans les étapes de configuration de chacun des composants à installer en commençant par le serveur Constellation.</p>
<h5>Etape 5.1 : répertoire d’installation</h5>
<p>Vous devez choisir le répertoire d’installation du serveur Constellation :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-22.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Répertoire d'installation du serveur" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-22.png" alt="Répertoire d'installation du serveur" width="428" height="273" border="0" /></a></p>
<h5>Etape 5.2 : sélection de la licence</h5>
<p>Vous devez ici sélectionner <a href="https://developer.myconstellation.io/licensing/">une licence</a> pour l’utilisation du serveur. 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="https://developer.myconstellation.io/licensing/">plus d’information ici</a>).</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-23.png"><img class="colorbox-4353"  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/2017/05/image_thumb-23.png" alt="Selection de la licence" width="428" height="273" border="0" /></a></p>
<h5>Etape 5.3 : choix du répertoire des packages</h5>
<p>Dans cette étape vous devez définir le répertoire pour votre catalogue de packages de votre Constellation.</p>
<p>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/2017/05/image-24.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Choix du répertoire des packages" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-24.png" alt="Choix du répertoire des packages" width="428" height="273" border="0" /></a></p>
<h5>Etape 5.4 : choix du port d’écoute du serveur</h5>
<p>Le serveur Constellation utilise le protocole HTTP/s pour exposer ses différents hubs et APIs. Pour cela vous avez besoin de choisir le port d’écoute.</p>
<p>Par défaut, le serveur Constellation écoutera en HTTP sur le port 8088.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-25.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Choix du port d’écoute du serveur" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-25.png" alt="Choix du port d’écoute du serveur" width="428" height="273" border="0" /></a></p>
<p>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>Etape 5.5 : choix des clés d’accès</h5>
<p>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>Une clé “Standard” (accès de base) que vous utiliserez pour connecter vos sentinelles et packages</li>
<li>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)</li>
</ul>
<p>Une clé d’accès est une chaine 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>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>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>C’est pourquoi le WPI vous proposera soit de spécifier directement vos AccessKeys ou soit d’utiliser un couple login/password.</p>
<p>Ici sélectionnons la deuxième option :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-26.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Configuration des clés d'accès" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-26.png" alt="Configuration des clés d'accès" width="428" height="273" border="0" /></a></p>
<p align="left">Pour la clé “Standard” utilisons le couple “demo/demo” :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-27.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Configuration des clés d'accès" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-27.png" alt="Configuration des clés d'accès" width="244" height="156" border="0" /></a><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-28.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Configuration des clés d'accès" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-28.png" alt="Configuration des clés d'accès" width="244" height="156" border="0" /></a></p>
<p align="left">Et pour la clé “Administrator”, utilisons le couple “admin/password” :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-29.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Configuration des clés d'accès" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-29.png" alt="Configuration des clés d'accès" width="244" height="156" border="0" /></a><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-30.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Configuration des clés d'accès" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-30.png" alt="Configuration des clés d'accès" width="244" height="156" border="0" /></a></p>
<p align="left">Pour finir, vous pouvez ajouter le droit de débogage sur la clé “Administrator”. Cela nous permettra de tester des packages connectés à votre Constellation depuis le SDK sous Visual Studio.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-31.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Configuration des clés d'accès" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-31.png" alt="Configuration des clés d'accès" width="428" height="273" border="0" /></a></p>
<h4>Etape 6 : installation et configuration de la Console Constellation</h4>
<p>Une fois le serveur installé, le WPI vous proposera d’installer et configurer automatiquement la Console Constellation :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-32.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Installation de la Console" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-32.png" alt="Installation de la Console" width="428" height="273" border="0" /></a></p>
<p>Vous devez simplement spécifier le répertorie d’installation, par défaut dans /opt :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-33.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Installation de la Console" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-33.png" alt="Installation de la Console" width="428" height="273" border="0" /></a></p>
<p>Vous pouvez aussi indiquer si vous souhaitez restreindre l’accès la console à “localhost” (ce qui n’aurait pas de sens dans notre cas étant donné que notre système Linux ne dispose pas de navigateur internet localement) :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-34.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Installation de la Console" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-34.png" alt="Installation de la Console" width="428" height="273" border="0" /></a></p>
<h4>Etape 7 : Validation de l’installation</h4>
<p align="left">Et voilà, le serveur Constellation ainsi que la Console sont installés sur votre système Linux.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-35.png"><img class="colorbox-4353"  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/2017/05/image_thumb-35.png" alt="Fin de l'installation" width="428" height="273" border="0" /></a></p>
<p>Ouvrez un navigateur Internet et rendez-vous sur l’adresse IP ou DNS de votre système Linux sur le port spécifié lors de l’installation (par défaut 8088). Vous devriez atterrir sur une page du serveur Constellation vous indiquant le n° de la version du serveur, dans notre exemple 1.8.2.17118 :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-36.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Page du serveur" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-36.png" alt="Page du serveur" width="428" height="287" border="0" /></a></p>
<p align="left">Comme le serveur Constellation héberge la Console,  vous avez un lien “Open Constellation Console” sur cette page vous permettant d’accéder directement à la Console :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-37.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Console Constellation" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-37.png" alt="Console Constellation" width="428" height="287" border="0" /></a></p>
<p align="left">Utilisez le couple login/password “Administrator” défini lors de l’installation pour vous connecter, dans notre exemple “admin/password” :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-38.png"><img class="colorbox-4353"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Console Constellation" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-38.png" alt="Console Constellation" width="428" height="287" border="0" /></a></p>
<p align="left">Bravo, votre serveur Constellation est opérationnel !</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><a href="/constellation-platform/constellation-server/exposer-constellation-en-https-derriere-un-reverse-proxy-avec-nginx-et-lets-encrypt/">Exposer votre Constellation sur Internet derrière un reverse proxy Nginx en HTTPS avec des certificats SSL Let&rsquo;s Encrypt</a></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/constellation-platform/constellation-server/installer-constellation-sur-linux/">Installer Constellation sur Linux</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/installer-constellation-sur-linux/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title>Ajouter des sentinelles dans votre Constellation</title>
		<link>https://developer.myconstellation.io/getting-started/ajouter-des-sentinelles/</link>
					<comments>https://developer.myconstellation.io/getting-started/ajouter-des-sentinelles/#respond</comments>
		
		<dc:creator><![CDATA[Sebastien Warin]]></dc:creator>
		<pubDate>Wed, 30 Mar 2016 15:26:53 +0000</pubDate>
				<category><![CDATA[Guide de démarrage]]></category>
		<category><![CDATA[Constellation Sentinel]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Sentinel UI]]></category>
		<category><![CDATA[Sentinel]]></category>
		<guid isPermaLink="false">https://developer.myconstellation.io/?p=1727</guid>

					<description><![CDATA[<p>Les sentinelles sont des agents exécutés sur des systèmes Windows ou Linux qui, connectés à votre Constellation, permettent de déployer des packages Constellation. En suivant le guide d’installation vous avez pu installer une sentinelle Service ou UI sur la même</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/getting-started/ajouter-des-sentinelles/">Ajouter des sentinelles dans votre Constellation</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Les sentinelles sont des agents exécutés sur des systèmes Windows ou Linux qui, connectés à votre Constellation, permettent de déployer des packages Constellation.</p>
<p>En suivant <a href="/getting-started/installer-constellation/">le guide d’installation</a> vous avez pu installer une sentinelle Service ou UI sur la même machine que le serveur Constellation.</p>
<p>Voyons maintenant comment installer des sentinelles sur vos autres machines (laptops, desktop, serveurs, Raspberry, etc..).</p>
<p style="text-align: center;"><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/OIPI6VYK5Jw" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<h3>Prérequis</h3>
<p>Il existe deux types de sentinelle :</p>
<ul>
<li>La “<strong>Sentinel Service</strong>” : il s’agit d’un service compatible Windows et Linux qui tourne en arrière plan et permet de déployer des packages Constellation sans interface graphique.</li>
<li>La “<strong>Sentinel UI</strong>” : il s’agit d’une application Windows s’exécutant au sein d’une session Windows et permettant de déployer des packages Constellation avec interface graphique (dit <a href="/client-api/net-package-api/packages-ui-wpf-winform/">Package UI</a>) ou encore des packages ayant besoin d’interagir avec la session de l’utilisateur.</li>
</ul>
<p>Les prérequis pour installer une sentinelle sont :</p>
<ul>
<li>Un système Windows avec le .NET Framework 4.0 installé (soit au minimum un Windows XP SP3 ou un Windows 2003 SP2)</li>
<li>Un système Linux avec Mono 3.10 au minimum</li>
</ul>
<p><u>Note</u> : la sentinelle UI n’est disponible que pour Windows.</p>
<h3>Installation d’une sentinelle sur un système Windows</h3>
<p>Les installeurs pour la sentinelle Service et UI sont similaires, la procédure d’installation est donc identique.</p>
<p><u>Note</u> : vous pouvez installer sur la même machine une sentinelle UI et une sentinelle Service.</p>
<p>Pour cela, vous pouvez soit <a href="/download/">télécharger</a> le programme d’installation spécifique à la Sentinelle UI et/ou Service ou, pour faire plus simple, utiliser le “<em>Web Platform Installer</em>” pour installer et mettre à jour les dernières versions des composants Constellation.</p>
<h4>Etape 1 : lancez le “Web Platform Installer</h4>
<p align="center"><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-1727"  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 />
    2136 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>
<h4>Etape 2 : sélection des composants</h4>
<p>Commencez par vous identifier avec votre compte Constellation et acceptez la licence d’utilisation avant de pouvoir sélectionner les composants à installer :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-30.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Selection des composants" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-30.png" alt="Selection des composants" width="424" height="330" border="0" /></a></p>
<p align="left">Dans le cas ci-dessus, nous avons déjà installé la dernière version du SDK Constellation comme vous pouvez le constater !</p>
<p align="left">Dans ce guide nous allons installer les deux sentinelles (UI et Service) que nous connecterons à notre Constellation <a href="/getting-started/installer-constellation/">précédemment</a> installée sur une autre machine.</p>
<h4 align="left">Etape 3 : type d’installation des sentinelles</h4>
<p align="left">Vous avez ensuite le choix entre :</p>
<ol>
<li>
<div align="left">Installer la sentinelle <strong>et l’enregistrer</strong> dans votre Constellation en utilisant l’API de Management (il vous faudra connaitre une AccessKey qui a les droits de management pour procéder à l’enregistrement).</div>
</li>
<li>
<div align="left">Installer la sentinelle seulement</div>
</li>
</ol>
<p align="left">Bien entendu pour automatiser le processus, choisissons la première option :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-31.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Choix d'installation" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-31.png" alt="Choix d'installation" width="424" height="330" border="0" /></a></p>
<p align="left">Notez que si vous souhaitez ajouter une sentinelle sur un système sur lequel un serveur Constellation est installé, l’assistant vous proposera d’installer et d’enregistrer automatiquement votre sentinelle sur le serveur local.</p>
<h4 align="left">Etape 4 : sélection du serveur Constellation à joindre</h4>
<p align="left">Vous devez indiquer l’URI de votre serveur Constellation ainsi que la clé d’accès avec les droits d’administration pour enregistrer vos sentinelles.</p>
<p align="left">Dans cet exemple le serveur Constellation est accessible sur l’URL “http://pc-seb.ajsinfo.loc:8088/” avec le couple “admin/password” (cliquez sur le bouton “Use Password” pour générer l’AccessKey à partir de ce couple) :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-32.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Enregistrement de la sentinelle" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-32.png" alt="Enregistrement de la sentinelle" width="424" height="330" border="0" /></a></p>
<h4 align="left">Etape 5 : choix de la clé d’accès pour la sentinelle</h4>
<p align="left">Vous aurez ensuite à choisir parmi les clé d’accès configurées sur votre serveur, laquelle doit être utilisée pour la connexion de vos sentinelles :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-33.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Choix de la clé d'accès pour la sentinelle" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-33.png" alt="Choix de la clé d'accès pour la sentinelle" width="424" height="332" border="0" /></a></p>
<h4 align="left">Etape 6 : installation</h4>
<p align="left">Il ne vous reste plus qu’à confirmer l’installation :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-34.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Confirmation de l'installation" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-34.png" alt="Confirmation de l'installation" width="424" height="330" border="0" /></a></p>
<p align="left">L’installeur téléchargera et installera les composants puis réalisera l’enregistrement vos deux nouvelles sentinelles sur votre serveur Constellation avant de lancer le service (pour la Sentinel Service) ou l’application (pour la Sentinel UI).</p>
<p align="left">Depuis la Console Constellation, nous pouvons observer nos deux nouvelles sentinelles (PO-SWARIN et PO-SWARIN_UI) fraichement connectées :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-46.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Sentinelles connectées" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-46.png" alt="Sentinelles connectées" width="428" height="140" border="0" /></a></p>
<h3>Installation d’une sentinelle sur un système Linux</h3>
<p>Sur un système Linux utilisez le “Web Platform Installer” pour automatiser le processus d’installation et de configuration.</p>
<p>Le WPI se chargera d’installer tous les prérequis (Mono, Python, PIP, etc..) et les dernières versions des composants Constellation.</p>
<h4>Etape 1 : lancez le “Web Platform Installer</h4>
<p>Pour lancer le WPI entrez 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>Le programme d’installation doit être lancé en “root” pour cela, le script se relancera automatiquement en “sudo” si la commande est présente. Autrement il tentera de se relancer automatiquement en “su root”. Si cette commande n’existe pas non plus, il affichera un message d’erreur. Vous aurez alors besoin de relancer manuellement le script “install.sh” en root.</p>
<p>Avec “sudo” ou “su root”, vous aurez dans certain cas besoin de fournir votre mot de passe “root” pour pouvoir autoriser le script d’installation à se lancer  :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-35.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Web Platform Installer" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-35.png" alt="Web Platform Installer" width="428" height="271" border="0" /></a></p>
<p align="left">Le script va vérifier les prérequis à savoir :</p>
<ul>
<li>
<div align="left">Python (2.7 ou 3.x)</div>
</li>
<li>
<div align="left">Python-dev</div>
</li>
<li>
<div align="left">Mono 3.10 sur un ARMv6 ou autrement Mono 3.12 minimum</div>
</li>
<li>
<div align="left">Supervisor</div>
</li>
</ul>
<p align="left">Sur un système Debian ou dérivé, le programme d’installation vous proposera d’installer automatiquement les prérequis si besoin.</p>
<h4 align="left">Etape 2 : sélection des composants</h4>
<p align="left">Une fois les prérequis validés, vous pourrez choisir les composants Constellation à installer :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-36.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Selection des composants" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-36.png" alt="Selection des composants" width="428" height="271" border="0" /></a></p>
<p>Dans ce guide, sélectionnons le composant “Sentinel”. Vous commencerez par accepter la licence d’utilisation :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-37.png"><img class="colorbox-1727"  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/05/image_thumb-37.png" alt="Licence d'utilisation" width="428" height="271" border="0" /></a></p>
<p>Puis vous devrez renseigner vos identifiants de votre compte myConstellation.io :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-38.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Identification" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-38.png" alt="Identification" width="428" height="271" border="0" /></a></p>
<p align="left">Définissez ensuite le répertoire d’installation de la sentinelle sur votre système :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-39.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Répertoire d'installation" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-39.png" alt="Répertoire d'installation" width="428" height="271" border="0" /></a></p>
<h4 align="left">Etape 3 : sélection du serveur Constellation à rejoindre</h4>
<p align="left">Renseignez maintenant l’URI de votre serveur Constellation sur laquelle votre sentinelle doit se connecter :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-40.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="URI du serveur Constellation" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-40.png" alt="URI du serveur Constellation" width="428" height="271" border="0" /></a></p>
<p align="left">Notez que si vous souhaitez ajouter une sentinelle sur un système sur lequel un serveur Constellation est installé, l’assistant vous proposera d’installer et d’enregistrer automatiquement votre sentinelle sur le serveur local.</p>
<h4 align="left">Etape 4 : type d’installation de la sentinelle</h4>
<p align="left">Comme pour l’installation d’une sentinelle sous Windows, indiquez si vous souhaitez également procéder à son enregistrement :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-41.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Choix d'installation" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-41.png" alt="Choix d'installation" width="428" height="271" border="0" /></a></p>
<p align="left">Au quel cas il faudra spécifier un compte avec les droits de management pour pouvoir joindre la sentinelle dans votre Constellation :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-42.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Identification sur le serveur Constellation" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-42.png" alt="Identification sur le serveur Constellation" width="244" height="155" border="0" /></a><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-43.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Identification sur le serveur Constellation" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-43.png" alt="Identification sur le serveur Constellation" width="244" height="155" border="0" /></a></p>
<h4 align="left">Etape 5 : choix de la clé d’accès pour la sentinelle</h4>
<p align="left">Vous pourrez ensuite choisir parmi les clé d’accès configurées sur votre serveur, laquelle doit être utilisée par votre sentinelle :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-44.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Choix de la clé d'accès" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-44.png" alt="Choix de la clé d'accès" width="428" height="271" border="0" /></a></p>
<h4 align="left">Etape 6 : prérequis pour les packages Python</h4>
<p align="left">Enfin si vous comptez déployer des packages Constellation Python vous devez installer le runtime Python ainsi que différentes librairies (<a href="/getting-started/creez-votre-premier-package-constellation-en-python/">plus d&rsquo;informations</a>).</p>
<p align="left">Le WPI vous proposera d’installer ces prérequis pour vous de manière automatique :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-10.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Installation des prérequis Python" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-10.png" alt="Installation des prérequis Python" width="432" height="273" border="0" /></a></p>
<h4 align="left">Etape 7 : installation et démarrage</h4>
<p align="left">Le WPI procèdera à l’installation et à la configuration de la sentinelle et des prérequis.</p>
<p align="left">A la fin de ce processus, la sentinelle sera automatiquement démarrée :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-45.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Fin de l'installation" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-45.png" alt="Fin de l'installation" width="428" height="271" border="0" /></a></p>
<p align="left">En retournant sur la Console de notre Constellation, on pourra constater qu’une nouvelle sentinelle ici nommée “rpi2” s’est bien connectée dans notre Constellation :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/05/image-47.png"><img class="colorbox-1727"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Sentinelles connectées" src="https://developer.myconstellation.io/wp-content/uploads/2016/05/image_thumb-47.png" alt="Sentinelles connectées" width="428" height="170" border="0" /></a></p>
<p align="left">Votre sentinelle Linux est prête, vous pouvez maintenant y <a href="/getting-started/telecharger-et-deployer-des-packages-sur-vos-sentinelles/">déployer des packages</a> ou développer vos propres packages en <a href="/getting-started/creez-votre-premier-package-constellation-en-csharp/">C#</a> ou en <a href="/getting-started/creez-votre-premier-package-constellation-en-python/">Python</a>.</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/getting-started/ajouter-des-sentinelles/">Ajouter des sentinelles dans votre Constellation</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/ajouter-des-sentinelles/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Constellation sur un Raspberry Pi</title>
		<link>https://developer.myconstellation.io/constellation-platform/constellation-server/constellation-raspberry-pi/</link>
					<comments>https://developer.myconstellation.io/constellation-platform/constellation-server/constellation-raspberry-pi/#comments</comments>
		
		<dc:creator><![CDATA[Sebastien Warin]]></dc:creator>
		<pubDate>Thu, 04 May 2017 10:26:38 +0000</pubDate>
				<category><![CDATA[Constellation Server]]></category>
		<category><![CDATA[Constellation Sentinel]]></category>
		<guid isPermaLink="false">https://developer.myconstellation.io/?p=4428</guid>

					<description><![CDATA[<p>Le Raspberry Pi est un nano-ordinateur monocarte à processeur ARM conçu par le créateur de jeux vidéo David Braben. La première version est sortie en 2012 et depuis il y a eu beaucoup d’évolutions. Il permet l&#8217;exécution de plusieurs variantes</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/constellation-platform/constellation-server/constellation-raspberry-pi/">Constellation sur un Raspberry Pi</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Le <b>Raspberry Pi</b> est un nano-ordinateur monocarte à <a href="https://fr.wikipedia.org/wiki/Architecture_ARM">processeur ARM</a> conçu par le créateur de jeux vidéo <a href="https://fr.wikipedia.org/wiki/David_Braben">David Braben</a>. La première version est sortie en 2012 et depuis il y a eu beaucoup d’évolutions.</p>
<p>Il permet l&rsquo;exécution de plusieurs variantes du système d&rsquo;exploitation libre Linux et même de Windows 10 IoT.</p>
<h3>Les différents modèles et versions du Raspberry Pi</h3>
<p>A ce jour, on distingue trois types de modèle :</p>
<ul>
<li><u>Le modèle A</u> : Raspberry “light” sans interface réseau</li>
<li><u>Le modèle B</u> : la version la plus répandue du Raspberry (avec interface réseau)</li>
<li><u>Le modèle Zero</u> : version minimaliste et low-cost  du Raspberry</li>
</ul>
<p>Les Raspberry Pi A et B sont animés par un ARM11 (ARMv6) à 700Mhz avec 256 Mo de mémoire vive pour le modèle d&rsquo;origine (512 Mo sur les dernières versions du modèle B/B+).</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/raspberry-pi-model-a-vs-mod_opt.jpg"><img class="colorbox-4428"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Raspberry Pi A/A+" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/raspberry-pi-model-a-vs-mod_opt_thumb.jpg" alt="Raspberry Pi A/A+" width="240" height="127" border="0" /></a></p>
<p>En 2015 le Raspberry Pi B version 2 (B2) est équipé d&rsquo;un processeur Broadcom BCM2836, quatre cœurs ARM Cortex-A7 (ARMv7) à 900 MHz, accompagné de 1 Go de RAM.</p>
<p>Puis en début 2016, pour le quatrième anniversaire de la commercialisation du premier modèle, la fondation Raspberry Pi annonce la sortie du Raspberry Pi B version 3 (B3). Comparé au B2, il dispose d&rsquo;un processeur Broadcom BCM2837 64 bit à quatre cœurs ARM Cortex-A53 (ARMv8) à 1,2 GHz et d&rsquo;une puce Wifi 802.11n et Bluetooth 4.1 intégrée.</p>
<p>Le modèle A n’a qu’en a lui pas évolué.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/raspberry_pi_b.jpg"><img class="colorbox-4428"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Raspberry Pi B+" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/raspberry_pi_b_thumb.jpg" alt="Raspberry Pi B+" width="240" height="188" border="0" /></a></p>
<p>De son côté le Raspberry Zero sorti fin 2015 reprend les spécifications du modèle A/B version 1 avec un processeur ARM11 (ARMv6) cadencé à 1 GHz au lieu de 700 MHz. Il est par contre plus petit, disposant d&rsquo;une connectique minimale. Début 2017, pour le cinquième anniversaire du Raspberry Pi, le Raspberry Pi Zero est maintenant doté de Wi-fi et de Bluetooth en conservant les mêmes spécifications.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/RASP_PI_ZERO.png"><img class="colorbox-4428"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Raspberry Pi Zero" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/RASP_PI_ZERO_thumb.png" alt="Raspberry Pi Zero" width="240" height="142" border="0" /></a></p>
<p>Retrouvez ici toutes <a href="https://fr.wikipedia.org/wiki/Raspberry_Pi#Sp.C3.A9cifications_mat.C3.A9rielles_et_architectures">les spécifications du Rapsberry sur cette page</a> ainsi qu’un <a href="https://fr.wikipedia.org/wiki/Raspberry_Pi#Tableau_comparatif">tableau comparatif</a>.</p>
<p>Ce qui est important de retenir ici :</p>
<ul>
<li>Tous les modèles B intègrent nativement une interface Ethernet et les version B3 et Zero-W intègrent une interface Wifi. Sur les autres versions, en particulier les modèles A, il faudra connecter une clé USB Wifi pour disposer d’une interface réseau.</li>
<li>Les modèles A/A+, B/B+ (v1) et Zero/ZeroW sont tous animés par des processeurs ARMv6 à la différence des RPi B2 et B3, respectivement équipés d’un ARMv7 et ARMv8.</li>
</ul>
<h3>Raspberry Pi et Constellation</h3>
<p>Comme le <b>Raspberry Pi</b> est un véritable (nano) ordinateur basé sur une architecture ARM et sur lequel on peut installer un système Linux, il est à la fois possible  :</p>
<ul>
<li>de l’utiliser pour héberger une Constellation, c’est à dire déployer le <strong>serveur Constellation</strong></li>
<li>de l’utiliser comme <strong>Sentinelle</strong> pour pouvoir déployer des packages</li>
</ul>
<p>Par exemple, la <a href="http://sebastien.warin.fr/2015/03/24/2478-senergy-la-solution-de-monitoring-des-ressources-energetiques-de-la-maison-geek-is-in-da-house-2015/">solution de monitoring des ressources énergétiques de la maison S-Energy</a> ou encore <a href="http://sebastien.warin.fr/2015/08/20/2833-s-opener-connectez-et-scurisez-votre-porte-de-garage-avec-constellation-et-un-raspberry-pi-la-porte-de-garage-intelligente/">S-Opener, la porte de garage intelligente</a> sont deux solutions basées sur des Raspberry Pi exploités comme sentinelles d’une Constellation.</p>
<p>Ceci dit il est important de se rappeler des prérequis pour ces deux composants Constellation :</p>
<ul>
<li>Le serveur Constellation nécessite au minimum Mono 3.12</li>
<li>La sentinelle Constellation nécessite au minimum Mono 3.10</li>
</ul>
<p>Or Mono 3.12 et + n’est pas stable sur une architecture ARMv6. Le <strong><em>Web Platform Installer</em></strong> Linux installera automatiquement la dernière version de Mono <u>à l’exception</u> des architectures ARMv6 pour lequel il installera la version 3.10, la seule stable (à ce jour du moins) sur ce type d’architecture.</p>
<p><u>Autrement dit :</u></p>
<ul>
<li>La <strong>sentinelle Constellation</strong> peut être installée sur <strong>tous les Raspberry Pi</strong></li>
<li>Le <strong>serveur Constellation</strong> ne peut être installé que sur un <strong>Raspberry Pi B version 2 ou version 3</strong></li>
</ul>
<p>Autre information très importante, le fait d’être sur un ARMv6 (modèles A/A+, B/B+ et Zero/ZeroW) restreint Mono à la version 3.10 ce qui restreint l’usage de package utilisant le framework .NET 4.0 !</p>
<p>Autrement dit, les <u>packages Constellation développés pour .NET 4.5 (et plus) peuvent être instables sur un ARMv6.</u></p>
<p>De ce fait si vous développez des <a href="/getting-started/creez-votre-premier-package-constellation-en-csharp/">packages C#</a> ou des <a href="/getting-started/creez-votre-premier-package-constellation-en-python/">packages Python</a> que vous souhaitez déployer sur une sentinelle Raspberry A/A+, B/B+ ou Zero/ZeroW, n’oubliez pas de définir le “Target” de votre projet à “.NET Framework 4” et pas au delà lors de la création de votre projet ou dans les propriétés de celui-ci.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-46.png"><img class="colorbox-4428"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Target des packages" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-46.png" alt="Target des packages" width="244" height="171" border="0" /></a><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-47.png"><img class="colorbox-4428"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Target des packages" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-47.png" alt="Target des packages" width="234" height="171" border="0" /></a></p>
<p align="left"><strong><u>En résumé :</u></strong></p>
<ul>
<li>
<div align="left">Les Raspberry Pi A/A+, B/B+ et Zero/ZeroW sont équipés d’un ARMv6, donc Mono 3.10 au maximum, donc “Sentinelle Constellation” seulement pour déployer des packages .NET 4.0 au maximum.</div>
</li>
<li>
<div align="left">Les Raspberry Pi B2 ou B3 sont équipés d’ARM V7 ou V8 permettant l’installation des dernières versions de Mono, permettant donc l’installation du serveur Constellation et/ou de la sentinelle pour déployer des packages .NET 4.0, 4.5 ou plus.</div>
</li>
</ul>
<h3>Installer Constellation sur un Raspberry</h3>
<h4>Etape 1 : installer Raspbian</h4>
<p>A l’aide d’un outil comme “<a href="https://sourceforge.net/projects/win32diskimager/">Win32 Disk Imager</a>” sous Windows, copiez la dernière version en date de l’image du <a href="https://www.raspberrypi.org/downloads/raspbian/">système Raspbian</a> sur une carte MicroSD.</p>
<p>Je vous recommande l’image “<a href="https://www.raspberrypi.org/downloads/raspbian/">Lite</a>” du système, c’est à dire sans interface graphique car inutile pour Constellation, nous exploitons le Raspberry à travers la plateforme Constellation et SSH pour l’installation initiale.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-39.png"><img class="colorbox-4428"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Copie de Raspbian sur la carte SD" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-39.png" alt="Copie de Raspbian sur la carte SD" width="304" height="156" border="0" /></a><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-40.png"><img class="colorbox-4428"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Copie de Raspbian sur la carte SD" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-40.png" alt="Copie de Raspbian sur la carte SD" width="304" height="156" border="0" /></a></p>
<p align="left">Une fois l’image de Raspbian copiée sur votre carte MicroSD, créez un fichier nommé “ssh” (sans extension et sans contenu) à la racine de votre carte SD de façon à activer le service SSH lors du premier boot.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-41.png"><img class="colorbox-4428"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Activation du SSH" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-41.png" alt="Activation du SSH" width="304" height="259" border="0" /></a></p>
<p align="left">Vous pouvez maintenant insérer votre carte MicroSD dans votre Raspberry puis l’alimenter sans oublier de le connecter au réseau via l’interface Ethernet.</p>
<p align="left">Après quelques secondes, connectez-vous dessus à l’aide d’un client SSH comme <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html">Putty</a>. Le nom d’utilisateur est “pi” et le mot de passe par défaut est “raspberry” :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-42.png"><img class="colorbox-4428"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Connexion SSH au Raspberrry" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-42.png" alt="Connexion SSH au Raspberrry" width="428" height="273" border="0" /></a></p>
<p align="left">Voilà votre Raspberry Pi est prêt et connecté !</p>
<h4>Etape 2 : configurer son Raspberry Pi</h4>
<p>Avant de démarrer l’installation de Constellation, je vous recommande vivement de configurer certain élément de base sur ce système fraichement installé.</p>
<p>Pour cela lancez l’utilitaire “raspi-config” par la commande :</p>
<p></p><pre class="crayon-plain-tag">sudo rapsi-config</pre><p></p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-43.png"><img class="colorbox-4428"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Raspi-config" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-43.png" alt="Raspi-config" width="428" height="273" border="0" /></a></p>
<p>Les actions de base à réaliser :</p>
<ol>
<li><u>Change User Password</u> : changez le mot de passe par défaut de l’utilisateur “pi”</li>
<li><u>Hostname</u> : changez le nom du système (par défaut “raspberry”) pour l’identifier plus facilement. N’oubliez pas que le nom du système sert pour identifier une sentinelle dans une Constellation</li>
<li><u>Localisation Options &gt; Change Timezone</u> : spécifiez votre fuseau horaire pour définir correctement l’heure locale du système</li>
<li><u>Interfacing Options &gt; SSH</u> : activez le service SSH</li>
<li><u>Advanced Options &gt; Expand Filesystem</u> : si nécessaire redimensionne la partition pour exploiter pleinement la capacité de votre carte SD</li>
</ol>
<p>Optionnellement si vous avez une interface Wifi (native sur les B3 et Zero-W ou externe) configurez le réseau à joindre.</p>
<p>Pour finir, n’hésitez pas à mettre à jour les sources APT avant de lancer le WPI surtout si vous utilisez une ancienne image.</p>
<p></p><pre class="crayon-plain-tag">sudo apt-get update</pre><p></p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-44.png"><img class="colorbox-4428"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Mise à jour des sources APT" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-44.png" alt="Mise à jour des sources APT" width="354" height="268" border="0" /></a></p>
<h4>Etape 3 : lancer le Web Platform Installer</h4>
<p>Pour télécharger et démarrer <strong><em>Web Platform Installer</em></strong>, rien de plus simple ! Lancez simplement 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>Le WPI se chargera de vérifier et installer l’ensemble des prérequis puis lancera le programme d’installation de Constellation.</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2017/05/image-45.png"><img class="colorbox-4428"  loading="lazy" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Démarrage du Web Platform Installer" src="https://developer.myconstellation.io/wp-content/uploads/2017/05/image_thumb-45.png" alt="Démarrage du Web Platform Installer" width="354" height="277" border="0" /></a></p>
<p align="left">Vous pourrez alors installer une sentinelle sur votre Raspberry ou le serveur Constellation si vous êtes sur un RPi B2 ou B3.</p>
<h3>Next steps</h3>
<p>Que souhaitez-vous souhaitez installer maintenant sur votre Raspberry ?</p>
<ul>
<li><a href="/constellation-platform/constellation-server/installer-constellation-sur-linux/#Installer_la_plateforme">le <strong>serveur</strong> Constellation</a></li>
<li><a href="/getting-started/ajouter-des-sentinelles/#Installation_dune_sentinelle_sur_un_systeme_Linux">la <strong>sentinelle</strong> Constellation</a></li>
</ul>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/constellation-platform/constellation-server/constellation-raspberry-pi/">Constellation sur un Raspberry Pi</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/constellation-raspberry-pi/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[AccessKey]]></category>
		<category><![CDATA[SettingsGroups]]></category>
		<category><![CDATA[Authorization]]></category>
		<category><![CDATA[Package]]></category>
		<category><![CDATA[Settings]]></category>
		<category><![CDATA[Sentinel]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Credential]]></category>
		<category><![CDATA[Server]]></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[Certificat]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[SSL]]></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[TCP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></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>
		<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[Stat]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Performance Counter]]></category>
		<category><![CDATA[Indicateur]]></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>
		<item>
		<title>Publier un package depuis Visual Studio</title>
		<link>https://developer.myconstellation.io/constellation-platform/constellation-sdk/publier-package-visual-studio/</link>
					<comments>https://developer.myconstellation.io/constellation-platform/constellation-sdk/publier-package-visual-studio/#respond</comments>
		
		<dc:creator><![CDATA[Sebastien Warin]]></dc:creator>
		<pubDate>Tue, 09 Aug 2016 12:54:13 +0000</pubDate>
				<category><![CDATA[Constellation SDK]]></category>
		<category><![CDATA[Package]]></category>
		<category><![CDATA[SDK]]></category>
		<guid isPermaLink="false">https://developer.myconstellation.io/?p=2155</guid>

					<description><![CDATA[<p>Pour publier un package Constellation depuis Visual Studio vous pouvez cliquez sur l’icone dans la barre Constellation : Le package à publier est celui marqué comme “Projet de démarrage” dans le cas où vous avez plusieurs projet dans votre solution</p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/constellation-platform/constellation-sdk/publier-package-visual-studio/">Publier un package depuis Visual Studio</a> appeared first on <a rel="nofollow" href="https://developer.myconstellation.io">Constellation</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Pour publier un package Constellation depuis Visual Studio vous pouvez cliquez sur l’icone <img class="colorbox-2155"  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/2016/09/image-90.png" alt="image" width="26" height="31" border="0" /> dans la barre Constellation :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/09/image-91.png"><img class="colorbox-2155"  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/2016/09/image_thumb-86.png" alt="image" width="350" height="144" border="0" /></a></p>
<p align="left">Le package à publier est celui marqué comme “Projet de démarrage” dans le cas où vous avez plusieurs projet dans votre solution Visual Studio.</p>
<p>Autrement cliquez-droit sur le projet que vous souhaitez publier et cliquez sur “Publish Constellation package” dans le menu “Constellation” :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/09/image-92.png"><img class="colorbox-2155"  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/2016/09/image_thumb-87.png" alt="image" width="350" height="318" border="0" /></a></p>
<p>Vous pourrez ensuite publier votre package en local ou directement sur un serveur Constellation.</p>
<h3>Publication locale</h3>
<p>Il suffit d’indiquer un répertoire de sortie et un nom de fichier :</p>
<p><a href="https://developer.myconstellation.io/wp-content/uploads/2016/09/image-93.png"><img class="colorbox-2155"  loading="lazy" style="background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;" title="image" src="https://developer.myconstellation.io/wp-content/uploads/2016/09/image_thumb-88.png" alt="image" width="350" height="174" border="0" /></a></p>
<h3>Publication sur un serveur Constellation</h3>
<p>Pour publier votre package sur un serveur Constellation sélectionnez la méthode “Upload on Constellation Server” et indiquez le serveur à utiliser :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/09/image-94.png"><img class="colorbox-2155"  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/2016/09/image_thumb-89.png" alt="image" width="350" height="174" border="0" /></a></p>
<p>Pour gérer les serveurs Constellation depuis Visual Studio, <a href="/constellation-platform/constellation-sdk/gerer-connexions-constellation/">consultez cet article</a>.</p>
<p>Une confirmation vous indiquera le bon déroulé de la publication :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/09/image-95.png"><img class="colorbox-2155"  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/2016/09/image_thumb-90.png" alt="image" width="350" height="121" border="0" /></a></p>
<p align="left">Notez que vous pouvez suivre le détail du processus de publication dans la fenêtre “Output” de Visual Studio :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/09/image-96.png"><img class="colorbox-2155"  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/2016/09/image_thumb-91.png" alt="image" width="350" height="89" border="0" /></a></p>
<p>Une fois publié, votre package sera disponible dans le Package Repository de votre Constellation et sera prêt à être déployé sur une de vos sentinelles :</p>
<p align="center"><a href="https://developer.myconstellation.io/wp-content/uploads/2016/09/image-97.png"><img class="colorbox-2155"  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/2016/09/image_thumb-92.png" alt="image" width="350" height="86" border="0" /></a></p>
<p>The post <a rel="nofollow" href="https://developer.myconstellation.io/constellation-platform/constellation-sdk/publier-package-visual-studio/">Publier un package depuis Visual Studio</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-sdk/publier-package-visual-studio/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-21 05:05:39 by W3 Total Cache
-->