<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Apiloop</title>
        <description>Apiloop is the 1st code as a service platform that makes creation of websites, mobile applications and chatbots easier and simpler
</description>
        <link>https://www.apiloop.io/</link>
        <atom:link href="https://www.apiloop.io/feed.xml" rel="self"
        type="application/rss+xml"/>
        <pubDate>Thu, 19 Jan 2017 14:44:34 +0000</pubDate>
        <lastBuildDate>Thu, 19 Jan 2017 14:44:34 +0000</lastBuildDate>
        <generator>Jekyll v3.3.0</generator>
        
        <item>
            <title>Un meilleur système de workflow pour vos applications</title>
            <description>&lt;p&gt;Avant d’être un outil pour créer un site web ou une applicaton mobile, Apiloop est une plateforme qui permet de créer un projet avec une &lt;strong&gt;stack technique
professionnelle et évolutive&lt;/strong&gt;. Certes vous ne glissez/déposez pas des éléments dans un carré blanc, mais vous pouvez modéliser vos données et les stocker de &lt;strong&gt;manière structurée&lt;/strong&gt;,
vous disposez d’une &lt;strong&gt;API REST&lt;/strong&gt; pour les requêter ainsi que d’un système de &lt;strong&gt;workflow avancé&lt;/strong&gt; qui permet de décrire vos cas d’utilisations.&lt;/p&gt;

&lt;p&gt;Voilà pourquoi, nous ne pouvons être comparés aux &lt;strong&gt;website builders&lt;/strong&gt; du marché !!! &lt;em&gt;qui restent de très bons outils au demeurant, mais différents&lt;/em&gt; :)&lt;/p&gt;

&lt;p&gt;Lorsque l’on veut construire une maison on peut le faire soi-même, en commander une sur catalogue ou bien faire appel à un architecte
qui fera une maison unique. Pour un site web ou une application mobile c’est la même chose.&lt;/p&gt;

&lt;p&gt;Trêve de blabla, voici les quelques nouveautés que nous sommes fiers de vous présenter :&lt;/p&gt;

&lt;h2 id=&quot;nouveau-site-internet&quot;&gt;Nouveau site internet&lt;/h2&gt;

&lt;p&gt;Vous avez pu découvrir notre &lt;strong&gt;nouveau site&lt;/strong&gt; qui se veut plus clair et plus aéré. La peinture est encore fraîche mais nous espérons que vous l’appréciez.
Il est toujours accessible via : &lt;a href=&quot;https://www.apiloop.io&quot; target=&quot;_blank&quot;&gt;https://www.apiloop.io&lt;/a&gt;.
Et la &lt;strong&gt;console&lt;/strong&gt; est désormais accessible via &lt;a href=&quot;https://console.apiloop.io&quot; target=&quot;_blank&quot;&gt;https://console.apiloop.io&lt;/a&gt; car à notre sens, elle doit rester indépendante de tous les contenus éditoriaux afin de vous faciliter le travail.&lt;/p&gt;

&lt;h2 id=&quot;console-simplifie&quot;&gt;Console simplifiée&lt;/h2&gt;

&lt;p&gt;Comme vous avez pu le constater, la console a été simplifiée et principalement l’écran de détail d’une application. Maintenant chaque rubrique est bien distinguée et vous permet d’afficher le contenu sur tout l’espace disponible à l’écran.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/fr/201610240006-application-dashboard.png&quot; alt=&quot;Dashboard d'une application&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Nous espérons que vous trouverez vite vos marques, et surtout n’hésitez pas à nous faire toute remarque.&lt;/p&gt;

&lt;h2 id=&quot;workflow-simplifi&quot;&gt;Workflow simplifié&lt;/h2&gt;

&lt;p&gt;Jusqu’à présent vous pouviez définir des étapes pour des actions &lt;em&gt;core&lt;/em&gt; : &lt;code class=&quot;highlighter-rouge&quot;&gt;créer&lt;/code&gt;, &lt;code class=&quot;highlighter-rouge&quot;&gt;lister&lt;/code&gt;, &lt;code class=&quot;highlighter-rouge&quot;&gt;supprimer&lt;/code&gt;, &lt;code class=&quot;highlighter-rouge&quot;&gt;activer&lt;/code&gt;…&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Grande nouveauté&lt;/strong&gt; : vous pouvez à présent définir des workflows pour vos &lt;strong&gt;propres actions&lt;/strong&gt; : &lt;code class=&quot;highlighter-rouge&quot;&gt;démarrer&lt;/code&gt;, &lt;code class=&quot;highlighter-rouge&quot;&gt;envoyer&lt;/code&gt;, &lt;code class=&quot;highlighter-rouge&quot;&gt;payer&lt;/code&gt;… Bref ce qui vous correspond. Et dans votre frontend vous avez juste 
à invoquer le workflow avec la bonne action pour &lt;strong&gt;lancer la machine&lt;/strong&gt; !&lt;/p&gt;

&lt;p&gt;=&amp;gt; &lt;code class=&quot;highlighter-rouge&quot;&gt;Mes applications &amp;gt; Application &amp;gt; Données de mon application &amp;gt; Personnaliser le fonctionnement&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/fr/201610240034-entity-workflow.png&quot; alt=&quot;Dashboard d'une application&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;documentation-swagger&quot;&gt;Documentation Swagger&lt;/h2&gt;

&lt;p&gt;Pour les plus techniques d’entre vous, nous avons ouvert l’accès à la &lt;a href=&quot;https://api.apiloop.io/documentation/index.html?url=/swagger.json&quot; target=&quot;_blank&quot;&gt;documentation de notre API&lt;/a&gt;.
N’hésitez pas à y jeter un oeil et la tester avec l’outil de votre choix.&lt;/p&gt;

&lt;h2 id=&quot;consommation-en-temps-rel&quot;&gt;Consommation en temps réel&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;Vous chiffrez à la requête mais je ne vois pas la consommation de mon application&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Cela appartient désormais au passé. Dans la page de détail de votre application, retrouvez la section &lt;em&gt;Consommation&lt;/em&gt; qui vous permet de suivre &lt;strong&gt;en temps réel&lt;/strong&gt; les requêtes effectuées
sur votre application afin de maîtriser plus facilement vos coûts.&lt;/p&gt;

&lt;h2 id=&quot;le-frontend-de-votre-choix&quot;&gt;Le frontend de votre choix&lt;/h2&gt;

&lt;p&gt;Nous avons opté pour le trio &lt;a href=&quot;http://getbootstrap.com/&quot; target=&quot;_blank&quot;&gt;Bootstrap&lt;/a&gt;/&lt;a href=&quot;https://angularjs.org/&quot; target=&quot;_blank&quot;&gt;AngularJS&lt;/a&gt;/&lt;a href=&quot;http://ionicframework.com/&quot; target=&quot;_blank&quot;&gt;Ionic&lt;/a&gt; pour le frontent généré et certains d’entre vous nous ont fait remarquer à juste titre qu’il n’y avait pas
que ces technologies dans la vie.&lt;/p&gt;

&lt;p&gt;Sachez que vous n’êtes pas forcés d’utiliser le frontend généré automatiquement. Vous pouvez très bien créer &lt;strong&gt;votre propre frontend&lt;/strong&gt; de A à Z avec
les technos de votre choix, versionné sur &lt;strong&gt;votre propre gestionnaire de sources&lt;/strong&gt; et &lt;strong&gt;hébergé sur vos propres serveurs&lt;/strong&gt;.&lt;/p&gt;

&lt;p class=&quot;flow-text&quot;&gt;Vous utiliserez alors simplement la puissance d’Apiloop &lt;strong&gt;en tant que backend&lt;/strong&gt; :)&lt;/p&gt;

