<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://air.imag.fr/index.php?action=history&amp;feed=atom&amp;title=VT2018_OpenWhisk_Demo</id>
	<title>VT2018 OpenWhisk Demo - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://air.imag.fr/index.php?action=history&amp;feed=atom&amp;title=VT2018_OpenWhisk_Demo"/>
	<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_OpenWhisk_Demo&amp;action=history"/>
	<updated>2026-06-18T08:30:30Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_OpenWhisk_Demo&amp;diff=43227&amp;oldid=prev</id>
		<title>Donsez: /* Compilation */</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_OpenWhisk_Demo&amp;diff=43227&amp;oldid=prev"/>
		<updated>2018-11-12T15:28:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Compilation&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:28, 12 November 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 55:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 55:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;On la compile avec la commande suivante :&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;On la compile avec la commande suivante :&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; javac -classpath &#039;&#039;&#039;PATH&#039;&#039;&#039;/gson-2.8.5.jar fact.java&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; javac -classpath &#039;&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;$&lt;/ins&gt;PATH&#039;&#039;&#039;/gson-2.8.5.jar fact.java&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ici, la valeur &#039;&#039;&#039;&amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt;&#039;&#039;&#039; est à remplacer par le chemin où vous avez rangé la librairie [https://github.com/google/gson Gson] qui est nécessaire pour utiliser du Java avec OpenWhisk.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ici, la valeur &#039;&#039;&#039;&amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt;&#039;&#039;&#039; est à remplacer par le chemin où vous avez rangé la librairie [https://github.com/google/gson Gson] qui est nécessaire pour utiliser du Java avec OpenWhisk.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Donsez</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_OpenWhisk_Demo&amp;diff=42681&amp;oldid=prev</id>
		<title>Servan.Charlot: /* Utilisation */</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_OpenWhisk_Demo&amp;diff=42681&amp;oldid=prev"/>
		<updated>2018-11-02T13:18:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Utilisation&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:18, 2 November 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 79:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 79:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &#039;&#039;&#039;lien&#039;&#039;&#039;?num=10&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &#039;&#039;&#039;lien&#039;&#039;&#039;?num=10&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;On ajoute ensuite notre action à une API (ce qui crée l&#039;API si elle n&#039;existe pas déjà). Cela peut être &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;faire&lt;/del&gt; depuis &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;la&lt;/del&gt; dashboard ou en utilisant la commande suivante :&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;On ajoute ensuite notre action à une API (ce qui crée l&#039;API si elle n&#039;existe pas déjà). Cela peut être &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;fait&lt;/ins&gt; depuis &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;le&lt;/ins&gt; dashboard ou en utilisant la commande suivante :&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; bx wsk api create /fact GET fact&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; bx wsk api create /fact GET fact&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Cette commande nous indique que l&#039;API à été crée et nous donne sa route :&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Cette commande nous indique que l&#039;API à été crée et nous donne sa route :&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Servan.Charlot</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_OpenWhisk_Demo&amp;diff=42680&amp;oldid=prev</id>
		<title>Servan.Charlot: /* Compilation */</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_OpenWhisk_Demo&amp;diff=42680&amp;oldid=prev"/>
		<updated>2018-11-02T13:16:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Compilation&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:16, 2 November 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 56:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 56:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;On la compile avec la commande suivante :&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;On la compile avec la commande suivante :&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; javac -classpath &#039;&#039;&#039;PATH&#039;&#039;&#039;/gson-2.8.5.jar fact.java&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; javac -classpath &#039;&#039;&#039;PATH&#039;&#039;&#039;/gson-2.8.5.jar fact.java&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ici, la valeur &#039;&#039;&#039;&amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt;&#039;&#039;&#039; est à remplacer par le chemin &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ou&lt;/del&gt; vous avez rangé la &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;libraire&lt;/del&gt; [https://github.com/google/gson Gson] qui est nécessaire pour utiliser du Java avec OpenWhisk.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ici, la valeur &#039;&#039;&#039;&amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt;&#039;&#039;&#039; est à remplacer par le chemin &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;où&lt;/ins&gt; vous avez rangé la &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;librairie&lt;/ins&gt; [https://github.com/google/gson Gson] qui est nécessaire pour utiliser du Java avec OpenWhisk.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;On crée ensuite une archive jar de notre action compilée :&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;On crée ensuite une archive jar de notre action compilée :&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Servan.Charlot</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_OpenWhisk_Demo&amp;diff=42679&amp;oldid=prev</id>
		<title>Servan.Charlot: /* Développement */</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_OpenWhisk_Demo&amp;diff=42679&amp;oldid=prev"/>
		<updated>2018-11-02T13:15:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Développement&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:15, 2 November 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 50:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 50:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Cette action est toute simple : Elle &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;prends&lt;/del&gt; un objet JSON en paramètre, renvoie une objet JSON en sortie, et exécute une factorielle.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Cette action est toute simple : Elle &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;prend&lt;/ins&gt; un objet JSON en paramètre, renvoie une objet JSON en sortie, et exécute une factorielle.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Compilation==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Compilation==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Servan.Charlot</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_OpenWhisk_Demo&amp;diff=42678&amp;oldid=prev</id>
		<title>Servan.Charlot: /* Préparation */</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_OpenWhisk_Demo&amp;diff=42678&amp;oldid=prev"/>
		<updated>2018-11-02T13:14:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Préparation&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:14, 2 November 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Préparation=&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Préparation=&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Il faut d&#039;abord &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;crée&lt;/del&gt; un compte sur le [https://console.bluemix.net/openwhisk Cloud IBM Bluemix] pour avoir accès au dashboard qui permet de gérer les actions et les API.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Il faut d&#039;abord &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;créer&lt;/ins&gt; un compte sur le [https://console.bluemix.net/openwhisk Cloud IBM Bluemix] pour avoir accès au dashboard qui permet de gérer les actions et les API.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La majorité des fonctionnalités sont disponibles sur le dashboard, mais l&#039;on va avoir besoin de certaines qui n&#039;y sont pas. Il faut donc installer [https://console.bluemix.net/openwhisk/learn/cli  l&#039;interface de ligne de commande IBM Cloud Functions].&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La majorité des fonctionnalités sont disponibles sur le dashboard, mais l&#039;on va avoir besoin de certaines qui n&#039;y sont pas. Il faut donc installer [https://console.bluemix.net/openwhisk/learn/cli  l&#039;interface de ligne de commande IBM Cloud Functions].&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Servan.Charlot</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_OpenWhisk_Demo&amp;diff=42677&amp;oldid=prev</id>
		<title>Servan.Charlot: /* Description */</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_OpenWhisk_Demo&amp;diff=42677&amp;oldid=prev"/>
		<updated>2018-11-02T13:13:47Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Description&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:13, 2 November 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ceci est la demonstration qui va avec la [[VT2018 OpenWhisk|fiche de synthèse]] sur [[OpenWhisk]] dans le cadre de la [[VT2018|veille technologique 2018]].&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ceci est la demonstration qui va avec la [[VT2018 OpenWhisk|fiche de synthèse]] sur [[OpenWhisk]] dans le cadre de la [[VT2018|veille technologique 2018]].&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Nous allons utiliser la technologie OpenWhisk présente sur le Cloud d&#039;IBM pour &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;crée&lt;/del&gt; une action/fonction, l&#039;envoyer sur le Cloud et l&#039;appeler grâce à une API.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Nous allons utiliser la technologie OpenWhisk présente sur le Cloud d&#039;IBM pour &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;créer&lt;/ins&gt; une action/fonction, l&#039;envoyer sur le Cloud et l&#039;appeler grâce à une API.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Préparation=&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Préparation=&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Servan.Charlot</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_OpenWhisk_Demo&amp;diff=42676&amp;oldid=prev</id>
		<title>Servan.Charlot: Created page with &quot;=Description=  Ceci est la demonstration qui va avec la fiche de synthèse sur OpenWhisk dans le cadre de la veille technologique 2018.  No...&quot;</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_OpenWhisk_Demo&amp;diff=42676&amp;oldid=prev"/>
		<updated>2018-11-02T13:12:32Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;=Description=  Ceci est la demonstration qui va avec la &lt;a href=&quot;/index.php/VT2018_OpenWhisk&quot; title=&quot;VT2018 OpenWhisk&quot;&gt;fiche de synthèse&lt;/a&gt; sur &lt;a href=&quot;/index.php/OpenWhisk&quot; title=&quot;OpenWhisk&quot;&gt;OpenWhisk&lt;/a&gt; dans le cadre de la &lt;a href=&quot;/index.php/VT2018&quot; title=&quot;VT2018&quot;&gt;veille technologique 2018&lt;/a&gt;.  No...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
