<?xml 
version="1.0" encoding="iso-8859-1"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
>

<channel xml:lang="fr">
	<title>US191 IMAGO</title>
	<link>https://us191.ird.fr/</link>
	<description>US191 IMAGO
Instrumentation, Moyens Analytiques, Observations en G&#233;ophysique et Oc&#233;anographie
IRD - DR-Ouest CS 10070
Technopole Brest Iroise
Site de la pointe du Diable
29810 PLOUZANE
Tel : 33(0)298224510</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>




<item xml:lang="en">
		<title>TSG-QC: A tool for interactive quality control of sea surface temperature and salinity</title>
		<link>https://us191.ird.fr/spip.php?article63</link>
		<guid isPermaLink="true">https://us191.ird.fr/spip.php?article63</guid>
		<dc:date>2025-06-25T13:59:38Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>Gael Alory, Jacques Grelet, Pierre Rousselot</dc:creator>



		<description>
&lt;p&gt;TSG-QC is a software for interactive analysis and validation of underway SST / SSS (Sea Surface Temperature and Sea Surface Salinity) measurements from a SeaBird Thermosalinograph (TSG). It has been developed under Matlab. &lt;br class='autobr' /&gt;
Updated on June 25, 2025 PURPOSE &lt;br class='autobr' /&gt;
TSG-QC is a tool for analysis and validation of surface temperature and salinity data acquired from a Thermosalinograph (TSG) installed on research or commercial ships. &lt;br class='autobr' /&gt;
It allows: Visualization of TSG variables: Temperature, salinity, (...)&lt;/p&gt;


-
&lt;a href="https://us191.ird.fr/spip.php?rubrique25" rel="directory"&gt;Calibration&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;TSG-QC is a software for interactive analysis and validation of underway SST / SSS (Sea Surface Temperature and Sea Surface Salinity) measurements from a SeaBird Thermosalinograph (TSG). It has been developed under Matlab.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Updated on June 25, 2025&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;PURPOSE&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;TSG-QC is a tool for analysis and validation of surface temperature and salinity data acquired from a Thermosalinograph (TSG) installed on research or &lt;a href=&#034;https://www.legos.omp.eu/sss/&#034; class='spip_out' rel='external'&gt;commercial ships&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It allows:&lt;/p&gt;
&lt;ol class=&#034;spip&#034;&gt;&lt;li&gt; Visualization of TSG variables: Temperature, salinity, and ship speed&lt;/li&gt;&lt;li&gt; Interactive comparison with climatological values (&lt;a href=&#034;https://www.ncei.noaa.gov/products/world-ocean-atlas&#034; class='spip_out' rel='external'&gt;WOA&lt;/a&gt; and &lt;a href=&#034;https://www.seanoe.org/data/00412/52367/&#034; class='spip_out' rel='external'&gt;ISAS&lt;/a&gt;)&lt;/li&gt;&lt;li&gt; Automatic quality control using selected threshold criteria&lt;/li&gt;&lt;li&gt; Data validation and correction with external &#8220;bucket&#8221; measurements (water samples usually collected once a day)&lt;/li&gt;&lt;li&gt; Quantitative estimation of sensor drift&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;The software can deal with different input data formats: ASCII, Labview, &#034;Real-time&#034; Coriolis NetCDF, Seabird (*.cnv), ...&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;INSTALLING SOFTWARE&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The development of the software is now hosted on the IRD Gitlab platform under:&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC&#034; class='spip_out' rel='external'&gt;https://forge.ird.fr/us191/TSG-QC&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you have a Matlab license, there are 2 options:&lt;/p&gt;
&lt;ol class=&#034;spip&#034;&gt;&lt;li&gt; Retrieve and install the source code of the latest release &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC/-/tags/v1.50&#034; class='spip_out' rel='external'&gt;https://forge.ird.fr/us191/TSG-QC/-/tags/v1.50&lt;/a&gt;&lt;br class='autobr' /&gt;
Choose the type of archive to download (.zip or .tgz) by clicking on the &#034;Source Code&#034; drop-down menu.&lt;br class='autobr' /&gt;
Once the archive is uncompressed on the computer, launch Matlab and add the installation directory of tsgqc on the Matlab path and then launch the software with the command:&lt;br class='autobr' /&gt;
&lt;code class='spip_code' dir='ltr'&gt; tsgqc &lt;/code&gt;&lt;/li&gt;&lt;li&gt; Retrieve the sources of the latest version in &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC&#034; class='spip_out' rel='external'&gt;development&lt;/a&gt;with the Git software. If you are running Windows or Linux / Mac, you will need to install the Git software first.&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Installing Git:&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Windows: install the software &lt;a href=&#034;https://git-scm.com/download/win&#034; class='spip_out' rel='external'&gt;Git&lt;/a&gt; and the graphical interface &lt;a href=&#034;https://tortoisegit.org/download/&#034; class='spip_out' rel='external'&gt;Tortoise&lt;/a&gt;, see the post &lt;a href=&#034;https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html&#034; class='spip_out' rel='external'&gt;&#034;Install and configure Tortoise Git&#034;&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Linux: follow the instructions described in the official documentation of Git, &lt;a href=&#034;https://git-scm.com/book/en/v2/Getting-Started-Installing-Git&#034; class='spip_out' rel='external'&gt;&#034;Installing Git&#034;&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Mac OsX: &lt;a href=&#034;https://git-scm.com/download/mac&#034; class='spip_out' rel='external'&gt;https://git-scm.com/download/mac&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Clone your local copy of the Git repository:&lt;/p&gt;
&lt;p&gt;Go to the TSG-QC Git page &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC&#034; class='spip_out' rel='external'&gt;https://forge.ird.fr/us191/TSG-QC&lt;/a&gt; and copy the HTTPS URL as shown below:&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_279 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/jpg/tortoise-forge-ird-clone.jpg?1638179596' width='500' height='254' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Windows:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the directory of your choice, for example (c:\gitlab), right-click to open the context menu and choose &#034;Git clone&#034;&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_275 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/jpg/tortoise-forge-ird.jpg?1638178988' width='500' height='350' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;then click OK, the cloning of the repository should begin.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Update Deposit:&lt;/i&gt; When you've been notified by email of adding new features or bug fixes, from the pop-up menu, choose &#034;Git pull&#034; to update your local copy.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Linux:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Clone your local copy of the Git repository on Linux from the command line, replace &lt;homedir&gt; with the directory of your choice:&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;$ cd &lt;homedir&gt;/gitlab $ git clone https://forge.ird.fr/us191/TSG-QC.git&lt;/textarea&gt;
&lt;p&gt;Update your local copy:&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;$ git pull&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Versions &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The latest &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC/-/tags&#034; class='spip_out' rel='external'&gt;version 1.60&lt;/a&gt;, updated June 25, 2025 works with the latest versions of Matlab and has been tested up to R2024b.&lt;/p&gt;
&lt;p&gt;Read the &#034;&lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC/tree/master/ReleaseNotes.md&#034; class='spip_out' rel='external'&gt;Release Notes&lt;/a&gt;&#034; file for the latest changes.&lt;/p&gt;
&lt;p&gt;Follow the instructions of the files &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC/tree/master/README.md&#034; class='spip_out' rel='external'&gt;README&lt;/a&gt; and &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC/tree/master/INSTALL.md&#034; class='spip_out' rel='external'&gt;INSTALL&lt;/a&gt; to modify the paths under Matlab and install the toolboxes or &#034;toolbox&#034; necessary for the application.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Compiled Version&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;If you do not have a Matlab license, a compiled version is available by clicking the following links using the ftp client program &lt;a href=&#034;https://filezilla-project.org/&#034; class='spip_out' rel='external'&gt;Filezilla&lt;/a&gt;:&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;ftp://ftp.ifremer.fr/ifremer/ird/us191/TSG-QC/runtime/Windows%20(x64)/&#034; class='spip_out'&gt;version Windows 64 bit R2022b&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;ftp://ftp.ifremer.fr/ifremer/ird/us191/TSG-QC/runtime/Unix/&#034; class='spip_out'&gt;version Unix R2023b&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Read the file readme.txt.&lt;/p&gt;
&lt;p&gt;Using tsgqc.exe requires installing the Matlab runtime. You need to get it from the same link and install it.&lt;/p&gt;
&lt;p&gt;To obtain a version compiled under Linux (Ubuntu), send me a direct request by mail.&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;QUICK START&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Start &lt;strong&gt;Matlab&lt;/strong&gt;, go to the &lt;code class='spip_code' dir='ltr'&gt;tsg_data&lt;/code&gt; subdirectory and type &lt;code class='spip_code' dir='ltr'&gt;tsgqc&lt;/code&gt; to run the program. Use the File / Open menu to open a data file.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_280 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/jpg/tsg-qc.jpg?1638179604' width='500' height='354' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;DOCUMENTATION&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A user's guide is available &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC/blob/master/tsg_doc/User_Manual_TSGQC.pdf&#034; class='spip_out' rel='external'&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://www.gosud.org/Standards-and-best-practices/Measuring-SSS-SST-with-TSG&#034; class='spip_out' rel='external'&gt;Standards and best practices from GOSUD&lt;/a&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;OUTPUT FILE FORMAT &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The reference document CORTSG_format_gosud.pdf &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC/blob/master/tsg_doc/CORTSG_format_gosud.pdf&#034; class='spip_out' rel='external'&gt;version 3.0&lt;/a&gt; describing the output NetCDF format is available online from the subversion repository.&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;REFERENCES&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; TSG-QC: &lt;a href=&#034;http://us191.ird.fr/IMG/pdf/Presentation_Coriolis_TSG_Y_Gouriou_01-12-2008.pdf&#034; class='spip_out' rel='external'&gt;Talk&lt;/a&gt; by Y Gouriou , TSG-CORIOLIS meeting, 01/12/2008&lt;/li&gt;&lt;/ul&gt;&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;TECHNICAL SUPPORT &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you have any technical difficulties, you can contact me at the following address:&lt;br class='autobr' /&gt;
pierre.rousselot_a_ird.fr&lt;/p&gt;
&lt;p&gt;Mention the following information:&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; a copy of the error message you get in the Matlab Command Window, if any&lt;/li&gt;&lt;li&gt; the operating system you use (Windows 7, XP, Linux or Solaris):
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Windows: &#034;System Properties&#034;&lt;/li&gt;&lt;li&gt; Unix: uname -a&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;under Matlab, the results of the following commands:&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &gt;&gt; ver&lt;/li&gt;&lt;li&gt; &gt;&gt; matlabpath&lt;/li&gt;&lt;/ul&gt;&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;LINKS&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://sss.sedoo.fr/&#034; class='spip_out' rel='external'&gt;SEDOO - SSS&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://www.legos.omp.eu/sss/&#034; class='spip_out' rel='external'&gt;ORE - SSS&lt;/a&gt;: Sea Surface Salinity Observation Service&lt;/li&gt;&lt;li&gt; SeaBird: &lt;a href=&#034;https://www.seabird.com/moving-platform/sbe-21-seacat-thermosalinograph/family?productCategoryId=54627473790&#034; class='spip_out' rel='external'&gt;Thermosalinograph SBE 21&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.gosud.org/&#034; class='spip_out' rel='external'&gt;GOSUD&lt;/a&gt;: Global Ocean Surface Underway Data project&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.odatis-ocean.fr/en/&#034; class='spip_out' rel='external'&gt;ODATIS&lt;/a&gt;: Ocean Data Information and Services&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>TSG-QC : Outils d'analyse interactive des donn&#233;es de temp&#233;rature et salinit&#233; de surface</title>
		<link>https://us191.ird.fr/spip.php?article28</link>
		<guid isPermaLink="true">https://us191.ird.fr/spip.php?article28</guid>
		<dc:date>2025-06-25T13:48:32Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Gael Alory, Jacques Grelet, Pierre Rousselot</dc:creator>



		<description>
&lt;p&gt;TSG-QC est un logiciel d'analyse et de validation interactive des mesures de SST/SSS (Sea Surface Temperature et Sea Surface Salinity) acquises en route sur les navires d'opportunit&#233; et de recherche &#224; l'aide d'un Thermosalinographe (TSG) de marque SeaBird. Il est d&#233;velopp&#233; en langage Matlab. &lt;br class='autobr' /&gt;
Mise &#224; jour : 25/06/2025 GENERALITES &lt;br class='autobr' /&gt;
TSG-QC est un outil d'analyse et de validation des donn&#233;es de Temp&#233;rature et Salinit&#233; de surface acquises &#224; l'aide d'un (...)&lt;/p&gt;


-
&lt;a href="https://us191.ird.fr/spip.php?rubrique25" rel="directory"&gt;Calibration&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;TSG-QC est un logiciel d'analyse et de validation interactive&lt;br class='autobr' /&gt;
des mesures de SST/SSS (Sea Surface Temperature et Sea Surface Salinity) acquises en route sur les navires d'opportunit&#233; et de recherche &#224; l'aide d'un Thermosalinographe (TSG) de marque SeaBird. Il est d&#233;velopp&#233; en langage Matlab.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Mise &#224; jour : 25/06/2025&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;GENERALITES&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;TSG-QC est un outil d'analyse et de validation des donn&#233;es de Temp&#233;rature et Salinit&#233; de surface acquises &#224; l'aide d'un Thermosalinographe (TSG) install&#233; sur des navires de recherche ou de &lt;a href=&#034;https://www.legos.omp.eu/sss/&#034; class='spip_out' rel='external'&gt;commerce&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Il permet :&lt;/p&gt;
&lt;ol class=&#034;spip&#034;&gt;&lt;li&gt; la repr&#233;sentation des param&#232;tres des TSG : Temp&#233;rature (T), salinit&#233; (S) et vitesse du navire (V)&lt;/li&gt;&lt;li&gt; une aide interactive &#224; l'op&#233;rateur en s'aidant de climatologies (&lt;a href=&#034;https://www.ncei.noaa.gov/products/world-ocean-atlas&#034; class='spip_out' rel='external'&gt;WOA&lt;/a&gt; et &lt;a href=&#034;https://www.seanoe.org/data/00412/52367/&#034; class='spip_out' rel='external'&gt;ISAS&lt;/a&gt;)&lt;/li&gt;&lt;li&gt; des contr&#244;les automatiques par crit&#232;res pr&#233;-&#233;tablis&lt;/li&gt;&lt;li&gt; de valider et corriger les donn&#233;es par des mesures compl&#233;mentaires effectu&#233;es lors des voyages &#034;Bucket&#034; (&#233;chantillons r&#233;colt&#233;s en g&#233;n&#233;ral une fois par jour)&lt;/li&gt;&lt;li&gt; d'estimer par calcul la d&#233;rive des capteurs&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Le logiciel prend en compte des donn&#233;es d'origines diverses : DOS thermo, Labview, &#034;temps R&#233;el&#034; Coriolis, NetCDF, Seabird (*.cnv).&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;INSTALLATION&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le d&#233;veloppement du logiciel est r&#233;alis&#233; avec le logiciel GIT et la page d'accueil du projet se trouve h&#233;berg&#233;e sur la plateforme Gitlab de l'IRD sous :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC&#034; class='spip_out' rel='external'&gt;https://forge.ird.fr/us191/TSG-QC&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Si avez une licence Matlab, vous avez le choix entre deux options :&lt;/p&gt;
&lt;ol class=&#034;spip&#034;&gt;&lt;li&gt; R&#233;cup&#233;rer les sources de la derni&#232;re version stable ou RC (Release Candidate) sous la forme d'une archive compress&#233;e &#224; installer sur votre ordinateur depuis le lien &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC/tags&#034; class='spip_out' rel='external'&gt;https://forge.ird.fr/us191/TSG-QC/tags&lt;/a&gt;. &lt;br class='autobr' /&gt;
Choisir de type d'archive &#224; r&#233;cup&#233;rer (.zip ou .tgz) en cliquant sur le menu d&#233;roulant &#034;Source code&#034;.&lt;br class='autobr' /&gt;
Une fois l'archive d&#233;compress&#233;e sur l'ordinateur, lancer Matlab et rajouter le r&#233;pertoire d'installation de tsgqc dans le path Matlab puis lancer le logiciel avec la commande : &lt;br class='autobr' /&gt;
&lt;code class='spip_code' dir='ltr'&gt;tsgqc&lt;/code&gt;&lt;/li&gt;&lt;li&gt; R&#233;cup&#233;rer les sources de la derni&#232;re version en cours de d&#233;veloppement &#224; l'aide du logiciel Git. Si vous travaillez sous Windows ou Linux/Mac, il vous faudra au pr&#233;alable installer le logiciel Git.&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Installation de Git :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Windows : installer le logiciel &lt;a href=&#034;https://git-scm.com/download/win&#034; class='spip_out' rel='external'&gt;Git&lt;/a&gt; et l'interface graphique &lt;a href=&#034;https://tortoisegit.org/download/&#034; class='spip_out' rel='external'&gt;Tortoise&lt;/a&gt;, voir le billet &lt;a href=&#034;https://www.clemdesign.fr/blog/configurer-tortoisegit-et-le-lier-a-son-serveur&#034; class='spip_out' rel='external'&gt;&#034;Installer et configurer Tortoise Git&#034;&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Linux : suivre les instructions d&#233;crites dans la documentation officielle de Git, &lt;a href=&#034;https://git-scm.com/book/fr/v1/D%C3%A9marrage-rapide-Installation-de-Git&#034; class='spip_out' rel='external'&gt;&#034;installation de Git&#034;&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Mac OsX : &lt;a href=&#034;https://git-scm.com/download/mac&#034; class='spip_out' rel='external'&gt;https://git-scm.com/download/mac&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Cloner votre copie locale du d&#233;p&#244;t Git :&lt;/p&gt;
&lt;p&gt;Pour cela aller sur le site Web du d&#233;p&#244;t Git &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC&#034; class='spip_out' rel='external'&gt;https://forge.ird.fr/us191/TSG-QC&lt;/a&gt; et copier l'URL HTTPS comme indiqu&#233; ci dessous :&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_279 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/jpg/tortoise-forge-ird-clone.jpg?1638179596' width='500' height='254' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Windows : &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Dans le r&#233;pertoire de votre choix, par exemple (c :\gitlab), clic droit pour ouvrir le menu contextuel et choisir &#034;Git clone&#034;&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_275 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/jpg/tortoise-forge-ird.jpg?1638178988' width='500' height='350' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;puis cliquer sur OK, le clonage du d&#233;p&#244;t devrait d&#233;buter.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Mise &#224; jour du d&#233;p&#244;t : &lt;/i&gt; lorsque vous aurez &#233;t&#233; averti par mail de l'ajout de nouvelles fonctionnalit&#233;s ou de la correction de bugs, depuis le menu contextuel, choisir &#034;Git pull&#034; pour mettre &#224; jour votre copie locale.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Linux : &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Cloner votre copie locale du d&#233;p&#244;t Git sous Linux en ligne de commande, remplacer &lt;homedir&gt; par le r&#233;pertoire de votre choix :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;$ cd &lt;homedir&gt;/gitlab $ git clone https://forge.ird.fr/us191/TSG-QC.git&lt;/textarea&gt;
&lt;p&gt;Mettre &#224; jour votre copie locale :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;$ git pull&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Versions :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;La version stable &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC/-/tags&#034; class='spip_out' rel='external'&gt;1.60&lt;/a&gt;, mise &#224; jour le 25 juin 2025 fonctionne avec les derni&#232;res versions de Matlab et a &#233;t&#233; test&#233;e jusqu'&#224; la version R2024b.&lt;/p&gt;
&lt;p&gt;Lire le fichier &#034;&lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC/tree/master/ReleaseNotes.md&#034; class='spip_out' rel='external'&gt;Release Notes&lt;/a&gt;&#034; pour prendre connaissance des derni&#232;res modifications.&lt;/p&gt;
&lt;p&gt;Suivre les instructions des fichiers &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC/tree/master/README.md&#034; class='spip_out' rel='external'&gt;README&lt;/a&gt; et &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC/tree/master/INSTALL_FR.md&#034; class='spip_out' rel='external'&gt;INSTALL&lt;/a&gt; pour modifier les chemins d'acc&#232;s sous Matlab et installer les boites &#224; outils ou &#034;toolbox&#034; n&#233;cessaires &#224; l'application.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#034;version_compilee&#034;&gt;&lt;/a&gt;&lt;br class='autobr' /&gt;
&lt;strong&gt;Version compil&#233;e&lt;/strong&gt; :&lt;/p&gt;
&lt;p&gt;Si vous ne poss&#233;dez pas de licence Matlab, il existe une version compil&#233;e, disponible uniquement sous Windows, en ouvrant les liens suivant avec un client ftp de pr&#233;f&#233;rence comme &lt;a href=&#034;https://filezilla-project.org/&#034; class='spip_out' rel='external'&gt;Filezilla&lt;/a&gt; :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;ftp://ftp.ifremer.fr/ifremer/ird/us191/TSG-QC/runtime/Windows%20(x64)/&#034; class='spip_out'&gt;version Windows 64 bits R2022b&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;ftp://ftp.ifremer.fr/ifremer/ird/us191/TSG-QC/runtime/Unix/&#034; class='spip_out'&gt;version Unix R2023b&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Lors de la premi&#232;re installation, il est n&#233;cessaire de r&#233;cup&#233;rer et d'installer le runtime Matlab disponible &#233;galement sous le lien pr&#233;c&#233;dent. Lire le fichier readme.txt.&lt;/p&gt;
&lt;p&gt;Pour obtenir une version compil&#233;e sous Linux (Ubuntu), m'en faire directement la demande par mail.&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;UTILISATION&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sous &lt;strong&gt;Matlab&lt;/strong&gt;, se placer dans le sous r&#233;pertoire tsg_data puis entrer la commande &lt;code class='spip_code' dir='ltr'&gt;tsgqc&lt;/code&gt; pour lancer le programme. Charger un fichier de donn&#233;es en m&#233;moire par le menu File/Open.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_280 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/jpg/tsg-qc.jpg?1638179604' width='500' height='354' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;DOCUMENTATION&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;La documentation est disponible &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC/blob/master/tsg_doc/Manuel_Utilisateur_TSGQC.docx&#034; class='spip_out' rel='external'&gt;ici&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Les bonnes pratiques, &lt;a href=&#034;http://www.gosud.org/Standards-and-best-practices/Measuring-SSS-SST-with-TSG&#034; class='spip_out' rel='external'&gt;document GOSUD&lt;/a&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;FORMAT DES FICHIERS&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le document de r&#233;f&#233;rence &lt;a href=&#034;https://forge.ird.fr/us191/TSG-QC/blob/master/tsg_doc/CORTSG_format_gosud.pdf&#034; class='spip_out' rel='external'&gt;DATA FORMAT TSG V3.0&lt;/a&gt; du format NetCDF GOSUD est accessible en ligne depuis le d&#233;p&#244;t subversion.&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;DOCUMENTS DIVERS&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;http://us191.ird.fr/IMG/pdf/Presentation_Coriolis_TSG_Y_Gouriou_01-12-2008.pdf&#034; class='spip_out' rel='external'&gt;Pr&#233;sentation&lt;/a&gt; d'Yves Gouriou &#224; la journ&#233;e TSG-CORIOLIS du 01/12/2008&lt;/li&gt;&lt;/ul&gt;&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;SUPPORT TECHNIQUE&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;En cas de difficult&#233;s techniques, vous pouvez me contacter &#224; l'adresse suivante :&lt;br class='autobr' /&gt;
pierre.rousselot_a_ird.fr&lt;br class='autobr' /&gt;
Mentionner les renseignements suivants :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; en cas d'erreur joindre une copie du message d'erreur produit dans la fen&#234;tre &#034;command windows&#034;&lt;/li&gt;&lt;li&gt; sp&#233;cifier le syst&#232;me d'exploitation (Windows 7, XP, Linux ou Solaris) :
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Windows : &#034;propri&#233;t&#233;s syst&#232;me&#034;&lt;/li&gt;&lt;li&gt; Unix : uname -a&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;et sous Matlab, le r&#233;sultat des commandes suivantes :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &gt;&gt; ver&lt;/li&gt;&lt;li&gt; &gt;&gt; matlabpath&lt;/li&gt;&lt;/ul&gt;&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;LIENS&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://sss.sedoo.fr/&#034; class='spip_out' rel='external'&gt;SEDOO-SSS&lt;/a&gt;&lt;/li&gt;&lt;li&gt; SO-SSS : &lt;a href=&#034;https://www.legos.omp.eu/sss/&#034; class='spip_out' rel='external'&gt;Sea Surface Salinity Observation Service&lt;/a&gt;&lt;/li&gt;&lt;li&gt; SeaBird : &lt;a href=&#034;https://www.seabird.com/moving-platform/sbe-21-seacat-thermosalinograph/family?productCategoryId=54627473790&#034; class='spip_out' rel='external'&gt;Thermosalinograph SBE 21&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.gosud.org/&#034; class='spip_out' rel='external'&gt;GOSUD&lt;/a&gt; : Global Ocean Surface Underway Data project&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://www.odatis-ocean.fr/&#034; class='spip_out' rel='external'&gt;ODATIS&lt;/a&gt; : P&#244;le de donn&#233;es et de services pour l'oc&#233;an&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Aide m&#233;moire Python</title>
		<link>https://us191.ird.fr/spip.php?article79</link>
		<guid isPermaLink="true">https://us191.ird.fr/spip.php?article79</guid>
		<dc:date>2021-05-26T11:43:25Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jacques Grelet</dc:creator>



		<description>