&lt;p&gt;Comme d’habitude nous restons à votre écoute, n’hésitez pas à &lt;a href=&quot;mailto:hello@apiloop.io&quot; target=&quot;_blank&quot;&gt;nous contacter&lt;/a&gt; pour toute question.&lt;/p&gt;
</description>
            <pubDate>Sun, 23 Oct 2016 16:12:12 +0000</pubDate>
            <link>https://www.apiloop.io/fr/news/2016/10/23/meilleur-systeme-workflow-applications.html</link>
            <guid isPermaLink="true">https://www.apiloop.io/fr/news/2016/10/23/meilleur-systeme-workflow-applications.html</guid>
            
            <category>news</category>
            
            <category>site web</category>
            
            <category>console</category>
            
            <category>workflow</category>
            
            <category>website builder</category>
            
            <category>frontend</category>
            
            
            <category>fr</category>
            
            <category>news</category>
            
        </item>
        
        <item>
            <title>Comment analyser le langage naturel ?</title>
            <description>&lt;p&gt;Avec l’émergence des réseaux sociaux et du contenu produit par les internautes à foison, il devient difficile d’analyser
les données pour en extraire des informations pertinentes.&lt;/p&gt;

&lt;p&gt;Afin de régler ce problème nous avons intégré un worker TextRazor qui permet d’analyser tout champ texte produit dans votre
application Apiloop.&lt;/p&gt;

&lt;h2 id=&quot;le-modle-de-donnes&quot;&gt;1. Le modèle de données&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;Besoin : Je veux créer un site sur lequel n’importe qui peut poster n’importe quoi et ensuite analyser automatiquement le contenu.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Commençons par créer l’application &lt;code class=&quot;highlighter-rouge&quot;&gt;Reddit Light&lt;/code&gt;.
Créons une entité &lt;code class=&quot;highlighter-rouge&quot;&gt;Post&lt;/code&gt; qui a pour attributs &lt;code class=&quot;highlighter-rouge&quot;&gt;title&lt;/code&gt;, &lt;code class=&quot;highlighter-rouge&quot;&gt;content&lt;/code&gt; et &lt;code class=&quot;highlighter-rouge&quot;&gt;contentAnalysis&lt;/code&gt;.&lt;/p&gt;

&lt;h2 id=&quot;les-permissions&quot;&gt;2. Les permissions&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;Besoin : N’importe qui doit pouvoir créer et lister les posts&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Créons une permission au niveau de &lt;code class=&quot;highlighter-rouge&quot;&gt;Post&lt;/code&gt; disant que les &lt;em&gt;utilisateurs anonymes&lt;/em&gt; peuvent &lt;code class=&quot;highlighter-rouge&quot;&gt;LIST&lt;/code&gt; et une autre indiquant
qu’ils peuvent &lt;code class=&quot;highlighter-rouge&quot;&gt;CREATE&lt;/code&gt;.&lt;/p&gt;

&lt;h2 id=&quot;le-workflow&quot;&gt;3. Le workflow&lt;/h2&gt;

&lt;p&gt;Maintenant que notre modèle de données est en place et que nous avons défini les permissions, modifions le workflow.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Besoin : Analyser chaque post envoyé&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Vous l’aurez compris, nous allons modifier le workflow relatif à l’action &lt;code class=&quot;highlighter-rouge&quot;&gt;CREATE&lt;/code&gt; de l’entité &lt;code class=&quot;highlighter-rouge&quot;&gt;Post&lt;/code&gt;.
Créons donc le workflow assoocié en ajoutant une étape ayant les caractéristiques suivantes :&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;title&lt;/strong&gt; : Analyze message&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;order&lt;/strong&gt; : 10&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;L’ordre est défini à 10 afin de laisser de la place pour une étape future avant. Et il est inférieur à &lt;code class=&quot;highlighter-rouge&quot;&gt;500&lt;/code&gt; car cette
valeur caractéristique représente la sauvegarde en base de données.&lt;/p&gt;

&lt;p&gt;Puis renseignons les données demandées par le worker chargé d’analyser le commentaire &lt;em&gt;Analyser un texte avec TextRazor&lt;/em&gt;.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;apiKey&lt;/strong&gt; : créez un compte sur TextRazor et copiez/collez votre clé API&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;sourceField&lt;/strong&gt; : &lt;code class=&quot;highlighter-rouge&quot;&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;{content&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;destinationField&lt;/strong&gt; : &lt;code class=&quot;highlighter-rouge&quot;&gt;contentAnalysis&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Vous remarquez que la syntaxe du champ &lt;em&gt;sourceField&lt;/em&gt; est particulière. Elle permet en fait d’identifier la valeur du champ
&lt;code class=&quot;highlighter-rouge&quot;&gt;content&lt;/code&gt; que nous avons défini dans le modèle dans le contexte d’execution du workflow.&lt;/p&gt;

&lt;p&gt;Ainsi, cette syntaxe indique au workflow de substituer cette valeur avec la réelle valeur postée par l’utilisateur.&lt;/p&gt;

&lt;p&gt;À l’inverse, le &lt;em&gt;destinationField&lt;/em&gt; indique simplement le nom de l’attribut, sa valeur étant nulle par définition quand
on crée le &lt;code class=&quot;highlighter-rouge&quot;&gt;Post&lt;/code&gt;.&lt;/p&gt;

&lt;h2 id=&quot;le-frontend&quot;&gt;4. Le frontend&lt;/h2&gt;

&lt;p&gt;Jusqu’à présent, rien de tout ce que nous avons fait n’est visible de nos utilisateurs. Et pourtant nous avons fait
beaucoup, c’est là dedans que réside toute la puissance d’Apiloop.&lt;/p&gt;

&lt;p&gt;Rendons nous sur le dashboard de notre application afin de générer le frontend.
Une fois que cela est fait, après quelques minutes, notre site est accessible via le bouton &lt;em&gt;Prévisualiser&lt;/em&gt;.
Comme nous pouvons le voir, il est relativement vide, c’est une pièce blanche.&lt;/p&gt;

&lt;p&gt;Rendons nous dans l’onglet &lt;em&gt;Personnaliser&lt;/em&gt; afin d’ajouter la liste des &lt;code class=&quot;highlighter-rouge&quot;&gt;Post&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Ajouter une fonctionnalité :&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;em&gt;Lister les objets&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;Post&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Site web&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ajouter une fonctionnalité :&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;em&gt;Créer un objet&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;Post&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Site web&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Retournons dans le dashboard afin de publier notre application. Une fois le déploiement fini, prévisualisons le site à nouveau.
Surprise : rien n’a changé !&lt;/p&gt;

&lt;p&gt;En réalité si. Si vous changez l’URL dans votre navigateur en ajoutant &lt;code class=&quot;highlighter-rouge&quot;&gt;/posts&lt;/code&gt;, vous obtenez la page listant les &lt;code class=&quot;highlighter-rouge&quot;&gt;Post&lt;/code&gt;.
À nouveau si vous rajoutez &lt;code class=&quot;highlighter-rouge&quot;&gt;/posts/new&lt;/code&gt; vous obtenez le formulaire permettant de créer un post avec les champs liés
automatiquement aux attributs que nous avons défini dans le modèle de données.&lt;/p&gt;

&lt;h2 id=&quot;faisons-joujou&quot;&gt;5. Faisons joujou&lt;/h2&gt;

&lt;p&gt;Allons-y, n’ayons pas peur, créons un post.
Une fois que c’est fait, lorsque nous nous rendons dans notre console Apiloop, et que nous visualisons les données
nous voyons bien que le workflow a analysé le contenu de notre &lt;code class=&quot;highlighter-rouge&quot;&gt;Post&lt;/code&gt; afin d’en extraire des données.&lt;/p&gt;

&lt;h2 id=&quot;pistes-dvolution&quot;&gt;6. Pistes d’évolution&lt;/h2&gt;

&lt;p&gt;Maintenant que nous avons mis tout cela en place, il y a de nombreuses pistes d’amélioration :&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Améliorer le frontend pour lister les &lt;code class=&quot;highlighter-rouge&quot;&gt;Post&lt;/code&gt; directement sur la page d’accueil&lt;/li&gt;
  &lt;li&gt;Créer un bouton call to action &lt;em&gt;Créer un nouveau post&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;Ajouter un système d’utilisateurs&lt;/li&gt;
  &lt;li&gt;Désactiver un &lt;code class=&quot;highlighter-rouge&quot;&gt;Post&lt;/code&gt; lors de la création afin de le faire valider par un administrateur&lt;/li&gt;
  &lt;li&gt;Notifier l’administrateur lors de la création d’un post&lt;/li&gt;
  &lt;li&gt;Ajouter une entité &lt;code class=&quot;highlighter-rouge&quot;&gt;Comment&lt;/code&gt; liée aux &lt;code class=&quot;highlighter-rouge&quot;&gt;Post&lt;/code&gt; afin de permettre aux utilisateurs de commenter&lt;/li&gt;
  &lt;li&gt;Analyser les commentaires de la même façon&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Et cette liste est loin d’être exhaustive.&lt;/p&gt;

&lt;p&gt;À vous de jouer ;)&lt;/p&gt;
</description>
            <pubDate>Fri, 14 Oct 2016 10:56:50 +0000</pubDate>
            <link>https://www.apiloop.io/fr/how-to/2016/10/14/comment-analyser-langage-naturel.html</link>
            <guid isPermaLink="true">https://www.apiloop.io/fr/how-to/2016/10/14/comment-analyser-langage-naturel.html</guid>
            
            <category>how-to</category>
            
            <category>natural language processing</category>
            
            <category>NLP</category>
            
            <category>textrazor</category>
            
            
            <category>fr</category>
            
            <category>how-to</category>
            
        </item>
        
        <item>
            <title>How to send a SMS to a user after it signs up and add it to the newsletter ?</title>
            <description>&lt;p&gt;Someone is currently writing this awesome article.&lt;/p&gt;