Ceci est la demonstration qui va avec la [[VT2018 OpenWhisk|fiche de synthèse]] sur [[OpenWhisk]] dans le cadre de la [[VT2018|veille technologique 2018]].&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser la technologie OpenWhisk présente sur le Cloud d&amp;#039;IBM pour crée une action/fonction, l&amp;#039;envoyer sur le Cloud et l&amp;#039;appeler grâce à une API.&lt;br /&gt;
&lt;br /&gt;
=Préparation=&lt;br /&gt;
&lt;br /&gt;
Il faut d&amp;#039;abord crée un compte sur le [https://console.bluemix.net/openwhisk Cloud IBM Bluemix] pour avoir accès au dashboard qui permet de gérer les actions et les API.&lt;br /&gt;
&lt;br /&gt;
La majorité des fonctionnalités sont disponibles sur le dashboard, mais l&amp;#039;on va avoir besoin de certaines qui n&amp;#039;y sont pas. Il faut donc installer [https://console.bluemix.net/openwhisk/learn/cli  l&amp;#039;interface de ligne de commande IBM Cloud Functions].&lt;br /&gt;
Il s&amp;#039;agit d&amp;#039;une surcouche aux commandes de base d&amp;#039;[http://openwhisk.incubator.apache.org/documentation.html OpenWhisk], avec le nécessaire pour lier notre compte IBM Cloud au terminal.&lt;br /&gt;
&lt;br /&gt;
=Déroulement=&lt;br /&gt;
&lt;br /&gt;
==Développement==&lt;br /&gt;
&lt;br /&gt;
On commence par écrire l&amp;#039;action qui nous intéresse, ici en Java (mais d&amp;#039;autres langages sont utilisables).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
import com.google.gson.JsonObject;&lt;br /&gt;
&lt;br /&gt;
public class fact {&lt;br /&gt;
&lt;br /&gt;
	public static double myfact(double n) {&lt;br /&gt;
		if (n == 0)&lt;br /&gt;
			return 1.0;&lt;br /&gt;
		else&lt;br /&gt;
			return n * myfact(n - 1);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public static JsonObject main(JsonObject args) {&lt;br /&gt;
		double num;&lt;br /&gt;
		double result;&lt;br /&gt;
&lt;br /&gt;
		try {&lt;br /&gt;
			num = args.getAsJsonPrimitive(&amp;quot;num&amp;quot;).getAsDouble();&lt;br /&gt;
		} catch (Exception e) {&lt;br /&gt;
			num = 0;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		result = myfact(num);&lt;br /&gt;
&lt;br /&gt;
		JsonObject response = new JsonObject();&lt;br /&gt;
		response.addProperty(&amp;quot;YourNumber&amp;quot;, num);&lt;br /&gt;
		response.addProperty(&amp;quot;result&amp;quot;, result);&lt;br /&gt;
		return response;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette action est toute simple : Elle prends un objet JSON en paramètre, renvoie une objet JSON en sortie, et exécute une factorielle.&lt;br /&gt;
&lt;br /&gt;
==Compilation==&lt;br /&gt;
&lt;br /&gt;
On la compile avec la commande suivante :&lt;br /&gt;
 javac -classpath &amp;#039;&amp;#039;&amp;#039;PATH&amp;#039;&amp;#039;&amp;#039;/gson-2.8.5.jar fact.java&lt;br /&gt;
Ici, la valeur &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; est à remplacer par le chemin ou vous avez rangé la libraire [https://github.com/google/gson Gson] qui est nécessaire pour utiliser du Java avec OpenWhisk.&lt;br /&gt;
&lt;br /&gt;
On crée ensuite une archive jar de notre action compilée :&lt;br /&gt;
 jar cvf fact.jar fact.class&lt;br /&gt;
&lt;br /&gt;
==Utilisation==&lt;br /&gt;
&lt;br /&gt;
On envoie ensuite notre action sur le cloud avec la commande suivante :&lt;br /&gt;
 bx wsk action create fact fact.jar --main fact --web true&lt;br /&gt;
Il est important de spécifier le nom de la classe principale avec l&amp;#039;option &amp;lt;code&amp;gt;--main MainClass&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;option &amp;lt;code&amp;gt;--web true&amp;lt;/code&amp;gt; permet de créer une [https://console.bluemix.net/docs/openwhisk/openwhisk_webactions.html#openwhisk_webactions web action], qui peut être déclenchée par une API (ce n&amp;#039;est pas la cas par défaut). A noter que cela peut être fait ultérieurement sur le dashboard.&lt;br /&gt;
&lt;br /&gt;
Même si notre action n&amp;#039;est pour le moment liée à aucune API, on peux déjà la tester sur le dashboard ou avec la commande suivant :&lt;br /&gt;
 bx wsk action invoke fact --result --param num 10&lt;br /&gt;
Ce qui doit nous retourner le résultat suivant :&lt;br /&gt;
 {&lt;br /&gt;
     &amp;quot;YourNumber&amp;quot;: 10.0,&lt;br /&gt;
     &amp;quot;result&amp;quot;: 3628800.0&lt;br /&gt;
 }&lt;br /&gt;
On a la possibilité de récupérer un [https://openwhisk.eu-gb.bluemix.net/api/v1/web/NailedItLaboratories_dev/default/fact.json lien] sur le dashboard pour pouvoir l’exécuter dans un navigateur ou avec &amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt;. Il faudra ajouter les paramètres suivants à ce lien :&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;lien&amp;#039;&amp;#039;&amp;#039;?num=10&lt;br /&gt;
&lt;br /&gt;
On ajoute ensuite notre action à une API (ce qui crée l&amp;#039;API si elle n&amp;#039;existe pas déjà). Cela peut être faire depuis la dashboard ou en utilisant la commande suivante :&lt;br /&gt;
 bx wsk api create /fact GET fact&lt;br /&gt;
Cette commande nous indique que l&amp;#039;API à été crée et nous donne sa route :&lt;br /&gt;
 ok: created API /fact GET for action /_/fact&lt;br /&gt;
 https://service.eu.apiconnect.ibmcloud.com/gws/apigateway/api/d11b1723f811a8252e0f99cbc363d55547a42626ea62d836a2f4e0844dc944b4/fact&lt;br /&gt;
On peut maintenant appeler cette API dans un navigateur ou avec &amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt; avec les paramètres suivants :&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;route&amp;#039;&amp;#039;&amp;#039;?num=10&lt;/div&gt;</summary>
		<author><name>Servan.Charlot</name></author>
	</entry>
</feed>