&lt;p&gt;Mise &#224; jour : 26 mai 2021 &lt;br class='autobr' /&gt;
Introduction Ce billet est un aide m&#233;moire pour l'utilisation de Python 3.x conjointement avec les gestionnaires de paquets pip et conda et l'utilisation de Qt et Pyside &lt;br class='autobr' /&gt;
Installation de Python 3.x Principales commandes de conda : Principales commandes de pip : Installation de Qt5 Installation de Qt6 et Pyside6 Qt6 n&#233;cessite d'avoir install&#233; python 3.9. Cr&#233;ation d'un environnement virtuel appel&#233; Qt6 sous conda : conda create &#8212;name (...)&lt;/p&gt;


-
&lt;a href="https://us191.ird.fr/spip.php?rubrique6" rel="directory"&gt;Langages&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Mise &#224; jour : 26 mai 2021&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Ce billet est un aide m&#233;moire pour l'utilisation de Python 3.x conjointement avec les gestionnaires de paquets pip et conda et l'utilisation de Qt et Pyside&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Installation de Python 3.x&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Principales commandes de conda :&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Principales commandes de pip :&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Installation de Qt5&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Installation de Qt6 et Pyside6&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Qt6 n&#233;cessite d'avoir install&#233; python 3.9. Cr&#233;ation d'un environnement virtuel appel&#233; Qt6 sous conda :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='6' class='spip_cadre' dir='ltr'&gt;conda create --name Qt6 python=3.9 conda activate Qt6 pip install cx-freeze pip install PyQt6 pip install PyQt6-Tools pip install PySide6&lt;/textarea&gt;
&lt;p&gt;Les modules Qt6 doivent &#234;tre install&#233; avec pip.&lt;br class='autobr' /&gt;
Il est possible d'installer simultan&#233;ment les paquets PyQt et PySide, voir les diff&#233;rences de &lt;a href=&#034;https://www.mfitzp.com/blog/pyqt6-vs-pyside6/&#034; class='spip_out' rel='external'&gt;licences&lt;/a&gt;entre les 2 versions.&lt;br class='autobr' /&gt;
Avec Qt6, l'outil &lt;i&gt;&lt;a href=&#034;https://realpython.com/qt-designer-python/&#034; class='spip_out' rel='external'&gt;designer&lt;/a&gt;&lt;/i&gt; doit &#234;tre lanc&#233; comme argument de la commande &lt;i&gt;&lt;a href=&#034;https://pypi.org/project/pyqt6-tools/&#034; class='spip_out' rel='external'&gt;pyqt6-tools&lt;/a&gt;&lt;/i&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='11' class='spip_cadre' dir='ltr'&gt;pyqt6-tools Usage: pyqt6-tools [OPTIONS] COMMAND [ARGS]... Options: --help Show this message and exit. Commands: designer installuic qmlscene qmltestrunner&lt;/textarea&gt;
&lt;p&gt;soit :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;pyqt6-tools designer&lt;/textarea&gt;
&lt;p&gt;Pour cr&#233;er des interfaces GUI modernes avec PyQt6 ou PySide6, vous pouvez tester le framework &lt;a href=&#034;https://github.com/Wanderson-Magalhaes/Modern_GUI_PyDracula_PySide6_or_PyQt6&#034; class='spip_out' rel='external'&gt;PyDracula&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visual Studio Code (VSC) et Python&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Lire la &lt;a href=&#034;https://code.visualstudio.com/docs/languages/python&#034; class='spip_out' rel='external'&gt;documentation&lt;/a&gt; relative &#224; la programmation sous Python avec Visual Studio Code (VSC). Installer les extensions &lt;a href=&#034;https://github.com/Microsoft/vscode-python&#034; class='spip_out' rel='external'&gt;Python&lt;/a&gt;, &lt;a href=&#034;https://github.com/seanwu1105/vscode-qt-for-python&#034; class='spip_out' rel='external'&gt;Qt for Python&lt;/a&gt;, &lt;a href=&#034;https://github.com/kondratyev-nv/vscode-python-test-adapter&#034; class='spip_out' rel='external'&gt;Python test Explorer&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Liens&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;img src='https://us191.ird.fr/local/cache-vignettes/L8xH11/puce-32883.gif?1593173250' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Python 3, &lt;a href=&#034;https://docs.python.org/3/&#034; class='spip_out' rel='external'&gt;anglais&lt;/a&gt;, &lt;a href=&#034;https://docs.python.org/fr/3/&#034; class='spip_out' rel='external'&gt;fran&#231;ais&lt;/a&gt;
&lt;br /&gt;&lt;img src='https://us191.ird.fr/local/cache-vignettes/L8xH11/puce-32883.gif?1593173250' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; pip, &lt;a href=&#034;https://pip.pypa.io/en/stable/user_guide/&#034; class='spip_out' rel='external'&gt;user guide&lt;/a&gt;, &lt;a href=&#034;https://dzone.com/articles/most-important-quotpipquot-commands-for-a-python-d&#034; class='spip_out' rel='external'&gt;more important commands&lt;/a&gt;
&lt;br /&gt;&lt;img src='https://us191.ird.fr/local/cache-vignettes/L8xH11/puce-32883.gif?1593173250' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; conda, &lt;a href=&#034;https://docs.conda.io/projects/conda/en/latest/index.html&#034; class='spip_out' rel='external'&gt;doc&lt;/a&gt;
&lt;br /&gt;&lt;img src='https://us191.ird.fr/local/cache-vignettes/L8xH11/puce-32883.gif?1593173250' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; conda, &lt;a href=&#034;https://docs.conda.io/projects/conda/en/latest/commands.html&#034; class='spip_out' rel='external'&gt;commandes de r&#233;f&#233;rences&lt;/a&gt;
&lt;br /&gt;&lt;img src='https://us191.ird.fr/local/cache-vignettes/L8xH11/puce-32883.gif?1593173250' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Qt6 &lt;a href=&#034;https://doc.qt.io/qtforpython-6/tutorials/index.html&#034; class='spip_out' rel='external'&gt;tutorial&lt;/a&gt;
&lt;br /&gt;&lt;img src='https://us191.ird.fr/local/cache-vignettes/L8xH11/puce-32883.gif?1593173250' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;https://github.com/altendky/pyqt-tools&#034; class='spip_out' rel='external'&gt;pyqt-tools&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Configuration et utilisation de WSL (Windows Subsystem for Linux)</title>
		<link>https://us191.ird.fr/spip.php?article77</link>
		<guid isPermaLink="true">https://us191.ird.fr/spip.php?article77</guid>
		<dc:date>2020-05-15T15:05:03Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jacques Grelet</dc:creator>



		<description>&lt;p&gt;Le sous-syst&#232;me Windows pour Linux permet d'utiliser un environnement GNU/Linux directement sur Windows. Les distributions GNU/Linux les plus courantes sont disponibles &#224; partir du Microsoft Store. Utilis&#233; conjointement avec le nouveau terminal Windows (Terminal Windows preview), il offre &#224; l'utilisateur Windows les possibilit&#233; de travailler, de d&#233;velopper et d'acc&#233;der de mani&#232;re transparente aux fichiers &#224; la fois de Linux et de Windows. Il est &#233;galement possible d'utiliser un environnement X l&#233;ger comme Xfce et de d&#233;velopper sous VSCode pour Windows avec le module Remote-WSL.&lt;/p&gt;