</description>
            <pubDate>Wed, 12 Oct 2016 14:09:51 +0000</pubDate>
            <link>https://www.apiloop.io/en/how-to/2016/10/12/how-to-send-sms-add-newsletter.html</link>
            <guid isPermaLink="true">https://www.apiloop.io/en/how-to/2016/10/12/how-to-send-sms-add-newsletter.html</guid>
            
            <category>how-to</category>
            
            <category>sms</category>
            
            <category>newsletter</category>
            
            <category>messagebird</category>
            
            <category>mailchimp</category>
            
            
            <category>en</category>
            
            <category>how-to</category>
            
        </item>
        
        <item>
            <title>How to create and index data to make it available for search ?</title>
            <description>&lt;p&gt;Someone is currently writing this awesome article.&lt;/p&gt;
</description>
            <pubDate>Wed, 12 Oct 2016 14:09:51 +0000</pubDate>
            <link>https://www.apiloop.io/en/how-to/2016/10/12/how-to-create-and-index-data-for-search.html</link>
            <guid isPermaLink="true">https://www.apiloop.io/en/how-to/2016/10/12/how-to-create-and-index-data-for-search.html</guid>
            
            <category>how-to</category>
            
            <category>indexing</category>
            
            <category>search</category>
            
            <category>algolia</category>
            
            
            <category>en</category>
            
            <category>how-to</category>
            
        </item>
        
        <item>
            <title>How to analyze the content of a comment ?</title>
            <description>&lt;p&gt;Someone is currently writing this awesome article.&lt;/p&gt;
</description>
            <pubDate>Wed, 12 Oct 2016 14:09:51 +0000</pubDate>
            <link>https://www.apiloop.io/en/how-to/2016/10/12/how-to-analyze-natural-language.html</link>
            <guid isPermaLink="true">https://www.apiloop.io/en/how-to/2016/10/12/how-to-analyze-natural-language.html</guid>
            
            <category>how-to</category>
            
            <category>natural-language-processing</category>
            
            <category>NLP</category>
            
            <category>textrazor</category>
            
            
            <category>en</category>
            
            <category>how-to</category>
            
        </item>
        
        <item>
            <title>7 conseils organisationnels pour créer un bon site web</title>
            <description>&lt;p&gt;Quelques conseils afin de bien s’organiser lorsqu’on crée son site web ou son application mobile.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://65.media.tumblr.com/9e101fb49c1da88b9c480569a644a204/tumblr_inline_oax4ev11dd1sj1ffi_540.jpg&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;raisonnez-en-tant-quutilisateur&quot;&gt;1 - Raisonnez en tant qu’utilisateur&lt;/h2&gt;

&lt;p&gt;Quand vous voulez créer un site web, le design de votre site n’est pas la priorité. Dans un premier temps il faut réfléchir au &lt;strong&gt;parcours utilisateur&lt;/strong&gt;. C’est à dire que vous devez réfléchir au trajet que l’utilisateur va faire pour parvenir à utiliser le site et accéder à ses fonctionnalités. Par exemple sur la homepage mettre un bouton inscription qui renvoie vers un formulaire, un bouton login ou deux emplacement pour écrire apparaissent, etc. C’est en réfléchissant aux différentes &lt;strong&gt;fonctionnalités&lt;/strong&gt; du site web et à comment vous voulez les organiser que la fondation est construite. Or un site web est comme une maison, il faut des fondations solides pour ne pas qu’elle s’écroule.&lt;/p&gt;

&lt;h2 id=&quot;restez-organis&quot;&gt;2 - Restez organisé&lt;/h2&gt;

&lt;p&gt;Une fois que le parcours utilisateur est défini il faut réfléchir aux &lt;strong&gt;actions&lt;/strong&gt; que cela entraine et comment cela va être placé dans le code de votre site web. Quand vous réfléchissez, restez organisé et &lt;strong&gt;concentrez-vous&lt;/strong&gt; sur chaque fonctionnalité ou action les unes derrière les autres. Cela permet de ne pas se perdre dans son code et avec l’organisation il est plus &lt;strong&gt;simple&lt;/strong&gt; et plus &lt;strong&gt;rapide&lt;/strong&gt; d’avancer dans la création de votre site web.&lt;/p&gt;

&lt;h2 id=&quot;cherchez-le-rsultat-bdd&quot;&gt;3 - Cherchez le résultat (BDD)&lt;/h2&gt;

&lt;p&gt;Évitez de vous soucier des problématiques techniques ce qui compte est le résultat pour l’utilisateur. C’est le fait de se concentrer et de définir toutes les &lt;strong&gt;interactions entre l’utilisateur et le site&lt;/strong&gt; pour que l’utilisateur parvienne à sa recherche sans utiliser d’aspect technique. C’est une réflexion entre le créateur et le développeur pour être sûr que les deux parties veulent arriver au même point. Dans ce processus l’aspect technique du site web n’est pas abordée dans la conversation. Il faut d’abord définir tout le trajet que va prendre l’utilisateur avant de définir ce à quoi va ressembler le site. Ensuite sur un travail continu, des blocs de code serons mis en place et une fois le trajet utilisateur terminé le design est abordé.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://66.media.tumblr.com/b12d71fbc1464d86ab7f14a576e63c96/tumblr_inline_oax4eyZ3dq1sj1ffi_540.jpg&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;changez-votre-code&quot;&gt;4 - Changez votre code&lt;/h2&gt;

&lt;p&gt;Le code est le moyen d’arriver à un résultat. Il est possible de le modifier à tout moment et il n’est pas gravé dans la pierre. Cela veut dire qu’il ne faut pas hésiter à &lt;strong&gt;changer&lt;/strong&gt; une partie de code pour &lt;strong&gt;améliorer&lt;/strong&gt; un site web ou améliorer une fonctionnalité. Quand du code est écrit il se doit d’être compatible avec le reste du site web. Donc n’oubliez pas que le code peut se &lt;strong&gt;changer à tout moment&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id=&quot;ne-rinventez-pas-la-roue-dont-reinvent-the-wheel&quot;&gt;5 - Ne réinventez pas la roue (&lt;em&gt;Don’t reinvent the wheel&lt;/em&gt;)&lt;/h2&gt;

&lt;p&gt;Cela ne sert à rien d’écrire tout son code soi-même ou demander à des développeurs d’écrire l’intégralité du site à la main. Le code peut être changé et il est plus simple et plus rapide d’utiliser en &lt;strong&gt;respectant les licences&lt;/strong&gt;, les parties de code &lt;strong&gt;open source&lt;/strong&gt; qui sont mises à disposition par la &lt;strong&gt;communauté de développeurs&lt;/strong&gt;. C’est quelque chose qui est ignoré par un grand nombre de personnes mais avec le code disponible sur internet, il est possible de créer un site web à part entière. Pour se faire il est par exemple possible de se rendre sur &lt;strong&gt;GitHub&lt;/strong&gt; qui est un site de référence pour développeurs.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://67.media.tumblr.com/6cb2891e0d03a2a492d20f7da40dbf2c/tumblr_inline_oax4bqQfnS1sj1ffi_540.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;versionnez-votre-code-correctement&quot;&gt;6 - Versionnez votre code correctement&lt;/h2&gt;

