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

<channel>
	<title>Applications | Undisconnected</title>
	<atom:link href="https://undisconnected.com/category/applications/feed/" rel="self" type="application/rss+xml" />
	<link>https://undisconnected.com</link>
	<description>Reste connecté</description>
	<lastBuildDate>Tue, 08 Aug 2023 08:42:29 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>JSON dans PostgreSQL, une hérésie ? </title>
		<link>https://undisconnected.com/json-dans-postgresql-une-heresie/</link>
					<comments>https://undisconnected.com/json-dans-postgresql-une-heresie/#respond</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Sat, 21 Jan 2023 10:17:29 +0000</pubDate>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Postgresql]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=3057</guid>

					<description><![CDATA[<p>Eh oui, stocker des données au format JSON dans PostgreSQL c&#8217;est possible. À l&#8217;instar des base de données NoSQL comme MongoDB, PostgresSQL peut stocker des documents au format JSON.&#160; Mais pourquoi ?&#160; Eh bien, d&#8217;après-moi c&#8217;est parce que cela offre le meilleur des 2 mondes. Il arrive souvent que dans les applications modernes, le recours [&#8230;]</p>
The post <a href="https://undisconnected.com/json-dans-postgresql-une-heresie/">JSON dans PostgreSQL, une hérésie ? </a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Eh oui, stocker des données au format JSON dans PostgreSQL c&rsquo;est possible. À l&rsquo;instar des base de données NoSQL comme MongoDB, PostgresSQL peut stocker des documents au format JSON.&nbsp;</p>
<p>Mais pourquoi ?&nbsp;</p>
<p>Eh bien, d&rsquo;après-moi c&rsquo;est parce que cela offre le meilleur des 2 mondes. Il arrive souvent que dans les applications modernes, le recours au stockage de document (clé / valeur) soit très pratique. Pour enregistrer des logs, des informations rapidement accessibles, de l&rsquo;information brut et non relative &#8230; Les applications modernes ne requiert pas en tout temps des données relative.</p>
<p>Une autre raison qui me parait intéressante est que des fois, la fainéantise (ou le manque de temps) du développeur va faire que certaine données ne seront pas collectées et enregistrées en base données. Si la modélisation demande d&rsquo;ajouter 7 tables et que le schéma de la base de données devient une usine à gaz, le développeur est humain, oui, et des fois ça ne le tente pas, il préfère aller se boire une bière. C&rsquo;est alors que le type de données JSON intervient pour permettre de « jeter » un groupe de donnée au format JSON dans un champs.&nbsp;</p>
<p>Il suffit de créer un champs de type JSON ou JSONB (nous verrons la différence plus tard) et vous avez accès au stockage de donnée hiérarchique que permet JSON. Mais ce n&rsquo;est pas tout, sinon vous auriez pu mettre vos données au format JSON dans un champ de type « TEXT ». L&rsquo;important avec le type de donnée JSON est que vous allez pouvoir faire des requêtes SQL directement dans le JSON. PostgreSQL propose des fonctions et des opérateurs spécifiques au format JSON pour faire vos requêtes, et cerise sur le gâteau, c&rsquo;est très efficace et rapide.</p>
<h2>JSON ou JSONB&nbsp;</h2>
<p>Lorsque vous souhaitez enregistrer des données au format JSON dans PostgreSQL, vous avez le choix en JSON et JSONB (JSON Binary).&nbsp;</p>
<p>Les deux types de données JSON et JSONB dans Postgres sont utilisés pour stocker des données au format JSON, mais ils ont des comportements différents en ce qui concerne l&rsquo;indexation et la vérification de la validité des données.</p>
<p><strong>JSON</strong> est un type de données non indexable, ce qui signifie qu&rsquo;il n&rsquo;est pas possible d&rsquo;utiliser des index pour accélérer les requêtes qui filtrent ou trient des données JSON. Il est également moins efficace pour stocker des données qui contiennent des erreurs de syntaxe ou des valeurs non valides.</p>
<p><strong>JSONB</strong> est un type de données indexable, il permet d&rsquo;utiliser des index pour accélérer les requêtes qui filtrent ou trient des données. Il est également plus efficace pour stocker des données qui contiennent des erreurs de syntaxe ou des valeurs non valides car il vérifie la validité des données au moment de l&rsquo;insertion.</p>
<h2>Requêtes SQL sur un champs JSON dans PostgreSQL</h2>
<p>Pour cet article, nous allons nous concentrer sur les opérateurs, mais sachez qu&rsquo;ils existent aussi plein de fonctions dont vous pouvez trouver la liste dans la <a href="https://www.postgresql.org/docs/9.3/functions-json.html" target="_blank" rel="noopener">documentation de PostgreSQL</a>. Les opérateurs vous permettent de faire des requêtes SQL simple dans un champs JSON ou JSONB.</p>
<p>La flèche courte -&gt; garde le type JSON</p>
<p>La flèche longue -&gt;&gt; retourne du texte.</p>
<p>Voici le code SQL pour reproduire ce petit tutoriel vous même :&nbsp;</p>



<pre class="wp-block-code"><code lang="sql" class="language-sql">CREATE TABLE transaction (
	id serial NOT NULL PRIMARY KEY,
	message json NOT NULL
);</code></pre>



<pre class="wp-block-code"><code lang="sql" class="language-sql">INSERT INTO transaction (message)
VALUES('{ "order_id": "7856", "items": {"product": "Beer","qty": 24}}'),
      ('{ "order_id": "9801", "items": {"product": "Pizza","qty": 1}}'),
      ('{ "order_id": "10089", "items": {"product": "Wine","qty": 2}}');</code></pre>



<p>Voici un exemple de requête pour récupérer tous les order_id du champs « message » de la table « transaction ». Attention ça va aller vite : </p>



<pre class="wp-block-code"><code lang="sql" class="language-sql">SELECT message-&gt;'order_id' from transaction;</code></pre>



<p>Plutôt simple, non ? ça nous retourne 3 ligne : « 7856 », « 9801 » et « 10089 »</p>
<p>Maintenant si je souhaite obtenir les items dont le order_id est 9801, voici la requête :</p>



<pre class="wp-block-code"><code lang="sql" class="language-sql">SELECT message-&gt;'items' as items from orders WHERE message -&gt;&gt; 'order_id' = '9801';</code></pre>



<h2 class="wp-block-heading">Aller plus loin sur JSON et JSONB dans Postgres</h2>



<p>Voici une vidéo pour étendre le sujet du JSON &amp; JSONB pour Postgres : </p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Rob Conery - Document Storage Techniques with PostgreSQL and JSONB" width="1290" height="726" src="https://www.youtube.com/embed/rg_GiOZ5Owk?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">Conclusion</h2>



<p>Vous voyez la puissance du couple JSON et SQL ? C&rsquo;est super utile de pouvoir stocker des données non organisées dans un JSON et de pouvoir faire une requête SQL dans le JSON directement. C&rsquo;est un gain de temps énorme et ça peut aussi améliorer votre application puisque le SQL va pouvoir pré-mâcher les données.</p>



<p>Si vous êtes intéressé à en savoir plus sur les champs de type JSON dans Postgres et comment travailler avec ceux-ci, à voir plus d&rsquo;exemples … Laissez un commentaire et je pourrais faire un autre article plus en profondeur.</p>The post <a href="https://undisconnected.com/json-dans-postgresql-une-heresie/">JSON dans PostgreSQL, une hérésie ? </a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/json-dans-postgresql-une-heresie/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Application de productivité : Paste pour Mac OS</title>
		<link>https://undisconnected.com/application-de-productivite-paste-pour-mac-os/</link>
					<comments>https://undisconnected.com/application-de-productivite-paste-pour-mac-os/#comments</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Thu, 11 Jan 2018 17:34:37 +0000</pubDate>
				<category><![CDATA[Applications]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=2856</guid>

					<description><![CDATA[<p>Lorsqu&#8217;on travaille, être productif est important. Je fais parti de ceux qui pense que lorsqu&#8217;on travaille, si l&#8217;on peut en faire moins pour arriver au même résultat grâce à l&#8217;automation ou à l&#8217;utilisation d&#8217;outils, on en sort gagnant. Ceci permet d&#8217;achever plus de tâche en moins de temps. Dans cet esprit, je voulais vous présenter [&#8230;]</p>
The post <a href="https://undisconnected.com/application-de-productivite-paste-pour-mac-os/">Application de productivité : Paste pour Mac OS</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Lorsqu&rsquo;on travaille, être productif est important. Je fais parti de ceux qui pense que lorsqu&rsquo;on travaille, si l&rsquo;on peut en faire moins pour arriver au même résultat grâce à l&rsquo;automation ou à l&rsquo;utilisation d&rsquo;outils, on en sort gagnant. Ceci permet d&rsquo;achever plus de tâche en moins de temps.</p>
<p>Dans cet esprit, je voulais vous présenter quelques logiciels que j&rsquo;utilise pour être plus productif dans une série d&rsquo;articles. <strong>Le premier de la liste sera Paste, un gestionnaire de presse-papier, aussi communément appelé copier/coller.</strong></p>
<h2>Paste pour Mac OS</h2>
<p>Paste permet une fonction simple mais que je trouve essentiel dans mon workflow, il s&rsquo;agit de retenir tout ce que j&rsquo;ajoute au presse-papier. Il y a une multitude logiciel sur le App Store de Mac OS, certaines sont gratuites et d&rsquo;autres payantes mais au niveau du design elles ne rivalisent pas avec Paste. Paste est vraiment bien construite, intuitive et facile à utiliser en plus d&rsquo;être beau.</p>
<p><img fetchpriority="high" decoding="async" class="img-responsive aligncenter wp-image-2858 size-full" src="https://undisconnected.com/wp-content/uploads/2017/11/paste-search.png" alt="" width="1440" height="900" srcset="https://undisconnected.com/wp-content/uploads/2017/11/paste-search.png 1440w, https://undisconnected.com/wp-content/uploads/2017/11/paste-search-300x188.png 300w, https://undisconnected.com/wp-content/uploads/2017/11/paste-search-768x480.png 768w, https://undisconnected.com/wp-content/uploads/2017/11/paste-search-1024x640.png 1024w" sizes="(max-width: 1440px) 100vw, 1440px" /></p>
<p>Grâce à un simple raccourci clavier vous retrouvez tous les items ajoutés au presse-papier. C&rsquo;est là que Paste se distingue, il vous montre l&rsquo;historique de votre presse-papier d&rsquo;une façon organisé par type de contenu (images, textes, codes &#8230;) et par applications (Safari, Word, Evernote &#8230;). Il est donc très rapide de retrouver du contenu dans votre historique.</p>
<p>A ce propos, votre historique peut contenir une infinité d&rsquo;items, mais il s&rsquo;agit d&rsquo;un paramètre que l&rsquo;on peut facilement régler pour y ajouter une limite. Pour ma part, j&rsquo;utilise 100 items d&rsquo;historique. Il est aussi très facile de vider l&rsquo;historique en un clique.</p>
<p><img decoding="async" class="img-responsive aligncenter wp-image-2860 size-full" src="https://undisconnected.com/wp-content/uploads/2017/11/paste-preferences-general.png" alt="" width="1324" height="1038" srcset="https://undisconnected.com/wp-content/uploads/2017/11/paste-preferences-general.png 1324w, https://undisconnected.com/wp-content/uploads/2017/11/paste-preferences-general-300x235.png 300w, https://undisconnected.com/wp-content/uploads/2017/11/paste-preferences-general-768x602.png 768w, https://undisconnected.com/wp-content/uploads/2017/11/paste-preferences-general-1024x803.png 1024w" sizes="(max-width: 1324px) 100vw, 1324px" /></p>
<h2>Pourquoi est-ce utile ?</h2>
<p>Peut-être que vous vous demandez pourquoi cette application pourrait vous être utile. Et bien pour ma part je dois copier plus de 100 fois par jours des choses dans mon presse-papier et il arrive très fréquemment que j&rsquo;en ai besoin un peu plus tard. Dans ce cas rien de plus énervant que d&rsquo;avoir à retrouver le texte ou l&rsquo;image copié.</p>
<p>Avec Paste, vous avez le choix de faire apparître votre historique de presse-papier avec un raccourci clavier que vous pourrez vous-même choisir. Il est aussi possible d&rsquo;appeler via un raccourci clavier l&rsquo;ordre de votre historique sans avoir à le faire apparaître. Via Option 1,2,3 &#8230; vous pouvez atteindre l&rsquo;ordre de votre historique.</p>
<p><img loading="lazy" decoding="async" class="img-responsive aligncenter wp-image-2863 size-full" src="https://undisconnected.com/wp-content/uploads/2017/11/paste-preferences-shortcuts.png" alt="" width="1324" height="786" srcset="https://undisconnected.com/wp-content/uploads/2017/11/paste-preferences-shortcuts.png 1324w, https://undisconnected.com/wp-content/uploads/2017/11/paste-preferences-shortcuts-300x178.png 300w, https://undisconnected.com/wp-content/uploads/2017/11/paste-preferences-shortcuts-768x456.png 768w, https://undisconnected.com/wp-content/uploads/2017/11/paste-preferences-shortcuts-1024x608.png 1024w" sizes="auto, (max-width: 1324px) 100vw, 1324px" /></p>
<h2>Synchronisation sur iCloud</h2>
<p>Il est possible de synchroniser votre historique de presse-papier iCloud pour y accéder via un autre Mac ou via votre iPhone. Cette fonctionnalité en fait un outil professionnel très avancé. Le tout reste sécurisé car par exemple, un mot de passe copié de 1Password ne sera pas ajouter dans l&rsquo;historique. Vous pouvez aussi ajouter d&rsquo;autres applications sensibles dont vous ne souhaiteriez pas garder l&rsquo;historique.</p>
<p><img loading="lazy" decoding="async" class="img-responsive aligncenter wp-image-2871 size-full" src="https://undisconnected.com/wp-content/uploads/2018/01/paste-preferences-sync.png" alt="" width="1324" height="732" srcset="https://undisconnected.com/wp-content/uploads/2018/01/paste-preferences-sync.png 1324w, https://undisconnected.com/wp-content/uploads/2018/01/paste-preferences-sync-300x166.png 300w, https://undisconnected.com/wp-content/uploads/2018/01/paste-preferences-sync-768x425.png 768w, https://undisconnected.com/wp-content/uploads/2018/01/paste-preferences-sync-1024x566.png 1024w" sizes="auto, (max-width: 1324px) 100vw, 1324px" /></p>
<p>Attention, cette option est activé par défaut, donc si vous ne souhaitez pas faire cette synchronisation sur le cloud pour des raisons de sécurité ou juste parce que vous n&rsquo;en avaez pas besoin, vous pouvez décocher la case « Enable iCloud Sync ».</p>
<h2>Où se procurer Paste ?</h2>
<p>Le meilleur moyen de se procurer Paste est d&rsquo;aller sur leur site web <a href="https://pasteapp.me/" target="_blank" rel="noopener">https://pasteapp.me/</a> ou si vous aimez acheter vos applications via l&rsquo;App Store de Mac OS, vous pourrez le trouver facilement via une recherche.</p>
<p>Paste coûte seulement 9.99$ USD (achat unique) et je peux vous dire que l&rsquo;investissement sera très vite retrouvé en productivité. Si vous avez un doute, essayez la <a href="https://pasteapp.me/" target="_blank" rel="noopener">version de trial.</a></p>
<p>&nbsp;</p>The post <a href="https://undisconnected.com/application-de-productivite-paste-pour-mac-os/">Application de productivité : Paste pour Mac OS</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/application-de-productivite-paste-pour-mac-os/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
