<?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>
		<title>Forum du club des développeurs et IT Pro - Blogs - danielhagnoul</title>
		<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/</link>
		<description>Developpez.com, le Club des Développeurs et IT Pro</description>
		<language>fr</language>
		<lastBuildDate>Fri, 01 May 2026 00:42:55 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.jpg</url>
			<title>Forum du club des développeurs et IT Pro - Blogs - danielhagnoul</title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/</link>
		</image>
		<item>
			<title><![CDATA[Je vous rappelle l'existence de MandelbrotXXL en JS]]></title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10340/rappelle-l-existence-mandelbrotxxl-js/</link>
			<pubDate>Fri, 03 Jun 2022 10:14:57 GMT</pubDate>
			<description>https://danielhagnoul.developp...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><a href="https://danielhagnoul.developpez.com/MandelbrotXXL/MandelbrotXXL.html" target="_blank">https://danielhagnoul.developpez.com...elbrotXXL.html</a> (1500 * 1000 pixels, Code v1.0.2 2012-12-29)<br />
<br />
Le code est ici : <a href="https://danielhagnoul.developpez.com/MandelbrotXXL/MandelbrotXXL.php" target="_blank">https://danielhagnoul.developpez.com...delbrotXXL.php</a><br />
<br />
<img src="https://www.developpez.net/forums/attachment.php?attachmentid=620238&amp;d=1654251201" border="0" alt="Nom : mandelbrot.png
Affichages : 3943
Taille : 750,7 Ko"  style="float: CONFIG" /></blockquote>

]]></content:encoded>
			<dc:creator>danielhagnoul</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10340/rappelle-l-existence-mandelbrotxxl-js/</guid>
		</item>
		<item>
			<title>Julia, exercice : remplacer un certain pourcentage de caractère par un autre.</title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10227/julia-exercice-remplacer-certain-pourcentage-caractere/</link>
			<pubDate>Wed, 27 Oct 2021 10:01:00 GMT</pubDate>
			<description><![CDATA[* Le 2021-10-27, j'utilise...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><ul><li style="">Le 2021-10-27, j'utilise Julia_1.7.0-rc2 sur VS_Code_1.61.2. Ordinateur : W10 Pro, i9-10900F.</li><li style="">Préalables, mes billets précédents sur Julia sont supposés connus et assimilés.</li></ul><br />
<br />
<a href="https://www.developpez.net/forums/d2120126/autres-langages/python/general-python/remplacer-certain-pourcentage-caractere/#post11775982" target="_blank">Question posée sur le forum Python</a>.<br />
<br />
Nota bene qu'en Julia :<br />
<br />
<div style="margin-left:40px"><ul><li style="">quote est un mot clé</li><li style="">on ajoute un texte à un autre avec * : &quot;l'&quot; * &quot;on&quot;</li><li style="">on produit plusieurs caractères avec ^ : &quot;'&quot;^5</li><li style="">j'utilise le paquet StatsBase.jl pour tirer le signe au sort avec <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">sample<span class="br0">&#40;</span>items, Weights<span class="br0">&#40;</span>weights<span class="br0">&#41;</span><span class="br0">&#41;</span></span> et je peux ainsi inclure au maximum 20% de boules par ligne.</li></ul></div><br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code Julia :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">using</span> <span style="color: #0080ff;">Base</span>, StatsBase
&nbsp;
<span style="color: #808080;">#=</span>
<span style="color: #808080;">Nota bene :</span>
&nbsp;
<span style="color: #808080;">que quote est un mot cl&eacute; en Julia</span>
<span style="color: #808080;">que l'on ajoute un texte &agrave; un autre avec *</span>
<span style="color: #808080;">que l'on produit plusieurs caract&egrave;res avec ^ : &quot;'&quot;^5</span>
<span style="color: #808080;">=#</span>
&nbsp;
<span style="color: #0000ff;">function</span> signe<span class="br0">&#40;</span>n<span class="br0">&#41;</span>
    r = <span style="color: #FF0000;">&quot;&quot;</span>
    items = <span class="br0">&#91;</span><span style="color: #FF0000;">&quot;'&quot;</span>, <span style="color: #FF0000;">&quot;o&quot;</span><span class="br0">&#93;</span>
    weights = <span class="br0">&#91;</span><span style="color: #cc66cc;">0.8</span>, <span style="color: #cc66cc;">0.2</span><span class="br0">&#93;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #cc66cc;">_</span> <span style="color: #0080ff;">in</span> <span style="color: #cc66cc;">1</span>:n
        r = r * sample<span class="br0">&#40;</span>items, Weights<span class="br0">&#40;</span>weights<span class="br0">&#41;</span><span class="br0">&#41;</span>
    <span style="color: #0000ff;">end</span>
    <span style="color: #0000ff;">return</span> r
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #0000ff;">function</span> sapin<span class="br0">&#40;</span>n<span class="br0">&#41;</span>
    println<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">for</span> k <span style="color: #0080ff;">in</span> <span style="color: #cc66cc;">1</span>:n
        <span style="color: #0000ff;">if</span> k == <span style="color: #cc66cc;">1</span>
            println<span class="br0">&#40;</span><span style="color: #FF0000;">&quot; &quot;</span>^<span class="br0">&#40;</span><span style="color: #cc66cc;">2</span>n - <span style="color: #cc66cc;">2</span><span class="br0">&#41;</span> * <span style="color: #FF0000;">&quot;*&quot;</span><span class="br0">&#41;</span>
            println<span class="br0">&#40;</span><span style="color: #FF0000;">&quot; &quot;</span>^<span class="br0">&#40;</span><span style="color: #cc66cc;">2</span>n - <span style="color: #cc66cc;">2</span><span class="br0">&#41;</span> * <span style="color: #FF0000;">&quot;^&quot;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">elseif</span> k == <span style="color: #cc66cc;">2</span>
            println<span class="br0">&#40;</span><span style="color: #FF0000;">&quot; &quot;</span>^<span class="br0">&#40;</span><span style="color: #cc66cc;">2</span>n - <span style="color: #cc66cc;">3</span><span class="br0">&#41;</span> * <span style="color: #FF0000;">&quot;/<span style="color: #800000;">\&quot;</span><span style="color: #800000;">\\</span>&quot;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">else</span>
            println<span class="br0">&#40;</span><span style="color: #FF0000;">&quot; &quot;</span>^<span class="br0">&#40;</span><span class="br0">&#40;</span><span style="color: #cc66cc;">2</span>n - <span style="color: #cc66cc;">2</span><span class="br0">&#41;</span> - k<span class="br0">&#41;</span> * <span style="color: #FF0000;">&quot;/&quot;</span> * signe<span class="br0">&#40;</span><span style="color: #cc66cc;">2</span>k - <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> * <span style="color: #FF0000;">&quot;<span style="color: #800000;">\\</span>&quot;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">end</span>
    <span style="color: #0000ff;">end</span>
&nbsp;
    pied = <span style="color: #FF0000;">&quot; &quot;</span>^<span class="br0">&#40;</span><span style="color: #cc66cc;">2</span>n - <span style="color: #cc66cc;">3</span><span class="br0">&#41;</span> * <span style="color: #FF0000;">&quot;|||&quot;</span>
&nbsp;
    println<span class="br0">&#40;</span>pied<span class="br0">&#41;</span>
    println<span class="br0">&#40;</span>pied<span class="br0">&#41;</span>
    println<span class="br0">&#40;</span>pied<span class="br0">&#41;</span>
    println<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #0000ff;">function</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span>
    sapin<span class="br0">&#40;</span><span style="color: #cc66cc;">15</span><span class="br0">&#41;</span>
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #339933;">@time</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span></pre></td></tr></table></pre>
</div><br />
<div style="margin: 20px; margin-top: 5px"><pre class="alt2" style="border: 1px inset; padding: 5px">                            *
                            ^
                           /&quot;\
                         /o''''\
                        /''o''''\
                       /'ooo'''''\
                      /''o''''''''\
                     /o'''''''o''''\
                    /''o''o''''oo'''\
                   /'''''ooo'''o'''''\
                  /''''''''''''o'o''''\
                 /''''o''''''''o'''''''\
                /''''o'''o''''''''''o'''\
               /''''''''''oo'''oo''''''''\
              /'''''''oo''o''''''''oo'''''\
             /'''o'''''o'''''''o'''''''''''\
                           |||
                           |||
                           |||

  0.003981 seconds (743 allocations: 26.578 KiB, 36.43% compilation time)</pre></div><a href="https://creativecommons.org/licenses/by/2.0/be/" target="_blank">Licence Creative Commons Attribution 2.0 Belgique</a></blockquote>

]]></content:encoded>
			<dc:creator>danielhagnoul</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10227/julia-exercice-remplacer-certain-pourcentage-caractere/</guid>
		</item>
		<item>
			<title>Julia, exercice : trouver un mot écrit correctement à une lettre près.</title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10208/julia-exercice-trouver-ecrit-correctement-lettre-pres/</link>
			<pubDate>Sun, 10 Oct 2021 20:36:10 GMT</pubDate>
			<description><![CDATA[* Le 2021-10-10, j'utilise...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><ul><li style="">Le 2021-10-10, j'utilise Julia_1.6.1 sur VS_Code_1.61.0. Ordinateur : W10 Pro, i9-10900F.</li><li style="">Préalables, mes billets précédents sur Julia sont supposés connus et assimilés.</li></ul><br />
<br />
<div style="margin-left:40px"><a href="https://www.developpez.net/forums/d2119213/autres-langages/python/general-python/probleme-fonction-python/#post11770615" target="_blank">Cette question a été posée sur un forum Python</a><br />
<br />
En Julia, nous disposons du paquet <a href="https://github.com/matthieugomez/StringDistances.jl" target="_blank">StringDistances.jl</a><br />
<br />
La fonction findnearest permet de trouver le mot le plus proche ayant un score supérieur ou égal à la variable min_score.<br />
<br />
Notre fonction correcteur permet de chercher l'orthographe exacte de plusieurs mots. Si le mot n'existe pas ou si aucun mot ne dépasse le min_score, la fonction findnearest renvoie &quot;nothing&quot;</div><br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code Julia :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">using</span> <span style="color: #0080ff;">Base</span>, StringDistances
&nbsp;
<span style="color: #808080;"># https://github.com/matthieugomez/StringDistances.jl</span>
&nbsp;
<span style="color: #0000ff;">function</span> correcteur<span class="br0">&#40;</span>mots, liste<span class="br0">&#41;</span>
    <span style="color: #0000ff;">for</span> mot <span style="color: #0080ff;">in</span> mots
        r = StringDistances.findnearest<span class="br0">&#40;</span>mot, liste, Levenshtein<span class="br0">&#40;</span><span class="br0">&#41;</span>, min_score = <span style="color: #cc66cc;">0.65</span><span class="br0">&#41;</span>
        <span style="color: #339933;">@show</span> r<span class="br0">&#91;</span><span style="color: #cc66cc;">1</span><span class="br0">&#93;</span>
    <span style="color: #0000ff;">end</span>
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #0000ff;">function</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span>
    liste_r&eacute;f&eacute;rence = <span class="br0">&#91;</span><span style="color: #FF0000;">&quot;chien&quot;</span>, <span style="color: #FF0000;">&quot;chat&quot;</span>, <span style="color: #FF0000;">&quot;taux&quot;</span>, <span style="color: #FF0000;">&quot;tour&quot;</span>, <span style="color: #FF0000;">&quot;train&quot;</span>, <span style="color: #FF0000;">&quot;voiture&quot;</span>, <span style="color: #FF0000;">&quot;bonjour&quot;</span>, <span style="color: #FF0000;">&quot;bonsoir&quot;</span>, <span style="color: #FF0000;">&quot;merci&quot;</span>, <span style="color: #FF0000;">&quot;aaaa&quot;</span>, <span style="color: #FF0000;">&quot;adaf&quot;</span>, <span style="color: #FF0000;">&quot;acae&quot;</span><span class="br0">&#93;</span>
    mots_cherch&eacute; = <span class="br0">&#91;</span><span style="color: #FF0000;">&quot;taur&quot;</span>, <span style="color: #FF0000;">&quot;axae&quot;</span>, <span style="color: #FF0000;">&quot;bonvour&quot;</span>, <span style="color: #FF0000;">&quot;bonsoir&quot;</span>, <span style="color: #FF0000;">&quot;juste&quot;</span><span class="br0">&#93;</span>
&nbsp;
    correcteur<span class="br0">&#40;</span>mots_cherch&eacute;, liste_r&eacute;f&eacute;rence<span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">return</span>
&nbsp;
    <span style="color: #808080;">#=</span>
<span style="color: #808080;">&nbsp;       r[1] = &quot;tour&quot;</span>
<span style="color: #808080;">&nbsp;       r[1] = &quot;acae&quot;</span>
<span style="color: #808080;">&nbsp;       r[1] = &quot;bonjour&quot;</span>
<span style="color: #808080;">&nbsp;       r[1] = &quot;bonsoir&quot;</span>
<span style="color: #808080;">&nbsp;       r[1] = nothing</span>
<span style="color: #808080;">&nbsp;       0.000585 seconds (172 allocations: 13.781 KiB)</span>
<span style="color: #808080;">&nbsp;   =#</span>
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #339933;">@time</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span></pre></td></tr></table></pre>
</div><br />
<a href="https://creativecommons.org/licenses/by/2.0/be/" target="_blank">Licence Creative Commons Attribution 2.0 Belgique</a></blockquote>

]]></content:encoded>
			<dc:creator>danielhagnoul</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10208/julia-exercice-trouver-ecrit-correctement-lettre-pres/</guid>
		</item>
		<item>
			<title><![CDATA[Version Julia de l'algorithme pour planifier les horaires de travail en équipes]]></title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10201/version-julia-l-algorithme-planifier-horaires-travail-equipes/</link>
			<pubDate>Tue, 05 Oct 2021 10:03:03 GMT</pubDate>
			<description><![CDATA[* Le 2021-10-05, j'utilise...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><ul><li style="">Le 2021-10-05, j'utilise Julia_1.6.1 sur VS_Code_1.60.2. Ordinateur : W10 Pro, i9-10900F.</li><li style="">Préalables, mes billets précédents sur Julia sont supposés connus et assimilés.</li></ul><br />
<br />
<b>Source de l'algorithme : </b><a href="https://www.developpez.net/forums/blogs/44027-user/b10169/algorithme-planifier-horaires-travail-equipes/" target="_blank">https://www.developpez.net/forums/bl...avail-equipes/</a><br />
<br />
<div style="margin-left:40px">Puisque Julia travaille de <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #cc66cc;">1</span>:n</span> et non de <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #cc66cc;">0</span>:n</span>, on doit modifier <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">indice_horaire = mod<span class="br0">&#40;</span>i + j, <span style="color: #cc66cc;">4</span><span class="br0">&#41;</span></span> en <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">indice_horaire = mod<span class="br0">&#40;</span>i + j - <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">4</span><span class="br0">&#41;</span> + <span style="color: #cc66cc;">1</span></span></div><br />
<b>Exemples utilisant l'algorithme modifié</b><br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code Julia :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="40"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br />119<br />120<br />121<br />122<br />123<br />124<br />125<br />126<br />127<br />128<br />129<br />130<br />131<br />132<br />133<br />134<br />135<br />136<br />137<br />138<br />139<br />140<br />141<br />142<br />143<br />144<br />145<br />146<br />147<br />148<br />149<br />150<br />151<br />152<br />153<br />154<br />155<br />156<br />157<br />158<br />159<br />160<br />161<br />162<br />163<br />164<br />165<br />166<br />167<br />168<br />169<br />170<br />171<br />172<br />173<br />174<br />175<br />176<br />177<br />178<br />179<br />180<br />181<br />182<br />183<br />184<br />185<br />186<br />187<br />188<br />189<br />190<br />191<br />192<br />193<br />194<br />195<br />196<br />197<br />198<br />199<br />200<br />201<br />202<br />203<br />204<br />205<br />206<br />207<br />208<br />209<br />210<br />211<br />212<br />213<br />214<br />215<br />216<br />217<br />218<br />219<br />220<br />221<br />222<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">using</span> <span style="color: #0080ff;">Base</span>, Dates
&nbsp;
<span style="color: #808080;"># on d&eacute;fini les struct</span>
<span style="color: #0000ff;">struct</span> Personne
    nom::String
    pr&eacute;nom::String
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #0000ff;">struct</span> Equipe
    indice::Int16
    personne_1::Personne
    personne_2::Personne
    personne_3::Personne
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #0000ff;">struct</span> Ann&eacute;e
    an::Int16
    indice_rotation::Array<span class="br0">&#123;</span><span style="color: #0080ff;">Int16</span><span class="br0">&#125;</span>
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #0000ff;">struct</span> tranche_horaire
    nom::String
    dur&eacute;e::Int16
    tranche::String
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #0000ff;">struct</span> Result
    indice_&eacute;quipe::Int16
    date::DateTime
    indice_horaire::Int16
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #808080;"># on personalise l'affichage</span>
<span style="color: #0080ff;">Base</span>.show<span class="br0">&#40;</span>io::IO, p::Personne<span class="br0">&#41;</span> = println<span class="br0">&#40;</span>io, <span style="color: #FF0000;">&quot; <span style="color: #800000;">$(p.nom)</span> <span style="color: #800000;">$(p.pr&eacute;nom)</span> &quot;</span><span class="br0">&#41;</span>
<span style="color: #0080ff;">Base</span>.show<span class="br0">&#40;</span>io::IO, e::Equipe<span class="br0">&#41;</span> = println<span class="br0">&#40;</span>io, <span style="color: #FF0000;">&quot; Equipe <span style="color: #800000;">$(e.indice)</span> : <span style="color: #800000;">$(e.personne_1)</span>, <span style="color: #800000;">$(e.personne_2)</span>, <span style="color: #800000;">$(e.personne_3)</span> &quot;</span><span class="br0">&#41;</span>
<span style="color: #0080ff;">Base</span>.show<span class="br0">&#40;</span>io::IO, t::tranche_horaire<span class="br0">&#41;</span> = println<span class="br0">&#40;</span>io, <span style="color: #FF0000;">&quot; <span style="color: #800000;">$(t.nom)</span> <span style="color: #800000;">$(t.tranche)</span> &quot;</span><span class="br0">&#41;</span>
&nbsp;
<span style="color: #808080;"># on construit l'indice de rotation pour un an</span>
<span style="color: #0000ff;">function</span> construire_indice_rotation<span class="br0">&#40;</span>nombre_jours_an<span class="br0">&#41;</span>
    n = <span style="color: #cc66cc;">1</span>
    r = <span class="br0">&#91;</span><span style="color: #cc66cc;">1</span><span class="br0">&#93;</span>
    <span style="color: #0000ff;">for</span> i <span style="color: #0080ff;">in</span> <span style="color: #cc66cc;">1</span>:<span style="color: #cc66cc;">1</span>:nombre_jours_an
        <span style="color: #0000ff;">if</span> n &gt; nombre_jours_an - <span style="color: #cc66cc;">1</span>
            <span style="color: #0000ff;">break</span>
        <span style="color: #0000ff;">end</span>
        push!<span class="br0">&#40;</span>r, r<span class="br0">&#91;</span>i<span class="br0">&#93;</span> + mod<span class="br0">&#40;</span>i, <span style="color: #cc66cc;">2</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
        n = n + <span style="color: #cc66cc;">1</span>
    <span style="color: #0000ff;">end</span>
    pushfirst!<span class="br0">&#40;</span>r, <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>
    <span style="color: #0000ff;">return</span> r
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #808080;"># on utilise la version Julia de l'algorithme</span>
<span style="color: #0000ff;">function</span> indice_horaire<span class="br0">&#40;</span>indice_&eacute;quipe, indice_rotation<span class="br0">&#41;</span>
    <span style="color: #0000ff;">return</span> mod<span class="br0">&#40;</span>indice_&eacute;quipe + indice_rotation - <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">4</span><span class="br0">&#41;</span> + <span style="color: #cc66cc;">1</span>
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #0000ff;">function</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;"># on d&eacute;fini les tranches horaires</span>
    H1 = tranche_horaire<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Matin&quot;</span>, <span style="color: #cc66cc;">8</span>, <span style="color: #FF0000;">&quot;de 5 h &agrave; 13 h&quot;</span><span class="br0">&#41;</span>
    H2 = tranche_horaire<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Apr&egrave;s_midi&quot;</span>, <span style="color: #cc66cc;">8</span>, <span style="color: #FF0000;">&quot;de 13 h &agrave; 21 h&quot;</span><span class="br0">&#41;</span>
    H3 = tranche_horaire<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Nuit&quot;</span>, <span style="color: #cc66cc;">8</span>, <span style="color: #FF0000;">&quot;de 21 h &agrave; 5 h&quot;</span><span class="br0">&#41;</span>
    H4 = tranche_horaire<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Repos&quot;</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #FF0000;">&quot;toute la journ&eacute;e&quot;</span><span class="br0">&#41;</span>
&nbsp;
    Hn = <span class="br0">&#91;</span>H1, H2, H3, H4<span class="br0">&#93;</span>
&nbsp;
    <span style="color: #808080;"># on d&eacute;fini les &eacute;quipes</span>
    &eacute;quipe_1 = Equipe<span class="br0">&#40;</span>
        <span style="color: #cc66cc;">1</span>,
        Personne<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Dupond&quot;</span>, <span style="color: #FF0000;">&quot;Jean&quot;</span><span class="br0">&#41;</span>, 
        Personne<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Lagarde&quot;</span>, <span style="color: #FF0000;">&quot;Hector&quot;</span><span class="br0">&#41;</span>, 
        Personne<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Durand&quot;</span>, <span style="color: #FF0000;">&quot;Henri&quot;</span><span class="br0">&#41;</span>
    <span class="br0">&#41;</span>
&nbsp;
    &eacute;quipe_2 = Equipe<span class="br0">&#40;</span>
        <span style="color: #cc66cc;">2</span>,
        Personne<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Dupond&quot;</span>, <span style="color: #FF0000;">&quot;Pierre&quot;</span><span class="br0">&#41;</span>, 
        Personne<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Lagarde&quot;</span>, <span style="color: #FF0000;">&quot;Fran&ccedil;ois&quot;</span><span class="br0">&#41;</span>, 
        Personne<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Durand&quot;</span>, <span style="color: #FF0000;">&quot;Jean Paul&quot;</span><span class="br0">&#41;</span>
    <span class="br0">&#41;</span>
&nbsp;
    &eacute;quipe_3 = Equipe<span class="br0">&#40;</span>
        <span style="color: #cc66cc;">3</span>,
        Personne<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Dupond&quot;</span>, <span style="color: #FF0000;">&quot;Henri&quot;</span><span class="br0">&#41;</span>, 
        Personne<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Lagarde&quot;</span>, <span style="color: #FF0000;">&quot;Jean&quot;</span><span class="br0">&#41;</span>, 
        Personne<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Durand&quot;</span>, <span style="color: #FF0000;">&quot;Hector&quot;</span><span class="br0">&#41;</span>
    <span class="br0">&#41;</span>
&nbsp;
    &eacute;quipe_4 = Equipe<span class="br0">&#40;</span>
        <span style="color: #cc66cc;">4</span>,
        Personne<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Dupond&quot;</span>, <span style="color: #FF0000;">&quot;Fran&ccedil;ois&quot;</span><span class="br0">&#41;</span>, 
        Personne<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Lagarde&quot;</span>, <span style="color: #FF0000;">&quot;Jean Paul&quot;</span><span class="br0">&#41;</span>, 
        Personne<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Durand&quot;</span>, <span style="color: #FF0000;">&quot;Pierre&quot;</span><span class="br0">&#41;</span>
    <span class="br0">&#41;</span>
&nbsp;
    En = <span class="br0">&#91;</span>&eacute;quipe_1, &eacute;quipe_2, &eacute;quipe_3, &eacute;quipe_4<span class="br0">&#93;</span>
&nbsp;
    <span style="color: #808080;"># le nombre de jour en 2021</span>
    days_in_year_2021 = daysinyear<span class="br0">&#40;</span><span style="color: #cc66cc;">2021</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;"># on d&eacute;fini l'ann&eacute;e 2021</span>
    an_2021 = Ann&eacute;e<span class="br0">&#40;</span>
        <span style="color: #cc66cc;">2021</span>,
        construire_indice_rotation<span class="br0">&#40;</span>days_in_year_2021<span class="br0">&#41;</span>
    <span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;"># le premier janvier de 2021</span>
    date_2021_1_1 = DateTime<span class="br0">&#40;</span><span style="color: #cc66cc;">2021</span>, <span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;"># exemple, calcul des horaires pour l'&eacute;quipe 2</span>
    <span style="color: #0000ff;">let</span> r = <span class="br0">&#91;</span><span class="br0">&#93;</span>
&nbsp;
        println<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;==== Exemple 1 ====&quot;</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #808080;"># on traite les 15 premiers jours de l'ann&eacute;e</span>
        <span style="color: #0000ff;">for</span> k <span style="color: #0080ff;">in</span> <span style="color: #cc66cc;">1</span>:<span style="color: #cc66cc;">1</span>:<span style="color: #cc66cc;">15</span> 
            push!<span class="br0">&#40;</span>r, <span class="br0">&#91;</span>date_2021_1_1 + Day<span class="br0">&#40;</span>k-<span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>, 
            indice_horaire<span class="br0">&#40;</span>&eacute;quipe_2.indice, an_2021.indice_rotation<span class="br0">&#91;</span>k<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#93;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">end</span>
&nbsp;
        <span style="color: #808080;"># on affiche le r&eacute;sultat</span>
        <span style="color: #0000ff;">for</span> k <span style="color: #0080ff;">in</span> r
            println<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #800000;">$(k[1])</span> : indice_horaire <span style="color: #800000;">$(k[2])</span>&quot;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">end</span>
&nbsp;
        <span style="color: #808080;">#=</span>
<span style="color: #808080;">&nbsp;           2021-01-01T00:00:00 : indice_horaire 2</span>
<span style="color: #808080;">&nbsp;           2021-01-02T00:00:00 : indice_horaire 2</span>
<span style="color: #808080;">&nbsp;           2021-01-03T00:00:00 : indice_horaire 3</span>
<span style="color: #808080;">&nbsp;           2021-01-04T00:00:00 : indice_horaire 3</span>
<span style="color: #808080;">&nbsp;           2021-01-05T00:00:00 : indice_horaire 4</span>
<span style="color: #808080;">&nbsp;           2021-01-06T00:00:00 : indice_horaire 4</span>
<span style="color: #808080;">&nbsp;           2021-01-07T00:00:00 : indice_horaire 1</span>
<span style="color: #808080;">&nbsp;           2021-01-08T00:00:00 : indice_horaire 1</span>
<span style="color: #808080;">&nbsp;           2021-01-09T00:00:00 : indice_horaire 2</span>
<span style="color: #808080;">&nbsp;           2021-01-10T00:00:00 : indice_horaire 2</span>
<span style="color: #808080;">&nbsp;           2021-01-11T00:00:00 : indice_horaire 3</span>
<span style="color: #808080;">&nbsp;           2021-01-12T00:00:00 : indice_horaire 3</span>
<span style="color: #808080;">&nbsp;           2021-01-13T00:00:00 : indice_horaire 4</span>
<span style="color: #808080;">&nbsp;           2021-01-14T00:00:00 : indice_horaire 4</span>
<span style="color: #808080;">&nbsp;           2021-01-15T00:00:00 : indice_horaire 1 </span>
<span style="color: #808080;">&nbsp;      =#</span>
    <span style="color: #0000ff;">end</span>
&nbsp;
    <span style="color: #808080;"># exemple, calcul de l'horaire du 2021-11-17 pour l'&eacute;quipe 2</span>
    <span style="color: #0000ff;">let</span> date_t = DateTime<span class="br0">&#40;</span><span style="color: #cc66cc;">2021</span>, <span style="color: #cc66cc;">11</span>, <span style="color: #cc66cc;">17</span><span class="br0">&#41;</span>, day_of_year = dayofyear<span class="br0">&#40;</span>date_t<span class="br0">&#41;</span>
&nbsp;
        println<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;==== Exemple 2 ====&quot;</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #808080;"># indice horaire pour l'&eacute;quique 2 pour le jour day_of_year/days_in_year_2021</span>
        indice_horaire_2 = indice_horaire<span class="br0">&#40;</span>&eacute;quipe_2.indice, an_2021.indice_rotation<span class="br0">&#91;</span>day_of_year<span class="br0">&#93;</span><span class="br0">&#41;</span>
&nbsp;
        println<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #800000;">$(&eacute;quipe_2)</span> <span style="color: #800000;">\n</span> <span style="color: #800000;">$(date_t)</span> : <span style="color: #800000;">$(Hn[indice_horaire_2])</span>&quot;</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #808080;">#=</span>
<span style="color: #808080;">&nbsp;           Equipe 2 : Dupond Jean, Lagarde Hector, Durand Henri </span>
&nbsp;
<span style="color: #808080;">&nbsp;           2021-11-17T00:00:00 :  Apr&egrave;s_midi de 13 h &agrave; 21 h </span>
<span style="color: #808080;">&nbsp;       =#</span>
    <span style="color: #0000ff;">end</span>
&nbsp;
    <span style="color: #808080;"># exemple, calcul des horaires du 2021-06-01 au 2021-07-15 pour toutes les &eacute;quipes</span>
    <span style="color: #0000ff;">let</span> date_t_1 = DateTime<span class="br0">&#40;</span><span style="color: #cc66cc;">2021</span>, <span style="color: #cc66cc;">6</span>, <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>,
        day_of_year_1 = dayofyear<span class="br0">&#40;</span>date_t_1<span class="br0">&#41;</span>,
        date_t_2 = DateTime<span class="br0">&#40;</span><span style="color: #cc66cc;">2021</span>, <span style="color: #cc66cc;">7</span>, <span style="color: #cc66cc;">15</span><span class="br0">&#41;</span>, 
        day_of_year_2 = dayofyear<span class="br0">&#40;</span>date_t_2<span class="br0">&#41;</span>
&nbsp;
        println<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;==== Exemple 3 ====&quot;</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #808080;"># r contiendra un array de Result</span>
        r = <span class="br0">&#91;</span><span class="br0">&#93;</span>
&nbsp;
        <span style="color: #0000ff;">for</span> E <span style="color: #0080ff;">in</span> En
            <span style="color: #0000ff;">for</span> D <span style="color: #0080ff;">in</span> day_of_year_1:<span style="color: #cc66cc;">1</span>:day_of_year_2
                push!<span class="br0">&#40;</span>r, Result<span class="br0">&#40;</span>E.indice, date_2021_1_1 + Day<span class="br0">&#40;</span>D-<span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>, indice_horaire<span class="br0">&#40;</span>E.indice, an_2021.indice_rotation<span class="br0">&#91;</span>D<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
            <span style="color: #0000ff;">end</span>
        <span style="color: #0000ff;">end</span>
&nbsp;
        <span style="color: #0000ff;">for</span> k <span style="color: #0080ff;">in</span> r
            println<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Equipe <span style="color: #800000;">$(k.indice_&eacute;quipe)</span> <span style="color: #800000;">\n</span> <span style="color: #800000;">$(k.date)</span> : <span style="color: #800000;">$(Hn[k.indice_horaire])</span>&quot;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">end</span>
&nbsp;
        <span style="color: #808080;">#=</span>
<span style="color: #808080;">&nbsp;           Equipe 1</span>
<span style="color: #808080;">&nbsp;           2021-06-01T00:00:00 :  Repos toute la journ&eacute;e</span>
&nbsp;
<span style="color: #808080;">&nbsp;           Equipe 1</span>
<span style="color: #808080;">&nbsp;           2021-06-02T00:00:00 :  Matin de 5 h &agrave; 13 h</span>
&nbsp;
<span style="color: #808080;">&nbsp;           Equipe 1</span>
<span style="color: #808080;">&nbsp;           2021-06-03T00:00:00 :  Matin de 5 h &agrave; 13 h</span>
&nbsp;
<span style="color: #808080;">&nbsp;           Equipe 1</span>
<span style="color: #808080;">&nbsp;           2021-06-04T00:00:00 :  Apr&egrave;s_midi de 13 h &agrave; 21 h</span>
&nbsp;
<span style="color: #808080;">&nbsp;           Equipe 1</span>
<span style="color: #808080;">&nbsp;           2021-06-05T00:00:00 :  Apr&egrave;s_midi de 13 h &agrave; 21 h</span>
&nbsp;
<span style="color: #808080;">&nbsp;           Equipe 1</span>
<span style="color: #808080;">&nbsp;           2021-06-06T00:00:00 :  Nuit de 21 h &agrave; 5 h</span>
<span style="color: #808080;">&nbsp;           ... </span>
&nbsp;
<span style="color: #808080;">&nbsp;           Equipe 4</span>
<span style="color: #808080;">&nbsp;           2021-07-12T00:00:00 :  Repos toute la journ&eacute;e</span>
&nbsp;
<span style="color: #808080;">&nbsp;           Equipe 4</span>
<span style="color: #808080;">&nbsp;          2021-07-13T00:00:00 :  Repos toute la journ&eacute;e</span>
&nbsp;
<span style="color: #808080;">&nbsp;          Equipe 4</span>
<span style="color: #808080;">&nbsp;          2021-07-14T00:00:00 :  Matin de 5 h &agrave; 13 h</span>
&nbsp;
<span style="color: #808080;">&nbsp;          Equipe 4</span>
<span style="color: #808080;">&nbsp;          2021-07-15T00:00:00 :  Matin de 5 h &agrave; 13 h</span>
<span style="color: #808080;">&nbsp;       =#</span>
&nbsp;
    <span style="color: #0000ff;">end</span>
&nbsp;
    <span style="color: #0000ff;">return</span>
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #339933;">@time</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span> <span style="color: #808080;"># 0.135841 seconds (282.31 k allocations: 16.842 MiB, 74.41% compilation time)</span></pre></td></tr></table></pre>
</div><br />
<a href="https://creativecommons.org/licenses/by/2.0/be/" target="_blank">Licence Creative Commons Attribution 2.0 Belgique</a></blockquote>

]]></content:encoded>
			<dc:creator>danielhagnoul</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10201/version-julia-l-algorithme-planifier-horaires-travail-equipes/</guid>
		</item>
		<item>
			<title>Julia classée cinquième langue la plus appréciée</title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10167/julia-classee-cinquieme-langue-plus-appreciee/</link>
			<pubDate>Mon, 16 Aug 2021 19:16:58 GMT</pubDate>
			<description>Enquête sur les développeurs...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><font size="4">Enquête sur les développeurs Stack Overflow</font><br />
<br />
<i>Capture image Twitter</i><br />
<br />
<img src="https://www.developpez.net/forums/attachment.php?attachmentid=603404&amp;d=1629141301" border="0" alt="Nom : Capture.PNG
Affichages : 14938
Taille : 384,6 Ko"  style="float: CONFIG" /><br />
<br />
<i>Capture image Stack Overflow</i><br />
<br />
<img src="https://www.developpez.net/forums/attachment.php?attachmentid=603405&amp;d=1629141330" border="0" alt="Nom : Capture1.PNG
Affichages : 13767
Taille : 92,5 Ko"  style="float: CONFIG" /><br />
<br />
<b>Source</b> : <a href="https://insights.stackoverflow.com/survey/2021#technology-most-loved-dreaded-and-wanted" target="_blank">https://insights.stackoverflow.com/s...ded-and-wanted</a></blockquote>

]]></content:encoded>
			<dc:creator>danielhagnoul</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10167/julia-classee-cinquieme-langue-plus-appreciee/</guid>
		</item>
		<item>
			<title><![CDATA[Julia. Analyse et optimisation de l'énergie chez PSR.]]></title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10136/julia-analyse-optimisation-l-energie-chez-psr/</link>
			<pubDate>Sun, 13 Jun 2021 19:59:08 GMT</pubDate>
			<description>Pour PSR, le passage à Julia...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Pour PSR, le passage à Julia apporte :<br />
<ul><li style="">Vitesse et productivité accrues.</li><li style="">Temps de mise sur le marché réduit.</li><li style="">Réduction du code du modèle d'optimisation des investissements de 40 000 lignes de code à 4 000 lignes de code et réduction du code du modèle SDDP de 120 000 lignes de code à 14 000 lignes de code.</li><li style="">Gain de temps et d'argent.</li><li style="">À aider à éliminer les bugs.</li><li style="">Facilite la recherche et la correction des erreurs.</li></ul><br />
<br />
<br />
PSR est une société mondiale de conseil, d'analyse et de technologie en matière d'électricité et de gaz naturel, présente dans plus de 70 pays à travers le monde. Ils développent et autorisent des outils analytiques pour la planification et la simulation du marché de l'énergie à l'aide de techniques d'optimisation stochastique à plusieurs niveaux.<br />
<br />
<i>L'ingénieur en optimisation PSR Joaquim Dias Garcia explique :</i><br />
<br />
<div class="bbcode_container">
	<div class="bbcode_quote">
		<div class="quote_container">
			<div class="bbcode_quote_container"></div>
			
				Chaque pays dans lequel nous opérons a ses propres réglementations et exigences, et chaque organisation avec laquelle nous travaillons a ses propres exigences de personnalisation, donc notre capacité à être agile et plus rapide sur le marché nous donne un avantage concurrentiel distinct. Notre capacité à ajouter de nouvelles solutions et les nouvelles méthodologies utilisant Julia, avec des tests rapides, offrent le délai de rentabilisation le plus rapide pour PSR et nos clients.<br />
<br />
Nous utilisons Julia pour les tâches quotidiennes, la recherche et le développement de logiciels, y compris les outils probabilistes reposant sur des simulations Monte Carlo, l'analyse de Fourier et les GPU.<br />
<br />
Avec Julia + JuMP, esquisser un modèle d'optimisation et le mettre en production est une tâche unique qui résout une grande partie de notre problème « bilangue ». Étant donné que de nombreux algorithmes de programmation stochastique et méthodes probabilistes utilisées par PSR conviennent à la parallélisation, nous avons tiré parti du parallélisme inhérent à Julia. La bonne interface avec MPI et GPU offre beaucoup de possibilités et de flexibilité.<br />
<br />
Actuellement, nous déployons sur AWS. Julia s'intègre très bien dans ce cadre. Nous développons généralement du code sur Windows avec un traitement en série et testons et déployons sur Linux avec un traitement parallèle.<br />
<br />
Julia rend étonnamment facile l'écriture de code simple et transparent. La plupart du temps, le code est si clair que l'écriture de commentaires explicatifs est totalement inutile.<br />
<br />
Notre modèle d'optimisation des investissements initialement construit en Fortran comportait environ 40 000 lignes de code. Dans Julia, il n'y a que 4 000 lignes de code, soit une réduction de 90 % du code. Notre modèle SDDP a été réduit de 88 %, passant de 120 000 à 14 000 lignes de code.<br />
<br />
Julia permet le développement très rapide de modèles d'optimisation. De nombreuses nouvelles idées qui prenaient des jours ou des semaines à tester sont désormais testées en quelques heures. À l'avenir, nous prévoyons d'utiliser des fonctionnalités telles que la programmation de GPU et de migrer une plus grande partie de notre code vers Julia.<br />
<br />
PSR utilise Julia depuis 2015. PSR a développé le wrapper Xpress.jl, et a contribué à KNITRO.jl, MathProgBase.jl, Gurobi.jl, GLPKMathProgInterface.jl, JuMP.jl et MathOptInterface.jl, de la conception à la programmation.
			
		</div>
	</div>
</div><b>Source</b> : <a href="https://juliacomputing.com/case-studies/psr/" target="_blank">https://juliacomputing.com/case-studies/psr/</a></blockquote>

]]></content:encoded>
			<dc:creator>danielhagnoul</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10136/julia-analyse-optimisation-l-energie-chez-psr/</guid>
		</item>
		<item>
			<title>Julia. Exercice : fusion de dictionnaires en conservant les valeurs maximum.</title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10135/julia-exercice-fusion-dictionnaires-conservant-valeurs-maximum/</link>
			<pubDate>Wed, 09 Jun 2021 20:30:01 GMT</pubDate>
			<description>La question...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">La <a href="https://www.developpez.net/forums/d2111920/autres-langages/python/general-python/fusion-plusieurs-dictionnaires-optimisation/#post11732520" target="_blank">question</a> a été posée en Python.<br />