&lt;p&gt;Un site web est composés de plusieurs fichiers de code qui sont écrit par un ou plusieurs développeurs et qui sont mis ensemble pour former le site web. &lt;strong&gt;Versionner&lt;/strong&gt; son code correspond à donner des informations par rapport à la personne qui a écrit ce code ainsi que les raisons qui ont poussé cette personne à écrire ce code et le résultat qui est attendu du fait d’avoir écrit ce code.&lt;/p&gt;

&lt;p&gt;Cela permet au cas où il y a une erreur dans le code de &lt;strong&gt;revenir en arrière&lt;/strong&gt; à une version stable du site web. De plus, cela permet de &lt;strong&gt;mettre à jour&lt;/strong&gt; le code du site web pour que la version du site publiée sur internet soit la dernière et puisse intégrer toutes les fonctionnalités développées. Pour finir, cela permet de &lt;strong&gt;vérifier&lt;/strong&gt; que plusieurs développeurs ne travaillent pas sur la même partie du code pouvant ainsi éviter de créer une erreur quand le site est mis à jour avec toutes les dernières modifications.&lt;/p&gt;

&lt;p&gt;Un des logiciels les plus utilisé pour faire du versionning efficace est &lt;strong&gt;Git&lt;/strong&gt; qui est un logiciel libre de droit développé à la base pour linux et qui a ensuite été adapté pour les autres plateformes.&lt;/p&gt;

&lt;h2 id=&quot;mettez-en-place-une-chaine-dintgration-continue&quot;&gt;7 - Mettez en place une chaine d’intégration continue&lt;/h2&gt;

&lt;p&gt;Une &lt;strong&gt;chaine d’intégration continue&lt;/strong&gt; correspond au principe de vérifier la qualité du code écrit par rapport au site web actuel. Elle permet de &lt;strong&gt;tester&lt;/strong&gt; le site web et vérifier qu’il n’y a pas d’&lt;strong&gt;erreurs&lt;/strong&gt; ou d’&lt;strong&gt;anomalies&lt;/strong&gt; dans le code. Si tout va bien, le code est automatiquement déployé en production. Cela permet de limiter les actions manuelles qui peuvent résulter en une erreur, donc cela améliore l’efficacité et le rendement du développement. C’est une technique qui peut paraître longue à faire sur du court terme mais qui au long terme améliore grandement la vitesse de développement et la stabilité du site internet.&lt;/p&gt;
</description>
            <pubDate>Tue, 26 Jul 2016 08:12:43 +0000</pubDate>
            <link>https://www.apiloop.io/fr/apprendre/2016/07/26/7-conseils-organisationnels-creer-site-internet.html</link>
            <guid isPermaLink="true">https://www.apiloop.io/fr/apprendre/2016/07/26/7-conseils-organisationnels-creer-site-internet.html</guid>
            
            <category>conseil</category>
            
            <category>créer site web</category>
            
            <category>entrepreneur</category>
            
            <category>développeur</category>
            
            <category>designer</category>
            
            <category>code source</category>
            
            
            <category>fr</category>
            
            <category>apprendre</category>
            
        </item>
        
        <item>
            <title>Stage et Entreprenariat</title>
            <description>&lt;p&gt;La semaine dernière je vous parlais de la découverte de &lt;strong&gt;l’entreprenariat&lt;/strong&gt; quand on entre en école de commerce. Cependant, ce n’est pas le seul moyen pour découvrir l’entreprenariat en tant qu’étudiant. Il est aussi possible de le découvrir grâce aux &lt;strong&gt;stages&lt;/strong&gt;. Je vais donc vous parler des stages et plus particulièrement des stages en &lt;strong&gt;startup&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://67.media.tumblr.com/cb165eb92e99175005fbacdf6b5bb27a/tumblr_inline_oakchh9cQr1sj1ffi_540.jpg&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Pendant les années d’études en &lt;strong&gt;école de commerce,&lt;/strong&gt; il est demandé aux étudiants de faire des stages. Tout au long des années d’études ces stages ont différents objectifs. La première année en école de commerce correspond en général à un stage de vente. Pour ce stage, il est plus simple d’intégrer un grand groupe et avoir un premier aperçu de la vie d’entreprise. C’est un stage de découverte qui est utile et intéressant pour se faire une idée de la hiérarchie et des relations entre les employés.&lt;/p&gt;

&lt;p&gt;Les années qui suivent, il est demandé de participer plus à la gestion de l’entreprise ou ce qui s’appelle le &lt;strong&gt;back-office&lt;/strong&gt;. Lors de ces stages, il est intéressant d’intégrer les deux grands types d’entreprises : les &lt;strong&gt;startups&lt;/strong&gt; et les &lt;strong&gt;grands groupes&lt;/strong&gt;. Les stages en grands groupes permettent de voir comment sont mis en place des stratégies et des manières de travailler qui sont assez réglementées et qui sont suivies et revues par plusieurs personnes.&lt;/p&gt;

&lt;p&gt;D’un autre côté, pour découvrir l’entreprenariat, je conseillerais plutôt de faire un stage dans une startup. Pour cela il faut en général contacter les créateurs de ces startups mais aussi regarder sur les sites spécialisés qui sont de plus en plus nombreux à référencer les différentes offres de stage.&lt;/p&gt;

&lt;p&gt;Je trouve que le stage dans une startup est idéal pour un étudiant qui veut découvrir l’entreprenariat. Dans un premier temps, cela lui permet de découvrir l’état d’esprit et le &lt;strong&gt;dynamisme&lt;/strong&gt; du ou des créateurs de la startup. Dans un second temps, c’est &lt;strong&gt;formateur,&lt;/strong&gt; car c’est souvent une jeune entreprise qui demande à peu de personnes de gérer des taches qui dans certains groupes sont gérées par de nombreuse personnes. Cela permet aussi de voir dans quel environnement le travail est fait. Une startup, c’est une grosse entreprise qui réduit ses frais au maximum. Le but d’une startup est d’utiliser le plus de techniques gratuites possibles pour arriver à un résultat et à la création d’une base de clientèle. Pour cela, certaines startups sont basées au domicile des créateurs ou alors dans des espaces de &lt;strong&gt;coworking&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://67.media.tumblr.com/d3ab16a657415672dec02845c79989c9/tumblr_inline_oakciwRf5x1sj1ffi_540.jpg&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Il est intéressant de travailler dans ces deux milieux car d’un côté c’est sympathique de découvrir le travail dans le salon d’un appartement mais d’un autre côté, c’est aussi sympa de découvrir l’ambiance générale d’un espace de coworking où une dizaine de startup travaillent côte à côte sans forcément se connaître. Cependant dans un espace de coworking il est fréquent que les personnes parlent entre elles et finissent par découvrir les startups qui les entourent.&lt;/p&gt;

&lt;p&gt;Un stage en startup est un réel bonus pour un étudiant, car pendant l’ensemble des études on découvre des aspects différents du monde du business. Ces découvertes permettent de &lt;strong&gt;travailler sur soi&lt;/strong&gt; et de comprendre dans quel type d’entreprise le travail nous est plus agréable. Certaines personnes sont plus confortables pour travailler dans de grands groupes sur des travaux d’équipe qui demandent à être validées par un membre supérieur de la hiérarchie de l’entreprise avant de le mettre en action. D’autres préfèrent travailler dans des environnements plus petits sur des missions qui sont généralement à faire seul ou par petits groupes de 2 ou 3 maximum.&lt;/p&gt;