-
&lt;a href="https://us191.ird.fr/spip.php?rubrique12" rel="directory"&gt;Windows&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Mise &#224; jour : 17 septembre 2020&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le sous-syst&#232;me Windows pour Linux permet aux utilisateurs/d&#233;veloppeurs d'ex&#233;cuter un environnement GNU/Linux directement sur Windows sans avoir &#224; utiliser une machine virtuelle.&lt;br class='autobr' /&gt;
Son introduction date de 2016 avec la mise &#224; jour de Windows 10 version 1607.&lt;/p&gt;
&lt;p&gt;Les principales fonctionnalit&#233;s de WSL :&lt;/p&gt;
&lt;ol class=&#034;spip&#034;&gt;&lt;li&gt; Choisir et installer une ou plusieurs distributions GNU/Linux &#224; partir du Microsoft Store&lt;/li&gt;&lt;li&gt; Ex&#233;cuter les utilitaires et logiciels en ligne de commande courants tels que grep, sed et awk, ssh ou d'autres fichiers binaires ELF-64 : git,&lt;/li&gt;&lt;li&gt; Ex&#233;cuter des scripts shell Bash et des applications en ligne de commande GNU/Linux, notamment :
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Outils : vim, emacs,&lt;/li&gt;&lt;li&gt; Langages : Javascript/node.js, Php, Perl, Python, C/C++, Go, Rust, etc.&lt;/li&gt;&lt;li&gt; Services : SSHD, MySQL, PostgreSQL, Apache, Nginx, Tomcat, etc&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; Installer des logiciels suppl&#233;mentaires en utilisant le gestionnaire de paquets de votre distribution GNU/Linux&lt;/li&gt;&lt;li&gt; Appeler des applications Windows &#224; l'aide d'un shell de ligne de commande de type UNIX&lt;/li&gt;&lt;li&gt; Appeler des applications GNU/Linux sur Windows&lt;/li&gt;&lt;li&gt; Lancer des applications graphique Linux en utilisant un serveur X sous Windows&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Actuellement, il existe deux versions de WSL :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La version 1&lt;/strong&gt;, qui est disponible jusqu'&#224; la derni&#232;re mise &#224; jour de Windows 10 version 1909, est un driver pour Windows impl&#233;mentant l'API du noyau Linux, driver qui transforme les appels au noyau en instructions compatibles Windows. Ce qui pose certains probl&#232;mes de compatibilit&#233; et de vitesse d'ex&#233;cution, notamment avec l'API permettant d'acc&#233;der au syst&#232;me de fichiers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La version 2&lt;/strong&gt; permet de r&#233;soudre les diff&#233;rents probl&#232;mes de compatibilit&#233; et de performances rencontr&#233;s avec la version 1. Cette nouvelle version de WSL 2 utilise les fonctionnalit&#233;s Hyper-V pour cr&#233;er une machine virtuelle l&#233;g&#232;re avec un noyau Linux minimal. Elle permet une meilleure compatibilit&#233; avec les logiciels Linux, la prise en charge de Docker et une augmentation notable des performances du syst&#232;me de fichiers. Elle est disponible depuis le mois de juin avec la mise &#224; jour Windows 10 version 2004.&lt;/p&gt;
&lt;p&gt;Dans ce billet, nous allons d&#233;crire l'installation et la configuration de WSL pour une distribution Ubuntu LTS. Le principe sera identique pour les distributions Arch Linux ou Alpine.&lt;/p&gt;
&lt;p&gt;Nous verrons dans un prochain billet comment utiliser et mettre en &#339;uvre cette distribution Linux pour automatiser la collecte et le traitement des donn&#233;es acquises lors d'une campagne de recherche sur un navire oc&#233;anographique.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Suivre pas &#224; pas les instructions du Guide d'installation du sous-syst&#232;me Windows pour &lt;a href=&#034;https://docs.microsoft.com/fr-fr/windows/wsl/install-win10&#034; class='spip_out' rel='external'&gt;Linux pour Windows 10&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Avant d'installer des distributions Linux pour WSL, vous devez vous assurer que la fonctionnalit&#233; facultative &#171; Sous-syst&#232;me Windows pour Linux &#187; est activ&#233;e :&lt;/p&gt;
&lt;ol class=&#034;spip&#034;&gt;&lt;li&gt; Ouvrez PowerShell en tant qu'administrateur et ex&#233;cutez : &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux&lt;/textarea&gt;&lt;/li&gt;&lt;li&gt;Red&#233;marrez votre ordinateur lorsque vous y &#234;tes invit&#233;.&lt;/li&gt;&lt;li&gt; Installer le nouveau terminal Windows depuis le Microsoft Store qui va remplacer l'invite de commande. La version actuelle est baptis&#233;e &#171; Windows Terminal &#187;&lt;br class='autobr' /&gt;
&lt;span class='spip_document_251 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/terwin.png?1589532741' width='500' height='168' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;br class='autobr' /&gt;
Si vous avec d&#233;j&#224; install&#233; la version &#034;preview&#034;, il semblerait que la mise &#224; jour sur le store ne soit pas automatique, il est donc conseill&#233; de v&#233;rifier la disponibilit&#233; d'une nouvelle version en cliquant sur les ... :&lt;br class='autobr' /&gt;
&lt;span class='spip_document_252 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/jpg/terwin_maj.png.jpg?1589532789' width='500' height='201' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; T&#233;l&#233;charger et installer &#224; partir du Microsoft Store une distribution Ubuntu LTS, soit la 16.04, 18.04 ou la toute r&#233;cente 20.04 :&lt;br class='autobr' /&gt;
&lt;span class='spip_document_254 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/ubuntu-install.png?1589538941' width='500' height='264' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;br class='autobr' /&gt;
La premi&#232;re &#233;tape qu'il vous est demand&#233; d'effectuer lors de l'ouverture de la distribution Linux nouvellement install&#233;e consiste &#224; cr&#233;er un compte avec un nom d'utilisateur et un mot de passe. Ce nom d'utilisateur et ce mot de passe sont propres &#224; votre distribution Linux et n'ont aucune incidence sur votre nom d'utilisateur Windows. Une fois que vous avez cr&#233;&#233; ce nom d'utilisateur et ce mot de passe, le compte devient votre utilisateur par d&#233;faut pour la distribution et se connecte automatiquement au d&#233;marrage.&lt;br class='autobr' /&gt;
Ce compte est consid&#233;r&#233; comme l'administrateur Linux, avec la capacit&#233; d'ex&#233;cuter des commandes d'administration sudo (Super User Do).&lt;/li&gt;&lt;li&gt; Une fois la session Linux (Ubuntu) d&#233;marr&#233;e et le compte utilisateur cr&#233;&#233;, vous pouvez lancer le Terminal Windows. Ce dernier ouvre par d&#233;faut une session PowerShell. Dans le menu (&#224; droite de l'onglet, fl&#232;che vers le bas), s&#233;lectionner la distribution install&#233;e, soit ici : Ubuntu-18.04 :&lt;br class='autobr' /&gt;
&lt;span class='spip_document_255 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/terminal-ubuntu.png?1589539215' width='500' height='226' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;br class='autobr' /&gt;
Pour ouvrir la session Ubuntu par d&#233;faut, il faut &#233;diter le fichier de configuration (setting) et remplacer le guid par d&#233;faut du Powershell par celui d'Ubuntu. Voir &#171; Editing Windows Terminal JSON Settings &#187; sur la page &lt;a href=&#034;https://github.com/microsoft/terminal/blob/master/doc/user-docs/UsingJsonSettings.md&#034; class='spip_out' rel='external'&gt;Github&lt;/a&gt; du projet.&lt;br class='autobr' /&gt;
Pour faciliter le copier/coller entre les 2 environnements, on mettra les variables ci-dessous &#224; true. Ne pas oublier la virgule &#224; la fin de chaque ligne ! &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;&#034;copyOnSelect&#034;: true, &#034;copyFormatting&#034;: true,&lt;/textarea&gt;&lt;/li&gt;&lt;li&gt; Mettre &#224; jour la distribution : &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;sudo apt update sudo apt upgrade&lt;/textarea&gt;&lt;/li&gt;&lt;li&gt; Installer un environnement X l&#233;ger tel que Xfce (optionnel) si vous d&#233;sirez faire de l'affichage graphique. Installer uniquement l'environnement Xfce avec la commande : &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;sudo apt install xfce4 sudo apt install vim-gtk&lt;/textarea&gt;&lt;/li&gt;&lt;li&gt; Editer le fichier &lt;code class='spip_code' dir='ltr'&gt;~/.bashrc&lt;/code&gt; et ajouter la variable d'environnement DISPLAY pour rediriger l'affichage graphique sur le serveur X Windows (WSL1) : &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;export DISPLAY=:0.0&lt;/textarea&gt;
&lt;p&gt;Recharger le fichier &lt;code class='spip_code' dir='ltr'&gt;~/.bashrc&lt;/code&gt; pour prendre en compte la nouvelle variable DISPLAY :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;. ~/.bashrc&lt;/textarea&gt;&lt;/li&gt;&lt;li&gt; Installer le serveur libre X VcXsrv sous Windows :
&lt;br /&gt;&lt;img src='https://us191.ird.fr/local/cache-vignettes/L8xH11/puce-32883.gif?1593173250' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;https://sourceforge.net/projects/vcxsrv/&#034; class='spip_out' rel='external'&gt;VcXsrv&lt;/a&gt; &lt;br class='autobr' /&gt;
pour afficher les sorties graphiques sous X. Voir les d&#233;tails sous : &lt;a href=&#034;https://doc.ubuntu-fr.org/wsl&#034; class='spip_url spip_out auto' rel='nofollow external'&gt;https://doc.ubuntu-fr.org/wsl&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Il faut ex&#233;cuter le programme XLaunch pour configurez le serveur X avant la premi&#232;re utilisation, vous devez d&#233;sactiver le contr&#244;le d'acc&#232;s (cocher la case : &#034;Disable server access control&#034;)&lt;br class='autobr' /&gt;
&lt;span class='spip_document_274 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/local/cache-vignettes/L499xH392/vcxsrv-extra-setting-68463.png?1634889898' width='499' height='392' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;br class='autobr' /&gt;
Sinon, vous risquez d'obtenir des erreurs suivante : &lt;textarea readonly='readonly' cols='40' rows='4' class='spip_cadre' dir='ltr'&gt;$ xeyes Authorization required, but no authorization protocol specified Error: Can't open display: localhost:0.0&lt;/textarea&gt;&lt;/li&gt;&lt;li&gt; D&#233;marrer le serveur X sous Windows puis dans une fen&#234;tre bash sous Linux, lancer le programme xeyes pour tester l'affichage, les pupilles doivent suivre votre souris :&lt;br class='autobr' /&gt;
&lt;span class='spip_document_256 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/xeyes.png?1589540104' width='500' height='212' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; Installer ensuite les paquets suivants qui seront n&#233;cessaires pour les traitements ult&#233;rieurs des donn&#233;es scientifiques utilis&#233;s dans le d&#233;p&#244;t &lt;a href=&#034;https://git.outils-is.ird.fr/US191/CRDAP&#034; class='spip_out' rel='external'&gt;CRDAP&lt;/a&gt; : &lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre' dir='ltr'&gt;sudo apt install gcc g++ make netcdf-bin libnetcdf-dev perl-doc libswitch-perl libdate-manip-perl libxml-libxml-perl libconfig-tiny-perl pdl libpdl-netcdf-perl&lt;/textarea&gt;&lt;/li&gt;&lt;li&gt; Installer le module Perl Oceano si vous utilisez les scripts du d&#233;p&#244;t &lt;a href=&#034;https://git.outils-is.ird.fr/US191/CRDAP&#034; class='spip_out' rel='external'&gt;CRDAP&lt;/a&gt; &lt;textarea readonly='readonly' cols='40' rows='7' class='spip_cadre' dir='ltr'&gt;mkdir -p ~/local/src cd ~/local/src git clone https://git.outils-is.ird.fr/grelet/oceano.git cd oceano/lib/perl/Oceano perl Makefile.PL make sudo make install&lt;/textarea&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Mettre &#224; jour vers WSL 2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pour effectuer une mise &#224; jour de WSL1 vers WSL 2, il faut avoir install&#233; la mise &#224; jour Windows 10 de mai 2020 (version 2004).&lt;br class='autobr' /&gt;
V&#233;rifiez votre version de Windows en s&#233;lectionnant simultan&#233;ment les touches Windows + R puis entrez la commande :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;winver&lt;/textarea&gt;
&lt;p&gt;Si ce n'est pas le cas, lancer l'assistant Windows Update, ou installer &lt;a href=&#034;https://www.microsoft.com/fr-fr/software-download/windows10&#034; class='spip_out' rel='external'&gt;l'utilitaire de mise &#224; jour&lt;/a&gt; vers la version 2004 depuis le site de Microsoft.&lt;/p&gt;
&lt;p&gt;Si aucune option de mise &#224; jour n'est propos&#233;e, ne pas insister, Microsoft diffuse progressivement Windows 10 2004 uniquement sur les machines qu'il estime compatibles et tente d'identifier celles qui pr&#233;sentent des probl&#232;mes. Dans tous les cas le choix est laiss&#233; &#224; l'utilisateur d'installer ou non cette nouvelle version majeure.&lt;/p&gt;
&lt;p&gt;Avant d'installer WSL 2, vous devez activer la fonctionnalit&#233; facultative &#171; Plateforme de machine virtuelle &#187;.&lt;/p&gt;
&lt;p&gt;Ouvrez un terminal PowerShell en tant qu'administrateur et ex&#233;cutez :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart&lt;/textarea&gt;
&lt;p&gt;R&#233;cup&#233;rer le programme de mise &#224; jour du noyau Linux depuis la page &lt;a href=&#034;https://docs.microsoft.com/fr-fr/windows/wsl/wsl2-kernel&#034; class='spip_out' rel='external'&gt;https://aka.ms/wsl2kernel&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ex&#233;cuter le programme wsl_update_x64.msi :&lt;br class='autobr' /&gt;
&lt;span class='spip_document_261 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/local/cache-vignettes/L495xH387/update-setup-kernel-c8ce2.png?1592404668' width='495' height='387' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Red&#233;marrer votre ordinateur pour terminer l'installation la mise &#224; jour vers WSL 2.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;D&#233;finir WSL 2 comme version par d&#233;faut&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Ex&#233;cuter la commande suivante dans PowerShell pour d&#233;finir WSL 2 comme version par d&#233;faut lors de l'installation d'une nouvelle distribution Linux :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;wsl --set-default-version 2&lt;/textarea&gt;
&lt;p&gt;Migrer une distribution WSL 1 vers WSL 2&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;wsl --set-version &lt;distribution name&gt; &lt;versionNumber&gt;&lt;/textarea&gt;
&lt;p&gt;en rempla&#231;ant &lt;distribution name&gt; par le nom de la distribution &#224; migrer.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;wsl --set-version Ubuntu-18.04 2&lt;/textarea&gt;
&lt;p&gt;&lt;span class='spip_document_262 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/wsl2-conversion.png?1592482513' width='500' height='165' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Configuration du serveur X sous WSL2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;WSL2 a sa propre adresse IP et ne partage pas encore l'adresses de lookup localhost (127.0.0.1) ; lorsque vous vous connectez &#224; 127.0.0.1 dans WSL2, vous vous connectez en fait &#224; une machine virtuelle WSL2 plut&#244;t qu'&#224; la machine Windows sous-jacente. Vous devez donc utiliser directement l'adresse IP attribu&#233;e &#224; Windows.&lt;br class='autobr' /&gt;
Nous vous recommandons d'utiliser l'adresse IP interne qui est extraite dynamiquement et de l'attribuer &#224; la variable d'environnement DISPLAY, code &#224; rajouter dans votre fichier d'initialisation .bashrc :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0&lt;/textarea&gt;
&lt;p&gt;D&#233;marrer le serveur X sous Windows, le programme XLauch de VcXsrv, puis dans une fen&#234;tre bash sous Linux, lancer le programme xeyes pour tester l'affichage, les pupilles doivent suivre votre souris comme d&#233;crit pr&#233;c&#233;demment sous WSL1.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Installation et configuration de Python avec Miniconda&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Miniconda est un installateur minimal pour Conda qui permet de g&#233;rer des biblioth&#232;ques pour d&#233;velopper en Python, notamment pour l'analyse de donn&#233;es. C'est une version r&#233;duite d'Anaconda qui inclut uniquement conda, une version de Python 3.7 plus r&#233;cente que celle de la distribution Ubuntu 18.04 et les paquets dont ils d&#233;pendent.&lt;/p&gt;
&lt;p&gt;Par rapport au gestionnaire de paquets pip, conda est tr&#232;s efficace. Il g&#232;re la version de Python et les paquets compatibles avec cette derni&#232;re de mani&#232;re optimale.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Installation et configuration de miniconda&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Pour l'installation de Miniconda,, nous partons du principe que vous l'installerez en tant qu'utilisateur, et non pas en tant qu'administrateur. Autrement dit, vous n'aurez pas besoin de droits sp&#233;ciaux pour pouvoir installer Miniconda et les autres modules n&#233;cessaires. :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='5' class='spip_cadre' dir='ltr'&gt;mkdir ~/miniconda cd ~/miniconda wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh chmod +x Miniconda3-latest-Linux-x86_64.sh&lt;/textarea&gt;
&lt;p&gt;Dans un shell, lancez l'installation de Miniconda avec la commande et r&#233;pondre aux questions suivantes :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;bash Miniconda3-latest-Linux-x86_64.sh -U&lt;/textarea&gt;
&lt;p&gt;Relancer votre shell afin qu'il prenne en compte la proc&#233;dure d'initialisation de conda.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;. ~/.bashrc&lt;/textarea&gt;
&lt;p&gt;Tester la version de python et de conda :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='9' class='spip_cadre' dir='ltr'&gt;python Python 3.7.6 (default, Jan 8 2020, 19:59:22) [GCC 7.3.0] :: Anaconda, Inc. on linux Type &#034;help&#034;, &#034;copyright&#034;, &#034;credits&#034; or &#034;license&#034; for more information. &gt;&gt;&gt; quit() conda -V conda 4.8.3&lt;/textarea&gt;
&lt;p&gt;&lt;i&gt;Installation des modules scientifiques Python avec Miniconda :&lt;/i&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre' dir='ltr'&gt;conda update conda conda install pandas conda install -c conda-forge iris xarray toml&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Utilisation de VSC (Visual Studio Code) avec WSL&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le principe consiste &#224; utiliser Visual Studio Code sous Windows tout en utilisant les cha&#238;nes d'outils de d&#233;veloppement et les utilitaires sp&#233;cifiques &#224; Linux, d'ex&#233;cuter et d&#233;boguer les applications bas&#233;es sur Linux. Pour cela, il est n&#233;cessaire d'installer les 2 extensions &#034;Remote WSL&#034; et &#034;&lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack&#034; class='spip_out' rel='external'&gt;Remote Development&lt;/a&gt;&#034;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Ce paragraphe est en cours de r&#233;daction&lt;/i&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://code.visualstudio.com/docs/remote/wsl#_getting-started&#034; class='spip_out' rel='external'&gt;Developing in WSL&lt;/a&gt; Une fois lanc&#233; VSC sous Windows, installer l'extension &#034;Remote WSL&#034; qui permettra d'utiliser le sous-syst&#232;me Windows pour Linux (WSL) comme environnement de d&#233;veloppement en utilisant les outils et utilitaires sp&#233;cifiques &#224; Linux.&lt;/p&gt;
&lt;p&gt;Ensuite, rajouter la ligne suivante dans le fichier setting.json, voir &lt;a href=&#034;https://code.visualstudio.com/docs/getstarted/settings&#034; class='spip_out' rel='external'&gt;documentation officielle&lt;/a&gt; :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;&#034;terminal.integrated.shell.windows&#034;: &#034;C:\\WINDOWS\\Sysnative\\bash.exe&#034;,&lt;/textarea&gt;
&lt;p&gt;pour utiliser le shell Bash Linux comme Terminal de Visual Studio Code.&lt;br class='autobr' /&gt;
Vous b&#233;n&#233;ficiez alors d'un environnement de d&#233;veloppement simple, performant et ais&#233; &#224; maintenir.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Utilisation de WSL&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Le r&#233;pertoire utilisateur&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Par d&#233;faut, une session WSL d&#233;marre depuis le r&#233;pertoire utilisateur Windows, soit sous : /mnt/c/Users/nom d'utilisateur/ mais la variable HOME est d&#233;finie comme /home/nom d'utilisateur, donc si vous taper cd, pour &#234;tes redirig&#233; vers votre r&#233;pertoire utilisateur Linux :&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_257 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/bash-home.png?1589551358' width='500' height='210' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Vous pouvez voir le contenu de ce disque sur le r&#233;seau en allant &#224; \\wsl$\nom de la distribution\nom d'utilisateur\home dans l'explorateur Windows ou directement en tapant la commande &lt;code class='spip_code' dir='ltr'&gt;explorer.exe .&lt;/code&gt; de votre invite de commande bash.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_258 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/home-explorer.png?1589551358' width='500' height='332' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Le montage/partage des disques&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Les disques internes de Windows sont automatiquement mont&#233;s sous /mnt/&lt;drive&gt;, soit /mnt/c et /mnt/d sur mon PC portable qui poss&#232;de 2 SSD.&lt;br class='autobr' /&gt;
Pour monter un partage r&#233;seau, un disque externe ou une cl&#233; USB, il suffit d'entrer la commande suivante pour monter le disque E : de 2To sous /mnt/e :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;sudo mount -t drvfs e: /mnt/e&lt;/textarea&gt;
&lt;p&gt;&lt;i&gt;Commandes d'administration de WSL&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Depuis une session PowerShell, lister les distributions install&#233;es :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='4' class='spip_cadre' dir='ltr'&gt;wsl -l Distributions du sous-syst&#232;me Windows pour Linux : Ubuntu-18.04 (par d&#233;faut) Alpine&lt;/textarea&gt;
&lt;p&gt;Obtenir de l'aide :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;wsl -h&lt;/textarea&gt;
&lt;p&gt;Lancer wsl :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;wsl&lt;/textarea&gt;
&lt;p&gt;Monter la racine de la distribution Linux dans l'explorateur Windows comme un disque X :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;net use X: \\wsl$\Ubuntu-18.04 /PERSISTENT:YES&lt;/textarea&gt;
&lt;p&gt;Lister les distributions install&#233;es :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre' dir='ltr'&gt;PS C:\WINDOWS\system32&gt; wsl -l --all Distributions du sous-syst&#232;me Windows pour Linux : Ubuntu-18.04 (par d&#233;faut)&lt;/textarea&gt;
&lt;p&gt;Lister la version WSL des distributions install&#233;es :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre' dir='ltr'&gt;PS C:\WINDOWS\system32&gt; wsl -l -v NAME STATE VERSION * Ubuntu-18.04 Running 2&lt;/textarea&gt;
&lt;p&gt;Changer l'utilisateur par d&#233;faut au lancement :&lt;/p&gt;
&lt;p&gt;Depuis une fen&#234;tre powershell, si vous avec install&#233; ubuntu 1804 :-&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;ubuntu1804 config --default-user &lt;username&gt;&lt;/textarea&gt;
&lt;p&gt;si vous avec install&#233; ubuntu 2004 :-&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;ubuntu2004 config --default-user &lt;username&gt;&lt;/textarea&gt;
&lt;p&gt;Le chemin de l'ex&#233;cutable se trouve sous :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;C:\Users\&lt;username&gt;\AppData\Local\Microsoft\WindowsApps&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;chemin qui peut etre obtenu avec l'&#233;quivalent de la commande Unix &lt;code class='spip_code' dir='ltr'&gt;which&lt;/code&gt;&lt;br class='autobr' /&gt;
qui est &lt;code class='spip_code' dir='ltr'&gt;get-command&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Copie d'une distribution&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Si vous avez besoin d'installer une deuxi&#232;me machine avec WSL, vous pouvez dupliquer une distribution dans un fichier tar puis la restaurer sur un autre PC.&lt;br class='autobr' /&gt;
Ouvrez une fen&#234;tre PowerShell dans le programme terminal :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;wsl -l wsl --export Ubuntu-20.04 wsl-ubuntu.tar&lt;/textarea&gt;
&lt;p&gt;&lt;span class='spip_document_264 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/wsl-export.png?1592906076' width='500' height='109' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Utiliser ensuite la commande wsl &#8212;import pour importer le fichier .tar dans une nouvelle distribution.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Probl&#232;mes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sur un PC DELL Pr&#233;cision 5820, j'ai du attendre que Windows 10 propose la mise &#224; jour en version 2004 avec Windows Update, l'outil de migration refusait la mise &#224; jour avec un code d'erreur car semble t'il, certains drivers n'&#233;taient pas compatibles.&lt;/p&gt;
&lt;p&gt;J'ai eu ensuite des difficult&#233;s pour r&#233;aliser la migration de ma distribution Ubuntu 18.04 en WSL2. Il &#233;tait impossible &#233;galement d'installer une nouvelle distribution, avec le message d'erreur suivant :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;The operation could not be started because a required feature is not installed.&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;En fran&#231;ais :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;L'op&#233;ration n'a pas pu &#234;tre d&#233;marr&#233;e car une fonctionnalit&#233; requise n'est pas &lt;br /&gt; install&#233;e.&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;J'ai fini par trouver sur le net un article qui a r&#233;solu le probl&#232;me :&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://www.surfacetablethelp.com/2018/10/fix-hyper-v-not-working-after-windows-10-v1809-upgraded.html&#034; class='spip_out' rel='external'&gt;Fix Hyper-V not working after Windows 10 v1809 upgraded&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;La difficult&#233; consiste &#224; retrouver les bons param&#232;tres traduits en Fran&#231;ais dans les m&#233;andres du panneau de configuration de Windows 10 &#224; partir des informations en Anglais.&lt;/p&gt;
&lt;p&gt;Depuis le panneau de contr&#244;le, aller dans &#034;Mise &#224; jour et s&#233;curit&#233;&#034;, puis &#034;S&#233;curit&#233; Windows&#034; et s&#233;lectionner &#034;Control des applications et du navigateur&#034; &lt;br class='autobr' /&gt;
&lt;span class='spip_document_266 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/control_application_navigateur-1.png?1593589514' width='500' height='389' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;br class='autobr' /&gt;
puis en page de page, cliquer sur &#034;Param&#232;tres d'Exploit protection&#034; et s&#233;lectionner l'onglet &#034;Param&#232;tres du programme&#034; :&lt;br class='autobr' /&gt;
&lt;span class='spip_document_267 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/control_application_navigateur-2.png?1593589528' width='500' height='391' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;br class='autobr' /&gt;
s&#233;lectionner &lt;code class='spip_code' dir='ltr'&gt;C:\WINDOWS\System32\vmcompute.exe&lt;/code&gt;, puis cliquer sur &#034;Modifier&#034;, d&#233;rouler l'ascenseur jusqu'au champs &#034;Protection du flux de contr&#244;le&#034;&lt;br class='autobr' /&gt;
&lt;span class='spip_document_268 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/control_application_navigateur-3.png?1593589544' width='500' height='706' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;br class='autobr' /&gt;
et d&#233;cocher la case &#034;Remplacer les param&#232;tres du syst&#232;me&#034; pour d&#233;sactiver la protection.&lt;br class='autobr' /&gt;
&lt;span class='spip_document_269 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/control_application_navigateur-4.png?1593589558' width='500' height='707' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Lancer une fen&#234;tre DOS ou PowerShell en mode administrateur , lancer la commande &lt;code class='spip_code' dir='ltr'&gt;net start vmcompute&lt;/code&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre' dir='ltr'&gt;PS C:\WINDOWS\system32&gt; net start vmcompute Le service Service de calcul h&#244;te Hyper-V d&#233;marre. Le service Service de calcul h&#244;te Hyper-V a d&#233;marr&#233;.&lt;/textarea&gt;
&lt;p&gt;Normalement, la migration de la distribution devrait bien se passer cette fois :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='10' class='spip_cadre' dir='ltr'&gt;PS C:\WINDOWS\system32&gt; wsl --set-version Ubuntu-18.04 2 La conversion est en cours. Cette op&#233;ration peut prendre quelques minutes... Pour plus d'informations sur les diff&#233;rences de cl&#233;s avec WSL 2, visitez https://aka.ms/wsl2 La conversion est termin&#233;e. PS C:\WINDOWS\system32&gt; wsl -l -v NAME STATE VERSION * Ubuntu-18.04 Running 2&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Liens&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://docs.microsoft.com/fr-fr/windows/wsl/&#034; class='spip_out' rel='external'&gt;Microsoft : Windows Subsystem for Linux Documentation&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://docs.microsoft.com/en-us/windows/wsl/wsl-config&#034; class='spip_out' rel='external'&gt;Microsoft : WSL commands and launch configurations&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Microsoft : &lt;a href=&#034;https://support.microsoft.com/fr-fr/help/4028544/windows-10-turn-microsoft-defender-firewall-on-or-off&#034; class='spip_out' rel='external'&gt;Activer ou d&#233;sactiver le Pare-feu Microsoft Defender&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://fr.wikipedia.org/wiki/Windows_Subsystem_for_Linux&#034; class='spip_out' rel='external'&gt;Wikipedia : Windows Subsystem for Linux&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://ubuntu.com/wsl&#034; class='spip_out' rel='external'&gt;Ubuntu on WSL&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://korben.info/linux-wsl-gui-interface-graphique-windows-10.html&#034; class='spip_out' rel='external'&gt;Korben : Linux avec une interface graphique sous Windows (WSL) Shadow&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/yuk7/AlpineWSL&#034; class='spip_out' rel='external'&gt;Github : Alpine WSL&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/yuk7/ArchWSL&#034; class='spip_out' rel='external'&gt;Github : Arch WSL&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://medium.com/@mudrii/deploy-arch-linux-on-windows-subsystem-for-linux-wsl-a7e4cdf78c80&#034; class='spip_out' rel='external'&gt;Deploy Arch Linux on Windows Subsystem for Linux &#8220;WSL&#8221;&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://lecrabeinfo.net/mettre-a-jour-ubuntu-18-04-19-10-vers-20-04-lts.html&#034; class='spip_out' rel='external'&gt;Mettre &#224; jour Ubuntu 18.04/19.10 vers 20.04 LTS&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://code.visualstudio.com/docs/remote/wsl#_getting-started&#034; class='spip_out' rel='external'&gt;D&#233;veloppez avec WSL&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://towardsdatascience.com/manage-your-python-virtual-environment-with-conda-a0d2934d5195&#034; class='spip_out' rel='external'&gt;Manage your Python Virtual Environment with Conda&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Github : &lt;a href=&#034;https://github.com/microsoft/WSL/issues/4139&#034; class='spip_out' rel='external'&gt;Windows Defender Firewall blocks access from WSL2&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Github : &lt;a href=&#034;https://github.com/microsoft/WSL/issues/4585&#034; class='spip_out' rel='external'&gt;Add &#034;allow&#034; rule to Windows firewall for WSL2 network&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Xming : &lt;a href=&#034;https://theunixtips.com/xming-client-4-rejected-from-ip/&#034; class='spip_out' rel='external'&gt;Client 4 rejected from IP error&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://askubuntu.com/questions/816732/how-to-change-default-user-in-wsl-ubuntu-bash-on-windows-10&#034; class='spip_out' rel='external'&gt;How to change default user in WSL Ubuntu bash on Windows 10&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://docs.microsoft.com/en-us/windows/wsl/compare-versions&#034; class='spip_out' rel='external'&gt;Comparing WSL 1 and WSL 2&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Utilisation d'un thermom&#232;tre de r&#233;f&#233;rence SBE35RT</title>
		<link>https://us191.ird.fr/spip.php?article75</link>
		<guid isPermaLink="true">https://us191.ird.fr/spip.php?article75</guid>
		<dc:date>2018-12-12T15:59:01Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jacques Grelet</dc:creator>



		<description>&lt;p&gt;Mise en &#339;uvre d'un capteur de temp&#233;rature de r&#233;f&#233;rence Seabird SBE35RT sur une bathysonde SBE911+&lt;/p&gt;