<br />
@xlpython nous dit : &quot;Mon code fonctionne, mais le temps de traitement est trop élevé (compte tenu du nombre de valeurs /dictionnaires à traiter).<br />
Pourriez-vous m'indiquer l'algorithme le moins coûteux ?&quot;<br />
<br />
En Julia, le problème est facilement résolu si l'on connaît la fonction <a href="https://docs.julialang.org/en/v1/base/collections/#Base.maximum" target="_blank">maximum</a>.<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code Julia :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">using</span> <span style="color: #0080ff;">Base</span>
&nbsp;
<span style="color: #0000ff;">function</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span>
    d1 = Dict<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;a&quot;</span> =&gt; <span style="color: #cc66cc;">1.0</span>, <span style="color: #FF0000;">&quot;b&quot;</span> =&gt; <span style="color: #cc66cc;">1.1</span>, <span style="color: #FF0000;">&quot;c&quot;</span> =&gt; <span style="color: #cc66cc;">1.9</span><span class="br0">&#41;</span>
    d2 = Dict<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;a&quot;</span> =&gt; <span style="color: #cc66cc;">1.1</span>, <span style="color: #FF0000;">&quot;b&quot;</span> =&gt; <span style="color: #cc66cc;">1.4</span>, <span style="color: #FF0000;">&quot;c&quot;</span> =&gt; <span style="color: #cc66cc;">1.3</span><span class="br0">&#41;</span>
    d3 = Dict<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;a&quot;</span> =&gt; <span style="color: #cc66cc;">1.2</span>, <span style="color: #FF0000;">&quot;b&quot;</span> =&gt; <span style="color: #cc66cc;">1.3</span>, <span style="color: #FF0000;">&quot;c&quot;</span> =&gt; <span style="color: #cc66cc;">1.4</span><span class="br0">&#41;</span>
    d10 = Dict<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;a&quot;</span> =&gt; <span style="color: #cc66cc;">1.0</span>, <span style="color: #FF0000;">&quot;b&quot;</span> =&gt; <span style="color: #cc66cc;">3.5</span>, <span style="color: #FF0000;">&quot;c&quot;</span> =&gt; <span style="color: #cc66cc;">1.9</span><span class="br0">&#41;</span>
    d20 = Dict<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;a&quot;</span> =&gt; <span style="color: #cc66cc;">1.1</span>, <span style="color: #FF0000;">&quot;b&quot;</span> =&gt; <span style="color: #cc66cc;">1.4</span>, <span style="color: #FF0000;">&quot;c&quot;</span> =&gt; <span style="color: #cc66cc;">1.3</span><span class="br0">&#41;</span>
    d30 = Dict<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;a&quot;</span> =&gt; <span style="color: #cc66cc;">1.2</span>, <span style="color: #FF0000;">&quot;b&quot;</span> =&gt; <span style="color: #cc66cc;">1.3</span>, <span style="color: #FF0000;">&quot;c&quot;</span> =&gt; <span style="color: #cc66cc;">1.4</span><span class="br0">&#41;</span>
    d100 = Dict<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;a&quot;</span> =&gt; <span style="color: #cc66cc;">1.0</span>, <span style="color: #FF0000;">&quot;b&quot;</span> =&gt; <span style="color: #cc66cc;">1.1</span>, <span style="color: #FF0000;">&quot;c&quot;</span> =&gt; <span style="color: #cc66cc;">1.9</span><span class="br0">&#41;</span>
    d200 = Dict<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;a&quot;</span> =&gt; <span style="color: #cc66cc;">2.5</span>, <span style="color: #FF0000;">&quot;b&quot;</span> =&gt; <span style="color: #cc66cc;">1.4</span>, <span style="color: #FF0000;">&quot;c&quot;</span> =&gt; <span style="color: #cc66cc;">1.3</span><span class="br0">&#41;</span>
    d300 = Dict<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;a&quot;</span> =&gt; <span style="color: #cc66cc;">1.2</span>, <span style="color: #FF0000;">&quot;b&quot;</span> =&gt; <span style="color: #cc66cc;">1.3</span>, <span style="color: #FF0000;">&quot;c&quot;</span> =&gt; <span style="color: #cc66cc;">1.4</span><span class="br0">&#41;</span>
    d1000 = Dict<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;a&quot;</span> =&gt; <span style="color: #cc66cc;">1.0</span>, <span style="color: #FF0000;">&quot;b&quot;</span> =&gt; <span style="color: #cc66cc;">1.1</span>, <span style="color: #FF0000;">&quot;c&quot;</span> =&gt; <span style="color: #cc66cc;">1.9</span><span class="br0">&#41;</span>
    d2000 = Dict<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;a&quot;</span> =&gt; <span style="color: #cc66cc;">1.1</span>, <span style="color: #FF0000;">&quot;b&quot;</span> =&gt; <span style="color: #cc66cc;">1.4</span>, <span style="color: #FF0000;">&quot;c&quot;</span> =&gt; <span style="color: #cc66cc;">4.5</span><span class="br0">&#41;</span>
    d3000 = Dict<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;a&quot;</span> =&gt; <span style="color: #cc66cc;">1.2</span>, <span style="color: #FF0000;">&quot;b&quot;</span> =&gt; <span style="color: #cc66cc;">1.3</span>, <span style="color: #FF0000;">&quot;c&quot;</span> =&gt; <span style="color: #cc66cc;">1.4</span><span class="br0">&#41;</span>