&lt;p&gt;Il existe beaucoup de différences entre ces deux types d’entreprise et c’est pour ça qu’il est intéressant de faire un stage dans chacun, au moins pour avoir une première impression de l’ambiance de travail. Dans un grand groupe ou une grosse entreprise, il est plus commun d’avoir une &lt;strong&gt;fonction&lt;/strong&gt; dans un &lt;strong&gt;service&lt;/strong&gt;. Dans une startup, il est plus commun de toucher à différents types de services et de travailler par &lt;strong&gt;missions&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Pour un étudiant en école de commerce qui s’intéresse à l’entreprenariat, un stage dans une startup est une mine d’or d’informations. D’une part, son travail lui montre les différentes tâches nécessaires à la bonne mise en route d’une entreprise. Et d’autre part, le fait de travailler avec des entrepreneurs permet de poser les questions et d’obtenir les informations pratiques de la création d’entreprise. Personnellement, mes expériences en startup m’ont permis de découvrir que je voulais devenir entrepreneur et que je souhaitais &lt;strong&gt;mettre en place&lt;/strong&gt; et &lt;strong&gt;développer&lt;/strong&gt; mon business. Ces stages me donnent des notions capitales pour rechercher des nouveaux clients, mettre en place une communication d’entreprise, etc.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://65.media.tumblr.com/9f5fcc604e3b72644168437ff163d6cf/tumblr_inline_oakcijF2FZ1sj1ffi_540.jpg&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;De plus j’ai un sentiment de &lt;strong&gt;satisfaction&lt;/strong&gt; beaucoup plus important quand je termine une mission dans une startup que dans une grande entreprise. Il se peut que ce soit un sentiment personnel mais je pense que le fait que ce soit une petite entreprise et qu’il y ait peu d’employés fait que le travail accompli apparaît plus important et donc produit plus de satisfaction. Dans un grand groupe, c’est en quelque sorte comme si une brique était posée au sommet d’un gratte-ciel, c’est un petit geste à côté de tout ce qui a déjà été construit. Par contre, mettre une brique dans la construction d’une petite maison représente un travail plus important par rapport à la totalité du projet et à ce qui a déjà été construit.&lt;/p&gt;

&lt;p&gt;Cependant le stage en startup ne peut pas représenter la &lt;strong&gt;seule expérience&lt;/strong&gt; d’un étudiant en école de commerce. Je pense qu’il faut faire des stages dans des grandes entreprises comme des stages dans des startups pour voir quels sont les différences et pour comprendre le &lt;strong&gt;but final&lt;/strong&gt; d’une startup. Car une startup n’a pas pour ambition de rester une petite entreprise. Le but ultime est de créer une grosse entreprise qui peut vendre son produit ou son service partout autour du monde et qui a un impact sur le monde économique. Le but étant donc de devenir un grand groupe, il faut donc comprendre comment les employés dans les grandes entreprises travaillent. Cela permet de savoir et de découvrir comment une entreprise passe du mode de travail en startup à l’organisation complexe de la grosse entreprise.&lt;/p&gt;

&lt;p&gt;Pour finir je voudrais préciser que &lt;strong&gt;trouver&lt;/strong&gt; un stage dans une startup n’est &lt;strong&gt;pas compliqué&lt;/strong&gt; en soi. Il y a plusieurs méthodes pour le faire. Dans un premier temps il est possible de passer par les plateformes en lignes qui recensent les offres de stage. D’un autre côté il est possible de voir certaines startups qui mettent l’offre directement sur leur site. Une dernière technique est de regarder dans des bases de données de startup quelles sont celles qui vous intéressent personnellement et de faire une &lt;strong&gt;candidature spontanée&lt;/strong&gt;. Vous montrez ainsi aux créateurs que vous êtes intéressés par leur projet et donc quand vous envoyez une candidature spontanée, il y a peu de chances que la startup refuse de vous parler ou vous voir.&lt;/p&gt;

&lt;p&gt;Bonne chance si vous cherchez actuellement un stage et à bientôt !&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://67.media.tumblr.com/281b0df42bb2eec8a3341efb3638b867/tumblr_inline_oakci4usmI1sj1ffi_540.jpg&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;
</description>
            <pubDate>Wed, 20 Jul 2016 07:34:28 +0000</pubDate>
            <link>https://www.apiloop.io/fr/apprendre/2016/07/20/stage-entreprenariat.html</link>
            <guid isPermaLink="true">https://www.apiloop.io/fr/apprendre/2016/07/20/stage-entreprenariat.html</guid>
            
            <category>stage</category>
            
            <category>startup</category>
            
            <category>entrepreneur</category>
            
            <category>entrepreneuship</category>
            
            <category>business</category>
            
            <category>student</category>
            
            
            <category>fr</category>
            
            <category>apprendre</category>
            
        </item>
        
        <item>
            <title>Entreprendre quand on est en école de commerce</title>
            <description>&lt;p&gt;Bonjour, je suis Alexis et je travaille actuellement chez Apiloop. En tant qu’étudiant en école de commerce à l’INSEEC et responsable de l’association de jeunes entrepreneurs, nous avons décidé de lancer une série d’articles afin d’aider les étudiants en écoles de commerce à se lancer dans l’entreprenariat.   Ce premier article est relativement général et permet de donner des éléments de réponse aux étudiants en écoles de commerce qui cherche à s’informer sur l’entreprenariat.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://67.media.tumblr.com/c0d04db1f8bcb49fcc1fa055391be43c/tumblr_inline_oa74qdCykG1sj1ffi_540.jpg&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;L&lt;/strong&gt;orsque l’on est étudiant en école de commerce on nous parle souvent de l’entreprenariat. On nous en fait des éloges sans jamais vraiment nous dire pourquoi.&lt;/p&gt;

&lt;p&gt;En tant qu’étudiant en école de commerce j’ai fait des recherches sur l’entreprenariat et le monde des start-up. Pour commencer quand un étudiant arrive dans une école de commerce, certaines proposent de rentrer dès la première année dans une association. Souvent une association de jeunes entrepreneurs est mise en place par l’école. On nous présente ça comme un groupe dans lequel on va pouvoir prendre nos idées et nous donner les clés pour la mettre en oeuvre. En commençant par la réalisation d’un business plan et ce qui suit.&lt;/p&gt;

&lt;p&gt;Les groupes de jeunes entrepreneurs peuvent être organisés de manière différente. Il peut y avoir une idée de projet de groupe et de réalisation commune d’une idée. Ou alors c’est un groupe de développement personnel qui met en avant les idées de chacun et qui suit chaque membre au cours de sa création d’entreprise.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://66.media.tumblr.com/105513950d84463c871a8971103f92f8/tumblr_inline_oa74s3awbM1sj1ffi_540.jpg&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Ma première année dans cette association a été pauvre en apprentissage à ce niveau-là. Cependant, cela a été une année qui m’a appris une grande leçon. La première règle pour que l’entreprenariat fonctionne est de le mettre en action. Les informations et l’apprentissage ne viennent pas tout seul, il faut le mettre en place soi-Même. Et c’est une notion que j’ai rencontrée partout où je suis allé et que l’on m’a parlé d’entreprenariat. Il faut forcer le mouvement pour qu’il y en ai un.&lt;/p&gt;

&lt;p&gt;Avec cette leçon en tête j’ai décidé l’année suivante de gérer ce groupe de jeunes entrepreneurs. Là aussi j’ai appris une leçon importante. Ce n’est pas parce qu’une personne ou un petit groupe de personnes apparaissent motivées qu’elles le sont vraiment. Cela permet de savoir quelles sont les personnes qui possèdent la motivation de réussir.&lt;/p&gt;

&lt;p&gt;Quand on commence et que l’on est fraichement arrivé dans une école ce n’est peut être pas le meilleur moment pour rentrer dans un groupe de jeunes entrepreneurs car on n’a pas de réelle vision sur ce qu’est une entreprise et ce que sont les PME ou les grands groupes. De plus cela permet de comprendre ce qu’implique le fait d’être une entreprise.&lt;/p&gt;

&lt;p&gt;Dans un groupe de jeunes entrepreneurs il existe deux positions. Chacune apportant une vision différente de la start-up. La position de président du groupe et la position de membres. En tant que membre on apprend les bases d’une start-up. C’est-à-dire le statut juridique, le business plan, tout ce qui compose la phase de création. En tant que président d’une telle association on y apprend la création d’une start-up mais cela donne aussi une expérience de management. Gérer un groupe d’une dizaine voire une vingtaine d’étudiants n’est pas une mince affaire et cela présente l’état d’esprit et l’ambiance au sein d’une entreprise.&lt;/p&gt;