-
&lt;a href="https://us191.ird.fr/spip.php?rubrique17" rel="directory"&gt;SeaBird&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Mise &#224; jour : 3 d&#233;cembre 2019&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Depuis les ann&#233;es 1980, la bathysonde Seabird SBE911plus est utilis&#233;e par la majorit&#233; des laboratoires pour r&#233;aliser les profils de mesures profonds &#224; partir de navires oc&#233;anographiques. Cette bathysonde peut &#234;tre &#233;quip&#233;e en standard d'un capteur de pression de marque Paroscientific et de jeux de capteurs redondants de temp&#233;rature SBE03, de conductivit&#233; SBE04 et d'oxyg&#232;ne SBE43.&lt;/p&gt;
&lt;p&gt;G&#233;n&#233;ralement ces capteurs sont envoy&#233;s pour &#233;talonnage chez SeaBird avant et/ou apr&#232;s chaque campagne de mesure.&lt;/p&gt;
&lt;p&gt;Lors d'une station CTD, les donn&#233;es sont acquises en temps r&#233;el &#224; la descente puis des pr&#233;l&#232;vements sont r&#233;alis&#233;s &#224; la remont&#233;e par paliers avec des bouteilles ferm&#233;es &#224; diff&#233;rents niveaux. Les &#233;chantillons sont analys&#233;s &#224; bord pour la d&#233;termination de la salinit&#233; et de la teneur en oxyg&#232;ne dissous. Le r&#233;sultat de ces analyses est utilis&#233; pour d&#233;terminer une &#233;ventuelle d&#233;rive des capteurs puis pour ajuster les donn&#233;es le long de chaque profil.&lt;/p&gt;
&lt;p&gt;Jusque dans les ann&#233;es 1990, on utilisait des thermom&#232;tres &#224; renversement fix&#233;s sur les bouteilles de pr&#233;l&#232;vement pour le contr&#244;le des valeurs de temp&#233;rature fournies par la bathysonde. Ce type de thermom&#232;tre, initialement m&#233;canique, &#224; mercure, puis &#233;lectroniques (SIS), &#233;tait co&#251;teux, fragile et leur exactitude n'&#233;tait plus suffisante pour &#234;tre utilis&#233; comme troisi&#232;me capteur de r&#233;f&#233;rence pour la bathysonde.&lt;/p&gt;
&lt;p&gt;La soci&#233;t&#233; Seabird a donc d&#233;velopp&#233; 2 capteurs SBE35 permettant de r&#233;aliser une s&#233;rie de mesure au moment de la fermeture de la bouteille de pr&#233;l&#232;vement. Une valeur moyenne est m&#233;moris&#233;e dans l'instrument et peut ensuite &#234;tre compar&#233;e rapidement avec les mesures des capteurs SBE03. En cas de d&#233;rive anormale, le personnel technique peut intervenir rapidement pour remplacer le capteur incrimin&#233;.&lt;/p&gt;
&lt;p&gt;Le premier capteur &#034;SBE 35 Deep Ocean Standards Thermometer&#034; peut &#234;tre &#233;talonn&#233; directement dans les points fixes de l'EIT (points triples) ce qui constitue une vraie r&#233;f&#233;rence de temp&#233;rature et un raccordement de la cha&#238;ne de mesure aux standards internationaux.&lt;/p&gt;
&lt;p&gt;Dans notre cas, nous utilisons le capteur &#034;SBE 35RT Digital Reversing Thermometer&#034;, capteur qui est plus facile &#224; mettre en &#339;uvre sur le ch&#226;ssis 12 bouteilles du &lt;i&gt;carousel &lt;/i&gt; SBE32 et qui, si il ne permet pas un raccordement direct aux standards, permet tout de m&#234;me de contr&#244;ler en temps quasi-r&#233;el le bon fonctionnement des capteurs de temp&#233;rature et d'intervenir si n&#233;cessaire.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le syst&#232;me de mesure est constitu&#233; de :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; capteur SBE35 RT&lt;/li&gt;&lt;li&gt; c&#226;ble en Y qui vient se brancher entre la CTD (SBE 9plus JT7) et le moteur du carousel (SBE32 JB2)&lt;/li&gt;&lt;li&gt; bride de fixation&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class='spip_document_241 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/jpg/sbe35.jpg?1558687391' width='500' height='282' alt=&#034;Kit capteur SBE35 RT&#034; title=&#034;Kit capteur SBE35 RT&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Installation sur le ch&#226;ssis 12 bouteilles&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_242 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/jpg/sbe35_on_ctd.jpg?1558687391' width='500' height='282' alt=&#034;Installation sur CTD mount extention 12 bouteilles&#034; title=&#034;Installation sur CTD mount extention 12 bouteilles&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;L'utilisation du capteur est ind&#233;pendante du logiciel d'acquisition de la bathysonde Seasave et on peut regretter que Seabird n'ai pas fait l'effort de l'int&#233;grer dans ce dernier.&lt;/p&gt;
&lt;p&gt;Il faut donc utiliser le logiciel Seaterm V2 pour communiquer avec le capteur.&lt;br class='autobr' /&gt;
La CTD SBE9plus doit &#234;tre raccord&#233;e &#224; l'unit&#233; de pont SBE11. Connecter le c&#226;ble s&#233;rie RS232 du connecteur &#034;modem&#034; de l'unit&#233; de pont au PC d'acquisition. Mettre l'unit&#233; de pont sous tension.&lt;/p&gt;
&lt;p&gt;Sur le PC, lancer Seaterm, choisir SBE35 pour &#034;Instrument type&#034; et s&#233;lectionner le port s&#233;rie qui est branch&#233; sur le modem. V&#233;rifier que les param&#232;tres de communication du port s&#233;rie sont 300 bds, data bits 8 et parity none dans l'onglet &#034;Com setting&#034;.&lt;/p&gt;
&lt;p&gt;Appuyer sur le touche &#034;Return&#034; pour obtenir le prompt &gt;S&lt;/p&gt;
&lt;p&gt;Le commandes disponibles sont :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; DS (Display Status)&lt;/li&gt;&lt;li&gt; DC (Display calibration coefficients)&lt;/li&gt;&lt;li&gt; DDb,e (Upload data stored from begin to end) ex : DD1,11&lt;/li&gt;&lt;li&gt; MMDDYY=mmddyy Set real-time clock month, day, year. Must&lt;br class='autobr' /&gt;
be followed by HHMMSS= to set time.&lt;/li&gt;&lt;li&gt; DDMMYY=ddmmyy Set real-time clock day, month, year. Must&lt;br class='autobr' /&gt;
be followed by HHMMSS= to set time.&lt;/li&gt;&lt;li&gt; HHMMSS=hhmmss Set real-time clock hour, minute, second.&lt;/li&gt;&lt;li&gt; NCycles=x x= number of measurements to take and&lt;br class='autobr' /&gt;
average per sample (1 &#8211; 127). On choisira x=8&lt;/li&gt;&lt;li&gt; SampleNum=x x= sample number for first sample when&lt;br class='autobr' /&gt;
sampling begins. En choissisant x=0, on va r&#233;-initialiser le pointeur de mesure&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Voir la documentation SBE35RT Digital Reversing Thermometer User Manual :&lt;/p&gt;
&lt;dl class='spip_document_243 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;a href='https://us191.ird.fr/IMG/pdf/35rt_013highres.pdf' title='PDF - 4.4&#160;Mo' type=&#034;application/pdf&#034;&gt;&lt;img src='https://us191.ird.fr/local/cache-vignettes/L52xH52/pdf-39070.png?1589468711' width='52' height='52' alt='' /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:120px;'&gt;&lt;strong&gt;SBE35RT User Manual&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;
&lt;p&gt;&lt;strong&gt;Utilisation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;L'utilisateur n'est pas oblig&#233; de remettre le pointeur &#224; z&#233;ro avant chaque station mais il est tout de m&#234;me conseill&#233; de ne pas laisser plus de 2 ou 3 stations en m&#233;moire (les stations r&#233;alis&#233;es pendant la nuit par exemple) puis de r&#233;cup&#233;rer et traiter les donn&#233;es d&#232;s le d&#233;but du quart de 8 heures. Lorsque les donn&#233;es ont bien &#233;t&#233; r&#233;cup&#233;r&#233;es et trait&#233;es, elles peuvent &#234;tre effac&#233;es de la m&#233;moire du capteur.&lt;/p&gt;
&lt;p&gt;Lors de l'arriv&#233;e au palier de pr&#233;l&#232;vement, il est imp&#233;ratif de rester au minimum 30 secondes &#224; chaque niveau avant la fermeture de la bouteille suivante puis de rester 20 secondes apr&#232;s la fermeture, le temps que le capteur de temp&#233;rature de pr&#233;cision SBE35 r&#233;alise sa s&#233;rie de mesures.&lt;/p&gt;
&lt;p&gt;Lorsque deux bouteilles doivent &#234;tre ferm&#233;es au m&#234;me palier, l'utilisateur doit attendre au moins SampleNum x 1.1 secondes avant la fermeture de la suivante, sinon, la derni&#232;re mesure ne sera pas enregistr&#233;e en m&#233;moire, et un d&#233;calage interviendra. Si SampleNum=8, il faudra attendre au minimum 8,8 secondes.&lt;br class='autobr' /&gt;
Nous conseillons d'attendre 20 secondes, comme pour les autres paliers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;R&#233;cup&#233;ration des donn&#233;es&lt;/strong&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='60' class='spip_cadre' dir='ltr'&gt;* Sea-Bird SBE35 Data File: * FileName = C:\SEASOFT\PIRATA-FR28\data\sbe35\FR28031.asc * Software Version 1.59 * Temperature SN = 0102 * Conductivity SN = 0102 * System UpLoad Time = Mar 27 2018 09:31:35 ** Cruise: PIRATA-FR28 ** Ship: THALASSA ** Station:31 ** Date (DD/MM/YYYY): ** Heure (HH:MM:SS): ** Latitude (DD MM.CCC S): ** Longitude (DD MM.CCC S): ** Nombre de bouteilles claqu&#233;es: ** Operator: ** Commentaires: * ds * SBE35 V 2.0a SERIAL NO. 0102 27 Mar 2018 09:31:04 * number of measurement cycles to average = 8 * number of data points stored in memory = 31 * bottle confirm interface = SBE 911plus * S&gt; * SBE35 V 2.0a SERIAL NO. 0102 * 27-jan-2018 * A0 = 4.008548030e-03 * A1 = -1.045249880e-03 * A2 = 1.634563610e-04 * A3 = -9.163550700e-06 * A4 = 1.973398470e-07 * SLOPE = 1.000000 * OFFSET = 0.000000 * S&gt; *END* dd1,11 1 27 Mar 2018 00:35:12 bn = 1 diff = 109 val = 462480.8 t90 = 7.643714 2 27 Mar 2018 00:38:16 bn = 2 diff = 99 val = 437275.4 t90 = 8.944913 3 27 Mar 2018 00:41:15 bn = 3 diff = 228 val = 406991.2 t90 = 10.624520 4 27 Mar 2018 00:44:12 bn = 4 diff = 139 val = 376609.7 t90 = 12.457157 5 27 Mar 2018 00:47:08 bn = 5 diff = 411 val = 346625.1 t90 = 14.437091 6 27 Mar 2018 00:48:55 bn = 6 diff = 82 val = 331832.3 t90 = 15.486439 7 27 Mar 2018 00:50:44 bn = 7 diff = 3140 val = 268905.9 t90 = 20.630932 8 27 Mar 2018 00:51:15 bn = 8 diff = 1211 val = 268303.3 t90 = 20.686610 9 27 Mar 2018 00:53:35 bn = 9 diff = 1883 val = 224626.4 t90 = 25.150459 10 27 Mar 2018 00:55:25 bn = 10 diff = 24 val = 200823.3 t90 = 28.021602 11 27 Mar 2018 00:57:05 bn = 11 diff = 49 val = 200838.8 t90 = 28.019613&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Traitement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Une fois les donn&#233;es de la station r&#233;cup&#233;r&#233;es, un logiciel &#233;crit en Perl extrait l'ensemble des donn&#233;es des fichiers bouteilles (.btl) et des fichiers SBE35 (.asc) pour g&#233;n&#233;rer un fichier global avec les 3 colonnes de temp&#233;rature SBE35, TE01 pour le capteur de temp&#233;rature primaire et TE02 pour le secondaire.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='53' class='spip_cadre' dir='ltr'&gt;PIRATA-FR28 THALASSA IRD SBE32 standard 12 Niskin bottles unkn PRFL BOTL PRES DEPH ETDD TE35 TE01 TE02 PSA1 00001 -1 59.689 11.4806 -22.9918 20180301163159 1e36 1e36 1e36 1 00001 1 4061.0 4000.4 60.749038 2.37383 2.3736 2.3741 34.8943 00001 2 4061.9 4001.3 60.749414 2.37382 2.3735 2.3739 34.8943 00001 3 4062.7 4002.1 60.749832 2.37377 2.3734 2.3739 34.8942 00001 4 4063.2 4002.6 60.750179 2.37359 2.3733 2.3738 34.8943 00001 5 4063.9 4003.2 60.750549 2.37352 2.3732 2.3737 34.8942 00001 6 4064.9 4004.2 60.750881 2.37345 2.3732 2.3736 34.8942 00001 7 4065.1 4004.5 60.751347 2.37302 2.3730 2.3734 34.8942 00001 8 4066.3 4005.6 60.751718 2.373 2.3727 2.3732 34.8942 00001 9 4067.7 4007.0 60.752064 2.37314 2.3729 2.3733 34.8941 00001 10 4068.1 4007.4 60.752432 2.37337 2.3730 2.3734 34.8942 00001 11 4069.5 4008.8 60.752823 2.37353 2.3732 2.3736 34.8942 ... 00031 -1 85.014 -5.0008 -10.0020 20180327001930 1e36 1e36 1e36 1 00031 1 504.4 501.0 86.024343 7.64371 7.6475 7.6487 34.6761 00031 2 402.5 399.9 86.026468 8.94491 8.9437 8.9440 34.8063 00031 3 302.0 300.2 86.028543 10.6245 10.6218 10.6222 34.9899 00031 4 201.0 199.8 86.030585 12.4572 12.4551 12.4549 35.2169 00031 5 100.9 100.3 86.032624 14.4371 14.4399 14.4404 35.4870 00031 6 81.0 80.5 86.033864 15.4864 15.4860 15.4861 35.5919 00031 7 60.7 60.4 86.035129 20.6309 20.6298 20.6294 36.0022 00031 8 60.6 60.3 86.035486 20.6866 20.7125 20.7141 36.0023 00031 9 39.7 39.5 86.037103 25.1505 25.2449 25.2478 36.3363 00031 10 20.3 20.2 86.038380 28.0216 28.0235 28.0240 36.1697 00031 11 2.5 2.5 86.039541 28.0196 28.0205 28.0212 36.1709&lt;/textarea&gt;
&lt;p&gt;Script Perl d'extraction des donn&#233;es :&lt;/p&gt;
&lt;dl class='spip_document_247 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;a href='https://us191.ird.fr/IMG/zip/btl-all.pl.zip' title='Zip - 5.8&#160;ko' type=&#034;application/zip&#034;&gt;&lt;img src='https://us191.ird.fr/local/cache-vignettes/L52xH52/zip-2e4e6.png?1589468711' width='52' height='52' alt='' /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;/dl&gt;
&lt;p&gt;Un script Python est en cours d'&#233;criture et sera disponible sous peu.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Liens&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://www.seabird.com/modular/sbe-35rt-digital-reversing-thermometer/family?productCategoryId=54627869903&#034; class='spip_out' rel='external'&gt;SBE 35RT Digital Reversing Thermometer&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://www.seabird.com/sbe-35-deep-ocean-standards-thermometer-with-aluminum-housing-xsg-connector/product?id=54627907858&#034; class='spip_out' rel='external'&gt;SBE 35 Deep Ocean Standards Thermometer&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.ird.fr/us191/spip.php?article66&#034; class='spip_out' rel='external'&gt;Acquisition et traitement des donn&#233;es d'une bathysonde Seabird SBE911+&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.ird.fr/us191/spip.php?article27&#034; class='spip_out' rel='external'&gt;Instructions d'utilisation de la sonde 911plus et LADCP&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Bibliography&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Swift, J. H. (2010) Reference-Quality Water Sample Data : Notes on Acquisition, Record Keeping, and Evaluation. In, The GO-SHIP Repeat Hydrography Manual : A Collection of Expert Reports and Guidelines. Version 1, (eds Hood, E.M., C.L. Sabine, and B.M. Sloyan), 38pp. (IOCCP Report Number 14 ; ICPO Publication Series Number 134). Available online at : &lt;a href=&#034;http://www.go-ship.org/HydroMan.html&#034; class='spip_url spip_out auto' rel='nofollow external'&gt;http://www.go-ship.org/HydroMan.html&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; Le Menn, M. (2007) &lt;a href=&#034;https://www.lavoisier.fr/livre/sciences-de-la-terre/instrumentation-et-metrologie-en-oceanographie-physique/le-menn/descriptif-9782746216549&#034; class='spip_out' rel='external'&gt;Instrumentation et m&#233;trologie en oc&#233;anographie physique. Hermes science&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://hdl.handle.net/11329/378&#034; class='spip_out' rel='external'&gt;Notes on CTD/O2 Data Acquisition and Processing Using Sea-Bird Hardware and Software&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Manuel de d&#233;pannage d'une sonde CTD Seabird</title>
		<link>https://us191.ird.fr/spip.php?article72</link>
		<guid isPermaLink="true">https://us191.ird.fr/spip.php?article72</guid>
		<dc:date>2018-02-16T11:42:18Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Claudie Marec, Emmanuel De Saint-Leger, Fabien Perault, Jacques Grelet, Lionel Fichen</dc:creator>



		<description>&lt;p&gt;A compl&#233;ter&lt;/p&gt;

-
&lt;a href="https://us191.ird.fr/spip.php?rubrique17" rel="directory"&gt;SeaBird&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Mise &#224; jour : 28/11/2019&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Lors des campagnes oc&#233;anographiques, des profils verticaux sont r&#233;alis&#233;s &#224; intervalles r&#233;guliers avec une sonde CTD-02, pour &#034;Conductivity-Temperature-Depth-Oxygen&#034;. Cet instrument permet de mesurer avec une tr&#232;s grande pr&#233;cision la temp&#233;rature, la salinit&#233; et oxyg&#232;ne dissous de l'oc&#233;an le long de la colonne d'eau par la mesure de la pression.&lt;/p&gt;
&lt;p&gt;La sonde hydrologique CTD-02 qui est le plus fr&#233;quemment utilis&#233;e dans les laboratoires est une sonde de marque SEABIRD, mod&#232;le &lt;a href=&#034;https://www.seabird.com/profiling/sbe-911plus-ctd/family?productCategoryId=54627473769&#034; class='spip_out' rel='external'&gt;SBE911+V2&lt;/a&gt;, sonde qui est &#233;quip&#233;e des capteurs suivants :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; un capteur de pression de type Digiquartz&#174; d&#233;velopp&#233; par la soci&#233;t&#233; Paroscientific Inc. Il est muni d'un capteur de temp&#233;rature interne afin d'effectuer une correction de temp&#233;rature sur la mesure de pression. Il permet de r&#233;aliser des mesures de 0 &#224; 10000 psi ('pound per square inch, absolute') soit 6800 dbars, avec 1 dbar=1.4503774 psia et une r&#233;solution de 0.001% de la pleine &#233;chelle (soit 0.068 dbar) et une exactitude de 0.015% de la pleine &#233;chelle (soit environ 1 dbar).&lt;/li&gt;&lt;li&gt; deux capteurs de temp&#233;rature ; capteurs &#224; sonde de platine, permettent des mesures entre -5&#176;C et +35&#176;C, avec une r&#233;solution de 0.0002&#176;C et une exactitude de 0.002&#176;C.&lt;/li&gt;&lt;li&gt; deux capteurs de conductivit&#233; ; capteurs &#224; &#233;lectrodes plac&#233;s dans un tube en verre, mesurent la conductivit&#233; absolue. La gamme de mesure se situe de 0 &#224; 7 S/m (Siemens par m&#232;tre, &#233;quivalent &#224; 0-70 mho/cm) , avec une r&#233;solution de 4.10-5 S/m et une exactitude de 0.0003 S/m.&lt;/li&gt;&lt;li&gt; deux capteurs capteurs d'oxyg&#232;ne dissous, &#224; membrane polarographique, permettent des mesures dans une gamme de 0 &#224; 120% de saturation et une exactitude de 2% dans la gamme de mesure.&lt;/li&gt;&lt;li&gt; deux pompes externes relient chacun des jeux de capteurs T/C et 02, afin d'assurer une meilleure synchronisation de leurs r&#233;ponses dynamiques. De m&#234;me, chaque capteur de temp&#233;rature est reli&#233; au capteur de conductivit&#233; par un conduit (TC duct), afin que les 2 capteurs mesurent exactement la m&#234;me eau. Le capteur de temp&#233;rature ayant un temps de r&#233;ponse de 70 ms, l'eau de mer en passant dans le TC-duct met exactement 70 ms pour &#234;tre mesur&#233;e par le capteur de conductivit&#233;, capteur dont la r&#233;ponse est instantan&#233;e.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class='spip_document_224 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/local/cache-vignettes/L252xH448/ctd-1209-horizontal_mount-48bf4.jpg?1589468711' width='252' height='448' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Cette sonde hydrologique CTD-02 Seabird est g&#233;n&#233;ralement install&#233;e horizontalement sur un ch&#226;ssis sur lequel est incorpor&#233; une &#034;&lt;a href=&#034;http://www.generaloceanics.com/model-1015-rosette-12-pos-f-8-liter-samplers.html&#034; class='spip_out' rel='external'&gt;rosette&lt;/a&gt;&#034; ou &#034;&lt;a href=&#034;https://www.seabird.com/water-samplers/family?productCategoryId=54627870415&#034; class='spip_out' rel='external'&gt;carousel&lt;/a&gt;&#034; suivant le fabricant. Cette rosette permet d'&#233;chantillonner &#224; la remont&#233;e de l'eau de mer &#224; diff&#233;rentes profondeurs. Elle peut &#234;tre &#233;quip&#233;e de 12 ou 24 bouteilles de pr&#233;l&#232;vements de capacit&#233;s variables allant de 5 &#224; 12 litres suivant l'espace disponible &#224; bord du navire et les besoins des &#233;quipes scientifiques.&lt;/p&gt;
&lt;p&gt;Des capteurs suppl&#233;mentaires peuvent &#234;tre install&#233;s sur la CTD ou sur le ch&#226;ssis de la rosette, voir ci dessus la photo d'une CTD Seabird 911+ et d'un carousel SBE32 sur le N/O Antea. La sonde CTD-O2 est &#233;quip&#233;e de capteurs suppl&#233;mentaires :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; un fluorim&#232;tre &lt;a href=&#034;https://www.seabird.com/fluorometers/family?productCategoryId=54627869904&#034; class='spip_out' rel='external'&gt;ECO-FL&lt;/a&gt; de chez Wetlabs pour la mesure de la chlorophylle.&lt;/li&gt;&lt;li&gt; un transmissiom&#232;tre &lt;a href=&#034;https://www.seabird.com/transmissometers/family?productCategoryId=54627869910&#034; class='spip_out' rel='external'&gt;C-Star&lt;/a&gt; de chez Wetlabs.&lt;/li&gt;&lt;li&gt; un capteur de lumi&#232;re (&lt;a href=&#034;http://www.biospherical.com/index.php?option=com_content&amp;view=article&amp;id=156&amp;Itemid=125#QSR&#034; class='spip_out' rel='external'&gt;PAR&lt;/a&gt;).&lt;/li&gt;&lt;li&gt; un &lt;a href=&#034;https://www.uniquegroup.com/item/1965/BathymetricDepthSensorsandAltimeters/Teledyne-PSA-916-Altimeter.html&#034; class='spip_out' rel='external'&gt;altim&#232;tre&lt;/a&gt; pour mesurer la distance entre la CTD et le fond.&lt;/li&gt;&lt;li&gt; 2 &lt;a href=&#034;http://www.teledynemarine.com/workhorse-monitor-adcp/?BrandID=16&#034; class='spip_out' rel='external'&gt;LADCP&lt;/a&gt; (courantom&#232;tre Doppler) pour la mesure du courant le long du profil vertical.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Les pr&#233;l&#232;vements sont effectu&#233;s &#224; la remont&#233; et des analyses seront effectu&#233;s par les &#233;quipes de chimistes, soit &#224; bord, soit de retour au laboratoire apr&#232;s conservation des &#233;chantillons.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_214 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/local/cache-vignettes/L450xH800/ctd-ird-12-3ebec.jpg?1589468711' width='450' height='800' alt=&#034;Bathysonde CTD Seabird et ses 11 bouteilles de pr&#233;l&#232;vements 8 litres sur l'Ant&#233;a&#034; title=&#034;Bathysonde CTD Seabird et ses 11 bouteilles de pr&#233;l&#232;vements 8 litres sur l'Ant&#233;a&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;L'ensemble du syst&#232;me de mesure que l'on nomme commun&#233;ment &#034;bathysonde&#034; est reli&#233; au navire par un c&#226;ble &#233;lectro-porteur mis en &#339;uvre avec un treuil &#233;lectrique d&#233;di&#233;.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_225 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/local/cache-vignettes/L200xH83/11plusdeckunit-9f786.jpg?1589468711' width='200' height='83' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;L'unit&#233; de pont SBE11 (deck-unit) est reli&#233;e &#224; un contact tournant en sortie du treuil permettant d'alimenter la bathysonde en &#233;nergie &#233;lectrique et de r&#233;cup&#233;rer les donn&#233;es en temps r&#233;el avec un ordinateur reli&#233; &#224; l'unit&#233; de pont. Le logiciel Seasave fournit par Seabird va extraire dans le flux d'information les donn&#233;es brutes des capteurs (des valeurs de fr&#233;quences et de tensions) pour les convertir en grandeurs physiques &#224; partir des coefficients de calibrations des capteurs utilis&#233;s.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_215 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/local/cache-vignettes/L332xH337/32w9realtime-5309a.jpg?1589468711' width='332' height='337' alt=&#034;Sch&#233;ma de principe d'une bathysonde utilis&#233;e en temps r&#233;el &#034; title=&#034;Sch&#233;ma de principe d'une bathysonde utilis&#233;e en temps r&#233;el &#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Le syst&#232;me de mesure est compos&#233; des &#233;l&#233;ments suivants :&lt;/p&gt;
&lt;ol class=&#034;spip&#034;&gt;&lt;li&gt; Chaine alimentation
&lt;ol class=&#034;spip&#034;&gt;&lt;li&gt; Unit&#233; de pont&lt;/li&gt;&lt;li&gt; Contact tournant&lt;/li&gt;&lt;li&gt; Cable electro-porteur&lt;/li&gt;&lt;li&gt; Epissure&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt; Bathysonde
&lt;ol class=&#034;spip&#034;&gt;&lt;li&gt; Conteneurs &#233;tanches
&lt;ol class=&#034;spip&#034;&gt;&lt;li&gt; CTD SBE9&lt;/li&gt;&lt;li&gt; Carousel SBE32&lt;/li&gt;&lt;li&gt; Capteurs&lt;/li&gt;&lt;li&gt; Pompes&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt; C&#226;bles&lt;/li&gt;&lt;li&gt; Connecteurs &#233;tanches&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt; Chaine d'acquisition
&lt;ol class=&#034;spip&#034;&gt;&lt;li&gt; PC d'acquisition&lt;/li&gt;&lt;li&gt; Interfaces&lt;/li&gt;&lt;li&gt; Logiciel d'acquisition Seasave&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&#201;tant donn&#233; qu'une bonne partie des &#233;l&#233;ments constituants la chaine de mesures sont utilis&#233;s dans l'eau de mer, milieu hostile par d&#233;finition, lors d'un dysfonctionnement, il n'est pas toujours ais&#233; de d&#233;terminer l'origine du probl&#232;me. L'objectif de ce document est de faciliter le diagnostique des pannes par un partage de nos exp&#233;riences v&#233;cues.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Confection d'un c&#226;ble de test &lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Ce c&#226;ble permettra de v&#233;rifier rapidement le bon fonctionnement de la bathysonde SBE911+ en reliant directement l'unit&#233; de pont (deck-unit) SBE11+ &#224; la CTD-O2 SBE9+ :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; se procurer aupr&#232;s de Seabird un c&#226;ble PN 80915 SBE9plus to SBE 11plus (with XSG connector, length 10 m), &lt;a href=&#034;https://www.seabird.com/cable-assy-33-sbe-911-i-o-dwg-31314b/product-downloads?id=54627951340&amp;language=en&#034; class='spip_out' rel='external'&gt;DN 31314B&lt;/a&gt;&lt;/li&gt;&lt;li&gt; si la distance entre l'unit&#233; de pont et la CTD est importante, confectionner un c&#226;ble de test de 30 m avec des prises BNC serties aux 2 extr&#233;mit&#233;s et couper le c&#226;ble PN 80915 en y sertissant des prises BNC femelle &#224; chaque extr&#233;mit&#233;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Branchement du c&#226;ble &#233;lectro-porteur &lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Tester l'isolement et la continuit&#233; du c&#226;ble avant d'effectuer la connexion de la bathysonde.&lt;/li&gt;&lt;li&gt; Brancher l'unit&#233; de pont, v&#233;rifier avec un voltm&#232;tre &#224; l'autre extr&#233;mit&#233; du c&#226;ble &#233;lectro-porteur la pr&#233;sence du 250 V continu &#224; la mise sous tension.&lt;/li&gt;&lt;li&gt; Mettre l'unit&#233; de pont hors tension.&lt;/li&gt;&lt;li&gt; R&#233;aliser l'&#233;pissure, voir le &lt;a href=&#034;http://www.ird.fr/us191/spip.php?article48&#034; class='spip_out' rel='external'&gt;billet sur le sujet&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; V&#233;rifier de nouveau avec un voltm&#232;tre sur le connecteur &#233;tanche RMG-2FS la pr&#233;sence du 250 V continu &#224; la mise sous tension de l'unit&#233; de pont.&lt;/li&gt;&lt;li&gt; Si tout est correct, mettre l'unit&#233; de pont hors tension.&lt;/li&gt;&lt;li&gt; Brancher la CTD avec le connecteur &#233;tanche RMG-2FS&lt;/li&gt;&lt;li&gt; Mettre l'unit&#233; de pont sous tension et v&#233;rifier son bon fonctionnement.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;En cas de probl&#232;me, on alimentera directement la CTD sur le pont avec le c&#226;ble de test afin d'isoler l'origine de la panne : la CTD ou bien l'ensemble c&#226;ble &#233;lectro-porteur.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Quelques exemples de pannes&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;Collecteur tournant :&lt;/strong&gt;&lt;br class='autobr' /&gt;
Il assure la continuit&#233; &#233;lectrique au niveau du treuil entre l'alimentation en provenance de l'unit&#233; de pont SBE11+ et le c&#226;ble &#233;lectro-porteur.&lt;br class='autobr' /&gt;
&lt;span class='spip_document_217 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/local/cache-vignettes/L200xH150/collecteur_tournant-606c7.jpg?1589468711' width='200' height='150' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;br class='autobr' /&gt;
Cette continuit&#233; est obtenue avec l'utilisation d'une boite de jonction ou en r&#233;alisant une soudure &#233;tanche directement sur le c&#226;ble. Si la soudure n'est pas correctement r&#233;alis&#233;e, ou si elle est soumise &#224; des efforts m&#233;caniques trop importants lors de la rotation du treuil, il se peut que le conducteur en sortie du collecteur se coupe, avec comme effet une panne alimentation franche, assez facile &#224; d&#233;tecter. &lt;br class='autobr' /&gt;
Il m'est d&#233;j&#224; arriv&#233; de r&#233;aliser l'ensemble des tests : tests d'isolement et de continuit&#233; bons, test d'alimentation de la CTD correct puis &#224; la troisi&#232;me mise sous tension, plus rien, la CTD ne semble plus aliment&#233;e !. &lt;br class='autobr' /&gt;
On utilise alors le c&#226;ble de test, en direct, pour v&#233;rifier que la CTD fonctionne toujours correctement. Dans l'affirmative, c'est soit l'&#233;pissure, soit le collecteur tournant. &lt;br class='autobr' /&gt;
Dans ce cas pr&#233;sent, il ne restait sans doute qu'un seul brin de cuivre sur la soudure entre le contact tournant et le c&#226;ble &#233;lectro-porteur, brin qui &#224; du faire fusible &#224; la troisi&#232;me mise sous tension !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Court circuit :&lt;/strong&gt; dans cet exemple, une vis mal serr&#233;e dans la boite de jonction situ&#233;e sur le flasque du treuil et assurant la liaison &#233;lectrique et m&#233;canique entre le contact tournant et le c&#226;ble &#233;lectro-porteur r&#233;alisait un court circuit intermittent, perturbant fortement la qualit&#233; du signal ! En cas de court-circuit franc, c'est le fusible du circuit alimentation de la bathysonde, nomm&#233; &#034;sea-cable&#034; sur la face arri&#232;re de l'unit&#233; de pont qui doit fondre (500 mA rapide). Il est fortement conseill&#233; d'en avoir un stock cons&#233;quent &#224; bord.&lt;br class='autobr' /&gt;
&lt;span class='spip_document_229 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/ctd-bad-jonction_box-2.png?1558687404' width='500' height='389' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#201;pissure :&lt;/strong&gt;&lt;br class='autobr' /&gt;
Voir l'article &#034;&lt;a href=&#034;http://www.ird.fr/us191/spip.php?article48&#034; class='spip_out' rel='external'&gt;R&#233;aliser une &#233;pissure sur un c&#226;ble &#233;lectroporteur&lt;/a&gt;&#034;&lt;br class='autobr' /&gt;
Les sympt&#244;mes d'une &#233;pissure d&#233;faillante sont :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Court-circuit franc :&lt;/strong&gt; le fusible rapide &#034;sea-cable&#034; fond.&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Bathysonde sur le pont, d&#233;brancher les connecteur alimentation et v&#233;rifier que le + et le moins ne sont pas en court-circuit.&lt;/li&gt;&lt;li&gt; V&#233;rifier l'isolement avec un m&#233;gohmm&#232;tre.&lt;/li&gt;&lt;li&gt; Si tout est normal, brancher un voltm&#232;tre sur le connecteur &#233;tanche RMG-2FS et mesurer le voltage &#224; la mise sous tension, on doit avoir environ 250 V continu. V&#233;rifier les polarit&#233;s.&lt;/li&gt;&lt;li&gt; Si le 250V continu est pr&#233;sent, brancher la sonde et bouger l'&#233;pissure, en cas de rupture proche, on doit avoir des faux contacts, si c'est le cas, couper l'alimentation et refaire l'&#233;pissure.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Le fusible rapide &#034;sea-cable&#034; peut &#233;galement fondre avec un probl&#232;me sur un des capteurs, voir ci-dessous.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;C&#226;bles - Connecteurs&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Les c&#226;bles sont un des &#233;l&#233;ments sensibles et fragiles du syst&#232;me. Sur une sonde Seabird, ils sont nombreux, voir envahissants si l'on &#233;quipe la CTD avec des capteurs suppl&#233;mentaires et/ou le ch&#226;ssis de la bathysonde de courantom&#232;tres Doppler LADCP. Il faudra prendre un soin tout particulier lors de la mise en place des c&#226;bles et de leur fixation. En effet, ils peuvent vibrer lors du profil (r&#233;alis&#233; &#224; 1 m/s) et finir par engendrer des faux-contacts.&lt;/p&gt;
&lt;p&gt;Privil&#233;gier l'utilisation de ruban adh&#233;sif comme le Scotch &lt;a href=&#034;http://solutions.3mfrance.fr/wps/portal/3M/fr_FR/EU_ElectricalMarkets/Home/News/ProductFeatures/?PC_Z7_RJH9U52300OH6023C9LDDR0CU3000000_assetId=1180599581993&#034; class='spip_out' rel='external'&gt;3M 33+&lt;/a&gt; par rapport aux colliers plastique de type Legrand, Penduit ou Hellerman, qui auront tendance &#224; martyriser le rev&#234;tement n&#233;opr&#232;ne du c&#226;ble qui en assure l'&#233;tanch&#233;it&#233;.&lt;/p&gt;
&lt;p&gt;Ne pas laisser de c&#226;ble volant ou mal assur&#233;, sous peine de les voir vibrer puis rompre.&lt;/p&gt;
&lt;p&gt;Lors du d&#233;montage, ne pas utiliser de cutter pour couper le scotch.&lt;/p&gt;
&lt;p&gt;Les connecteurs des s&#233;ries RMG de chez Impulse sont bien souvent assez difficiles &#224; mettre en place ou &#224; enlever. &lt;br class='autobr' /&gt;
&#201;viter des les manipuler lorsqu'ils sont &#224; basse temp&#233;rature et les r&#233;chauffer l&#233;g&#232;rement (dans le creux de la main) avant montage.&lt;br class='autobr' /&gt;
Apr&#232;s chaque d&#233;montage, il faut imp&#233;rativement les nettoyer avec de l'alcool isopropylique et graisser sans exc&#232;s les port&#233;es avec de la graisse silicone.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les contacts :&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Pulv&#233;riser avec une bombe nettoyant contact pour la partie femelle, afin d'enlever l'oxydation et supprimer les traces d'humidit&#233;.&lt;/li&gt;&lt;li&gt; Nettoyer avec l'alcool isopropylique les contacts m&#226;le.&lt;/li&gt;&lt;li&gt; Lorsque ces derniers sont fortement oxyd&#233;s, utiliser une brosse &#224; dent tremp&#233;e dans un peu d'acide ac&#233;tique (vinaigre). Stopper l'attaque en rin&#231;ant &#224; l'eau douce ti&#232;de une fois que les contacts ont retrouv&#233;s un aspect normal puis nettoyer avec l'alcool isopropylique.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Les port&#233;es : &lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Nettoyer avec une &lt;a href=&#034;http://fr.rs-online.com/web/p/lingettes-multi-usages/0558795/?searchTerm=558-795&amp;relevancy-data=636F3D3126696E3D4931384E525353746F636B4E756D6265724D504E266C753D656E266D6D3D6D61746368616C6C26706D3D5E283F69292852537C5253207C52532D293F5C647B337D285C73293F5B5C732D2F255C2E2C5D285C73293F5C647B332C347D2426706F3D313426736E3D592673743D52535F53544F434B5F4E554D4245522677633D4E4F4E45267573743D3535382D373935267374613D3035353837393526&#034; class='spip_out' rel='external'&gt;lingette en coton non pelucheux&lt;/a&gt; et de l'alcool isopropylique puis graisser tr&#232;s l&#233;g&#232;rement avec de la graisse silicone (parker O ring ou Molycotte).&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;On montage, on doit entendre le bruit caract&#233;ristique de l'air qui est chass&#233; (ploc !). &lt;br class='autobr' /&gt;
Si ce n'est pas le cas, l'eau peut entrer l&#233;g&#232;rement dans le connecteur lors des premiers m&#232;tres de la descente et induire une corrosion lente. Au bout de quelques profils, et sous l'effet de la pression, un court-circuit peut se produire de fa&#231;on al&#233;atoire lors de la descente. Et tout fonctionne normalement une fois la CTD sur le pont ! Dans ce cas, d&#233;brancher un par un tous les capteurs et v&#233;rifier l'&#233;tat des connecteurs, voir exemple ci-dessous.&lt;br class='autobr' /&gt;
&lt;span class='spip_document_220 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/jpg/conecteur-cc.jpg?1558687387' width='500' height='375' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Une panne &#233;quivalente peut arriver avec le connecteur 2 broches d'alimentation.&lt;br class='autobr' /&gt;
Comme l'alimentation est en 250 Volts, il peut se produire un arc &#233;lectrique avant le claquage du fusible, avec d&#233;p&#244;t de carbone entre les 2 contacts. Le connecteur a l'air en bon &#233;tat mais il est &#224; changer car il est en court-circuit. Il faut dans ce cas, ouvrir la CTD et changer le connecteur du TAP sup&#233;rieur. Le diagnostic &#224; l'ohmm&#232;tre est impossible tant que le connecteur n'est pas d&#233;branch&#233; de l'&#233;lectronique.&lt;/p&gt;
&lt;p&gt;La diode D1 de la carte Sea-cable interface (SBE9+) peut dans certain cas &#234;tre &#224; changer.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_221 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/jpg/connecteur-ctd-2broches.jpg?1558687387' width='500' height='333' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pompes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Les sondes Seabird 911plus utilisent pour chaque jeu de capteurs un circuit pomp&#233; &#224; vitesse constante qui permet de s'affranchir en grande partie des probl&#232;mes li&#233;s &#224; la diff&#233;rence des temps de r&#233;ponse des capteurs de temp&#233;rature et conductivit&#233; et dans une moindre mesure de l'oxyg&#232;ne.&lt;br class='autobr' /&gt;
La sonde est g&#233;n&#233;ralement &#233;quip&#233; de 2 jeux de capteurs redondant, avec une pompe pour chaque circuit T/C/O2. Les 2 pompes sont aliment&#233;s en 12 volts par un c&#226;ble en Y reli&#233; &#224; un unique connecteur 2 broches JB3. Un circuit de d&#233;tection fait que les pompes ne sont aliment&#233;s que lorsque le capteur de conductivit&#233; primaire est plong&#233; dans l'eau de mer apr&#232;s un d&#233;lais d'environ 60 secondes. &lt;br class='autobr' /&gt;
Pour tester le bon fonctionnement des pompes au laboratoires sans avoir &#224; plonger le capteur primaire dans l'eau de mer, il suffit de d'intervertir les capteurs de temp&#233;rature et conductivit&#233; du circuit primaire. Brancher le capteur COND 1 sur JB1 et TEMP1 sur JB2. A 20 &#176;C, la fr&#233;quence de sortie du capteur de temp&#233;rature est sup&#233;rieure &#224; 4000 hz et suffit &#224; faire d&#233;marrer la pompe au bout de 60 secondes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Attention :&lt;/strong&gt; Les pompes &#233;tant lubrifi&#233;es par l'eau de mer, ne pas les laisser fonctionner dans l'air plus de quelques secondes.&lt;/p&gt;
&lt;p&gt;Pour la maintenance de la pompe, voir la vid&#233;o &#034;&lt;a href=&#034;https://www.seabird.com/sbe-5t-pump-maintenance&#034; class='spip_out' rel='external'&gt;SBE 5T Pump Maintenance&lt;/a&gt;&#034; sur le site web de Seabird.&lt;/p&gt;
&lt;p&gt;Exemples de pannes de pompes ou de faux contacts sur le c&#226;ble d'alimentation en Y :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Profil d'une station correct : on observe tout juste un l&#233;ger d&#233;calage absolu entre les 2 profils descente/mont&#233; et capteurs primaire/secondaire d'oxyg&#232;ne, &#233;cart qui sera corrig&#233; lors de l'&#233;tape d'ajustement avec les pr&#233;l&#232;vements bouteilles analys&#233;s par la m&#233;thode de &#034;Winkler&#034; :&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class='spip_document_233 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/jpg/csp01701-toxy1-2-3.jpg?1558687387' width='500' height='375' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Profil d'une station o&#249; on observe un probl&#232;me sur la pompe du circuit primaire &#224; la fin du profil descente vers 2220 dbars. Dans ce cas particulier, la pompe du circuit primaire a &#233;t&#233; chang&#233;e avec succ&#232;s pour le profil suivant :&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class='spip_document_234 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/jpg/csp01801-toxy1-2-3.jpg?1558687387' width='500' height='375' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Faux contact sur le c&#226;ble en Y : on observe des donn&#233;es bruit&#233;es en d&#233;but de profil.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class='spip_document_235 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/jpg/csp02602-toxy1-2-3.jpg?1558687387' width='500' height='375' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Inversion des coefficients de calibration des capteurs d'oxyg&#232;ne : on observe des profils d'allures identiques mais de valeurs absolues fort &#233;loign&#233;es :&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class='spip_document_236 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/jpg/am0401.jpg?1558687386' width='500' height='387' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Un dernier exemple montrant ce qu'il se passe lorsque l'eau ne circule pas correctement dans les capteurs. Ici, le bouchon prot&#233;geant le circuit de pompage entre 2 stations a &#233;t&#233; oubli&#233; par m&#233;garde :&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class='spip_document_237 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/pech09-1.png?1558687405' width='500' height='432' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Et voici le r&#233;sultat sur la m&#234;me station sans le bouchon :&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_238 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/pech09-2.png?1558687405' width='500' height='432' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pannes &#233;lectroniques&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;Perte du signal du capteur de pression Digiquartz &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ce probl&#232;me a &#233;t&#233; rencontr&#233; 2 fois :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &#224; la suite probable d'un choc lors du transport (1 fois)&lt;/li&gt;&lt;li&gt; &#224; la suite de la pose &#171; brutale &#187; de la CTD sur le pont&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Plus de signal du capteur de pression : les fils issus du capteur de Pression interne Digiquartz sont coup&#233;s au niveau de l'arriv&#233;e sur la carte &#171; bottom end cap wiring &#187; de la SBE9+.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_248 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/local/cache-vignettes/L365xH336/carte_bottom_end_cap_sbe9_-093ff.jpg?1589468711' width='365' height='336' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Erreur de c&#226;blage de l'utilisateur&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;i&gt;Sea-cable power connect&#233; sur l'embase &#171; bottom contact &#187;&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Cela se traduit par une erreur globale du syst&#232;me. La carte &#171; modulo 12P &#187; de la SBE9+ est endommag&#233;e. Le 250 V continu va d&#233;truire le circuit U3 (registre &#224; d&#233;calage CD4021 ), ainsi que le circuit U4 (compteur 12 bits CD4040) qui grille sur la carte Modulo 12P.&lt;/p&gt;
&lt;p&gt;Selon Seabird, si le Sea-cable est laiss&#233; connect&#233; plus de 30sec sur le bottom contact cela peut &#233;galement endommager la carte logic1 et la carte AP counter d&#233;di&#233;e &#224; la mesure de la pression (circuit U7 grill&#233;).&lt;br class='autobr' /&gt;
Les 5 cartes AP counter utilis&#233;es pour les mesures de fr&#233;quence sont interchangeables.&lt;/p&gt;
&lt;p&gt;Si une nouvelle carte Modulo 12P est mise en place, il faut refaire un&lt;br class='autobr' /&gt;
&#233;talonnage de la chaine de mesure du capteur de temp&#233;rature AD590 du capteur de pression Digiquartz (convertisseur A/D 12 bits U5 et ampli OP U6) pour re-calculer les coefficients M et B.&lt;br class='autobr' /&gt;
Deux points suffisent pour d&#233;terminer la pente du circuit de mesure. Il est fortement conseiller de d&#233;terminer ces coefficients au laboratoire &#224; la r&#233;ception de la carte de rechange.&lt;/p&gt;
&lt;p&gt;Depuis 2007, Seabird a modifi&#233; le connecteur JB6 (RMG-2FS) du poisson SBE9+ par un connecteur VSG-2BCL et remplac&#233; le c&#226;ble par un RMG-2FS to VMG-2FS. Voir l'&lt;a href=&#034;https://www.seabird.com/asset-get.download.jsa?id=54627861724&#034; class='spip_out' rel='external'&gt;Application Notes 86&lt;/a&gt;.&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;i&gt;Sea-cable power connect&#233; sur l'embase d&#233;di&#233;e &#224; une pompe&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Cela se traduit par une erreur globale du syst&#232;me.&lt;br class='autobr' /&gt;
Dans notre cas, la carte Modulo 12P de e la CTD SBE9+ a &#233;t&#233; endommag&#233;e : &lt;br class='autobr' /&gt;
Zener D2, condensateur C20 et circuit U7 ont grill&#233;.&lt;br class='autobr' /&gt;
Selon Seabird la carte &#171; transmit card &#187; peut &#233;galement &#234;tre endommag&#233;e dans ce type d'erreur de c&#226;blage, notamment les composants en ligne avec l'alimentation de la pompe C8, R8 et Q5 sur transmit card de SBE9+)&lt;/p&gt;
&lt;p&gt;Sur les CTD r&#233;centes, l'emplacement des connecteurs est marqu&#233; sur les &#034;TAPs&#034;. Il est tout de m&#234;me recommand&#233; d'imprimer les plans de situation des TAPs avant toute tentative de nouvelle connexion &#224; bord.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Court-circuit important sur le c&#226;ble d'alimentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Cela s'est traduit par 3 circuits grill&#233;s (U5, U6, U9) sur la carte Modulo 12P de la SBE9+&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Affichage en boucle continue de s&#233;ries de 0000, 1111, 2222, 3333, etc&#8230;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;L'alimentation (+5V, +/- 12V) a &#233;t&#233; remplac&#233;e dans la deck unit SBE11+.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;D&#233;marrage transitoire de la pompe&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;CTD dans l'eau, la pompe d&#233;marre un bref instant puis s'arr&#234;te. Il faut dans ce cas &#233;teindre puis rallumer l'unit&#233; de pont et attendre de nouveau 1 minute que les pompes d&#233;marrent. Si le probl&#232;me survient de fa&#231;on r&#233;p&#233;titive, soit changer la carte &#034;Transmitter and pump delay&#034;, ou remplacer le circuit U6A, une bascule CD4013.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tests et mesures sur les cartes &#233;lectroniques&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pour r&#233;aliser les tests et mesures sur les cartes &#233;lectroniques en fonctionnement, il est pr&#233;f&#233;rable, sinon n&#233;cessaire de commander un prolongateur de carte chez Seabird.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_250 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/local/cache-vignettes/L448xH218/prolongateur-circuit-board-2d34b.jpg?1589468711' width='448' height='218' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Carte que l'on viendra ins&#233;rer entre le ch&#226;ssis de la CTD et la carte &#224; tester, voir &lt;a href=&#034;https://www.seabird.com/asset-get.download.jsa?id=54663149001&#034; class='spip_out' rel='external'&gt;Sbe9plus Manual, page 60&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Liens&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://www.seabird.com/cms-portals/seabird_com/cms/documents/eBooks/CTDsExplained-Sea-BirdScientific.pdf&#034; class='spip_out' rel='external'&gt;CTD explained by Seabird&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.ird.fr/us191/spip.php?article48&#034; class='spip_out' rel='external'&gt;R&#233;aliser une &#233;pissure sur un c&#226;ble &#233;lectro-porteur&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.ird.fr/us191/spip.php?article27&#034; class='spip_out' rel='external'&gt;Instructions d'utilisation de la sonde 911plus et LADCP&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://vimeo.com/302038741&#034; class='spip_out' rel='external'&gt;TUTO : Installation d'une CTD dans une bathysonde&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://www.youtube.com/playlist?list=PLhBaduqhFDvunKtIUq-HYAIC7e3QNYT1w&#034; class='spip_out' rel='external'&gt;Chaine Youtube Seabird&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Seabird &lt;a href=&#034;https://www.seabird.com/profiling/sbe-911plus-ctd/family-downloads?productCategoryId=54627473769&#034; class='spip_out' rel='external'&gt;Sbe911plus download documents&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Seabird &lt;a href=&#034;https://www.seabird.com/asset-get.download.jsa?id=54663149001&#034; class='spip_out' rel='external'&gt;Sbe9plus Manual&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Seabird &lt;a href=&#034;https://www.seabird.com/profiling/sbe-911plus-ctd/family-downloads?productCategoryId=54627473769&#034; class='spip_out' rel='external'&gt;Sbe911plus Application Notes&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Seabird &lt;a href=&#034;https://www.seabird.com/technical-papers/Profiling-CTD-Troubleshooting-Basics&#034; class='spip_out' rel='external'&gt;Troubleshooting Basics : Profiling CTDs&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Bibliographie&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; R. Chuchla. Traitement des donn&#233;es CTDO2, document scientifique et technique. IRD Centre Bretagne N&#176;88. 2001.&lt;/li&gt;&lt;li&gt; P. Pederson. &lt;a href=&#034;ftp://ftp.ifremer.fr/ifremer/ird/us191/SPIP/2018%20-%20Seabird%20-%20CTD/1984%20-%20Pederson%20A%20modular%20CTD%20system.pdf&#034; class='spip_out'&gt;A modular high resolution CTD system, 1984&lt;/a&gt;&lt;/li&gt;&lt;li&gt; M. Pederson. &lt;a href=&#034;ftp://ftp.ifremer.fr/ifremer/ird/us191/SPIP/2018%20-%20Seabird%20-%20CTD/1979%20-%20Pederson%20Development%20of%20a%20small%20Conductivity%20inst.pdf&#034; class='spip_out'&gt;Development of a small In-Situ conductivity instrument, 1979&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; G. Larson. &lt;a href=&#034;ftp://ftp.ifremer.fr/ifremer/ird/us191/SPIP/2018%20-%20Seabird%20-%20CTD/1993%20-%20Larson%20Calibration%20of%20CTD%20instruments%20methods.pdf&#034; class='spip_out'&gt;Calibration of oceanographic CTD instruments : Methods and tracability, 1993&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Best pratctices&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; K.E. McTaggart &lt;a href=&#034;https://www.go-ship.org/Manual/McTaggart_et_al_CTD.pdf&#034; class='spip_out' rel='external'&gt;GO-SHIP : Notes on CTD/O2 data acquisition and processing using SEA-BIRD hardware , 2010.&lt;/a&gt;&lt;/li&gt;&lt;li&gt; A.M. Thurnherr. &lt;a href=&#034;https://www.go-ship.org/Manual/Thurnherr_LADCP.pdf&#034; class='spip_out' rel='external'&gt;GO-SHIP : A manual for acquiring lowered doppler current profiler, 2010.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>MSYS2 : des outils de d&#233;veloppement UNIX sous Windows</title>
		<link>https://us191.ird.fr/spip.php?article73</link>
		<guid isPermaLink="true">https://us191.ird.fr/spip.php?article73</guid>
		<dc:date>2017-11-04T18:21:52Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jacques Grelet</dc:creator>



		<description>&lt;p&gt;MSYS2 est une plate-forme de d&#233;veloppement de logiciels UNIX pour l'environnement Windows.&lt;/p&gt;

-
&lt;a href="https://us191.ird.fr/spip.php?rubrique5" rel="directory"&gt;Outils&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Mise &#224; jour : 04/11/2017&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&#192; l'origine, MSYS2 est une r&#233;&#233;criture moderne et ind&#233;pendante de MSYS, bas&#233;e sur &lt;a href=&#034;http://www.ird.fr/us191/spip.php?article6&#034; class='spip_out' rel='external'&gt;Cygwin&lt;/a&gt; (couche de compatibilit&#233; POSIX) et &lt;a href=&#034;https://mingw-w64.org/doku.php&#034; class='spip_out' rel='external'&gt;MinGW-w64&lt;/a&gt; dans le but d'une meilleure interop&#233;rabilit&#233; avec les logiciels Windows natifs. Il fournit un shell, des syst&#232;mes de contr&#244;le de codes sources pour cr&#233;er des applications Windows natives &#224; l'aide des cha&#238;nes d'outils de compilations MinGW-w64.&lt;/p&gt;
&lt;p&gt;Il dispose d'un syst&#232;me de gestion des paquets bas&#233; sur &lt;a href=&#034;https://wiki.archlinux.fr/Pacman&#034; class='spip_out' rel='external'&gt;Pacman&lt;/a&gt; (ArchLinux) pour faciliter l'installation des paquetages. Il apporte de nombreuses fonctionnalit&#233;s puissantes telles que la r&#233;solution des d&#233;pendances et de mises &#224; niveau du syst&#232;me.&lt;/p&gt;
&lt;p&gt;L'installation de MSYS2 sur un PC sous Windows 7 nous permettra d'avoir &#224; disposition un shell Unix (bash) dans une console (ConEmu de pr&#233;f&#233;rence) ainsi que les interpr&#233;teurs n&#233;cessaires aux traitement de donn&#233;es (Perl, Python). L'&#233;dition de programmes pourra &#234;tre r&#233;alis&#233;e avec Visual Studio Code (VSC) et la compilation d'ex&#233;cutables (C/C++/Go) directement dans la fen&#234;tre terminal de VSC avec des outils comme make.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Installation de MSYS2&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;T&#233;l&#233;charger l'ex&#233;cutable depuis la page &#034;&lt;a href=&#034;http://www.msys2.org/&#034; class='spip_out' rel='external'&gt;MSYS2 installer&lt;/a&gt;&#034; et suivre les instructions (en Anglais) puis les diff&#233;rentes &#233;tapes de mise &#224; jour de la distribution. Pas de r&#233;elle difficult&#233;s jusque la.&lt;br class='autobr' /&gt;
Personnellement, j'installe les outils opensource sous c :\opt, donc le r&#233;pertoire d'installation de MSYS2 sera sous &lt;code class='spip_code' dir='ltr'&gt;C:\opt\msys64&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Mettre &#224; jour la distribution avec les commandes suivantes :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;$ pacman -Syu
$ pacman -Su&lt;/textarea&gt;
&lt;p&gt;puis installer les paquetages n&#233;cessaires pour notre environnement de d&#233;veloppement sous Windows.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Installation des paquetages suppl&#233;mentaires&lt;/strong&gt; &lt;br class='autobr' /&gt;
Par exmple, pour compiler un programme utilisant la librairies NetCDF nativement sous Windows, nous aurons besoin du programme pkg-config pour sp&#233;cifier au compilateur gcc l'emplacement des fichiers d'ent&#234;te et librairies. Pour v&#233;rifier si pkg-config est d&#233;j&#224; install&#233; sur le syst&#232;me, nous allons interroger le gestionnaire de paquets pacman :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='11' class='spip_cadre' dir='ltr'&gt;$ pacman -Ss pkg-config
mingw32/mingw-w64-i686-pkg-config 0.29.2-1 (mingw-w64-i686-toolchain) A system for managing library compile/link flags (mingw-w64)
mingw64/mingw-w64-x86_64-pkg-config 0.29.2-1 (mingw-w64-x86_64-toolchain) A system for managing library compile/link flags (mingw-w64)
msys/pkg-config 0.29.2-1 (base-devel) A system for managing library compile/link flags&lt;/textarea&gt;
&lt;p&gt;Le programme &lt;i&gt;pkg-config&lt;/i&gt; d&#233;pend du paquetage &lt;i&gt;base-devel&lt;/i&gt;, il est alors possible d'installer uniquement le programme voulu avec ses d&#233;pendances :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='33' class='spip_cadre' dir='ltr'&gt;$ pacman -S pkg-config
resolving dependencies...
looking for conflicting packages... Packages (2) glib2-2.48.2-1 pkg-config-0.29.2-1 Total Download Size: 1.88 MiB
Total Installed Size: 10.38 MiB :: Proceed with installation? [Y/n] Y
:: Retrieving packages... glib2-2.48.2-1-x86_64 1737.5 KiB 1823K/s 00:01 [########################] 100% pkg-config-0.29.2-1... 185.7 KiB 60.5M/s 00:00 [########################] 100%
(2/2) checking keys in keyring [########################] 100%
(2/2) checking package integrity [########################] 100%
(2/2) loading package files [########################] 100%
(2/2) checking for file conflicts [########################] 100%
(2/2) checking available disk space [########################] 100%
:: Processing package changes...
(1/2) installing glib2 [########################] 100%
Optional dependencies for glib2 gamin: for gio fam module python2: for gdbus-codegen and gtester-report
(2/2) installing pkg-config [########################] 100%&lt;/textarea&gt;
&lt;p&gt;Une alternative peut consister &#224; installer l'ensemble des programmes du paquet ou de ne s&#233;lectionner que ceux strictement n&#233;cessaires comme ci-dessous :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='25' class='spip_cadre' dir='ltr'&gt;$ pacman -S base-devel
:: There are 55 members in group base-devel:
:: Repository msys 1) asciidoc 2) autoconf 3) autoconf2.13 4) autogen 5) automake-wrapper 6) automake1.10 7) automake1.11 8) automake1.12 9) automake1.13 10) automake1.14 11) automake1.15 12) automake1.6 13) automake1.7 14) automake1.8 15) automake1.9 16) bison 17) diffstat 18) diffutils 19) dos2unix 20) file 21) flex 22) gawk 23) gdb 24) gettext 25) gettext-devel 26) gperf 27) grep 28) groff 29) help2man 30) intltool 31) lemon 32) libtool 33) libunrar 34) libunrar-devel 35) m4 36) make 37) man-db 38) pacman 39) pactoys-git 40) patch 41) patchutils 42) perl 43) pkg-config 44) pkgfile 45) quilt 46) rcs 47) scons 48) sed 49) swig 50) texinfo 51) texinfo-tex 52) ttyrec 53) unrar 54) wget 55) xmlto Enter a selection (default=all):&lt;/textarea&gt;
&lt;p&gt;Il est &#233;galement possible de sp&#233;cifier la liste des programmes &#224; installer sur la ligne de commande :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;$ pacman -S dos2unix gdb libtool perl make pkg-config texinfo xmlto git gcc tar&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Configuration&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Une fois install&#233;, lorsque nous ex&#233;cutons MSYS2 depuis le menu &#034;d&#233;marrer/tous les programmes&#034;, nous obtenons un shell dans une console DOS comme ceci :&lt;br class='autobr' /&gt;
&lt;span class='spip_document_218 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/msys2_console.png?1558687405' width='500' height='316' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Je conseille d'utiliser &lt;a href=&#034;https://conemu.github.io/&#034; class='spip_out' rel='external'&gt;ConEmu&lt;/a&gt; comme alternative &#224; l'&lt;a href=&#034;https://www.generation-nt.com/console-windows-cmd-commandes-couleurs-actualite-1945007.html&#034; class='spip_out' rel='external'&gt;antique console Windows&lt;/a&gt; qui n'a quasiment pas &#233;volu&#233;e depuis 20 ans.&lt;br class='autobr' /&gt;
ConEmu est un logiciel qui permet d'ouvrir plusieurs consoles dans une seule et m&#234;me fen&#234;tre gr&#226;ce &#224; des onglets. Il est facilement personnalisable et on peut l'utiliser pour ouvrir des consoles DOS, PowerShell, Bash, Putty, voir Docker. Il permet une meilleure int&#233;gration du presse papier comme c'est le cas avec les console Linux (touche shift+Insert ou clic droit avec la souris).&lt;br class='autobr' /&gt;
Pour utiliser MSYS2 avec ConEmu, rajouter une entr&#233;e depuis le menu &#034;Setting/Startup/Tasks&#034; en cliquant sur le bouton &#034;+&#034;. Modifier son nom par &#034;Bash::Msys2-64&#034; et entrer la ligne suivante dans la fen&#234;tre &#034;commands&#034; en adaptant le chemin d'acc&#232;s &#224; votre configuration, ici : &lt;code class='spip_code' dir='ltr'&gt;%ConEmuDrive%\opt&lt;/code&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre' dir='ltr'&gt;set CHERE_INVOKING=1 &amp; %ConEmuDrive%\opt\msys64\usr\bin\bash.exe --login -i -new_console:c:\opt\msys64\msys2.ico&#034;&lt;/textarea&gt;
&lt;p&gt;&lt;span class='spip_document_219 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/conemu_2_.png?1558687404' width='500' height='323' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Par d&#233;faut, MSYS2 n'h&#233;rite pas de la variable %PATH% de Windows.&lt;br class='autobr' /&gt;
Rajouter la ligne suivante qui se trouve dans le fichier msys64\msys2_shell.cmd :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;set MSYS=winsymlinks:nativestrict
set MSYS2_PATH_TYPE=inherit&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Utilisation de pkg-config :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;PKG_CONFIG_PATH definie dans le fichier C :\opt\msys64\etc\makepkg_mingw64.conf&lt;br class='autobr' /&gt;
dans son env (C :\opt\msys64\home\jgrelet)&lt;br class='autobr' /&gt;
PKG_CONFIG_PATH=$&lt;i&gt;PKG_CONFIG_PATH&lt;/i&gt; :/c/Qt/qt-5.4.1/qt-5.4.1-x64-mingw492r1-seh-opengl-rev1/lib/pkgconfig :/c/opt/netCDF/lib/pkgconfig&lt;/p&gt;
&lt;p&gt;test :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='5' class='spip_cadre' dir='ltr'&gt;$ pkg-config --list-all|grep netcdf
netcdf netCDF - NetCDF Client Library for C
$ pkg-config --libs --cflags netcdf
-IC:/opt/netCDF/include -LC:/opt/netCDF/lib -lnetcdf -lhdf5 -lhdf5_hl -lzlib&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Liens utiles&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; En fran&#231;ais
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Archlinux &lt;a href=&#034;https://wiki.archlinux.fr/Pacman&#034; class='spip_out' rel='external'&gt;Pacman&lt;/a&gt;&lt;/li&gt;&lt;li&gt; ConEmu, &lt;a href=&#034;https://melinyel.net/topic/1585-conemu-votre-nouvelle-console-pour-windows/&#034; class='spip_out' rel='external'&gt;une nouvelle console pour Windows&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; En anglais
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;http://www.msys2.org/&#034; class='spip_out' rel='external'&gt;MSYS2 Home page&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/msys2/msys2/wiki/MSYS2-installation&#034; class='spip_out' rel='external'&gt;MSYS2 installation (wiki)&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://conemu.github.io/&#034; class='spip_out' rel='external'&gt;ConEmu&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Visual Studio Code</title>
		<link>https://us191.ird.fr/spip.php?article74</link>
		<guid isPermaLink="true">https://us191.ird.fr/spip.php?article74</guid>
		<dc:date>2017-11-03T13:38:10Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jacques Grelet</dc:creator>



		<description>&lt;p&gt;Visual Studio Code est un &#233;diteur de code multiplateforme, open source disponible sur Github, gratuit et supportant de nombreux langages gr&#226;ce aux extensions. Il concurrence les &#233;diteurs modernes tels que Atom et SublimeText et voir plus anciens comme Gvim.&lt;/p&gt;