&nbsp;
    array_dict = <span class="br0">&#91;</span>d1, d2, d3, d10, d20, d30, d100, d200, d300, d1000, d2000, d3000<span class="br0">&#93;</span>
&nbsp;
    a = maximum<span class="br0">&#40;</span>x -&gt; x<span class="br0">&#91;</span><span style="color: #FF0000;">&quot;a&quot;</span><span class="br0">&#93;</span>, array_dict<span class="br0">&#41;</span>
    b = maximum<span class="br0">&#40;</span>x -&gt; x<span class="br0">&#91;</span><span style="color: #FF0000;">&quot;b&quot;</span><span class="br0">&#93;</span>, array_dict<span class="br0">&#41;</span>
    c = maximum<span class="br0">&#40;</span>x -&gt; x<span class="br0">&#91;</span><span style="color: #FF0000;">&quot;c&quot;</span><span class="br0">&#93;</span>, array_dict<span class="br0">&#41;</span>
&nbsp;
    <span class="br0">&#40;</span>a, b, c<span class="br0">&#41;</span> |&gt; println
&nbsp;
    dr = Dict<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;a&quot;</span> =&gt; a, <span style="color: #FF0000;">&quot;b&quot;</span> =&gt; b, <span style="color: #FF0000;">&quot;c&quot;</span> =&gt; c<span class="br0">&#41;</span>