&lt;p&gt;Il faut savoir que la motivation de travailler ne vient pas forcément de la bonne idée ou de l’intérêt des étudiants, cela vient de la cohésion de groupe. Si les membres du groupe comprennent que tout le monde peut progresser ensemble et profiter de la vision de plusieurs personnes, alors il y a un débat et une discussion qui s’installe. À travers cette discussion naît un brainstorming qui permet d’en dégager une idée. Cette idée est venue grâce à la contribution du groupe entier et tous sont d’accord sur cette idée. Quand cela a été mis en place, il est possible d’organiser la création de cette idée et de faire la mise en place du business plan.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://67.media.tumblr.com/a1e1d004e42533dd1ffcb9dccb60e40a/tumblr_inline_oa74wbPMUX1sj1ffi_540.jpg&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Ce qu’il ne faut surtout pas hésiter à faire c’est parler avec les professeurs car ils ont de l’expérience à partager. Ils ont un savoir qui nous permet en tant qu’étudiant de se rendre compte du monde commercial qui nous entoure.&lt;/p&gt;

&lt;p&gt;L’entreprenariat est une notion vaste au final. Cela part de la création d’une entreprise par une seule personne jusqu’à la mise en place de sociétés comme Facebook. Ce monde est donc peuplé d’entrepreneurs qui sont en fait des personnes qui lors de leur vie de tous les jours on pensé à une solution. Cette solution sert a régler un problème et à travers cette solution ils trouvent un moyen de la monétiser.&lt;/p&gt;

&lt;p&gt;La monétisation d’une entreprise est un des plus gros challenges pour l’entrepreneur. Pour fonctionner une entreprise doit avoir un business model. Ce business model va représenter toutes les fonctionnalités payantes d’une entreprise. Il arrive souvent que ce dernier soit a l’origine du dépôt de bilan d’une start-up. C’est une décision importante qui ne possède pas de recette miracle. Pour le moment la manière que j’ai trouvé la plus réaliste est de se demander a soi-même quels sont les services qui me sont rendus et combien je serais prêt a payer pour obtenir ces services. Après cette réflexion, une entreprise reviendra souvent sur son business model mais en définir une base permet de progresser dans la création de ladite entreprise.&lt;/p&gt;

&lt;p&gt;Cependant, tout le savoir ne peut pas être acquis avec un cours ou en étant membre dans un groupe de jeunes entrepreneurs. Certains savoirs ne sont acquis que grâce a l’expérience personnelle. Que ce soit comment trouver un associé où encore savoir manager une équipe. Ce sont des savoirs qui ne s’acquièrent pas à travers une leçon. Et c’est une chance. Cela permet à l’étudiant considéré comme un jeune entrepreneur de chercher à pousser ses connaissances. Un des meilleurs moyens pour en apprendre davantage sur le monde entrepreneur reste de parler avec des entrepreneurs. Il existe beaucoup de moyens pour entrer en contact avec les entrepreneurs car ils sont actifs et souvent ils sont ouvert au partage. Il ne faut pas hésiter à demander et échanger car cela permet d’avoir un avantage sur ceux qui ignorent.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://66.media.tumblr.com/7f7642a0bcd82ccdbf065f02f87c5ecb/tumblr_inline_oa74wbZi4m1sj1ffi_540.jpg&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;
</description>
            <pubDate>Wed, 13 Jul 2016 09:34:12 +0000</pubDate>
            <link>https://www.apiloop.io/fr/apprendre/2016/07/13/entreprendre-ecole-de-commerce.html</link>
            <guid isPermaLink="true">https://www.apiloop.io/fr/apprendre/2016/07/13/entreprendre-ecole-de-commerce.html</guid>
            
            <category>ecole de commerce</category>
            
            <category>entreprendre</category>
            
            <category>etudiant</category>
            
            <category>startup</category>
            
            
            <category>fr</category>
            
            <category>apprendre</category>
            
        </item>
        
        <item>
            <title>Running Photos Finder : Développé en 2j avec Apiloop</title>
            <description>&lt;p&gt;On nous demande souvent s’il y a des projets qui ont été développés avec &lt;a href=&quot;http://bit.ly/apiloop&quot;&gt;Apiloop&lt;/a&gt; pour voir ce que l’on peut faire avec.&lt;/p&gt;

&lt;p&gt;Au lieu de faire un vulgaire “&lt;em&gt;Hello World&lt;/em&gt;” ou encore une “&lt;em&gt;TODO app&lt;/em&gt;” (les initiés comprendront), nous avons décidé de résoudre un vrai problème pour montrer que la plateforme permet de faire des applications &lt;strong&gt;de la vraie vie&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id=&quot;quel-problme-&quot;&gt;Quel problème ?&lt;/h2&gt;

&lt;p&gt;S’il y a des coureurs parmi vous, vous savez qu’après chaque course, un flot de photos est déposé sur les réseaux sociaux, souvent de très bonne qualité car prises par des photographes professionnels. Le problème est qu’il y en a trop et qu’il est difficile de retrouver des photos de vous ou de vos amis.&lt;/p&gt;

&lt;h2 id=&quot;quelle-solution-&quot;&gt;Quelle solution ?&lt;/h2&gt;

&lt;p&gt;Proposer une plateforme qui s’interface avec les albums photos Facebook et qui permet de &lt;strong&gt;tagger de manière collaborative&lt;/strong&gt; des photos avec le numéro de dossard. Ainsi, avec une &lt;strong&gt;simple recherche du numéro&lt;/strong&gt;, on retrouve les photos de sa course.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://bit.ly/aplprpf&quot;&gt;Running Photos Finder&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://65.media.tumblr.com/d921f52a3d2d2a7888e75ff25a8750c3/tumblr_inline_o7hc6z3TUZ1sj1ffi_540.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Entrons à présent dans le vif du sujet en expliquant les &lt;strong&gt;Comment&lt;/strong&gt; et &lt;strong&gt;Pourquoi&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id=&quot;le-modle-de-donnes&quot;&gt;Le modèle de données&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://67.media.tumblr.com/e250d2f6e3c0613ec6dcb532cf9e25ad/tumblr_inline_o7hb96EX6Y1sj1ffi_540.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Comme le montre l’illustration, le modèle est très simple. Nous avons :&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;User&lt;/strong&gt; : les utilisateurs qui se connectent via Facebook Connect pour interagir avec les photos (tagger/rechercher)&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Event&lt;/strong&gt; : un événement correspondant à une course précise avec un nom, une description, une belle photo d’illustration, une date et une localisation&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Album&lt;/strong&gt; : un album photo posté sur Facebook lié à un événement&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Picture&lt;/strong&gt; : une photo liée à un album comportant un titre et bien évidemment une liste de dossards qui y figurent&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Le modèle de données d’une application est souvent difficile à trouver mais une fois qu’on l’a sous les yeux, ça paraît tout de suite plus évident.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Oui c’est exactement comme les solutions aux problèmes de maths à l’école :)&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;gnration-du-code&quot;&gt;Génération du code&lt;/h2&gt;

&lt;p&gt;Grâce à &lt;a href=&quot;http://bit.ly/apiloop&quot;&gt;Apiloop&lt;/a&gt;, nous avons pu générer très rapidement la structure de base du site web (&lt;a href=&quot;https://angularjs.org/&quot;&gt;AngularJS&lt;/a&gt;, &lt;a href=&quot;http://getbootstrap.com/&quot;&gt;Bootstrap&lt;/a&gt;).&lt;/p&gt;

&lt;h2 id=&quot;dveloppement&quot;&gt;Développement&lt;/h2&gt;