-
&lt;a href="https://us191.ird.fr/spip.php?rubrique5" rel="directory"&gt;Outils&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Mise &#224; jour : 08/12/2020&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Visual Studio Code (VS Code) est un IDE (environnement de d&#233;veloppement) opensource, multiplateforme d&#233;velopp&#233; par Microsoft. Il int&#232;gre plusieurs fonctionnalit&#233;s facilitant le d&#233;veloppement comme la coloration syntaxique, le syst&#232;me d'auto-compl&#233;tion IntelliSense, la gestion du code source avec une int&#233;gration simple et puissante de Git, le support de terminal int&#233;gr&#233; qui permet de s&#233;lectionner et d'utiliser le Shell de votre plateforme de d&#233;veloppement.&lt;/p&gt;
&lt;p&gt;L'interface de VS Code est divis&#233;e en 5 panneaux (&lt;a href=&#034;https://code.visualstudio.com/docs/getstarted/userinterface&#034; class='spip_out' rel='external'&gt;layout&lt;/a&gt;)&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Editeur : la zone principale pour &#233;diter vos fichiers. Vous pouvez ouvrir jusqu'&#224; trois &#233;diteurs c&#244;te &#224; c&#244;te.&lt;/li&gt;&lt;li&gt; Barre lat&#233;rale : contient les diff&#233;rentes vues comme l'explorateur, la gestion du code source avec Git.&lt;/li&gt;&lt;li&gt; Barre d'&#233;tat : informations sur le projet ouvert et les fichiers que vous modifiez.&lt;/li&gt;&lt;li&gt; Barre d'activit&#233; : situ&#233;e &#224; l'extr&#234;me gauche, cette barre vous permet de passer d'une vue &#224; l'autre et vous fournit des indicateurs contextuels suppl&#233;mentaires, tels que le nombre de modifications r&#233;alis&#233;es lorsque Git est activ&#233;.&lt;/li&gt;&lt;li&gt; Panneaux : vous pouvez afficher diff&#233;rents panneaux sous la zone de l'&#233;diteur pour visualiser les informations de sortie ou de d&#233;bogage, des erreurs ou avertissements. L'onglet le plus &#224; droite affiche un terminal int&#233;gr&#233; enti&#232;rement param&#233;trable.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class='spip_document_222 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/2017-11-29.png?1558687404' width='500' height='450' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Il est possible de r&#233;aliser dans ce terminal toutes les op&#233;rations n&#233;cessaires lors de la mise au point du projet : interpr&#233;teur de commandes, compilation, makefile, utilisation de Git en ligne de commande, etc....&lt;/p&gt;
&lt;p&gt;Avec l'ajout d'extensions, il devient tr&#232;s facile de g&#233;rer l'ensemble des fichiers constituant un projet sous &lt;a href=&#034;https://github.com/&#034; class='spip_out' rel='external'&gt;GitHub&lt;/a&gt;, tel que les fichiers &lt;a href=&#034;http://www.yaml.org/spec/1.2/spec.html&#034; class='spip_out' rel='external'&gt;YAML&lt;/a&gt; (pour la configuration de la plateforme d'int&#233;gration continue &lt;a href=&#034;https://travis-ci.org/&#034; class='spip_out' rel='external'&gt;Travis-CI&lt;/a&gt;), &lt;a href=&#034;https://github.com/toml-lang/toml&#034; class='spip_out' rel='external'&gt;TOML&lt;/a&gt; pour les fichiers de configuration, &lt;a href=&#034;https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet&#034; class='spip_out' rel='external'&gt;Markdown&lt;/a&gt; pour l'affichage des fichiers d'aide sur le Web, etc. Les extensions poss&#232;dent toutes un mode de pr&#233;-visualisation qui permet d'acc&#233;l&#233;rer la productivit&#233; sans avoir besoin de tester le rendu final de l'affichage sur la plateforme d&#233;di&#233;e distante.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Configuration&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Pour modifier les pr&#233;f&#233;rences utilisateur, le raccourci clavier (Ctrl+,). Les &lt;a href=&#034;https://code.visualstudio.com/docs/getstarted/settings&#034; class='spip_out' rel='external'&gt;pr&#233;f&#233;rences&lt;/a&gt; sont enregistr&#233;es dans le fichier &#034;setting.json&#034; sous :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Windows : &lt;small&gt;%APPDATA%\Code\User\settings.json&lt;/small&gt;&lt;/li&gt;&lt;li&gt; Mac : &lt;small&gt;$HOME/Library/Application Support/Code/User/settings.json&lt;/small&gt;&lt;/li&gt;&lt;li&gt; Linux : &lt;small&gt;$HOME/.config/Code/User/settings.json&lt;/small&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Par exemple, pour utiliser VS Code avec MSYS2, entrer le chemin d'acc&#232;s de la commande bash pour le champ &lt;small&gt;&#034;terminal.integrated.shell.windows&#034;&lt;/small&gt;. Notez l'utilisation du double &#034;backslash&#034; :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='6' class='spip_cadre' dir='ltr'&gt;// Placez vos param&#232;tres dans ce fichier pour remplacer les param&#232;tres par d&#233;faut { &#034;terminal.integrated.shell.windows&#034;: &#034;C:\\opt\\msys64\\usr\\bin\\bash.exe&#034; }&lt;/textarea&gt;
&lt;p&gt;Pour utiliser le compilateur TDM-GCC-64, nous utiliserons les commandes suivantes car il est n&#233;cessaire de passer des arguments :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='4' class='spip_cadre' dir='ltr'&gt;&#034;terminal.integrated.shell.windows&#034;: &#034;C:\\Windows\\system32\\cmd.exe&#034;, &#034;terminal.integrated.shellArgs.windows&#034;: [&#034;/k&#034;,&#034;C:\\opt\\TDM-GCC-64\\mingwvars.bat&#034;]&lt;/textarea&gt;
&lt;p&gt;Si l'on veut compiler un programme Go avec les binaires de la &lt;a href=&#034;http://www.unidata.ucar.edu/software/netcdf/docs/winbin.html&#034; class='spip_out' rel='external'&gt;librairie NetCDF&lt;/a&gt;, il faut installer la chaine de compilation &lt;a href=&#034;http://sourceforge.net/projects/mingw-w64/files/latest/download?source=files&#034; class='spip_out' rel='external'&gt;mingw-64&lt;/a&gt; ainsi que le shell &lt;a href=&#034;http://www.mingw.org/wiki/MSYS&#034; class='spip_out' rel='external'&gt;MSYS&lt;/a&gt;. Le programme pkg-config &#233;tant utilis&#233; par cgo, il faudra modifier le fichier de configuration netcdf.pc de la librairie NetCDF pour r&#233;aliser correctement l'&#233;dition des liens.&lt;/p&gt;
&lt;p&gt;Rajouter la ligne suivante dans fichier de pr&#233;f&#233;rence pour utiliser le shell Bash &#224; la place de l'interpr&#233;teur Windows :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;&#034;terminal.integrated.shell.windows&#034;: &#034;C:\\MinGW\\msys\\1.0\\bin\\bash.exe&#034;,&lt;/textarea&gt;
&lt;p&gt;Il faudra &#233;galement rajout&#233; les lignes suivantes dans le path Windows :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre' dir='ltr'&gt;C:\MinGW\msys\1.0\bin C:\mingw-w64\x86_64-4.9.3-win32-seh-rt_v4-rev1\mingw64\bin&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Analyseur syntaxique :&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Pour les programmes &#233;crit en Go, la syntaxe du code est valid&#233;e par d&#233;faut lors de la sauvegarde du fichier avec l'outil golint. Il est possible et fort pratique de v&#233;rifier la syntaxe au cours de la saisie en ajoutant les lignes suivantes dans son fichier de pr&#233;f&#233;rence :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='4' class='spip_cadre' dir='ltr'&gt;&#034;go.liveErrors&#034;: { &#034;enabled&#034;: true, &#034;delay&#034;: 500 }&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Fonctions de recherche/remplacement&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;VS Code poss&#232;de des fonctions de recherche avanc&#233;e que ce soit sur le fichier ouvert dans l'&#233;diteur, ou depuis le volet explorateur. Il est possible d'utiliser des expressions r&#233;guli&#232;res comme motif de recherche et d'effectuer des recherches/remplacements sur l'ensemble des fichiers d'un r&#233;pertoire, voir &lt;a href=&#034;https://code.visualstudio.com/Docs/editor/codebasics#_search-across-files&#034; class='spip_out' rel='external'&gt;&#034;Search Across Files&#034;&lt;/a&gt; dans la documentation en ligne. Touche de raccourci Ctrl+Shift+F&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Utilisation de WSL&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Lorsque l'on programme avec des logiciels n&#233;cessitant l'installation de nombreux modules externes comme c'est le cas avec les langages Python, Perl, voir Go, il est g&#233;n&#233;ralement beaucoup plus simple d'installer les librairies tierces sous Linux que sous Windows. Le sous syst&#232;me pour Linux (WSL) que l'on peut installer avec Windows 10 est une excellente alternative permettant de d&#233;velopper, tester et d'utiliser des applications Linux sous Windows. VSC, voir le billet &lt;a href=&#034;https://us191.ird.fr/spip.php?article77&#034;&gt;Configuration et utilisation de WSL.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Utilisation de shell multiples&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;L'extension &lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=Tyriar.shell-launcher&#034; class='spip_out' rel='external'&gt;Shell launcher&lt;/a&gt; permet de lancer facilement plusieurs configurations de shell dans le terminal.&lt;br class='autobr' /&gt;
Un raccourci clavier Ctrl+Shift+t (param&#233;trable) affiche une s&#233;lection rapide qui permet de choisir l'un des shells de terminal configur&#233;s au pr&#233;alable, utile si on veut tester le bon fonctionnement un script Python soit sous Windows ou soit sous Linux.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Synchronisation de la configuration entre plusieurs PC&lt;br class='autobr' /&gt;
&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Si vous programmez sur plusieurs machine : PC de bureau, votre portable, une machine de test, vous vous rendez compte qu'il devient rapidement fastidieux d'installer manuellement l'ensemble des extensions n&#233;cessaires, de modifier les fichiers json de configuration, etc.&lt;/p&gt;
&lt;p&gt;Pour cela, l'extension &lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync&#034; class='spip_out' rel='external'&gt;Settings sync&lt;/a&gt; va vous permettre de sauvegarder l'ensemble de vos param&#232;tres de d&#233;veloppement dans un Gist, puis de les charger plus tard, dans un nouvel environnement.&lt;br class='autobr' /&gt;
La plateforme &lt;a href=&#034;https://gist.github.com/discover&#034; class='spip_out' rel='external'&gt;gist&lt;/a&gt; offerte par Github permet de partager instantan&#233;ment des codes, des notes et des bribes de donn&#233;es.&lt;/p&gt;
&lt;p&gt;Une fois l'extension install&#233;e, suivre pas &#224; pas la documentation qui est assez claire pour cr&#233;er et mettre &#224; jour votre gist.&lt;/p&gt;
&lt;p&gt;Les raccourcis&lt;/p&gt;
&lt;p&gt;1. Upload Key : Shift + Alt + U&lt;br class='autobr' /&gt;
2. Download Key : Shift + Alt + D&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Liste des extensions&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Une liste des extensions que j'utilise le plus fr&#233;quemment :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=lukehoban.Go&#034; class='spip_out' rel='external'&gt;Go for Visual Studio Code&lt;/a&gt;&lt;/li&gt;&lt;li&gt; VIM &lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=vscodevim.vim&#034; class='spip_out' rel='external'&gt;VscodeVim&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=bungcip.better-toml&#034; class='spip_out' rel='external'&gt;Better TOML&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=dbankier.vscode-instant-markdown&#034; class='spip_out' rel='external'&gt;Instant Markdown&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint&#034; class='spip_out' rel='external'&gt;Markdowlint&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=henriiik.vscode-perl&#034; class='spip_out' rel='external'&gt;Perl for Visual Studio Code&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=mortenhenriksen.perl-debug&#034; class='spip_out' rel='external'&gt;Perl Debug&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=Kaktus.perltidy-more&#034; class='spip_out' rel='external'&gt;Perltidy-more&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=donjayamanne.python&#034; class='spip_out' rel='external'&gt;Python&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=tht13.python&#034; class='spip_out' rel='external'&gt;Python-vscode&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools&#034; class='spip_out' rel='external'&gt;C/C++&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=Tyriar.shell-launcher&#034; class='spip_out' rel='external'&gt;Shell launcher&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync&#034; class='spip_out' rel='external'&gt;Settings sync&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Liens utiles&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://code.visualstudio.com/&#034; class='spip_out' rel='external'&gt;Download Visual Studio Code&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://code.visualstudio.com/docs&#034; class='spip_out' rel='external'&gt;Getting started&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://code.visualstudio.com/docs/getstarted/keybindings#_keyboard-shortcuts-reference&#034; class='spip_out' rel='external'&gt;Keyboard shortcuts reference&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://marketplace.visualstudio.com/&#034; class='spip_out' rel='external'&gt;Extensions for the Visual Studio family of products&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/viatsko/awesome-vscode&#034; class='spip_out' rel='external'&gt;awesome-vscode&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Docker en mer</title>
		<link>https://us191.ird.fr/spip.php?article71</link>
		<guid isPermaLink="true">https://us191.ird.fr/spip.php?article71</guid>
		<dc:date>2016-11-24T13:16:03Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jacques Grelet</dc:creator>



		<description>&lt;p&gt;Ou comment Docker peut faciliter le d&#233;ploiement et l'automatisation des traitements des donn&#233;es acquises lors des campagnes oc&#233;anographiques&lt;/p&gt;

-
&lt;a href="https://us191.ird.fr/spip.php?rubrique11" rel="directory"&gt;Linux&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Derni&#232;re mise &#224; jour : 18/09/2017&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Lors d'une campagne oc&#233;anographique, l'&#233;quipe scientifique met en &#339;uvre sur les navires de recherche ses propres &#233;quipements de collecte de donn&#233;es. Ces navires sont &#233;galement &#233;quip&#233;s d'instruments mesurant de nombreux param&#232;tres le long de la route. Il est important, voir primordial, de v&#233;rifier en temps quasi r&#233;el la qualit&#233; des donn&#233;es acquises afin de palier rapidement &#224; tout dysfonctionnement.&lt;/p&gt;
&lt;p&gt;Pour cela, il faut extraire les donn&#233;es acquises dans des formats h&#233;t&#233;rog&#232;nes et les transformer dans des formats&#034;standards&#034; comme le &lt;a href=&#034;https://www.unidata.ucar.edu/software/netcdf/docs_rc/&#034; class='spip_out' rel='external'&gt;NetCDF&lt;/a&gt;, ASCII et/ou XML, formats &#224; partir desquels nous pourrons visualiser les donn&#233;es avec des outils g&#233;n&#233;riques comme &lt;a href=&#034;http://www.ird.fr/us191/spip.php?article38&#034; class='spip_out' rel='external'&gt;dataGUI&lt;/a&gt; fonctionnant sous &lt;a href=&#034;http://fr.mathworks.com&#034; class='spip_out' rel='external'&gt;Matlab&lt;/a&gt;, &lt;a href=&#034;http://www.ird.fr/us191/spip.php?article51&#034; class='spip_out' rel='external'&gt;Ferret&lt;/a&gt; ou &lt;a href=&#034;http://odv.awi.de/&#034; class='spip_out' rel='external'&gt;ODV&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Depuis plusieurs ann&#233;es, j'ai mis en place un Syst&#232;me d'Information (SI) facilement transposable sur l'ensemble des navires de la flotte nationale.&lt;br class='autobr' /&gt;
Les donn&#233;es sont collect&#233;es dans 2 arborescences de r&#233;pertoires depuis un partage r&#233;seau accessible via samba sous Windows ou NFS pour Linux. Le premier r&#233;pertoire, nomm&#233; &#034;data-raw&#034;, contient les donn&#233;es brutes, avec un sous r&#233;pertoire par instrument de mesure. Le second, &#034;data-processing&#034;, contient les donn&#233;es trait&#233;es en temps r&#233;el, donn&#233;es qui peuvent &#234;tre corrig&#233;es, ainsi que les scripts de traitements associ&#233;s. Le syst&#232;me d'information contiendra d'autres r&#233;pertoires comme &#034;data-cal&#034;, &#034;data-adjusted&#034; et &#034;data-final&#034; qui seront utilis&#233;s g&#233;n&#233;ralement apr&#232;s la campagnes, respectivement pour la calibration, l'ajustement et la diffusion des donn&#233;es. Nous trouvons dans notre SI un cinqui&#232;me r&#233;pertoire, baptis&#233; &#034;local&#034; qui contiend les scripts et programmes utilis&#233;s pendant la campagne. Sous local/etc/skel on trouvera un script shell d'initialisation des alias et des fonctions d'automatisation des traitements.&lt;/p&gt;
&lt;p&gt;Actuellement, la quasi totalit&#233; des traitements est r&#233;alis&#233;e par des scripts Perl. Nous avons un script g&#233;n&#233;rique par instrument. La configuration de l'ensemble des scripts est d&#233;finie dans un unique fichier de configuration (.ini) que l'on retrouvera &#224; la racine du r&#233;pertoire &#034;data-processing&#034;.&lt;/p&gt;
&lt;p&gt;Le r&#244;le des scripts consiste &#224; lire l'ensemble des fichiers de donn&#233;es pr&#233;sents dans les sous r&#233;pertoire data, d'extraire les ent&#234;tes : date, position, etc ...puis les mesures, qui peuvent &#234;tre de type profil, trajectoire ou s&#233;rie temporelle. En sortie, nous obtenons un fichier &#171; d'ent&#234;te &#187;, un fichier au format ASCII, un fichier au format XML qui contiendra en plus les m&#233;ta-data ainsi qu'un fichier au format ODV (&lt;a href=&#034;http://odv.awi.de/&#034; class='spip_out' rel='external'&gt;Ocean Data View)&lt;/a&gt;. Le fichier XML est ensuite convertit en &lt;a href=&#034;http://www.unidata.ucar.edu/software/netcdf/&#034; class='spip_out' rel='external'&gt;NetCDF&lt;/a&gt; &lt;a href=&#034;http://www.oceansites.org/data/&#034; class='spip_out' rel='external'&gt;OceanSITES&lt;/a&gt; avec un script Perl de transformation g&#233;n&#233;rique.&lt;/p&gt;
&lt;p&gt;Un description compl&#232;te du SI est d&#233;taill&#233;e dans le document suivant :&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://1drv.ms/b/s!As7NlEtZ6pK-i91W-BDUMcJvHlOwwA&#034; class='spip_out' rel='external'&gt;Instruction d&#233;crivant le Syst&#232;me d'Information, les m&#233;thodes d'acquisition et de traitement des donn&#233;es en mer et au laboratoire&lt;/a&gt;&lt;/p&gt;
&lt;dl class='spip_document_201 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;a href='https://us191.ird.fr/IMG/pdf/instr_acquisition_traitement_donnees.pdf' title='PDF - 445.9&#160;ko' type=&#034;application/pdf&#034;&gt;&lt;img src='https://us191.ird.fr/local/cache-vignettes/L52xH52/pdf-39070.png?1589468711' width='52' height='52' alt='' /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;/dl&gt;
&lt;p&gt;Je travaille actuellement sur un programme &#233;crit en langage Go, multiplateforme, qui r&#233;alise la lecture et la transformation &#224; la vol&#233;e dans les diff&#233;rents formats de fichiers pour tous les type d'instrument. La configuration est d&#233;crite dans un seul fichier de configuration au format TOML. Ce programme est d&#233;j&#224; fonctionnel pour les donn&#233;es des sondes CTD Seabird, voir le projet &lt;a href=&#034;https://github.com/jgrelet/oceano2oceansites&#034; class='spip_out' rel='external'&gt;oceano2oceansites&lt;/a&gt;sous Github. Ce programme devrait &#224; terme remplacer les scripts Perl avec l'avantage de pouvoir &#234;tre utilis&#233; en natif sur le PC d'acquisition.&lt;/p&gt;
&lt;p&gt;L'acquisition des donn&#233;es des instruments que nous utilisons est r&#233;alis&#233;e en majorit&#233; avec des logiciel sous Windows. Lorsque j'ai commenc&#233; &#224; la fin des ann&#233;es 90 &#224; mettre en place ces traitements, ils &#233;taient r&#233;alis&#233;s sous Solaris (SUN). L'&#233;poque, les navires avaient tous au moins un serveur de ce type en libre service, mais pour retrouver un environnement de d&#233;veloppement optimal, il &#233;tait n&#233;cessaire de recompiler dans son r&#233;pertoire utilisateur une bonne partie des logiciels GNU, le tout sans acc&#232;s &#224; internet, ni mail !&lt;/p&gt;
&lt;p&gt;J'ai ensuite utilis&#233; pendant plusieurs ann&#233;es &lt;a href=&#034;http://www.cygwin.com/&#034; class='spip_out' rel='external'&gt;Cygwin&lt;/a&gt;, voir le billet sur le &lt;a href=&#034;http://www.ird.fr/us191/spip.php?article6&#034; class='spip_out' rel='external'&gt;blog&lt;/a&gt; de l'unit&#233; de service IMAGO, mais son d&#233;ploiement n'est pas toujours facile et la mise &#224; jour des paquets logiciels m'a bien souvent pos&#233;e beaucoup de soucis, comme celle des modules Perl PDL et NetCDF. De plus, il m'arrive souvent d'intervenir lors de campagne avec des syst&#232;mes d'acquisition appartenant &#224; d'autres laboratoires. Il n'est pas toujours possible d'installer ses propres outils sur des PC qui ne nous appartiennent pas.&lt;/p&gt;
&lt;p&gt;A la fin des ann&#233;es 2000, j'ai commenc&#233; &#224; utiliser des machines virtuelles, &lt;a href=&#034;http://www.ird.fr/us191/spip.php?article45&#034; class='spip_out' rel='external'&gt;VMware&lt;/a&gt; puis &lt;a href=&#034;http://www.ird.fr/us191/spip.php?article64&#034; class='spip_out' rel='external'&gt;VirtualBox&lt;/a&gt;. Solutions plus simple &#224; d&#233;ployer, il suffit d'installer le logiciel de virtualisation sur le PC h&#244;te et de pr&#233;parer une image Linux du syst&#232;me invit&#233;. La mise en place de l'image n&#233;cessitant tout de m&#234;me une phase d'installation et d'administration plus ou moins longue.&lt;/p&gt;
&lt;p&gt;Finalement, ces derni&#232;res ann&#233;es, j'ai utilis&#233; des mini PC (NUC) sous Linux et m&#234;me un Rasperry PI pour r&#233;aliser la collecte et le traitement automatique des donn&#233;es. Comme nous avons des liaisons Vsat depuis peu sur l'ensemble des navires, il est possible de se connecter en SSH sur ces machines via un VPN et une machine rebond, afin de d&#233;ployer l'arborescence du SI et pr&#233;parer la configuration des scripts ainsi que le traitement des donn&#233;es. Il est &#233;galement possible de v&#233;rifier &#224; distance le bon fonctionnement des traitements, ce qui est un r&#233;el progr&#232;s.&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;Bon, et bien qu'en est il de Docker dans tout cela ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;En y r&#233;fl&#233;chissant un peu, il y a 2 bonnes raisons de tester l'utilisation de Docker dans notre contexte de travail :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Cr&#233;er des images contenant l'ensemble des logiciels n&#233;cessaires aux traitements des donn&#233;es, images que l'on pourra faire &#233;voluer et dupliquer facilement d'un syst&#232;me &#224; un autre&lt;/li&gt;&lt;li&gt; D&#233;ployer un container Docker sous Linux et l'utiliser sous Windows afin de faire cohabiter sur une m&#234;me machine les logiciels d'acquisition et de traitement&lt;/li&gt;&lt;li&gt; Faciliter le d&#233;ploiement et la maintenance de son environnement de travail&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Je ne ferais pas une description d&#233;taill&#233;e de Docker ici, le net foisonne de litt&#233;rature sur le sujet. Pour installer Docker, aller sur la page &lt;a href=&#034;https://www.docker.com/docker-windows&#034; class='spip_out' rel='external'&gt;Docker for Windows&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sous Windows 7 et 8, il faut installer Docker Toolbox qui va installer les composants suivants :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; Virtualbox : hyperviseur permettant d'ex&#233;cuter une machine virtuelle (VM).&lt;/li&gt;&lt;li&gt; boot2docker : image ISO l&#233;g&#232;re de Linux lanc&#233; avec VirtualBox.&lt;/li&gt;&lt;li&gt; docker.exe : client docker fonctionnant sous Windows&lt;/li&gt;&lt;li&gt; docker-machine.exe : logiciel communiquant avec Virtualbox pour configuer et g&#233;rer la machine virtuelle Linux.&lt;/li&gt;&lt;li&gt; Kitematic : logiciel de gestion des images Docker (GUI)&lt;/li&gt;&lt;li&gt; Quickstart terminal : terminal Windows sous bash permettant d'utiliser les images Docker.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Remarque :&lt;/strong&gt; Il est fortement conseill&#233; d'installer le logiciel &lt;a href=&#034;https://conemu.github.io/&#034; class='spip_out' rel='external'&gt;ConEmu&lt;/a&gt; qui offre toutes les fonctionnalit&#233;s d'une console Linux sous Windows et int&#232;gre l'utilisation de Docker.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Attention : &lt;/strong&gt; Kitematic ne fonctionne pas si &lt;a href=&#034;https://github.com/bmatzelle/gow/wiki&#034; class='spip_out' rel='external'&gt;Gow&lt;/a&gt; (Gnu On Windows) est install&#233; sur votre PC. &lt;br class='autobr' /&gt;
Gow : c'est un ensemble d'utilitaires Unix fonctionnant sous Windows.&lt;/p&gt;
&lt;p&gt;Sous Windows 10, Docker fonctionne en natif. Il est donc possible de faire tourner dans un Powershell Windows un conteneur cr&#233;&#233; depuis une machine Linux et de le mettre &#224; jour via le Docker hub avec un ensembles d'outils offrants des fonctionnalit&#233;s comparables &#224; celle de Git.&lt;/p&gt;
&lt;p&gt;Voici le Dockerfile utilis&#233; pour g&#233;n&#233;rer l'image du conteneur sous Github :&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://github.com/jgrelet/docker-oceano&#034; class='spip_out' rel='external'&gt;https://github.com/jgrelet/docker-oceano&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ainsi que le d&#233;p&#244;t de l'image sous Docker Hub :&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://hub.docker.com/r/jgrelet/perl/&#034; class='spip_out' rel='external'&gt;https://hub.docker.com/r/jgrelet/perl/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lancement de ConEmu puis s&#233;lectionner le menu &lt;i&gt;Tools::Docker&lt;/i&gt; :&lt;br class='autobr' /&gt;
&lt;span class='spip_document_202 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/2017-09-18_1_.png?1558687403' width='500' height='348' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Si Docker est correctement install&#233; sur votre machine, vous devriez obtenir l'&#233;cran suivant :&lt;br class='autobr' /&gt;
&lt;span class='spip_document_203 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/2017-09-18_2_.png?1558687403' width='500' height='348' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;R&#233;cup&#233;rer l'image sur le Docker Hub avec la commande docker pull :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;&gt; docker pull jgrelet/perl&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span class='spip_document_206 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/2017-09-18_5_.png?1558687403' width='500' height='348' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Une fois l'image t&#233;l&#233;charg&#233;e, il est n&#233;cessaire que le conteneur puisse acc&#233;der aux donn&#233;es. Pour cela il faut configurer l'acc&#232;s aux dossiers partag&#233;s sous VirtualBox. Ici, j'ai ajout&#233; 2 dossiers partag&#233;s :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;strong&gt;j&lt;/strong&gt; pour les donn&#233;es de campagnes sur un disque USB externe&lt;/li&gt;&lt;li&gt; &lt;strong&gt;m &lt;/strong&gt; pour les donn&#233;es de campagnes accessibles sur un partage r&#233;seau smb&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class='spip_document_210 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/2017-09-18_7_.png?1558687403' width='500' height='313' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Pour lancer le conteneur, taper la commande suivante :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;&gt; docker run -it --rm -e CRUISE=ABRACOS2 -v /m:/data jgrelet/perl /bin/bash&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;Le conteneur est lanc&#233; avec les arguments suivants :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; -it : en mode interactif&lt;/li&gt;&lt;li&gt; &#8212;rm : le conteneur sera supprim&#233; de la m&#233;moire&lt;/li&gt;&lt;li&gt; -e : la variable d'environnement CRUISE permet de se placer dans l'arborescence du Syst&#232;me d'Information utilis&#233; pour nos campagnes.&lt;/li&gt;&lt;li&gt; -v : le dossier partag&#233;s /m est mont&#233; au lancement du conteneur &lt;br class='autobr' /&gt;
&lt;span class='spip_document_207 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/2017-09-18_6_.png?1558687403' width='500' height='348' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Sous Windows 10, il faut autoriser le partage du disque r&#233;seau ou externe pour qu'il soit disponible pour le conteneur :&lt;br class='autobr' /&gt;
clic droit sur l'ic&#244;ne Docker de la barre des taches -&gt; settings -&gt; shared drives&lt;/p&gt;
&lt;p&gt;En exemple, on lance ci-dessous le traitement des 10 premi&#232;res stations CTD de la campagne ABRACOS2 ainsi que la g&#233;n&#233;ration du fichier NetCDF, exactement comme si on &#233;tait sur une machine Linux en natif :&lt;br class='autobr' /&gt;
&lt;span class='spip_document_212 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/2017-09-18_8_.png?1558687403' width='500' height='524' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;Probl&#232;mes rencontr&#233;s&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Lorsque j'ai &#233;crit mon premier Dockerfile, je me suis bas&#233; sur une &lt;a href=&#034;https://hub.docker.com/r/_/perl/&#034; class='spip_out' rel='external'&gt;image officielle Perl du Docker Hub&lt;/a&gt;, image d&#233;ployant la derni&#232;re version 5.24.0 de Perl.&lt;/p&gt;
&lt;p&gt;Apr&#232;s installation des paquets Perl n&#233;cessaires pour l'application, impossible de lancer les scripts Perl utilisant les modules install&#233;s, le Dynaloader, qui permet de charger dynamiquement des librairies C, ne trouvaient pas c'est librairies, faisant r&#233;f&#233;rence &#224; des chemins pointant vers une version 5.20.2 alors que la variable Perl @INC pointait elle vers la version install&#233;e, soit 5.24.0&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;&gt; perl -le&#034;print for @INC&#034;&lt;br /&gt;
/usr/local/share/perl/5.24.0&lt;br /&gt;
...&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;J'ai essay&#233; d'installer les modules Perl avec cpanminus depuis les sources en modifiant le Dockerfile sans plus de succ&#232;s :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;# Install perl modules &lt;br /&gt;
RUN apt-get install -y cpanminus &lt;br /&gt;
RUN cpanm XML::LibXML \&lt;br /&gt;
...&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;J'ai donc modifi&#233; mon Dockerfile pour utiliser une distribution Debian sans la couche Perl, et la surprise, Docker me dit que que le conteneur est d&#233;j&#224; install&#233;, et bingo, en le lan&#231;ant avec &lt;code class='spip_code' dir='ltr'&gt;docker run&lt;/code&gt;, Perl y est d&#233;j&#224; install&#233;, et avec la version 5.20.2 !&lt;br class='autobr' /&gt;
En utilisant l'image debian dans la directive FROM du Dockerfile, l'ensemble des scripts fonctionnent correctement.&lt;/p&gt;
&lt;p&gt;Sous Windows 7, la version de Docker Toolbox 1.13 ne fonctionne pas correctement pour le montage des volumes. Par contre, pas de probl&#232;me avec la pr&#233;c&#233;dente version 1.12 ainsi qu'avec la derni&#232;re version baptis&#233;e 17 CE pour Community Edition.&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt; :&lt;/p&gt;
&lt;p&gt;Pour l'instant, je n'ai pu d&#233;ployer et tester le conteneur sous Windows 10 que pendant quelques heures &#224; partir d'une machine pr&#234;t&#233;e pour l'occasion. J'ai tout de m&#234;me not&#233; un temps de latence important dans l'ex&#233;cution des scripts par rapport &#224; ceux ex&#233;cut&#233;s depuis un conteneur sous Linux. La version Docker Windows est semble t'il souvent mise &#224; jour et il faudra v&#233;rifier avec les prochaines versions si le probl&#232;me persiste.&lt;/p&gt;
&lt;p&gt;L'utilisation de Docker permet d'obtenir rapidement et facilement la puissance des outils de traitement Linux sous Windows. Par contre, vu la taille de l'image utilis&#233;e (415 Mo), il faudra penser &#224; l'installer sur le PC de traitement avant le d&#233;part en mer car son t&#233;l&#233;chargement risque d'&#234;tre probl&#233;matique, m&#234;me avec une Vsat &#224; bord pour l'acc&#232;s &#224; internet.&lt;br class='autobr' /&gt;
&lt;span class='spip_document_213 spip_documents spip_documents_center'&gt;
&lt;img src='https://us191.ird.fr/IMG/png/2017-09-18_9_.png?1558687403' width='500' height='163' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Comme alternative il faudrait utiliser une image Perl Alpine comme base de d&#233;part, &#224; tester et configurer...&lt;/p&gt;
&lt;p&gt;En terme de puissance de calcul, on est loin d'avoir les m&#234;me performances que sous une machine Linux d&#233;di&#233;e. Par rapport &#224; un NUC Intel Core I5, j'ai pu noter des temps de traitements 10 fois moins rapide, ce qui lors d'une campagne avec une centaine de stations jusqu'au fond, pourrait commencer &#224; &#234;tre probl&#233;matique.&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;strong&gt;Liens utiles&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; En fran&#231;ais
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;http://www.meetup.com/fr-FR/Docker-Noumea/&#034; class='spip_out' rel='external'&gt;Docker Meetup Noum&#233;a&lt;/a&gt;&lt;/li&gt;&lt;li&gt; I&lt;a href=&#034;http://douche.name/presentation-docker/#1&#034; class='spip_out' rel='external'&gt;ntroduction &#224; Docker&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://www.youtube.com/channel/UCOAhkxpryr_BKybt9wIw-NQ&#034; class='spip_out' rel='external'&gt;Quoi de neuf Docker&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; En anglais
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://www.docker.com/&#034; class='spip_out' rel='external'&gt;Docker&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://docs.docker.com/docker-for-windows/#/what-to-know-before-you-install&#034; class='spip_out' rel='external'&gt;Docker Windows&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04&#034; class='spip_out' rel='external'&gt;How To Install and Use Docker on Ubuntu 16.04&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://hub.docker.com/&#034; class='spip_out' rel='external'&gt;Docker Hub&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://hub.docker.com/r/jgrelet/perl/&#034; class='spip_out' rel='external'&gt;Docker Hub jgrelet/perl&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/jgrelet/docker-oceano&#034; class='spip_out' rel='external'&gt;Dockerfile oceano-Github&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://www.katacoda.com/learn&#034; class='spip_out' rel='external'&gt;Learning Docker, Katacoda&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Premiers pas avec le langage GO</title>
		<link>https://us191.ird.fr/spip.php?article70</link>
		<guid isPermaLink="true">https://us191.ird.fr/spip.php?article70</guid>
		<dc:date>2015-10-14T14:22:25Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jacques Grelet</dc:creator>



		<description>&lt;p&gt;Go est un langage open source compil&#233; propos&#233; par Google, statique, typ&#233;, multiplateforme, rapide, simple &#224; utiliser et qui met en &#339;uvre de nouveaux concepts comme son approche objet, les goroutines et les channels&lt;/p&gt;

-
&lt;a href="https://us191.ird.fr/spip.php?rubrique6" rel="directory"&gt;Langages&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Derni&#232;re mise &#224; jour : 03/11/2017&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;J'ai commenc&#233; &#224; m'int&#233;resser &#224; ce langage &#224; la lecture d'un article paru dans le &lt;a href=&#034;http://www.programmez.com/magazine/article/go-cest-quoi&#034; class='spip_out' rel='external'&gt;num&#233;ro 186&lt;/a&gt; de la revue &lt;a href=&#034;http://www.programmez.com/&#034; class='spip_out' rel='external'&gt;Programmez&lt;/a&gt; en juin dernier.&lt;br class='autobr' /&gt;
La premi&#232;re version stable 1.0 est sortie en 2012 et le langage met &#224; la disposition du programmeur une librairie standard compl&#232;te et bien concue.&lt;/p&gt;
&lt;p&gt;Go est un langage concis, efficace et simple &#224; mettre en &#339;uvre. &lt;br class='autobr' /&gt;
Sa syntaxe inspir&#233;e du C am&#233;liore la productivit&#233;. La compilation est tr&#232;s rapide et g&#233;n&#232;re un ex&#233;cutable facilement d&#233;ployable. C'est un langage statiquement typ&#233;, dot&#233; d'un ramasse miette, (GC pour Garbage Collector), permettant la programmation concurrente (goroutine) associ&#233;e &#224; des m&#233;canismes de communication et de synchronisation (channel).&lt;/p&gt;
&lt;p&gt;Plusieurs concepts sont destin&#233;s &#224; simplifier la vie du programmeur tel que&lt;br class='autobr' /&gt;
la gestion des d&#233;pendances (package), dont le gestionnaire de paquetage est int&#233;gr&#233; &#224; la commande go et bas&#233; sur des services web d'h&#233;bergement et de gestion de d&#233;veloppement de logiciels comme GitHub ou Mercurial. Le formatage automatique du code est standardis&#233; et partag&#233; gr&#226;ce &#224; l'outil gofmt.&lt;br class='autobr' /&gt;
La cr&#233;ation de paquetage faisant appel &#224; des librairies C tierces est simplifi&#233;e par l'outil &lt;a href=&#034;https://golang.org/cmd/cgo/&#034; class='spip_out' rel='external'&gt;cgo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;En Go, il n'y a pas de classe ni d'h&#233;ritage au sens de la POO classique. Les classes sont remplac&#233;es par des structures (structs) et l'h&#233;ritage se fait par composition et utilisation d'interfaces. L'interface(s) d&#233;crit le comportement d'un objet en d&#233;finissant les m&#233;thodes qu'il doit impl&#233;menter. Pour cr&#233;er un objet, on associe un type de donn&#233;es, appel&#233; &#034;receiver&#034; &#224; une m&#233;thode. Tout objet respectant le contrat d&#233;fini par une interface pourra h&#233;riter du comportement de celle ci.&lt;/p&gt;
&lt;p&gt;Go est &#233;galement un langage multi-plateforme : Linux (Intel , ARM), Windows, Mac OS X, pour lequel le d&#233;ploiement d'une application consiste &#224; copier et utiliser l'ex&#233;cutable g&#233;n&#233;r&#233;. Pas besoin d'installer tout un &#233;cosyst&#232;me ou de d&#233;ployer une machine virtuelle comme c'est la cas avec les langages interpr&#233;t&#233;s comme Perl ou Python.&lt;br class='autobr' /&gt;
Jusqu'&#224; la version 1.4.x, il &#233;tait n&#233;cessaire d'avoir un compilateur C pour compiler et installer Go &#224; partir des sources. A partir de la version 1.5, les derni&#232;res versions stables n'apportent pas de changements importants au niveau de la s&#233;mantique du langage mais le compilateur, enti&#232;rement &#233;crit en Go, apporte une simplification des outils utilis&#233;s dans la chaine de compilation (go tools).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;Pour installer Go depuis les sources ou les binaires depuis : &lt;a href=&#034;https://golang.org/dl/&#034; class='spip_out' rel='external'&gt;https://golang.org/dl/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le d&#233;tail des op&#233;rations est tr&#232;s bien document&#233; &lt;a href=&#034;https://golang.org/doc/install&#034; class='spip_out' rel='external'&gt;ici&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sous Windows, r&#233;cup&#233;rer et d&#233;compresser le fichier zip sous c :\go puis rajouter le chemin c :\go\bin dans le path Windows. Si vous installez go dans un autre r&#233;pertoire, il faudra d&#233;finir la variable GOROOT avec qu'elle pointe sur l'ex&#233;cutable go.&lt;/p&gt;
&lt;p&gt;Pour installer Go depuis les fichiers sources : suivre les instructions &lt;a href=&#034;https://golang.org/doc/install/source&#034; class='spip_out' rel='external'&gt;ici&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;cgo&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;cgo permet la cr&#233;ation de paquets ou programmes Go appelant du code C. &lt;br class='autobr' /&gt;
La documentation se trouve ici : &lt;a href=&#034;https://golang.org/cmd/cgo/&#034; class='spip_out' rel='external'&gt;https://golang.org/cmd/cgo/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le site de Golang, au chapitre &lt;a href=&#034;https://github.com/golang/go/wiki/InstallFromSource#install-c-tools&#034; class='spip_out' rel='external'&gt;Install C tools&lt;/a&gt;, conseille d'installer &lt;a href=&#034;http://tdm-gcc.tdragon.net/download&#034; class='spip_out' rel='external'&gt;TDM-GCC&lt;/a&gt; sous Windows mais ce dernier ne permet pas l'&#233;dition des liens avec des librairies compil&#233;es avec le compilateurs C Microsoft comme la librairie &lt;a href=&#034;http://www.unidata.ucar.edu/software/netcdf/docs/winbin.html&#034; class='spip_out' rel='external'&gt;NetCDF&lt;/a&gt;.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='6' class='spip_cadre' dir='ltr'&gt;$ cd github.com/jgrelet/go-netcdf/netcdf
$ go build -a -v
# github.com/jgrelet/go-netcdf/netcdf
C:/opt/netCDF/lib/netcdf.lib: error adding symbols: File in wrong format
collect2.exe: error: ld returned 1 exit status&lt;/textarea&gt;
&lt;p&gt;Le compilateur gcc &lt;a href=&#034;http://www.msys2.org/&#034; class='spip_out' rel='external'&gt;MSYS2&lt;/a&gt;ne fonctionne pas non plus car le module runtime/cgo ne se compile pas avec un compilateur POSIX.&lt;br class='autobr' /&gt;
Voir Golang issue &lt;a href=&#034;https://github.com/golang/go/issues/12029&#034; class='spip_out' rel='external'&gt;12029&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Il faut installer la chaine de compilation mingw-64 livr&#233;e avec le shell &lt;a href=&#034;http://oldwiki.mingw.org/index.php/MsysShell&#034; class='spip_out' rel='external'&gt;MSYS&lt;/a&gt; et le programme pkg-config pour r&#233;aliser l'&#233;dition des liens avec la librairie NetCDF.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cygwin&lt;/strong&gt;&lt;br class='autobr' /&gt;
On peut &#233;galement utiliser go sous Cygwin, il suffit de rajouter les lignes suivantes dans votre .bashrc si votre r&#233;pertoire personnel est sous /home/username par exemple :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;$ export GOROOT=c:/go&lt;br /&gt;
$ export GOBIN=c:/cygwin/home/username/go/bin&lt;br /&gt;
$ export GOPATH=c:/cygwin/home/username/go&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;Dans votre r&#233;pertoire de travail go, eg &lt;code class='spip_code' dir='ltr'&gt;/home/go&lt;/code&gt;, cr&#233;er les 3 sous-r&#233;pertoires bin, pkg et src&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;$ cd ~/go&lt;br /&gt;
$ mkdir -p src bin pkg&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;Tester avec :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;$ go env&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;D&#233;veloppements en cours&lt;/strong&gt; :&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;a href=&#034;https://github.com/jgrelet/oceano2oceansites&#034; class='spip_out' rel='external'&gt;Oceano2oceansites&lt;/a&gt; :&lt;/p&gt;
&lt;p&gt;Programme de lecture des fichiers d'une sonde CTD Seabird et de g&#233;n&#233;ration d'un fichier global au format Netcdf3. Il est pr&#233;vu de pouvoir traiter d'autres types de donn&#233;es acquises, comme les fichiers de pr&#233;l&#232;vements bouteilles, profils XBT et LADCP, etc.&lt;br class='autobr' /&gt;
D&#233;veloppement en cours.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;https://github.com/jgrelet/seawater&#034; class='spip_out' rel='external'&gt;Seawater&lt;/a&gt; : impl&#233;mentation en Go de la toolbox Matlab Seawater.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;https://github.com/jgrelet/cruiseTrack2kml&#034; class='spip_out' rel='external'&gt;cruiseTrack2kml&lt;/a&gt; : convertit la position des stations et la route du navire au format KML, fichier visualisable sous Google Earth, voir &lt;a href=&#034;http://www.brest.ird.fr/us191/cruises/cassiopee/cassiopee.kml&#034; class='spip_out' rel='external'&gt;exemple&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;https://bitbucket.org/jgrelet/sbeconreport/src&#034; class='spip_out' rel='external'&gt;SbeReport&lt;/a&gt; : extrait la configuration et les num&#233;ros de s&#233;rie des capteurs d'une CTD Seabird 911+ pour un ensemble de stations.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Liens utiles&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;En anglais :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://golang.org/&#034; class='spip_out' rel='external'&gt;The Go Programming Language&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://golang.org/doc&#034; class='spip_out' rel='external'&gt;Go documentation&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://golang.org/doc/go1.9&#034; class='spip_out' rel='external'&gt;Go 1.9 Release Notes&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://gobyexample.com&#034; class='spip_out' rel='external'&gt;Go by Example&lt;/a&gt;&lt;/li&gt;&lt;li&gt; The &lt;a href=&#034;http://play.golang.org/&#034; class='spip_out' rel='external'&gt;Go Playground&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://golangweekly.com/issues&#034; class='spip_out' rel='external'&gt;Go Newletter&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/avelino/awesome-go&#034; class='spip_out' rel='external'&gt;Awesome Go&lt;/a&gt; A curated list of awesome Go frameworks, libraries and software&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://go-search.org/&#034; class='spip_out' rel='external'&gt;A search engine specifically designed for Go&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://stackoverflow.com/questions/tagged/go&#034; class='spip_out' rel='external'&gt;Stackoverflow, golang tag&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://kestrel.nmt.edu/~raymond/software/go_notes/go.xhtml&#034; class='spip_out' rel='external'&gt;The Go language for science&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/luciotato/golang-notes/blob/master/OOP.md&#034; class='spip_out' rel='external'&gt;Golang concepts from an OOP point of view&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://golang.org/cmd/cgo/&#034; class='spip_out' rel='external'&gt;command cgo&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://oldwiki.mingw.org/index.php/MsysShell&#034; class='spip_out' rel='external'&gt;MinGW and MSYS Projects&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;En fran&#231;ais :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;http://golang.io/debuter-avec-go/introduction/&#034; class='spip_out' rel='external'&gt;D&#233;buter avec go&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://blog.fedora-fr.org/metal3d/post/Go-et-les-goroutines-introduction-au-langage&#034; class='spip_out' rel='external'&gt;Go et les goroutines, introduction au langage&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#034;http://www.scriptol.fr/programmation/go.php&#034; class='spip_out' rel='external'&gt;Langage Go de Google, une Ford T avec moteur Ferrari&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://go.developpez.com/tutoriels/go-par-l-exemple/&#034; class='spip_out' rel='external'&gt;Tutoriel pour apprendre le langage Go par l'exemple&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Livres :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;http://www.gopl.io/&#034; class='spip_out' rel='external'&gt;The Go Programming Language&lt;/a&gt;. Alan Donovan &#183; Brian W. Kernighan&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Livres en ligne :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; &lt;a href=&#034;http://go-book.appspot.com/index.html&#034; class='spip_out' rel='external'&gt;Let's learn Go !&lt;/a&gt;. Big Yuuta&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://archive.org/stream/TheWayToGo/The_Way_To_Go#page/n0/mode/2up&#034; class='spip_out' rel='external'&gt;The way to Go&lt;/a&gt;. Ivo Balbaert&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.golangbootcamp.com/book&#034; class='spip_out' rel='external'&gt;Go bootcamp&lt;/a&gt;. Matt Aimonetti&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