&nbsp;
    <span style="color: #339933;">@show</span> dr
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #339933;">@time</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span style="color: #339933;">@time</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
<span style="color: #808080;">#=</span>
<span style="color: #808080;">(2.5, 3.5, 4.5)</span>
<span style="color: #808080;">dr = Dict(&quot;c&quot; =&gt; 4.5, &quot;b&quot; =&gt; 3.5, &quot;a&quot; =&gt; 2.5)</span>
<span style="color: #808080;">&nbsp; 0.140124 seconds (479.21 k allocations: 26.631 MiB, 6.08% gc time, 98.97% compilation time)</span>
&nbsp;
<span style="color: #808080;">(2.5, 3.5, 4.5)</span>
<span style="color: #808080;">dr = Dict(&quot;c&quot; =&gt; 4.5, &quot;b&quot; =&gt; 3.5, &quot;a&quot; =&gt; 2.5)</span>
<span style="color: #808080;">&nbsp; 0.000971 seconds (176 allocations: 13.875 KiB)</span>
&nbsp;
<span style="color: #808080;">Dict{String, Float64} with 3 entries:</span>
<span style="color: #808080;">&nbsp; &quot;c&quot; =&gt; 4.5</span>
<span style="color: #808080;">&nbsp; &quot;b&quot; =&gt; 3.5</span>
<span style="color: #808080;">&nbsp; &quot;a&quot; =&gt; 2.5</span>
<span style="color: #808080;">=#</span></pre></td></tr></table></pre>
</div><br />
<a href="https://creativecommons.org/licenses/by/2.0/be/" target="_blank">Licence Creative Commons Attribution 2.0 Belgique</a></blockquote>

]]></content:encoded>
			<dc:creator>danielhagnoul</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10135/julia-exercice-fusion-dictionnaires-conservant-valeurs-maximum/</guid>
		</item>
		<item>
			<title><![CDATA[Julia. Exercice : créer un dictionnaire à partir d'une liste de listes.]]></title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10121/julia-exercice-creer-dictionnaire-partir-d-liste-listes/</link>
			<pubDate>Sat, 15 May 2021 09:43:15 GMT</pubDate>
			<description>*Question posée sur le forum...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><b>Question posée sur le forum Python</b> : <a href="https://www.developpez.net/forums/d2110188/autres-langages/python/general-python/creation-d-dictionnaire-partir-d-liste/#post11723255" target="_blank">https://www.developpez.net/forums/d2.../#post11723255</a><br />
<br />
<div style="margin-left:40px"><i>@THOMAS nous donne :</i> <br />
ListNotes = [['Mathématiques', '12'], ['Mathématiques', '9'], ['Mathématiques', '15'], ['Informatique', '17'], ['Physique', '11'], ['Physique', '8'], ['Chimie', '16'], ['Chimie', '10']]<br />
<br />
On doit transformer ListNotes en dictionnaire et calculer la moyenne.</div><br />
<b>Solution Julia</b><br />
<br />
<div style="margin-left:40px">Le travail ne présente pas de difficulté majeure si l'on connaît les fonctions <a href="https://docs.julialang.org/en/v1/base/collections/#Base.push!" target="_blank">push!</a>, <a href="http://https://docs.julialang.org/en/v1/base/collections/#Base.haskey" target="_blank">haskey</a>, <a href="https://docs.julialang.org/en/v1/base/collections/#Base.pairs" target="_blank">pairs</a> et <a href="https://docs.julialang.org/en/v1/stdlib/Statistics/#Statistics.mean" target="_blank">mean</a>. <br />
<br />
Il faut commencer par mettre cette liste de listes au format Julia (&quot; au lieu de ' et entier au lieu de texte pour les notes). </div><br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code Julia :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">using</span> Statistics
&nbsp;
<span style="color: #0000ff;">function</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span>
    ListNotes = <span class="br0">&#91;</span><span class="br0">&#91;</span><span style="color: #FF0000;">&quot;Math&eacute;matiques&quot;</span>, <span style="color: #cc66cc;">12</span><span class="br0">&#93;</span>, <span class="br0">&#91;</span><span style="color: #FF0000;">&quot;Math&eacute;matiques&quot;</span>, <span style="color: #cc66cc;">9</span><span class="br0">&#93;</span>, <span class="br0">&#91;</span><span style="color: #FF0000;">&quot;Math&eacute;matiques&quot;</span>, <span style="color: #cc66cc;">15</span><span class="br0">&#93;</span>, 
    <span class="br0">&#91;</span><span style="color: #FF0000;">&quot;Informatique&quot;</span>, <span style="color: #cc66cc;">17</span><span class="br0">&#93;</span>, <span class="br0">&#91;</span><span style="color: #FF0000;">&quot;Physique&quot;</span>, <span style="color: #cc66cc;">11</span><span class="br0">&#93;</span>, <span class="br0">&#91;</span><span style="color: #FF0000;">&quot;Physique&quot;</span>, <span style="color: #cc66cc;">8</span><span class="br0">&#93;</span>, 
    <span class="br0">&#91;</span><span style="color: #FF0000;">&quot;Chimie&quot;</span>, <span style="color: #cc66cc;">16</span><span class="br0">&#93;</span>, <span class="br0">&#91;</span><span style="color: #FF0000;">&quot;Chimie&quot;</span>, <span style="color: #cc66cc;">10</span><span class="br0">&#93;</span><span class="br0">&#93;</span>
&nbsp;
    notes = Dict<span class="br0">&#123;</span><span style="color: #0080ff;">String,</span> Vector<span class="br0">&#123;</span><span style="color: #0080ff;">Int64</span><span class="br0">&#125;</span><span class="br0">&#125;</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
    moyennes = Dict<span class="br0">&#123;</span><span style="color: #0080ff;">String,</span> <span style="color: #0080ff;">Float64</span><span class="br0">&#125;</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">for</span> item <span style="color: #0080ff;">in</span> ListNotes
        key = item<span class="br0">&#91;</span><span style="color: #cc66cc;">1</span><span class="br0">&#93;</span>
        value = item<span class="br0">&#91;</span><span style="color: #cc66cc;">2</span><span class="br0">&#93;</span>
&nbsp;
        <span style="color: #0000ff;">if</span> haskey<span class="br0">&#40;</span>notes, key<span class="br0">&#41;</span>
            push!<span class="br0">&#40;</span>notes<span class="br0">&#91;</span>key<span class="br0">&#93;</span>, value<span class="br0">&#41;</span> <span style="color: #808080;"># push dans un array</span>
        <span style="color: #0000ff;">else</span>
            push!<span class="br0">&#40;</span>notes, key =&gt; <span class="br0">&#91;</span> value <span class="br0">&#93;</span><span class="br0">&#41;</span> <span style="color: #808080;"># push dans un dict</span>
        <span style="color: #0000ff;">end</span>
    <span style="color: #0000ff;">end</span>
&nbsp;
    <span style="color: #0000ff;">for</span> <span class="br0">&#40;</span>key, value<span class="br0">&#41;</span> <span style="color: #0080ff;">in</span> pairs<span class="br0">&#40;</span>notes<span class="br0">&#41;</span>
        push!<span class="br0">&#40;</span>moyennes, key =&gt; mean<span class="br0">&#40;</span>value<span class="br0">&#41;</span><span class="br0">&#41;</span>
    <span style="color: #0000ff;">end</span>
&nbsp;
    <span style="color: #339933;">@show</span> notes
    <span style="color: #339933;">@show</span> moyennes
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #339933;">@time</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
<span style="color: #808080;">#=</span>
<span style="color: #808080;">notes = Dict(&quot;Informatique&quot; =&gt; [17], &quot;Math&eacute;matiques&quot; =&gt; [12, 9, 15], &quot;Physique&quot; =&gt; [11, 8], &quot;Chimie&quot; =&gt; [16, 10])</span>
<span style="color: #808080;">moyennes = Dict(&quot;Informatique&quot; =&gt; 17.0, &quot;Math&eacute;matiques&quot; =&gt; 12.0, &quot;Physique&quot; =&gt; 9.5, &quot;Chimie&quot; =&gt; </span>
<span style="color: #808080;">13.0)</span>
<span style="color: #808080;">&nbsp; 0.000845 seconds (296 allocations: 17.109 KiB)</span>
<span style="color: #808080;">=#</span></pre></td></tr></table></pre>
</div><br />
<a href="https://creativecommons.org/licenses/by/2.0/be/" target="_blank">Licence Creative Commons Attribution 2.0 Belgique</a></blockquote>

]]></content:encoded>
			<dc:creator>danielhagnoul</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10121/julia-exercice-creer-dictionnaire-partir-d-liste-listes/</guid>
		</item>
		<item>
			<title><![CDATA[La Federal Aviation Administration utilise Julia pour développer le système d'évitement de collision aéroporté]]></title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10109/federal-aviation-administration-utilise-julia-developper-systeme-d-evitement-collision-aeroporte/</link>
			<pubDate>Fri, 23 Apr 2021 18:19:46 GMT</pubDate>
			<description>Avec plus de 100 000 vols...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Avec plus de 100 000 vols commerciaux réguliers dans le monde chaque jour, empêcher tous ces avions d'entrer en collision est une tâche monumentale dans laquelle toute erreur est potentiellement catastrophique.<br />
<br />
La Federal Aviation Administration s'est associée à Lincoln Labs pour développer la prochaine génération de système anticollision aéroporté (ACAS-X) utilisant Julia. Selon Lincoln Labs, Julia a un certain nombre d'avantages qui la rendent appropriée comme nouvelle norme pour l'avionique.<br />
<br />
Quels sont les objectifs de ce projet ?<br />
<br />
<ul><li style="">Améliorer la sécurité et réduire le risque de collision</li><li style="">Permettre aux avions de voler plus près l'un de l'autre</li></ul><br />
Pourquoi Julia ?<br />
<br />
Selon Lincoln Labs, Julia est :<br />
<ul><li style="">Rapide</li><li style="">Facile à comprendre</li><li style="">Doté d'une syntaxe concise et familière</li><li style="">Exécutable</li><li style="">Haute performance - comparable à C</li></ul><br />
Le projet ACAS-X nécessite le calcul d'une recherche exhaustive sur 650 milliards de points de décision dans la table logique optimisée afin d'identifier les pannes. Julia a réduit le temps nécessaire pour effectuer ces calculs de plusieurs années.<br />
<br />
Plus important encore, Julia réduit considérablement le temps, les coûts et les erreurs en éliminant le problème des deux langues.<br />
<br />
Ou, comme le dit Robert Moss de Lincoln Labs :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_quote">
		<div class="quote_container">
			<div class="bbcode_quote_container"></div>
			
				&quot;La manière précédente de faire les choses était très coûteuse. Julia est très facile à comprendre. C'est une syntaxe très familière, qui aide le lecteur à comprendre le document avec clarté, et elle aide l'écrivain à développer des algorithmes concis. Julia résout bon nombre de nos conflits, réduit les coûts lors du transfert de technologie et, comme Julia est rapide, cela nous permet d'exécuter l'ensemble du système et d'exécuter directement la spécification. Nous continuons à faire de Julia une norme pour les spécifications dans l'industrie de l'avionique. Julia est la bonne réponse pour nous et dépasse tous nos besoins.&quot;
			
		</div>
	</div>
</div>Source : <a href="https://juliacomputing.com/case-studies/lincoln-labs/" target="_blank">Julia Computing</a></blockquote>

]]></content:encoded>
			<dc:creator>danielhagnoul</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10109/federal-aviation-administration-utilise-julia-developper-systeme-d-evitement-collision-aeroporte/</guid>
		</item>
		<item>
			<title>Julia. Utilisation des unités du système métrique.</title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10075/julia-utilisation-unites-systeme-metrique/</link>
			<pubDate>Sun, 14 Mar 2021 09:41:06 GMT</pubDate>
			<description>Nous avons déjà abordé le...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Nous avons déjà abordé le sujet dans : <a href="https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10067/julia-tests-paquet-unitful/" target="_blank">Julia. Tests du paquet Unitful.</a><br />
<br />
Voici un exemple complémentaire montrant l'utilisation des fonctions uconvert() et ustrip().<br />
<br />
<img src="https://www.developpez.net/forums/attachment.php?attachmentid=593383&amp;d=1615714712" border="0" alt="Nom : test_1.png
Affichages : 1518
Taille : 17,4 Ko"  style="float: CONFIG" /><br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code Julia :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">using</span> Unitful, QuadGK, Plots, PlotThemes
&nbsp;
gr<span class="br0">&#40;</span><span class="br0">&#41;</span>
theme<span class="br0">&#40;</span>:juno<span class="br0">&#41;</span>
&nbsp;
<span style="color: #808080;">#=</span>
<span style="color: #808080;">Dans Julia, il est possible de calculer des int&eacute;grales num&eacute;riquement </span>
<span style="color: #808080;">en tenant compte des unit&eacute;s de mesure. Par exemple, si nous int&eacute;grons </span>
<span style="color: #808080;">une vitesse sur un intervalle de temps, nous obtiendrons la distance </span>
<span style="color: #808080;">parcourue.</span>
<span style="color: #808080;">=#</span>
&nbsp;
a = <span style="color: #cc66cc;">0.143</span>u<span style="color: #FF0000;">&quot;m/s^2&quot;</span>
&nbsp;
<span style="color: #808080;"># vf = vi + at avec vi = 0</span>
<span style="color: #808080;"># on veut le r&eacute;sultat en kilom&egrave;tre au lieu de m.</span>
d = uconvert<span class="br0">&#40;</span>u<span style="color: #FF0000;">&quot;km&quot;</span>, quadgk<span class="br0">&#40;</span>x -&gt; a*x, <span style="color: #cc66cc;">0</span>u<span style="color: #FF0000;">&quot;s&quot;</span>, <span style="color: #cc66cc;">145</span>u<span style="color: #FF0000;">&quot;s&quot;</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span style="color: #cc66cc;">1</span><span class="br0">&#93;</span><span class="br0">&#41;</span>
&nbsp;
<span style="color: #339933;">@show</span> d
&nbsp;
<span style="color: #808080;"># le temps de parcours en seconde</span>
t = <span class="br0">&#40;</span><span style="color: #cc66cc;">0</span>:<span style="color: #cc66cc;">145</span><span class="br0">&#41;</span>u<span style="color: #FF0000;">&quot;s&quot;</span>
&nbsp;
<span style="color: #808080;"># on veut la vitesse en kilom&egrave;tre par heure au temps t en seconde.</span>
v = <span class="br0">&#91;</span>uconvert<span class="br0">&#40;</span>u<span style="color: #FF0000;">&quot;km/hr&quot;</span>, a*x<span class="br0">&#41;</span> <span style="color: #0000ff;">for</span> x <span style="color: #0080ff;">in</span> t<span class="br0">&#93;</span>
&nbsp;
<span style="color: #339933;">@show</span> t
<span style="color: #339933;">@show</span> v
&nbsp;
<span style="color: #808080;"># plot ne prend que des chiffres sans unit&eacute;, on utilise ustrip()</span>
plot<span class="br0">&#40;</span>ustrip<span class="br0">&#40;</span>t<span class="br0">&#41;</span>, ustrip<span class="br0">&#40;</span>v<span class="br0">&#41;</span>, ylabel=<span style="color: #FF0000;">&quot;km/hr&quot;</span>, xlabel=<span style="color: #FF0000;">&quot;s&quot;</span>, grid=<span style="color: #339933;">true</span>, gridwidth=<span style="color: #cc66cc;">3</span>, legend=:none, title=<span style="color: #FF0000;">&quot;Vitesse au temps t&quot;</span><span class="br0">&#41;</span></pre></td></tr></table></pre>
</div><br />
<a href="https://creativecommons.org/licenses/by/2.0/be/" target="_blank">Licence Creative Commons Attribution 2.0 Belgique</a></blockquote>

]]></content:encoded>
			<dc:creator>danielhagnoul</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10075/julia-utilisation-unites-systeme-metrique/</guid>
		</item>
		<item>
			<title>Julia. Tests du paquet Unitful.</title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10067/julia-tests-paquet-unitful/</link>
			<pubDate>Fri, 12 Mar 2021 09:37:42 GMT</pubDate>
			<description><![CDATA[* Le 2021-03-12, j'utilise...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><ul><li style="">Le 2021-03-12, j'utilise Julia_1.6.0-rc1 sur VS_Code_1.54.2. Ordinateur : W10 Pro, i9-10900F.</li><li style=""><b>Préalables</b>, mes billets précédents sur Julia sont supposés connus et assimilés.</li></ul><br />
<br />
<div style="margin-left:40px">Le langage Julia étant basé sur les types, l'idée d'écrire un paquet gérant les types du système métrique allait de soi. <a href="https://github.com/PainterQubits/Unitful.jl/blob/master/src/pkgdefaults.jl" target="_blank">La liste des unités disponibles dans Unitful</a>.<br />
<br />
Nous testons <a href="https://painterqubits.github.io/Unitful.jl/stable/" target="_blank">Unitful</a> en Cinématique, Circuit électrique série simple et Thermique.<br />
<br />
Si Unitful vous renvoie une erreur, soyez certain qu'il y a une erreur dans votre code ou dans votre choix des unités. Le choix de l'unité correcte n'est pas toujours une évidence, ainsi le cas du coefficient d'expansion (&#945; = 1.2e-5u&quot;1/K&quot;) dans le chapitre Thermique. Le Kelvin est une unité de référence (@refunit K &quot;K&quot; Kelvin) et on n'écrit pas °K mais K.<br />
<br />
<a href="https://juliahub.com/ui/Packages?t=unitful" target="_blank">Unitful n'est pas seul, il y a des paquets spécialisés</a>.<br />
<br />
Le reste de ce billet est dans un notebook Pluto, code ci-dessous. Nous aurons besoin des paquets Pluto v0.12.21 et Unitful v1.6.0.<br />
<br />
Si vous ne connaissez pas Pluto, voir &quot;<a href="https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10051/julia-notebook-pluto-chrome-vscode/" target="_blank">Julia. Notebook Pluto sur Chrome avec VSCode</a>&quot;.<br />
<br />
<a href="https://danielhagnoul.developpez.com/blog/julia/unitful_test.html" target="_blank">Voici un lien vers la page HTML statique</a>.<br />
<br />
Les codes Julia utilisent souvent de manière intensive <a href="https://docs.julialang.org/en/v1/manual/unicode-input/" target="_blank">les caractères Unicode</a>.</div><br />
<i>Rappel </i><br />
<br />
<div style="margin: 20px; margin-top: 5px"><pre class="alt2" style="border: 1px inset; padding: 5px">&#937;  \Omega&lt;tab&gt;
&#956;  \mu&lt;tab&gt;
&#916;  \Delta&lt;tab&gt;
&#945;  \alpha&lt;tab&gt;</pre></div><i>Fichier C:\Users\User\Documents\Julia\mes_notebooks\unitful_test.jl</i><br />
<br />
<div style="margin-left:40px">DVP ne gérant toujours pas correctement les caractères Unicode Julia, je vous donne le code dans un bloc PRE.</div><br />
<div style="margin: 20px; margin-top: 5px"><pre class="alt2" style="border: 1px inset; padding: 5px">### A Pluto.jl notebook ###
# v0.12.21

using Markdown
using InteractiveUtils

# &#9556;&#9552;&#9569; edc89e80-7e55-11eb-1a83-f5b701337ad5
begin
	using PlutoUI, Unitful
	
	html&quot;&quot;&quot;&lt;style&gt;
	html {
		background-color: rgba(237, 196, 33, .55);
	}
	main {
		max-width: 1200px;
	}
	&lt;/style&gt;&quot;&quot;&quot;
end

# &#9556;&#9552;&#9569; 707796a0-7ff6-11eb-03f9-239bf8bbd81b
md&quot;### Tests du paquet Unitful
Ce paquet permet d'utiliser le système international d'unités&quot;

# &#9556;&#9552;&#9569; c2e42040-80ad-11eb-3452-cb40c524090e
md&quot;&quot;&quot;###### Documentations

+ [Unitful] (https://painterqubits.github.io/Unitful.jl/stable/)
+ [Unitful.jl/src/pkgdefaults.jl] (https://github.com/PainterQubits/Unitful.jl/blob/master/src/pkgdefaults.jl)
&quot;&quot;&quot;

# &#9556;&#9552;&#9569; 75748d20-8000-11eb-19f2-930bd7d3e58a
md&quot;Daniel Hagnoul 2021-03-08T12:20:42.048+01:00&quot;

# &#9556;&#9552;&#9569; cf9798c0-8252-11eb-26b8-d1e0ef8abae3
md&quot;Si Unitful vous renvoie une erreur, soyez certain qu'il y a une erreur dans votre code ou dans votre choix des unités. Le choix de l'unité correcte n'est pas toujours une évidence, ainsi le cas du coefficient d'expansion (`&#945; = 1.2e-5u\&quot;1/K\&quot;`) dans le chapitre Thermique.

Le Kelvin est une unité de référence (`@refunit  K \&quot;K\&quot; Kelvin`) et on n'écrit pas °K mais K.&quot;

# &#9556;&#9552;&#9569; f71d4fe2-8250-11eb-0f3e-b595971fccf4
md&quot;#### Cinématique&quot;

# &#9556;&#9552;&#9569; 04ec02b0-8251-11eb-063e-d77434ad938d
md&quot;&quot;&quot;| variables | équations |
| :---- | :---- |
| d distance en m | d = vi*t + 0.5*a*t^2 |
| v vitesse en m/s | d = (Vi^2 * t)/2 |
| t temps en s | Vf = Vi + at |
| a accélération en m/s^2 | vf^2 = vi^2 + 2*a*d |
&quot;&quot;&quot;

# &#9556;&#9552;&#9569; d1f4df20-8251-11eb-2387-07cb4cb2b13c
md&quot;###### Calculer la distance de freinage&quot;

# &#9556;&#9552;&#9569; 17fa0900-8257-11eb-18f4-9d7358b5986e
md&quot;&quot;&quot;
$(Resource(&quot;http://www.physicsclassroom.com/Class/1DKin/U1L6b1.gif&quot;, :width =&gt; 300))
&quot;&quot;&quot;

# &#9556;&#9552;&#9569; f4ec97c0-8251-11eb-3da8-d7cc91349851
let
	vi = 30u&quot;m/s&quot; # n'écrivez jamais u&quot;ms^-1&quot;
	vf = 0u&quot;m/s&quot;
	a = -8u&quot;m/s^2&quot;

	# on utilise vi^2 = vi^2 + 2ad
	d = (vf^2 - vi^2) / (2a)

	Print(d)
end

# &#9556;&#9552;&#9569; 25592360-8252-11eb-1199-bbfa4d87e9c8
md&quot;###### Calculer la distance parcourue&quot;

# &#9556;&#9552;&#9569; 40a93a10-8257-11eb-062b-5b47eac4941d
md&quot;&quot;&quot;
$(Resource(&quot;http://www.physicsclassroom.com/Class/1DKin/U1L6b3.gif&quot;, :width =&gt; 300))
&quot;&quot;&quot;

# &#9556;&#9552;&#9569; 35e54880-8252-11eb-018c-a7bc3157a163
let
	t = 4.1u&quot;s&quot;
	vi = 0u&quot;m/s&quot;
	a = 6u&quot;m/s^2&quot;

	# on utilise d = vi*t + 0.5*a*t^2
	d = vi*t + 0.5*a*t^2

	Print(d)
end

# &#9556;&#9552;&#9569; a5897a40-80ad-11eb-3f47-958f3a259f62
md&quot;#### Circuit électrique série simple&quot;

# &#9556;&#9552;&#9569; d1f38d50-8256-11eb-1920-012aa9456465
md&quot;&quot;&quot;
$(Resource(&quot;https://www.allaboutcircuits.com/uploads/articles/series-multiple-resistors-circuit.jpg&quot;, :width =&gt; 400))
&quot;&quot;&quot;

# &#9556;&#9552;&#9569; b6593810-80ad-11eb-1e81-d97f709260ef
let
	#=
	De https://github.com/PainterQubits/Unitful.jl/blob/master/src/pkgdefaults.jl

	@unit V  &quot;V&quot;    Volt    1W/A      true
	@unit &#937;  &quot;&#937;&quot;    Ohm     1V/A      true

	@refunit  A     &quot;A&quot;     Ampere    &#119816;   true
	=#

	E = 9u&quot;V&quot;
	R1 = 3u&quot;k&#937;&quot;
	R2 = 10u&quot;k&#937;&quot;
	R3 = 5u&quot;k&#937;&quot;
	Rt = R1 + R2 + R3
	I = uconvert(u&quot;&#956;A&quot;, E / Rt)

	#=
	Maintenant que nous connaissons la quantité de courant à travers chaque résistance, 
	nous pouvons utiliser la loi d'Ohm pour déterminer la chute de tension à travers 
	chacune d'elles.
	=#
	
	Er1 = uconvert(u&quot;V&quot;, I * R1)
	Er2 = uconvert(u&quot;V&quot;, I * R2)
	Er3 = uconvert(u&quot;V&quot;, I * R3)

	with_terminal() do
		@show Rt
		@show I
		@show Er1
		@show Er2
		@show Er3
	end
end

# &#9556;&#9552;&#9569; 8085acc0-8254-11eb-05eb-319e60ef70c6
md&quot;### Thermique&quot;

# &#9556;&#9552;&#9569; a33315f0-8254-11eb-277b-390f6f5fdaca
md&quot;&quot;&quot;| variables | équations |
| :---- | :---- |
| L0 la longueur à l'origine en m | &#916;L = &#945; * L0 * &#916;T |
| &#916;L la différence de longueur en m | L = L0 * ( 1 + &#945; * &#916;T) |
| &#916;T la différence de température en °C |  |
| &#945; le coéfficient d'expansion Iron 1.2e-5 en 1/k |  |
&quot;&quot;&quot;

# &#9556;&#9552;&#9569; 87c0a600-8256-11eb-2bf6-ad3f53aafafd
md&quot;&quot;&quot;
$(Resource(&quot;https://x-engineer.org/wp-content/uploads/2017/12/Suspension-bridge.jpg?cdbae2&amp;cdbae2&quot;, :width =&gt; 400))
&quot;&quot;&quot;

# &#9556;&#9552;&#9569; 8a1619a0-8254-11eb-0c8a-abfd8ff47788
let
	L0 = 1500u&quot;m&quot;
	T0 = -20u&quot;°C&quot;
	Tf = 40u&quot;°C&quot;
	&#916;T = Tf - T0
	&#945; = 1.2e-5u&quot;1/K&quot;
	&#916;L = &#945; * L0 * &#916;T

	with_terminal() do
		@show (&#916;L, &#916;L + L0)
	end
end

# &#9556;&#9552;&#9569; Cell order:
# &#9567;&#9472;edc89e80-7e55-11eb-1a83-f5b701337ad5
# &#9567;&#9472;707796a0-7ff6-11eb-03f9-239bf8bbd81b
# &#9567;&#9472;c2e42040-80ad-11eb-3452-cb40c524090e
# &#9567;&#9472;75748d20-8000-11eb-19f2-930bd7d3e58a
# &#9567;&#9472;cf9798c0-8252-11eb-26b8-d1e0ef8abae3
# &#9567;&#9472;f71d4fe2-8250-11eb-0f3e-b595971fccf4
# &#9567;&#9472;04ec02b0-8251-11eb-063e-d77434ad938d
# &#9567;&#9472;d1f4df20-8251-11eb-2387-07cb4cb2b13c
# &#9567;&#9472;17fa0900-8257-11eb-18f4-9d7358b5986e
# &#9568;&#9552;f4ec97c0-8251-11eb-3da8-d7cc91349851
# &#9567;&#9472;25592360-8252-11eb-1199-bbfa4d87e9c8
# &#9567;&#9472;40a93a10-8257-11eb-062b-5b47eac4941d
# &#9568;&#9552;35e54880-8252-11eb-018c-a7bc3157a163
# &#9567;&#9472;a5897a40-80ad-11eb-3f47-958f3a259f62
# &#9567;&#9472;d1f38d50-8256-11eb-1920-012aa9456465
# &#9568;&#9552;b6593810-80ad-11eb-1e81-d97f709260ef
# &#9567;&#9472;8085acc0-8254-11eb-05eb-319e60ef70c6
# &#9567;&#9472;a33315f0-8254-11eb-277b-390f6f5fdaca
# &#9567;&#9472;87c0a600-8256-11eb-2bf6-ad3f53aafafd
# &#9568;&#9552;8a1619a0-8254-11eb-0c8a-abfd8ff47788
</pre></div><a href="https://creativecommons.org/licenses/by/2.0/be/" target="_blank">Licence Creative Commons Attribution 2.0 Belgique</a></blockquote>

]]></content:encoded>
			<dc:creator>danielhagnoul</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10067/julia-tests-paquet-unitful/</guid>
		</item>
		<item>
			<title>Julia est encore jeune, laissez-lui du temps !</title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10064/julia-jeune-laissez-lui-temps/</link>
			<pubDate>Wed, 10 Mar 2021 09:39:34 GMT</pubDate>
			<description>---Citation (Envoyé par...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><div class="bbcode_container">
	<div class="bbcode_quote">
		<div class="quote_container">
			<div class="bbcode_quote_container"></div>
			
				<div class="bbcode_postedby">
					<img src="https://forum.developpez.be/images/misc/quote_icon.png" alt="Citation" /> Envoyé par <strong>danielhagnoul</strong>
					<a href="showthread.php?p=11696858#post11696858" rel="nofollow"><img class="inlineimg" src="https://forum.developpez.be/images/buttons/viewpost-right.png" alt="Voir le message" /></a>
				</div>
				<div class="message">Python n'est très populaire dans l'enseignement que depuis quelques années seulement alors que <a href="https://fr.wikipedia.org/wiki/Python_(langage)" target="_blank">sa première version est parue le 1/02/1991</a> !<br />
<br />
Je pense que dans le futur, Julia ne remplacera jamais Python pour l'enseignement de la programmation, mais que les diplômés le rencontreront à leur travail.<br />
<br />
Julia est très utilisé dans le domaine universitaire, son lieu de naissance, mais son utilisation se répand au-dehors et il rencontre beaucoup de succès.<br />
<br />
Dans &quot;<a href="https://www.quora.com/What-companies-use-the-Julia-programming-language" target="_blank">What companies use the Julia programming language?</a>&quot;<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_quote">
		<div class="quote_container">
			<div class="bbcode_quote_container"></div>
			
				&quot;Apple, Amazon, Facebook, BlackRock, Ford, Oracle, Comcast, Massachusetts General Hospital, Farmers Insurance, Los Alamos National Laboratory et le National Renewable Energy Laboratory exigent ce langage de programmation comme un incontournable dans les compétences d'un candidat méritant.&quot;<br />
<br />
&quot;La liste comprend des personnes dans des institutions telles que la NASA, CISCO, MIT et Berkeley.&quot;
			
		</div>
	</div>
</div>Voir la page <a href="https://juliacomputing.com/case-studies/" target="_blank">Julia Computing</a><br />
<br />
Voir <a href="https://www.featuredcustomers.com/vendor/julia-computing/customers" target="_blank">Featured Customers That Trust Julia Computing</a><br />
<br />
Julia est un langage encore jeune, certains (dont je suis) pensent qu'il atteindra sa maturité avec la version 1.6 ou <a href="https://docs.julialang.org/en/v1.7-dev/NEWS/" target="_blank">1.7</a>. <br />
<br />
La 1.6 apporte plusieurs corrections et améliorations, la plus importante une très nette amélioration dans la gestion et la précompilation des paquets.<br />
<br />
Le forum anglophone de Julia est dynamique : <a href="https://discourse.julialang.org/" target="_blank">https://discourse.julialang.org/</a><br />
<br />
Articles :<br />
<br />
<ol class="decimal"><li style=""><a href="https://www.silkhom.com/julia-le-langage-de-programmation-qui-accelere-la-recherche-scientifique/#:~:text=Quelles%20entreprises%20utilisent%20le%20langage,pour%20le%20calcul%20des%20risques" target="_blank">JULIA, LE LANGAGE DE PROGRAMMATION QUI ACCÉLÈRE LA RECHERCHE SCIENTIFIQUE</a></li><li style=""><a href="https://korii.slate.fr/tech/informatique-recherche-julia-langage-programmation-code-transforme-accelere-science" target="_blank">Julia, le code informatique qui bouleverse la science</a></li><li style=""><a href="https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10020/pfizer-utilise-julia/" target="_blank">Pfizer utilise Julia</a></li><li style=""><a href="https://www.developpez.net/forums/blogs/285162-danielhagnoul/b9984/julia-accroissement-rapide-l-adoption-langage-julia/" target="_blank">Julia. Accroissement rapide de l'adoption du langage Julia</a></li></ol></div>
			
		</div>
	</div>
</div></blockquote>

]]></content:encoded>
			<dc:creator>danielhagnoul</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10064/julia-jeune-laissez-lui-temps/</guid>
		</item>
		<item>
			<title>Julia. Notebook Pluto sur Chrome avec VSCode.</title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10051/julia-notebook-pluto-chrome-vscode/</link>
			<pubDate>Fri, 05 Mar 2021 09:18:18 GMT</pubDate>
			<description><![CDATA[* Le 2021-03-03, j'utilise...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><ul><li style="">Le 2021-03-03, j'utilise Julia_1.6.0-rc1 sur VS_Code_1.53.2. Ordinateur : W10 Pro, i9-10900F.</li><li style=""><b>Préalables</b>, mes billets précédents sur Julia sont supposés connus et assimilés.</li></ul><br />
<br />
Pluto permet de créer une interface utilisateur en exécutant du code Julia dans une page web (codes HTML, CSS, JS), il utilise aussi le langage &quot;<a href="https://blog.wax-o.com/2014/04/tutoriel-un-guide-pour-bien-commencer-avec-markdown/" target="_blank">markdow</a>&quot;.<br />
<br />
<i><font size="3">Paquets</font></i><br />
<br />
<div style="margin-left:40px">Nous aurons besoin de plusieurs paquets, voici la liste actuelle de mes paquets :<br />
<br />
<div style="margin: 20px; margin-top: 5px"><pre class="alt2" style="border: 1px inset; padding: 5px">
  [336ed68f] CSV v0.8.4
  [159f3aea] Cairo v1.0.5
  [5ae59095] Colors v0.12.6
  [a93c6f00] DataFrames v0.22.5
  [864edb3b] DataStructures v0.18.9
  [0c46a032] DifferentialEquations v6.16.0
  [186bb1d3] Fontconfig v0.4.0
  [ac1192a8] HypertextLiteral v0.5.2
  [7073ff75] IJulia v1.23.2
  [6218d12a] ImageMagick v1.1.6
  [916415d5] Images v0.23.3
  [c8e1da08] IterTools v1.3.0
  [b964fa9f] LaTeXStrings v1.2.0
  [7eb4fadd] Match v1.1.0
  [c03570c3] Memoize v0.4.4
  [ccf2f8ad] PlotThemes v2.0.1
  [91a5bcdd] Plots v1.10.6
  [c3e4b0f8] Pluto v0.12.21
  [7f904dfe] PlutoUI v0.7.2
  [1a8c2f83] Query v1.0.0
  [f269a46b] TimeZones v1.5.3
  [44d3d7a6] Weave v0.10.6
  [1a1011a3] SharedArrays
</pre></div>Dans ce billet nous utiliserons :<br />
<br />
 <div style="margin: 20px; margin-top: 5px"><pre class="alt2" style="border: 1px inset; padding: 5px">  
  [0c46a032] DifferentialEquations v6.16.0
  [ccf2f8ad] PlotThemes v2.0.1
  [91a5bcdd] Plots v1.10.6
  [c3e4b0f8] Pluto v0.12.21
  [7f904dfe] PlutoUI v0.7.2
  [f269a46b] TimeZones v1.5.3
</pre></div></div><i><font size="3">Pluto</font></i><br />
<br />
<div style="margin-left:40px">On commence par créer le nouveau dossier &quot;mes_notebooks&quot; à l'emplacement adéquat. Chez moi, cet endroit se nomme : &quot;C:\Users\User\Documents\Julia&quot;.<br />
<br />
Dans l'explorateur de fichier, on clique droit sur &quot;mes_notebooks&quot; et on choisit l'option &quot;Ouvrir avec Code&quot;, résultat on ouvre VSCode dans le bon dossier.<br />
<br />
Dans ce dossier on crée le fichier &quot;init.jl&quot;, contenu ci_dessous :</div><br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code Julia :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:72px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">using</span> Pluto
&nbsp;
Pluto.run<span class="br0">&#40;</span><span class="br0">&#41;</span></pre></td></tr></table></pre>
</div><br />
<div style="margin-left:40px">Ce fichier étant ouvert et le curseur à la fin du fichier, on tape ensemble les touches &lt;maj&gt; et &lt;entrée&gt;. Ce qui ouvre le terminal &quot;Julia REPL&quot; (cela prend un peu de temps la première fois) et exécute le contenu du fichier. Résultat Chrome s'ouvre en affichant Pluto.<br />
<br />
Au bas de la page web, cliquer sur &quot;Create a new notebook&quot;. Après le chargement, le notebook est disponible, vous pouvez taper du code dans la cellule. Nous allons charger les paquets nécessaires, initier Plots avec GR, mettre en place un thème pour les graphiques et améliorer le contraste (j'ai des problèmes de vues).</div><br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code Julia :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:180px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">begin</span>
	<span style="color: #0000ff;">using</span> PlutoUI, DifferentialEquations, PlotThemes, Plots
	gr<span class="br0">&#40;</span><span class="br0">&#41;</span>
	theme<span class="br0">&#40;</span>:juno<span class="br0">&#41;</span>
&nbsp;
	html<span style="color: #FF0000;">&quot;&quot;&quot;&lt;style&gt;</span>
<span style="color: #FF0000;">	main {</span>
<span style="color: #FF0000;">		max-width: 1000px;</span>
<span style="color: #FF0000;">		background-color: rgba(55, 55, 128, .35);</span>
<span style="color: #FF0000;">	}</span>
<span style="color: #FF0000;">	&quot;&quot;&quot;</span>
<span style="color: #0000ff;">end</span></pre></td></tr></table></pre>
</div><br />
<div style="margin-left:40px">La valeur de &quot;max-width&quot; dépend de la largeur disponible sur votre écran, j'ai un 27 pouces et j'utilise souvent 1500px.<br />
<br />
Pour exécuter le contenu de la cellule, il y a deux méthodes disponibles :<br />
<br />
<ol class="decimal"><li style="">Taper ensemble les touches &lt;maj&gt; et &lt;entrée&gt;</li><li style="">Taper ensemble les touches &lt;ctrl&gt; et &lt;entrée&gt;</li></ol><br />
<br />
La deuxième méthode exécute la cellule en cours et ouvre la cellule suivante.<br />
<br />
Lorsque le curseur est dans la cellule, il y a de petits boutons presque invisibles pour moi, ils deviennent plus visibles lorsque le curseur s'en approche. On peut supprimer la cellule à droite, on peut exécuter la cellule, en bas à droite, on peut cacher le code en haut à gauche et on peut ouvrir une nouvelle cellule en bas à gauche.<br />
<br />
Lorsque vous exécutez la cellule, en bas à droite à côté de la flèche, il y a un compteur de temps, pour l'instant il indique : 6.8 s.<br />
<br />
Pour sauvegardez le notebook cliquer en haut sur le texte &quot;Save notebook...&quot;, comme nous sommes parti du fichier &quot;init&quot; dans notre dossier &quot;mes_notebooks&quot; il se transforme automatiquement en &quot;C:\Users\User\Documents\Julia\mes_notebooks\&quot; et il ouvre un menu qui propose &quot;init.jl&quot; en première option, bien entendu il faut choisir un autre nom ou cliquer sur l'option &quot;notebook.jl&quot;, ce que nous faisons ici.<br />
<br />
Fermer Chrome, revenir dans VSCode, placer le curseur dans le terminal &quot;Julia REPL&quot; et taper ensemble sur les touches &lt;ctrl&gt;&lt;c&gt; pour fermer la session Pluto. Tuer le terminal pour repartir sur de nouvelles bases.</div><br />
<i><font size="3">Nouvelle session Pluto</font></i><br />
<br />
<div style="margin-left:40px">Le fichier &quot;init.jl&quot; étant ouvert et le curseur à la fin du fichier, on clique ensemble les touches &lt;maj&gt; et &lt;entrée&gt;. Ce qui ouvre le terminal &quot;Julia REPL&quot; et exécute le contenu du fichier. Résultat Chrome s'ouvre en affichant Pluto. Au bas de la page web, cliquer sur &quot;mes_notebooks\notebook.jl&quot;. Après le chargement, le notebook est disponible.<br />
<br />
Vous pouvez cacher la première cellule, bouton en haut à gauche. Vous pouvez la rouvrir si nécessaire, en cliquant au même endroit.<br />
<br />
Nous allons créer un &quot;slider&quot; et afficher sa valeur.<br />
<br />
<span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">md<span style="color: #FF0000;">&quot;m : <span style="color: #800000;">$(@bind m Slider(1:10, default=5, show_value=true))</span>&quot;</span></span>.<br />
<br />
Vous pouvez écrire <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #339933;">@bind</span> m Slider<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span>:<span style="color: #cc66cc;">10</span>, default=<span style="color: #cc66cc;">5</span>, show_value=<span style="color: #339933;">true</span><span class="br0">&#41;</span></span> mais si vous voulez le nom de la variable devant le &quot;slider&quot; il faut inclure ce code dans le langage &quot;markdown&quot; : md&quot;m : $()&quot;.<br />
<br />
À vous la suite, voici un <a href="https://danielhagnoul.developpez.com/blog/julia/notebook.jl.html" target="_blank">lien</a> vers une version statique HTML de mon &quot;notebook&quot; &quot;Mes premiers pas avec Pluto&quot;.<br />
<br />
Fermer Chrome, revenir dans VSCode, placer le curseur dans le terminal &quot;Julia REPL&quot; et taper ensemble sur les touches &lt;ctrl&gt;&lt;c&gt; pour fermer la session Pluto. Tuer le terminal pour repartir sur de nouvelles bases.</div><br />
<i><font size="3">Nouvelle session Pluto en ouvrant un &quot;notebook&quot; externe</font></i><br />
<br />
<div style="margin-left:40px">On commence par copier-coller le code ci-dessous dans votre dossier &quot;mes_notebooks&quot;.</div><br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code Julia :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">### A Pluto.jl notebook ###</span>
<span style="color: #808080;"># v0.12.21</span>
&nbsp;
<span style="color: #0000ff;">using</span> Markdown
<span style="color: #0000ff;">using</span> InteractiveUtils
&nbsp;
<span style="color: #808080;"># This Pluto notebook uses @bind for interactivity. When running this notebook outside of Pluto, the following 'mock version' of @bind gives bound variables a default value (instead of an error).</span>
<span style="color: #0000ff;">macro</span> bind<span class="br0">&#40;</span>def, element<span class="br0">&#41;</span>
    <span style="color: #0000ff;">quote</span>
        <span style="color: #0000ff;">local</span> el = $<span class="br0">&#40;</span>esc<span class="br0">&#40;</span>element<span class="br0">&#41;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">global</span> $<span class="br0">&#40;</span>esc<span class="br0">&#40;</span>def<span class="br0">&#41;</span><span class="br0">&#41;</span> = <span style="color: #0080ff;">Core</span>.applicable<span class="br0">&#40;</span><span style="color: #0080ff;">Base</span>.get, el<span class="br0">&#41;</span> ? <span style="color: #0080ff;">Base</span>.get<span class="br0">&#40;</span>el<span class="br0">&#41;</span> : <span style="color: #339933;">missing</span>
        el
    <span style="color: #0000ff;">end</span>
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; 89df9682-7b94-11eb-39a5-2f696f5ca3ba</span>
<span style="color: #0000ff;">begin</span>
	<span style="color: #0000ff;">using</span> PlutoUI, Dates, TimeZones, PlotThemes, Plots, DifferentialEquations
	gr<span class="br0">&#40;</span><span class="br0">&#41;</span>
	theme<span class="br0">&#40;</span>:juno<span class="br0">&#41;</span>
	TimeZones.build<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
	html<span style="color: #FF0000;">&quot;&quot;&quot;&lt;style&gt;</span>
<span style="color: #FF0000;">	main {</span>
<span style="color: #FF0000;">		max-width: 1000px;</span>
<span style="color: #FF0000;">		background-color: rgba(237, 196, 33, .55);</span>
<span style="color: #FF0000;">	}</span>
<span style="color: #FF0000;">	&quot;&quot;&quot;</span>
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; 9529ec10-7ccb-11eb-2747-a7ef8617ee32</span>
md<span style="color: #FF0000;">&quot;### ODE Lorentz&quot;</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; 9689f560-7d88-11eb-3586-fb21f55ed458</span>
<span style="color: #0000ff;">begin</span>
	zdt = ZonedDateTime<span class="br0">&#40;</span>DateTime<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;2021-03-05T08:54:48.908+01:00&quot;</span>, <span style="color: #FF0000;">&quot;yyyy-mm-ddTHH:MM:SS.ssszz&quot;</span><span class="br0">&#41;</span>, tz<span style="color: #FF0000;">&quot;Europe/Brussels&quot;</span><span class="br0">&#41;</span>
	md<span style="color: #FF0000;">&quot;Daniel Hagnoul $zdt&quot;</span>
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; a3d3e000-7b94-11eb-27c5-434ad0dbf8ae</span>
<span style="color: #0000ff;">function</span> parameterized_lorenz!<span class="br0">&#40;</span>du,u,p,t<span class="br0">&#41;</span>
     x,y,z = u
     &sigma;,&rho;,&beta; = p
     du<span class="br0">&#91;</span><span style="color: #cc66cc;">1</span><span class="br0">&#93;</span> = dx = &sigma;*<span class="br0">&#40;</span>y-x<span class="br0">&#41;</span>
     du<span class="br0">&#91;</span><span style="color: #cc66cc;">2</span><span class="br0">&#93;</span> = dy = x*<span class="br0">&#40;</span>&rho;-z<span class="br0">&#41;</span> - y
     du<span class="br0">&#91;</span><span style="color: #cc66cc;">3</span><span class="br0">&#93;</span> = dz = x*y - &beta;*z
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; b20be3c0-7d88-11eb-11b4-fb1858161fb1</span>
md<span style="color: #FF0000;">&quot;x : <span style="color: #800000;">$(@bind x Slider(1:3, default=1, show_value=true))</span></span>
&nbsp;
<span style="color: #FF0000;">y : <span style="color: #800000;">$(@bind y Slider(0:3, default=0, show_value=true))</span></span>
&nbsp;
<span style="color: #FF0000;">z : <span style="color: #800000;">$(@bind z Slider(0:3, default=0, show_value=true))</span></span>
&nbsp;
<span style="color: #FF0000;">sigma : <span style="color: #800000;">$(@bind sigma Slider(6:14, default=10, show_value=true))</span></span>
&nbsp;
<span style="color: #FF0000;">rho : <span style="color: #800000;">$(@bind rho Slider(24:32, default=28, show_value=true))</span></span>
&nbsp;
<span style="color: #FF0000;">beta : <span style="color: #800000;">$(@bind beta Slider(2.0:0.1:3.0, default=2.67, show_value=true))</span></span>
&nbsp;
<span style="color: #FF0000;">ts : <span style="color: #800000;">$(@bind ts Slider(1:5:200, default=80, show_value=true))</span>&quot;</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; c81f68ce-7b94-11eb-3a16-df6d15044c76</span>
<span style="color: #0000ff;">begin</span>
	u0 = <span class="br0">&#91;</span>x; y; z<span class="br0">&#93;</span>
	tspan = <span class="br0">&#40;</span><span style="color: #cc66cc;">0.0</span>, ts<span class="br0">&#41;</span>
	p = <span class="br0">&#91;</span>sigma, rho, beta<span class="br0">&#93;</span>
&nbsp;
	prob = ODEProblem<span class="br0">&#40;</span>parameterized_lorenz!, u0, tspan, p<span class="br0">&#41;</span>
	sol = solve<span class="br0">&#40;</span>prob<span class="br0">&#41;</span>
&nbsp;
	plot<span class="br0">&#40;</span>sol, vars=<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">3</span><span class="br0">&#41;</span>, gridlinewidth=<span style="color: #cc66cc;">3.0</span>, legend=:none<span class="br0">&#41;</span>
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; Cell order:</span>
<span style="color: #808080;"># &#9567;&#9472;89df9682-7b94-11eb-39a5-2f696f5ca3ba</span>
<span style="color: #808080;"># &#9567;&#9472;9529ec10-7ccb-11eb-2747-a7ef8617ee32</span>
<span style="color: #808080;"># &#9567;&#9472;9689f560-7d88-11eb-3586-fb21f55ed458</span>
<span style="color: #808080;"># &#9568;&#9552;a3d3e000-7b94-11eb-27c5-434ad0dbf8ae</span>
<span style="color: #808080;"># &#9567;&#9472;b20be3c0-7d88-11eb-11b4-fb1858161fb1</span>
<span style="color: #808080;"># &#9568;&#9552;c81f68ce-7b94-11eb-3a16-df6d15044c76</span></pre></td></tr></table></pre>
</div><br />
<div style="margin-left:40px">Le fichier &quot;init.jl&quot; étant ouvert et le curseur à la fin du fichier, on clique ensemble les touches &lt;maj&gt; et &lt;entrée&gt;. Ce qui ouvre le terminal &quot;Julia REPL&quot; et exécute le contenu du fichier. Résultat Chrome s'ouvre en affichant Pluto.<br />
<br />
Revenir dans VSCode, placer le curseur sur le nom du nouveau &quot;notebook&quot;, chez moi &quot;lorentz.jl&quot;. Faire un clic droit et sélectionner &quot;Copier le chemin&quot;. Retourner dans la page Pluto, cliquer dans le menu &quot;Enter Path or URL...&quot; et taper &lt;ctrl&gt;&lt;v&gt; pour entrer le chemin de notre nouveau &quot;notebook&quot;. Cliquer sur &quot;Open&quot; ouvrira le &quot;notebook Lorentz&quot;.<br />
<br />
Amuser vous avec les &quot;sliders&quot;, pour voir les codes il faut rendre les cellules visibles, ce que vous savez déjà faire.</div><br />
<i><font size="3">Code source du &quot;notebook&quot; &quot;Mes premiers pas avec Pluto&quot;</font></i><br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code Julia :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">### A Pluto.jl notebook ###</span>
<span style="color: #808080;"># v0.12.21</span>
&nbsp;
<span style="color: #0000ff;">using</span> Markdown
<span style="color: #0000ff;">using</span> InteractiveUtils
&nbsp;
<span style="color: #808080;"># This Pluto notebook uses @bind for interactivity. When running this notebook outside of Pluto, the following 'mock version' of @bind gives bound variables a default value (instead of an error).</span>
<span style="color: #0000ff;">macro</span> bind<span class="br0">&#40;</span>def, element<span class="br0">&#41;</span>
    <span style="color: #0000ff;">quote</span>
        <span style="color: #0000ff;">local</span> el = $<span class="br0">&#40;</span>esc<span class="br0">&#40;</span>element<span class="br0">&#41;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">global</span> $<span class="br0">&#40;</span>esc<span class="br0">&#40;</span>def<span class="br0">&#41;</span><span class="br0">&#41;</span> = <span style="color: #0080ff;">Core</span>.applicable<span class="br0">&#40;</span><span style="color: #0080ff;">Base</span>.get, el<span class="br0">&#41;</span> ? <span style="color: #0080ff;">Base</span>.get<span class="br0">&#40;</span>el<span class="br0">&#41;</span> : <span style="color: #339933;">missing</span>
        el
    <span style="color: #0000ff;">end</span>
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; 1a109d00-7c01-11eb-3abf-4f4a68e9116d</span>
<span style="color: #0000ff;">begin</span>
	<span style="color: #0000ff;">using</span> PlutoUI, DifferentialEquations, PlotThemes, Plots
	gr<span class="br0">&#40;</span><span class="br0">&#41;</span>
	theme<span class="br0">&#40;</span>:juno<span class="br0">&#41;</span>
&nbsp;
	html<span style="color: #FF0000;">&quot;&quot;&quot;&lt;style&gt;</span>
<span style="color: #FF0000;">	main {</span>
<span style="color: #FF0000;">		max-width: 1000px;</span>
<span style="color: #FF0000;">		background-color: rgba(237, 196, 33, .55);</span>
<span style="color: #FF0000;">	}</span>
<span style="color: #FF0000;">	&quot;&quot;&quot;</span>
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; 37f8d590-7cc8-11eb-2268-5d36dc6d9ad2</span>
md<span style="color: #FF0000;">&quot;### Mes premiers pas avec Pluto&quot;</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; 54b4f1a0-7cc8-11eb-1dbd-31683c668a4b</span>
md<span style="color: #FF0000;">&quot;##### Un slider&quot;</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; 015ca210-7c09-11eb-0e19-9114b50da274</span>
md<span style="color: #FF0000;">&quot;m : <span style="color: #800000;">$(@bind m Slider(1:10, default=5, show_value=true))</span>&quot;</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; 14424450-7cc9-11eb-1df9-dd7e16252857</span>
md<span style="color: #FF0000;">&quot;##### Print()&quot;</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; 4789bbbe-7c0d-11eb-16cc-03feb7b380fa</span>
Print<span class="br0">&#40;</span>m .* rand<span class="br0">&#40;</span><span style="color: #cc66cc;">10</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; 2d7d9e10-7cc9-11eb-0535-6533266eeb44</span>
md<span style="color: #FF0000;">&quot;##### Conseil pour afficher une valeur&quot;</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; 0400ceb0-7cc7-11eb-0f77-fd0bddafadba</span>
md<span style="color: #FF0000;">&quot;Vous ne pouvez pas utiliser print, println, @show ou |&gt; println directement, le r&eacute;sultat s'afficherai alors dans le terminal VSCode. Il faut utiliser Print() ou with_terminal(), exemple ci-dessous.&quot;</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; 6d761cde-7cc9-11eb-34c0-e76fa559d14a</span>
md<span style="color: #FF0000;">&quot;##### with_terminal() do&quot;</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; 834cb2b2-7cc7-11eb-0302-ed67a6187dc2</span>
with_terminal<span class="br0">&#40;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">do</span>
	<span style="color: #339933;">@show</span> valeur = <span style="color: #cc66cc;">1</span> + <span style="color: #cc66cc;">1</span> &divide; <span style="color: #cc66cc;">2</span>
	<span style="color: #cc66cc;">1</span> + <span style="color: #cc66cc;">1</span> &divide; <span style="color: #cc66cc;">2</span> |&gt; println
	println<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Le r&eacute;sultat de mon calcul est <span style="color: #800000;">$(1 + 1 &divide; 2)</span>&quot;</span><span class="br0">&#41;</span>
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; 7da729b0-7cc9-11eb-2a19-11d4b2fbb9e0</span>
md<span style="color: #FF0000;">&quot;##### Plot&quot;</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; c62b56f0-7cc6-11eb-2d00-3bffaa0bb1af</span>
plot<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span>:<span style="color: #cc66cc;">10</span>, log.<span class="br0">&#40;</span>m .* rand<span class="br0">&#40;</span><span style="color: #cc66cc;">10</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
<span style="color: #808080;"># &#9556;&#9552;&#9569; Cell order:</span>
<span style="color: #808080;"># &#9567;&#9472;1a109d00-7c01-11eb-3abf-4f4a68e9116d</span>
<span style="color: #808080;"># &#9567;&#9472;37f8d590-7cc8-11eb-2268-5d36dc6d9ad2</span>
<span style="color: #808080;"># &#9567;&#9472;54b4f1a0-7cc8-11eb-1dbd-31683c668a4b</span>
<span style="color: #808080;"># &#9567;&#9472;015ca210-7c09-11eb-0e19-9114b50da274</span>
<span style="color: #808080;"># &#9567;&#9472;14424450-7cc9-11eb-1df9-dd7e16252857</span>
<span style="color: #808080;"># &#9567;&#9472;4789bbbe-7c0d-11eb-16cc-03feb7b380fa</span>
<span style="color: #808080;"># &#9567;&#9472;2d7d9e10-7cc9-11eb-0535-6533266eeb44</span>
<span style="color: #808080;"># &#9567;&#9472;0400ceb0-7cc7-11eb-0f77-fd0bddafadba</span>
<span style="color: #808080;"># &#9567;&#9472;6d761cde-7cc9-11eb-34c0-e76fa559d14a</span>
<span style="color: #808080;"># &#9567;&#9472;834cb2b2-7cc7-11eb-0302-ed67a6187dc2</span>
<span style="color: #808080;"># &#9567;&#9472;7da729b0-7cc9-11eb-2a19-11d4b2fbb9e0</span>
<span style="color: #808080;"># &#9567;&#9472;c62b56f0-7cc6-11eb-2d00-3bffaa0bb1af</span></pre></td></tr></table></pre>
</div><br />
<a href="https://creativecommons.org/licenses/by/2.0/be/" target="_blank">Licence Creative Commons Attribution 2.0 Belgique</a></blockquote>

]]></content:encoded>
			<dc:creator>danielhagnoul</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10051/julia-notebook-pluto-chrome-vscode/</guid>
		</item>
		<item>
			<title>Changer de version Julia.</title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10048/changer-version-julia/</link>
			<pubDate>Thu, 04 Mar 2021 08:25:28 GMT</pubDate>
			<description>Je change souvent de version...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Je change souvent de version Julia et les paquets que j'utilise, je détruis à chaque fois le dossier &quot;.julia&quot; (attention, il y a un point avant &quot;julia&quot;). Chez moi : <div style="margin: 20px; margin-top: 5px"><pre class="alt2" style="border: 1px inset; padding: 5px">&quot;C:\Users\User\.julia&quot;</pre></div>On repart ainsi sur des bases saines sans traîner des fichiers inutiles. <br />
<br />
Lorsque vous avez supprimé le dossier de la version Julia précédente, chez moi : <div style="margin: 20px; margin-top: 5px"><pre class="alt2" style="border: 1px inset; padding: 5px">&quot;C:\Users\User\AppData\Local\Programs\&quot;</pre></div>Vous pouvez installer la dernière version de Julia ou une version de test (rc).<br />
<br />
Si VSCode ne trouve pas votre nouvelle version de Julia, dans VSCode il faut ouvrir &quot;Fichier/Préférences/Paramètres&quot;. <br />
<br />
Au centre, dans la colonne de gauche, cliquer sur &quot;Extensions&quot; puis dans le menu qui vient de s'ouvrir sur &quot;Julia&quot;. Dans la colonne de droite, dérouler jusqu'à &quot;Julia: Executable Path&quot; et entrer le path vers la nouvelle version, chez moi : <div style="margin: 20px; margin-top: 5px"><pre class="alt2" style="border: 1px inset; padding: 5px">&quot;C:\Users\User\AppData\Local\Programs\Julia-1.6.0-rc1\bin\julia.exe&quot;</pre></div>Fermez le volet Paramètres.<br />
<br />
Vous pouvez recharger vos paquets, ce qui recréera automatiquement le dossier : <div style="margin: 20px; margin-top: 5px"><pre class="alt2" style="border: 1px inset; padding: 5px">&quot;C:\Users\User\.julia&quot;</pre></div>Pour le débutant qui ne se rappelle pas comment charger un paquet, voir : <div style="margin: 20px; margin-top: 5px"><pre class="alt2" style="border: 1px inset; padding: 5px">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b9856/julia-premiers-debutant/</pre></div><a href="https://creativecommons.org/licenses/by/2.0/be/" target="_blank">Licence Creative Commons Attribution 2.0 Belgique</a></blockquote>

]]></content:encoded>
			<dc:creator>danielhagnoul</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10048/changer-version-julia/</guid>
		</item>
		<item>
			<title><![CDATA[Julia. Compter le nombre de mots et, dans l'ordre alphabétique, le nombre de chaque mot.]]></title>
			<link>https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10032/julia-compter-nombre-mots-l-ordre-alphabetique-nombre/</link>
			<pubDate>Thu, 18 Feb 2021 20:51:02 GMT</pubDate>
			<description>Pour mémoire 
 
1. Version JS...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><i>Pour mémoire</i><br />
<ol class="decimal"><li style="">Version JS : <a href="https://www.developpez.net/forums/blogs/285162-danielhagnoul/b1631/knombremots-retourne-nombre-mots-l-ordre-alphabetique-nombre/" target="_blank">https://www.developpez.net/forums/bl...etique-nombre/</a></li><li style="">Version Python : <a href="https://www.developpez.net/forums/blogs/285162-danielhagnoul/b8393/python-compter-nombre-mots-lordre-alphabetique-nombre/" target="_blank">https://www.developpez.net/forums/bl...etique-nombre/</a></li></ol><br />
<br />
<i>Version Julia</i><br />
<ul><li style="">Le 2021-02-18, j'utilise Julia_1.6.0-rc1 sur VS_Code_1.53.2. Ordinateur : W10 Pro, i9-10900F.</li><li style=""><b>Préalables</b>, mes billets précédents sur Julia sont supposés connus et assimilés.</li></ul><br />
<br />
<div style="margin-left:40px">Pour un débutant en Julia, ce n'est absolument pas évident, car il faut connaître :<br />
<ol class="decimal"><li style="">l'existence de counter() dans le paquet DataStructures,</li><li style="">l'utilisation d'une regex avec findall()</li><li style="">les subtilités du tri en UTF-8 (par défaut, Julia trie par ordre de point de code ce qui renvoie les mots commençant par une lettre accentuée à la fin de la liste).</li></ol></div><br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code Julia :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">using</span> DataStructures
&nbsp;
<span style="color: #0000ff;">const</span> accentdict = Dict<span class="br0">&#40;</span>
    <span style="color: #FF0000;">'&Agrave;'</span>=&gt; <span style="color: #FF0000;">'A'</span>, <span style="color: #FF0000;">'&Aacute;'</span>=&gt; <span style="color: #FF0000;">'A'</span>, <span style="color: #FF0000;">'&Acirc;'</span>=&gt; <span style="color: #FF0000;">'A'</span>, <span style="color: #FF0000;">'&Atilde;'</span>=&gt; <span style="color: #FF0000;">'A'</span>, <span style="color: #FF0000;">'&Auml;'</span>=&gt; <span style="color: #FF0000;">'A'</span>,
    <span style="color: #FF0000;">'&Aring;'</span>=&gt; <span style="color: #FF0000;">'A'</span>, <span style="color: #FF0000;">'&Ccedil;'</span>=&gt; <span style="color: #FF0000;">'C'</span>, <span style="color: #FF0000;">'&Egrave;'</span>=&gt; <span style="color: #FF0000;">'E'</span>, <span style="color: #FF0000;">'&Eacute;'</span>=&gt; <span style="color: #FF0000;">'E'</span>,
    <span style="color: #FF0000;">'&Ecirc;'</span>=&gt; <span style="color: #FF0000;">'E'</span>, <span style="color: #FF0000;">'&Euml;'</span>=&gt; <span style="color: #FF0000;">'E'</span>, <span style="color: #FF0000;">'&Igrave;'</span>=&gt; <span style="color: #FF0000;">'I'</span>, <span style="color: #FF0000;">'&Iacute;'</span>=&gt; <span style="color: #FF0000;">'I'</span>, <span style="color: #FF0000;">'&Icirc;'</span>=&gt; <span style="color: #FF0000;">'I'</span>,
    <span style="color: #FF0000;">'&Iuml;'</span>=&gt; <span style="color: #FF0000;">'I'</span>, <span style="color: #FF0000;">'&Ntilde;'</span>=&gt; <span style="color: #FF0000;">'N'</span>, <span style="color: #FF0000;">'&Ograve;'</span>=&gt; <span style="color: #FF0000;">'O'</span>, <span style="color: #FF0000;">'&Oacute;'</span>=&gt; <span style="color: #FF0000;">'O'</span>,
    <span style="color: #FF0000;">'&Ocirc;'</span>=&gt; <span style="color: #FF0000;">'O'</span>, <span style="color: #FF0000;">'&Otilde;'</span>=&gt; <span style="color: #FF0000;">'O'</span>, <span style="color: #FF0000;">'&Ouml;'</span>=&gt; <span style="color: #FF0000;">'O'</span>, <span style="color: #FF0000;">'&Ugrave;'</span>=&gt; <span style="color: #FF0000;">'U'</span>, <span style="color: #FF0000;">'&Uacute;'</span>=&gt; <span style="color: #FF0000;">'U'</span>,
    <span style="color: #FF0000;">'&Ucirc;'</span>=&gt; <span style="color: #FF0000;">'U'</span>, <span style="color: #FF0000;">'&Uuml;'</span>=&gt; <span style="color: #FF0000;">'U'</span>, <span style="color: #FF0000;">'&Yacute;'</span>=&gt; <span style="color: #FF0000;">'Y'</span>, <span style="color: #FF0000;">'&agrave;'</span>=&gt; <span style="color: #FF0000;">'a'</span>, <span style="color: #FF0000;">'&aacute;'</span>=&gt; <span style="color: #FF0000;">'a'</span>,
    <span style="color: #FF0000;">'&acirc;'</span>=&gt; <span style="color: #FF0000;">'a'</span>, <span style="color: #FF0000;">'&atilde;'</span>=&gt; <span style="color: #FF0000;">'a'</span>, <span style="color: #FF0000;">'&auml;'</span>=&gt; <span style="color: #FF0000;">'a'</span>, <span style="color: #FF0000;">'&aring;'</span>=&gt; <span style="color: #FF0000;">'a'</span>, <span style="color: #FF0000;">'&egrave;'</span>=&gt; <span style="color: #FF0000;">'e'</span>,
    <span style="color: #FF0000;">'&eacute;'</span>=&gt; <span style="color: #FF0000;">'e'</span>, <span style="color: #FF0000;">'&ecirc;'</span>=&gt; <span style="color: #FF0000;">'e'</span>, <span style="color: #FF0000;">'&euml;'</span>=&gt; <span style="color: #FF0000;">'e'</span>, <span style="color: #FF0000;">'&igrave;'</span>=&gt; <span style="color: #FF0000;">'i'</span>, <span style="color: #FF0000;">'&iacute;'</span>=&gt; <span style="color: #FF0000;">'i'</span>,
    <span style="color: #FF0000;">'&icirc;'</span>=&gt; <span style="color: #FF0000;">'i'</span>, <span style="color: #FF0000;">'&iuml;'</span>=&gt; <span style="color: #FF0000;">'i'</span>, <span style="color: #FF0000;">'&eth;'</span>=&gt; <span style="color: #FF0000;">'d'</span>, <span style="color: #FF0000;">'&ntilde;'</span>=&gt; <span style="color: #FF0000;">'n'</span>, <span style="color: #FF0000;">'&ograve;'</span>=&gt; <span style="color: #FF0000;">'o'</span>,
    <span style="color: #FF0000;">'&oacute;'</span>=&gt; <span style="color: #FF0000;">'o'</span>, <span style="color: #FF0000;">'&ocirc;'</span>=&gt; <span style="color: #FF0000;">'o'</span>, <span style="color: #FF0000;">'&otilde;'</span>=&gt; <span style="color: #FF0000;">'o'</span>, <span style="color: #FF0000;">'&ouml;'</span>=&gt; <span style="color: #FF0000;">'o'</span>, <span style="color: #FF0000;">'&ugrave;'</span>=&gt; <span style="color: #FF0000;">'u'</span>, 
    <span style="color: #FF0000;">'&uacute;'</span>=&gt; <span style="color: #FF0000;">'u'</span>, <span style="color: #FF0000;">'&ucirc;'</span>=&gt; <span style="color: #FF0000;">'u'</span>, <span style="color: #FF0000;">'&uuml;'</span>=&gt; <span style="color: #FF0000;">'u'</span>, <span style="color: #FF0000;">'&yacute;'</span>=&gt; <span style="color: #FF0000;">'y'</span>, <span style="color: #FF0000;">'&yuml;'</span>=&gt; <span style="color: #FF0000;">'y'</span><span class="br0">&#41;</span>
&nbsp;
<span style="color: #0000ff;">function</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span style="color: #808080;"># pour le tri avec accent</span>
    <span style="color: #0000ff;">function</span> tr<span class="br0">&#40;</span>str, dict=accentdict<span class="br0">&#41;</span>
        <span style="color: #0000ff;">for</span> <span class="br0">&#40;</span>i, ch<span class="br0">&#41;</span> <span style="color: #0080ff;">in</span> enumerate<span class="br0">&#40;</span>str<span class="br0">&#41;</span>
            <span style="color: #0000ff;">if</span> haskey<span class="br0">&#40;</span>dict, ch<span class="br0">&#41;</span>
                arr = split<span class="br0">&#40;</span>str, <span style="color: #FF0000;">&quot;&quot;</span><span class="br0">&#41;</span>
                arr<span class="br0">&#91;</span>i<span class="br0">&#93;</span> = string<span class="br0">&#40;</span>dict<span class="br0">&#91;</span>ch<span class="br0">&#93;</span><span class="br0">&#41;</span>
                str = join<span class="br0">&#40;</span>arr<span class="br0">&#41;</span>
            <span style="color: #0000ff;">end</span>
        <span style="color: #0000ff;">end</span>
        str
    <span style="color: #0000ff;">end</span>
&nbsp;
    isless<span class="br0">&#40;</span>x, y<span class="br0">&#41;</span> = tr<span class="br0">&#40;</span>x<span class="br0">&#41;</span> &lt; tr<span class="br0">&#40;</span>y<span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;"># texte</span>
    texte = <span style="color: #FF0000;">&quot;&quot;&quot;</span>
<span style="color: #FF0000;">        C'est l'&eacute;vad&eacute;, du N&eacute;vada.</span>
<span style="color: #FF0000;">        Qui s'&eacute;vada dans, la vall&eacute;e</span>
<span style="color: #FF0000;">        Dans la vall&eacute;e, du N&eacute;vada ?</span>
<span style="color: #FF0000;">        Qu'il d&eacute;vala, pour s'&eacute;vader</span>
<span style="color: #FF0000;">        Sur un vilain v&eacute;lo vol&eacute; !</span>
<span style="color: #FF0000;">        Qu'il a vol&eacute;, dans une villa</span>
<span style="color: #FF0000;">        Et le valet, qui fut vol&eacute;.</span>
<span style="color: #FF0000;">        Vit l'&eacute;vad&eacute;, qui s'envola</span>
<span style="color: #FF0000;">    &quot;&quot;&quot;</span>
&nbsp;
    texte_low = lowercase<span class="br0">&#40;</span>texte<span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;"># trouve les mots corespondants au contenu du regex</span>
    myregex = r<span style="color: #FF0000;">&quot;[a-zA-Z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]*&quot;</span> 
    words = map<span class="br0">&#40;</span>range-&gt;texte_low<span class="br0">&#91;</span>range<span class="br0">&#93;</span>, findall<span class="br0">&#40;</span>myregex, texte_low<span class="br0">&#41;</span><span class="br0">&#41;</span>
    lst = sort<span class="br0">&#40;</span><span class="br0">&#91;</span>x <span style="color: #0000ff;">for</span> x <span style="color: #0080ff;">in</span> words <span style="color: #0000ff;">if</span> length<span class="br0">&#40;</span>x<span class="br0">&#41;</span> &gt; <span style="color: #cc66cc;">2</span><span class="br0">&#93;</span>, lt=isless<span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;"># g&eacute;n&eacute;re un Dict dans l'ordre avec accent</span>
    cnt = sort<span class="br0">&#40;</span>Dict<span class="br0">&#40;</span>counter<span class="br0">&#40;</span>lst<span class="br0">&#41;</span><span class="br0">&#41;</span>, lt=isless<span class="br0">&#41;</span>
&nbsp;
    <span style="color: #339933;">@show</span> nb_de_mots = length<span class="br0">&#40;</span>lst<span class="br0">&#41;</span>
    cnt |&gt; println
<span style="color: #0000ff;">end</span>
&nbsp;
<span style="color: #339933;">@time</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span style="color: #339933;">@time</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span style="color: #808080;">#=</span>
<span style="color: #808080;">&nbsp;   nb_de_mots = length(lst) = 29</span>
<span style="color: #808080;">&nbsp;   OrderedDict(</span>
<span style="color: #808080;">&nbsp;       &quot;dans&quot; =&gt; 3, </span>
<span style="color: #808080;">&nbsp;       &quot;d&eacute;vala&quot; =&gt; 1, </span>
<span style="color: #808080;">&nbsp;       &quot;envola&quot; =&gt; 1, </span>
<span style="color: #808080;">&nbsp;       &quot;est&quot; =&gt; 1, </span>
<span style="color: #808080;">&nbsp;       &quot;&eacute;vada&quot; =&gt; 1, </span>
<span style="color: #808080;">&nbsp;       &quot;&eacute;vad&eacute;&quot; =&gt; 2, </span>
<span style="color: #808080;">&nbsp;       &quot;&eacute;vader&quot; =&gt; 1, </span>
<span style="color: #808080;">&nbsp;       &quot;fut&quot; =&gt; 1, </span>
<span style="color: #808080;">&nbsp;       &quot;n&eacute;vada&quot; =&gt; 2, </span>
<span style="color: #808080;">&nbsp;       &quot;pour&quot; =&gt; 1, </span>
<span style="color: #808080;">&nbsp;       &quot;qui&quot; =&gt; 3, </span>
<span style="color: #808080;">&nbsp;       &quot;sur&quot; =&gt; 1, </span>
<span style="color: #808080;">&nbsp;       &quot;une&quot; =&gt; 1, </span>
<span style="color: #808080;">&nbsp;       &quot;valet&quot; =&gt; 1, </span>
<span style="color: #808080;">&nbsp;       &quot;vall&eacute;e&quot; =&gt; 2, </span>
<span style="color: #808080;">&nbsp;       &quot;v&eacute;lo&quot; =&gt; 1, </span>
<span style="color: #808080;">&nbsp;       &quot;vilain&quot; =&gt; 1, </span>
<span style="color: #808080;">&nbsp;       &quot;villa&quot; =&gt; 1, </span>
<span style="color: #808080;">&nbsp;       &quot;vit&quot; =&gt; 1, </span>
<span style="color: #808080;">&nbsp;       &quot;vol&eacute;&quot; =&gt; 3)</span>
<span style="color: #808080;">&nbsp;   0.328102 seconds (638.02 k allocations: 38.409 MiB, 2.23% gc time, 97.98% compilation time)</span>
<span style="color: #808080;">&nbsp;   0.004801 seconds (9.12 k allocations: 588.281 KiB)</span>
<span style="color: #808080;">=#</span></pre></td></tr></table></pre>
</div><br />
<br />
<a href="https://creativecommons.org/licenses/by/2.0/be/" target="_blank">Licence Creative Commons Attribution 2.0 Belgique</a></blockquote>

]]></content:encoded>
			<dc:creator>danielhagnoul</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/285162-danielhagnoul/b10032/julia-compter-nombre-mots-l-ordre-alphabetique-nombre/</guid>
		</item>
	</channel>
</rss>