&lt;p&gt;À partir de là, nous avons juste eu à récupérer le code via Git et y apporter les modifications nécessaires pour implémenter nos différents écrans :&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.runningphotosfinder.com&quot;&gt;Homepage&lt;/a&gt; avec un gros texte et la liste des événements du plus récent au plus ancien&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.runningphotosfinder.com/#!/events/84108465-a6ea-400f-9d91-859554cea592&quot;&gt;Liste des albums&lt;/a&gt; d’un événement&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.runningphotosfinder.com/#!/albums/ccda20bc-bcef-46a4-bffe-b07a91694ce6&quot;&gt;Liste des photos&lt;/a&gt; d’un album avec un champ de recherche&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.runningphotosfinder.com/#!/albums/ccda20bc-bcef-46a4-bffe-b07a91694ce6/pictures/1239298676098472&quot;&gt;Une photo&lt;/a&gt; avec un formulaire pour tagger les dossards que l’on y voit&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Concrètement, l’implémentation de ces écrans est très simplifiée car le &lt;strong&gt;backend&lt;/strong&gt; &lt;strong&gt;Apiloop&lt;/strong&gt; est déjà prêt pour permettre de &lt;strong&gt;lister des éléments&lt;/strong&gt;, d’en &lt;strong&gt;charger un précis&lt;/strong&gt;, de &lt;strong&gt;rechercher des éléments&lt;/strong&gt;, etc.&lt;/p&gt;

&lt;p&gt;Grâce au &lt;strong&gt;SDK Angular Apiloop&lt;/strong&gt;, il suffit simplement de faire un peu de &lt;strong&gt;JavaScript&lt;/strong&gt;, un peu de &lt;strong&gt;HTML&lt;/strong&gt; et un zeste de &lt;strong&gt;CSS&lt;/strong&gt; pour rendre un peu plus beau.&lt;/p&gt;

&lt;h2 id=&quot;collaboration&quot;&gt;Collaboration&lt;/h2&gt;

&lt;p&gt;Sur ce projet il n’y avait qu’un seul développeur. Mais Apiloop permet évidemment de travailler à plusieurs sur un même projet. Par rapport à nos différents écrans, nous aurions pu créer des missions et demander à des développeurs de la communauté de s’en occuper.&lt;/p&gt;

&lt;h2 id=&quot;dploiement&quot;&gt;Déploiement&lt;/h2&gt;

&lt;p&gt;Naturellement, &lt;strong&gt;il ne s’agit pas de développer le site web en mode tunnel&lt;/strong&gt; et une fois terminé le mettre sur le serveur pour le tester. Ce sont des choses qu’il faut faire dès le départ pour s’assurer que toute la chaîne est validée. Cela permet de fournir un travail de &lt;strong&gt;meilleure qualité&lt;/strong&gt; et d’assurer une &lt;strong&gt;meilleure communication&lt;/strong&gt; sur un projet de plus grande envergure.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://67.media.tumblr.com/028ca5df1cbb3b298e09baabc42ae2b7/tumblr_inline_o7hbvgpdxn1sj1ffi_540.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Encore une fois, Apiloop permet de se faciliter grandement le travail grâce à deux boutons très simples permettant d’envoyer le site internet dans le cloud pour le tester et le faire tester.&lt;/p&gt;

&lt;p&gt;Une fois que tout est validé, il suffit de lier le nom de domaine et envoyer en production :&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://67.media.tumblr.com/d1c998a25a6c093158231fc8965d22a1/tumblr_inline_o7hby2Wb3Z1sj1ffi_540.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Et TADA ! Le site devient accessible via votre propre nom de domaine &lt;a href=&quot;http://bit.ly/aplprpf&quot;&gt;http://www.runningphotosfinder.com&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;et-si-on-veut-apporter-des-modifications-&quot;&gt;Et si on veut apporter des modifications ?&lt;/h2&gt;

&lt;p&gt;Aucun souci, Apiloop facilite également tout cela. Il est facile de poster une mission pour qu’un développeur tiers travaille sur l’application avec toutes les &lt;strong&gt;relecture de code&lt;/strong&gt; et le &lt;strong&gt;suivi qualité&lt;/strong&gt; nécessaires. Cela peut également être fait par vous ou par un développeur travaillant pour vous.&lt;/p&gt;

&lt;p&gt;Pour implémenter un nouvel écran :&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Modification du modèle de données si besoin (ajout d’une entité par exemple)&lt;/li&gt;
  &lt;li&gt;Implémentation de l’écran en JavaScript/HTML/CSS&lt;/li&gt;
  &lt;li&gt;Relecture de code et contrôle qualité par nos soins&lt;/li&gt;
  &lt;li&gt;Envoi en pré-production&lt;/li&gt;
  &lt;li&gt;Validation que le travail répond bien à la mission par vos soins&lt;/li&gt;
  &lt;li&gt;Envoi en production&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Avec ce process, en &lt;strong&gt;quelques jours&lt;/strong&gt;, voire à peine &lt;strong&gt;quelques heures&lt;/strong&gt;, vous avez une nouvelle fonctionnalité prête à être utilisée par vos utilisateurs !&lt;/p&gt;

&lt;h2 id=&quot;et-si-on-veut-une-application-mobile-&quot;&gt;Et si on veut une application mobile ?&lt;/h2&gt;

&lt;p&gt;Oui vous l’avez vu le petit bouton sur une des captures d’écran :) C’est très simple : le &lt;strong&gt;modèle de données reste le même&lt;/strong&gt;, les &lt;strong&gt;données restent les mêmes&lt;/strong&gt;. Il n’y a que les écrans à changer pour vraiment donner un aspect d’application mobile, suivre le même process de développement et envoyer votre application sur l’&lt;strong&gt;AppStore&lt;/strong&gt; et/ou le &lt;strong&gt;PlayStore&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id=&quot;considrations-un-peu-plus-techniques&quot;&gt;Considérations “un peu” plus techniques&lt;/h2&gt;

&lt;p&gt;Pour les plus courageux, voici des aspects un peu plus techniques qui peuvent vous intéresser :&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Facebook&lt;/strong&gt; : le réseau social propose tout un panel d’APIs permettant d’interagir avec les albums, les photos, etc. C’est une simple API REST.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Recherche&lt;/strong&gt; : nous sommes interfacés directement avec &lt;a href=&quot;https://www.algolia.com/&quot;&gt;Algolia&lt;/a&gt;. Comme vous pouvez le voir sur la capture d’écran du modèle de données, dès qu’une petite loupe est adossée à une entité, cela signifie qu’elle est “&lt;em&gt;recherchable&lt;/em&gt;”.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Cloud&lt;/strong&gt; : les versions de pré-production et de production sont envoyées sur le cloud Amazon (S3 pour le stockage, Route 53 pour le nom de domaine). L’API Apiloop est également hébergée sur &lt;a href=&quot;https://aws.amazon.com/fr/&quot;&gt;AWS&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Déploiement&lt;/strong&gt; : nous utilisons ce bon vieux Jenkins pour construire et déployer les applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;le-mot-de-la-fin&quot;&gt;Le mot de la fin&lt;/h2&gt;

&lt;p&gt;N’hésitez pas à tester gratuitement : &lt;a href=&quot;http://bit.ly/apiloop&quot;&gt;https://www.apiloop.io&lt;/a&gt;. On reste à votre disposition pour toute question.&lt;/p&gt;
</description>
            <pubDate>Fri, 20 May 2016 12:56:12 +0000</pubDate>
            <link>https://www.apiloop.io/fr/etude-de-cas/2016/05/20/running-photos-finder-developpe-2j-avec-apiloop.html</link>
            <guid isPermaLink="true">https://www.apiloop.io/fr/etude-de-cas/2016/05/20/running-photos-finder-developpe-2j-avec-apiloop.html</guid>
            
            <category>how-to</category>
            
            <category>tuto</category>
            
            <category>use case</category>
            
            <category>cas d'utilisation</category>
            
            
            <category>fr</category>
            
            <category>etude-de-cas</category>
            
        </item>
        
        <item>
            <title>Qu’est-ce qu’un modèle de données ?</title>
            <description>&lt;p&gt;Lorsque l’on souhaite créer un site web, un logiciel ou une application mobile il est important de comprendre ce qu’est un &lt;strong&gt;modèle de données&lt;/strong&gt;, et ce, même si l’on ne fait pas partie de l’équipe dite “&lt;em&gt;technique&lt;/em&gt;”.&lt;/p&gt;

&lt;p&gt;En effet, ce dernier représente la base de toute application, il permet de structurer votre métier. Uber a un modèle de données, Facebook a un autre modèle de données, Deliveroo a également un autre modèle de données.&lt;/p&gt;

&lt;p&gt;Toutefois, tous ces services ont certains points communs. Par exemple, ils permettent tous de s’inscrire en tant qu’utilisateur, de se connecter, etc. Mais tous n’ont pas besoin des mêmes données sur l’utilisateur et cela est matérialisé dans le modèle de données.&lt;/p&gt;

&lt;p&gt;Entrons dans le vif du sujet.&lt;/p&gt;

&lt;p&gt;Pour faire simple, les trois principaux termes à connaitre lorsque l’on parle de modèle de données sont : &lt;strong&gt;Entité&lt;/strong&gt;, &lt;strong&gt;Attribut&lt;/strong&gt; et &lt;strong&gt;Relation&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id=&quot;quest-ce-quune-entit-&quot;&gt;Qu’est-ce qu’une entité ?&lt;/h2&gt;

&lt;p&gt;Une entité représente un élément de votre business correspondant souvent à un élément de la vie réelle, mais pas toujours. Des exemples d’entités en fonction de services que vous connaissez :&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Facebook&lt;/strong&gt; : Utilisateur, Statut, AlbumPhoto, Photo&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Uber&lt;/strong&gt; : Utilisateur, Conducteur, Trajet, Avis&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Twitter&lt;/strong&gt; : Utilisateur, Tweet&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Blog&lt;/strong&gt; : Rédacteur, Catégorie, Article&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Site e-commerce&lt;/strong&gt; : Catégorie, Produit, Commande&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Comme vous pouvez le voir, il peut être difficile d’identifier des entités mais lorsque l’on parvient à le faire cela semble naturel.&lt;/p&gt;

&lt;h2 id=&quot;les-entits-ont-des-attributs&quot;&gt;Les entités ont des attributs&lt;/h2&gt;

&lt;p&gt;Venons en maintenant aux attributs. Ils appartiennent toujours à une entité. Un attribut a un type qui correspond au type de donnée qu’il contient : nombre entier, nombre décimal, texte libre, booléen (vrai ou faux), date, email, URL…&lt;/p&gt;

&lt;p&gt;Si vous n’arrivez pas à déterminer le type d’un &lt;strong&gt;attribut&lt;/strong&gt; c’est probablement que c’est une &lt;strong&gt;entité&lt;/strong&gt; à part ou une &lt;strong&gt;relation&lt;/strong&gt; (voir plus loin).&lt;/p&gt;

&lt;p&gt;Prenons l’entité &lt;strong&gt;Produit&lt;/strong&gt; du site e-commerce pour donner des exemples d’attributs :&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Nom&lt;/strong&gt; : le nom du produit (texte)&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt; : description détaillée (texte)&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Date de disponibilité&lt;/strong&gt; : quand le produit sera disponible (date)&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Stock&lt;/strong&gt; : le nombre de produits encore en stock (nombre entier)&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Site du fabricant&lt;/strong&gt; : lien vers le fabricant (URL)&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Prix TTC&lt;/strong&gt; : le prix TTC du produit (nombre décimal) &lt;em&gt;Vous savez celui qui finit toujours par ,99€…&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;quid-des-relations-&quot;&gt;Quid des relations ?&lt;/h2&gt;

&lt;p&gt;Les relations sont légèrement plus compliquées à comprendre mais ce n’est pas insurmontable. Elles permettent de lier des entités entre elles. Vous avez certainement déjà entendu parler de bases de données “&lt;em&gt;relationnelles”. (Attention ça ne veut pas dire que les bases non relationnelles ne permettent pas d’implémenter de relations).&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Prenons l’exemple de la relation entre un &lt;strong&gt;Produit&lt;/strong&gt; et une &lt;strong&gt;Catégorie&lt;/strong&gt; du &lt;strong&gt;site e-commerce&lt;/strong&gt; pour illustrer.&lt;/p&gt;

&lt;p&gt;Dans le cahier des charges de notre site e-commerce, il est mentionné :&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Un Produit appartient à une seule catégorie&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;On peut donc modéliser de la façon suivante :&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://65.media.tumblr.com/2a08b5ef01450e462d292518a6db7bf7/tumblr_inline_o54565k6NU1sj1ffi_540.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;C’est le cas le plus simple. Il y a une référence (&lt;em&gt;représentée via la flèche&lt;/em&gt;) au niveau de l’entité &lt;strong&gt;Produit&lt;/strong&gt; vers l’entité &lt;strong&gt;Catégorie&lt;/strong&gt;. Autrement dit, nous avons un attribut “Catégorie” dans l’entité “Produit” qui contient la référence unique de la catégorie. Ainsi, nous pouvons facilement lister les produits d’une catégorie donnée par exemple.&lt;/p&gt;

&lt;p&gt;Maintenant, le cahier des charges change :&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Un Produit peut avoir plusieurs catégories&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Développeur :&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Arghhh ! T’aurais pas pu le dire avant ?!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Le modèle précédemment choisi ne convient plus car quelle référence unique allons-nous mettre dans l’attribut Catégorie ?&lt;/p&gt;

&lt;p&gt;Il faut donc créer une entité un peu spéciale qui lie les deux que l’on pourra appeler LienProduitCategorie.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://67.media.tumblr.com/be1c47fc9962add87b08bf8b0544977d/tumblr_inline_o545jd1EAr1sj1ffi_540.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Cette entité a deux attributs : référence unique du produit (&lt;em&gt;flèche vers produit&lt;/em&gt;) et référence unique de la catégorie (&lt;em&gt;flèche vers catégorie&lt;/em&gt;). Avec ce modèle, nous pouvons lier un produit à autant de catégories que l’on souhaite.&lt;/p&gt;

&lt;p&gt;Rien n’empêche naturellement d’ajouter des attributs spécifiques dans l’entité ProductCategoryLink. Comme la date à laquelle le produit a été assigné à telle catégorie.&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;Tiens tiens, ce n’est pas ce genre de modélisation qui permettrait à Facebook de vous dire quand est-ce que vous avez intégré un groupe par exemple ?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;le-mot-de-la-fin&quot;&gt;Le mot de la fin&lt;/h2&gt;

&lt;p&gt;Même s’il est simplifié, cet article peut sembler compliqué. Il est nécessaire toutefois pour une personne non technique de comprendre les &lt;strong&gt;mécanismes&lt;/strong&gt; afin de &lt;strong&gt;mettre sur papier son idée&lt;/strong&gt; et discuter de façon &lt;strong&gt;pragmatique&lt;/strong&gt; avec un &lt;strong&gt;développeur&lt;/strong&gt;. Le travail du développeur est d’autant plus simplifié si le modèle de données est déjà établi.&lt;/p&gt;

&lt;p&gt;À noter, qu’il ne doit pas y avoir de lien entre le modèle de données et la technique associée. En effet, peu importe le type de base de données que vous utilisez (SQL, NoSQL orienté document, NoSQL orienté colonnes…), votre &lt;strong&gt;modèle de données reste le même&lt;/strong&gt; car il modélise votre &lt;strong&gt;métier&lt;/strong&gt; dans l’absolu. L’implémentation technique change en fonction de la solution de stockage et du framework/langage de programmation.&lt;/p&gt;

&lt;p&gt;Pour aller plus loin, vous pouvez lire des articles sur le modèle de classes UML.&lt;/p&gt;

&lt;p&gt;Si vous avez besoin d’aider pour modéliser votre modèle, n’hésitez pas à nous contacter : &lt;a href=&quot;mailto:hello@apiloop.io&quot;&gt;hello@apiloop.io&lt;/a&gt; ou à tester notre solution &lt;a href=&quot;https://www.apiloop.io&quot;&gt;https://www.apiloop.io&lt;/a&gt;.&lt;/p&gt;
</description>
            <pubDate>Mon, 04 Apr 2016 14:37:41 +0000</pubDate>
            <link>https://www.apiloop.io/fr/apprendre/2016/04/04/qu-est-ce-qu-un-modele-de-donnees.html</link>
            <guid isPermaLink="true">https://www.apiloop.io/fr/apprendre/2016/04/04/qu-est-ce-qu-un-modele-de-donnees.html</guid>
            
            <category>modele de données</category>
            
            <category>modélisation</category>
            
            
            <category>fr</category>
            
            <category>apprendre</category>
            
        </item>
        
    </channel>
</rss>
