<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: kisenga jocelin | lushidev</title>
    <description>The latest articles on Forem by kisenga jocelin | lushidev (@jocelin_kisenga).</description>
    <link>https://forem.com/jocelin_kisenga</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F605233%2F4752093a-fc9a-404f-9239-bd515b780703.jpg</url>
      <title>Forem: kisenga jocelin | lushidev</title>
      <link>https://forem.com/jocelin_kisenga</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/jocelin_kisenga"/>
    <language>en</language>
    <item>
      <title>Git : annuler son dernier commit</title>
      <dc:creator>kisenga jocelin | lushidev</dc:creator>
      <pubDate>Wed, 30 Aug 2023 06:53:20 +0000</pubDate>
      <link>https://forem.com/jocelin_kisenga/git-annuler-son-dernier-commit-2e0o</link>
      <guid>https://forem.com/jocelin_kisenga/git-annuler-son-dernier-commit-2e0o</guid>
      <description>&lt;p&gt;Voici un petit alias Git pratique que vous pouvez utiliser pour annuler votre dernier commit.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global alias.uncommit 'reset --soft HEAD~1'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cela créera un alias Git global appelé &lt;strong&gt;uncommit&lt;/strong&gt; qui annulera la dernière validation du référentiel actuel à l'aide d' une réinitialisation logicielle et remettra les modifications dans la zone de préparation.&lt;/p&gt;

&lt;p&gt;Donc, si vous souhaitez annuler votre dernier commit, vous pouvez le faire ainsi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git uncommit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;C'est tout pour aujourd'hui,,merci d'avoir lu l'article ; n'oubliez pas de partager et de liker l'article !!!&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>french</category>
      <category>webdev</category>
    </item>
    <item>
      <title>11 Key steps to creating a website</title>
      <dc:creator>kisenga jocelin | lushidev</dc:creator>
      <pubDate>Mon, 07 Nov 2022 20:44:36 +0000</pubDate>
      <link>https://forem.com/jocelin_kisenga/11-key-steps-to-creating-a-website-1na6</link>
      <guid>https://forem.com/jocelin_kisenga/11-key-steps-to-creating-a-website-1na6</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Do you want to create a website to increase the visibility of your business and attract new customers, but you don't know where to start? You are at the right place !&lt;/p&gt;

&lt;p&gt;In this article I will provide you with the keys to successfully create your website.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Assess your needs and goals
&lt;/h2&gt;

&lt;p&gt;Before embarking on the creation or redesign of a website, it is necessary to answer a certain number of questions. This is to get a clear idea of ​​the goals you are trying to achieve with your website:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What do you expect from your website?
&lt;/li&gt;
&lt;li&gt;What is the target of your website? &lt;/li&gt;
&lt;li&gt;What type of content do you want to upload? &lt;/li&gt;
&lt;li&gt;What essential features do you need?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;*&lt;em&gt;For example *&lt;/em&gt;, an artisan jeweler wishing to sell his creations online will naturally turn to the creation of an e-commerce site. Conversely, a lawyer wishing to communicate with professionals around his activity and acquire new clients will see his need satisfied by a showcase site in the image of his firm.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Define a digital strategy
&lt;/h2&gt;

&lt;p&gt;After having determined the type of website corresponding to your needs as well as the functionalities which are specific to it, it is important to define a digital strategy.&lt;/p&gt;

&lt;p&gt;A digital strategy encompasses a set of webmarketing actions aimed in particular at improving your referencing (SEO) by having, for example, content adapted to the keywords on which you wish to appear in search engines such as Google.&lt;/p&gt;

&lt;p&gt;It is also during this step that it will be necessary to define the marketing tools that you would like to put in place around your website such as Google Analytics, Google Search Console, Google Tag Manager or Google AdWords.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Write specifications
&lt;/h2&gt;

&lt;p&gt;It is the essential support for the success of your project. It is on this document that you will meticulously express all of your needs and the objectives that you wish to achieve.&lt;/p&gt;

&lt;p&gt;Once the specifications have been written, you will be able to consult digital service providers and obtain in return an estimate of your website or web application project.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Cost of your project
&lt;/h2&gt;

&lt;p&gt;Now that you have a specification you can submit it to different web agencies in order to obtain an estimate of your website project. The advantage of providing one and the same specifications to each service provider is that each estimate will be produced on a common basis.&lt;/p&gt;

&lt;p&gt;It is thus much easier for you to compare the different proposals with each other and to choose your web agency.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Create wireframes
&lt;/h2&gt;

&lt;p&gt;A wireframe is a functional model of your site that ignores the graphic and aesthetic aspects of it. The objective at this stage of the project is to focus on the essentials, namely: the tree structure of the site, the structure of the pages and the design of the different user paths.&lt;/p&gt;

&lt;p&gt;This step will allow you to validate with the web agency that you have chosen the functional aspect of your website.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Write content
&lt;/h2&gt;

&lt;p&gt;If you want your website to have effective SEO and be visible on Google, you will have to write original and quality content for each page of your site. Search engines (as well as your visitors) particularly appreciate websites that regularly publish new content.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Conceive the design
&lt;/h2&gt;

&lt;p&gt;Now that you have validated with your web agency the structure and operation of your website using wireframes and that your content has been written, it is high time to move on to the visual and aesthetic aspect of your project.&lt;/p&gt;

&lt;p&gt;During this step, the web designer will define with you the visual identity of your website and apply it to your wireframes. Each of the design pages is created with the utmost attention to the user experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Creating your website
&lt;/h2&gt;

&lt;p&gt;This is the moment when the creation of your website begins on the technical level. Depending on your needs and your budget, the developers will use a CMS (such as WordPress or Drupal) or carry out a completely custom development.&lt;/p&gt;

&lt;p&gt;The team of the service provider you have chosen will implement the functionalities listed in your specifications one by one and give life to your pages by inserting your various contents (texts, images, videos, etc.).&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Test the site before it goes live
&lt;/h2&gt;

&lt;p&gt;This phase is crucial to the success of your website creation project. It allows you to ensure the proper functioning of each functionality of the website as initially planned in the specifications and the wireframes.&lt;/p&gt;

&lt;h2&gt;
  
  
  10. Putting the site online
&lt;/h2&gt;

&lt;p&gt;Here we are ! After more design and development time, your website is now complete.&lt;/p&gt;

&lt;p&gt;Your IT department will put your site online on a hosting server and it will be accessible via the domain name you have chosen.&lt;/p&gt;

&lt;p&gt;To speed up SEO, your service provider will very often generate a sitemap file and submit it to various search engines such as Google.&lt;/p&gt;

&lt;h2&gt;
  
  
  11. Follow-up and maintenance
&lt;/h2&gt;

&lt;p&gt;Your site is now online and can begin to receive its first visitors. But your project itself is not finished. Indeed, a website lives and must evolve to remain relevant over time.&lt;/p&gt;

&lt;p&gt;This is why we recommend that you opt for a maintenance contract with your service provider. This contract may contain different services depending on your recurrent needs:&lt;/p&gt;

&lt;p&gt;Updates to your CMS (WordPress or Drupal). Improved referencing (SEO). Content writing. Backing up your database.&lt;/p&gt;

&lt;p&gt;The role of your service provider is also to assist you in the creation of new pages, the development of new functionalities or the implementation of a new natural referencing strategy (SEO).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;These are the different stages of designing and developing a website. Thank you for the time you sacrificed, I hope you enjoyed the article 🙏&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This article was written in collaboration with Jean Palier . Thank you John!!!&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>5 sites et applications pour apprendre à coder gratuitement</title>
      <dc:creator>kisenga jocelin | lushidev</dc:creator>
      <pubDate>Tue, 26 Jul 2022 08:02:36 +0000</pubDate>
      <link>https://forem.com/jocelin_kisenga/5-sites-et-applications-pour-apprendre-a-coder-gratuitement-362g</link>
      <guid>https://forem.com/jocelin_kisenga/5-sites-et-applications-pour-apprendre-a-coder-gratuitement-362g</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;apprenez sans cesse, cela vous rajeunit &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  OpenClassRooms
&lt;/h2&gt;

&lt;p&gt;La plateforme est déjà bien connue pour suivre de nombreuses formations, elle est également recommandée pour apprendre à coder rapidement. Les principaux langages informatiques y sont enseignés et l’utilisateur peut choisir entre une série de cours en format texte ou vidéo. Des forums existent aussi entre élèves pour trouver rapidement une réponse à ses problèmes. À noter que la version gratuite vous limite à cinq vidéos, d’une durée maximum de quinze minutes par semaine. L’ouverture d’un compte premium, à partir de 20 euros par mois, offre l’accès à plus de contenus et des mentors personnels.&lt;/p&gt;

&lt;h2&gt;
  
  
  Coursera
&lt;/h2&gt;

&lt;p&gt;Coursera est une vaste base de cours en ligne. Certains sont gratuits, issus de programmes universitaires, d’autres sont payants. Il est possiblement de contacter le site pour connaitre les enseignements auquel vous avez accès. Globalement, on y trouve une formation pour tous les langages ainsi que des introductions au codage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code Academy
&lt;/h2&gt;

&lt;p&gt;Ce site est devenu une référence pour apprendre à coder efficacement et gratuitement. 12 langages sont proposés et plus de 300 millions d’heures de contenu sont disponibles gratuitement. 25 cours sont offerts chaque mois. Pour 17,99€ par mois, vous aurez accès à 65 cours et un système d’apprentissage bien mieux pensé. Seul bémol, tous les cours sont en anglais.&lt;/p&gt;

&lt;h2&gt;
  
  
  Grasshooper
&lt;/h2&gt;

&lt;p&gt;Voilà une application pour se familiariser avec les bases du codage, à travers une application ludique et intuitive. Développée par Google, elle compte déjà plus de 6 millions d’utilisateurs selon la firme de Mountain View. Les exercices permettent de comprendre le fonctionnement des différents langages, comment « rédiger » une page et en cas d’erreur, vous recevez un retour instructif. Tout est en anglais également.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sololearn
&lt;/h2&gt;

&lt;p&gt;Solo Learn est un site web et une application gratuite par lesquels sont passés plus de 10 millions d’élèves. La plateforme propose de se lancer pédagogiquement dans le codage, des quiz permettent de passer des niveaux. Le site réunit également une communauté de débutants comme de professionnels qui offrent de nombreux conseils ainsi que des propositions pour améliorer son code. Une bonne base en anglais est encore une fois nécessaire.&lt;/p&gt;

&lt;p&gt;Aussi compliqué que cela puisse paraître, le code n’est souvent qu’une question de logique et d’enchaînement méthodique que l’on répète régulièrement. Le tout est de s’armer de patience, et de répéter, répéter, répéter.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Connexion par numéro de téléphone laravel 8</title>
      <dc:creator>kisenga jocelin | lushidev</dc:creator>
      <pubDate>Sat, 14 May 2022 18:15:57 +0000</pubDate>
      <link>https://forem.com/jocelin_kisenga/connexion-par-numero-de-telephone-laravel-8-44gc</link>
      <guid>https://forem.com/jocelin_kisenga/connexion-par-numero-de-telephone-laravel-8-44gc</guid>
      <description>&lt;p&gt;Laravel est un framework d'artisan qui nous facilite la conception et le développement rapide d'un projet.&lt;/p&gt;

&lt;p&gt;Cependant lorsqu'il s'agit de la gestion de l'authentification, laravel nous fournit une déjà configurée, celle nous permettant de se connecter par email bien sûr.&lt;/p&gt;

&lt;p&gt;Imaginer que vous devez développer un produit dont le client veut que l'authentification soit par téléphone.&lt;br&gt;
Oui vous serez conseiller de créer votre propre authentification. Uhm n'est-ce pas un travail double ?&lt;/p&gt;

&lt;p&gt;Dans cet article je vous suggère une autre façon qui m'a permis de changer l'authentification par défaut de laravel, juste en changeant quelques lignes de code.&lt;br&gt;
Pour cela nous allons partir d'un nouveau projet laravel.&lt;/p&gt;
&lt;h2&gt;
  
  
  Etape1: création du projet
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nc"&gt;Composer&lt;/span&gt; &lt;span class="n"&gt;create&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;project&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;prefer&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;dist&lt;/span&gt; &lt;span class="n"&gt;laravel&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;laravel&lt;/span&gt; &lt;span class="n"&gt;mobile&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;authentication&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Etape2: générer l'authentification
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="no"&gt;PHP&lt;/span&gt; &lt;span class="n"&gt;artisan&lt;/span&gt; &lt;span class="n"&gt;make&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;auth&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Etape3: Éditer la migration user
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nc"&gt;Schema&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'users'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Blueprint&lt;/span&gt; &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;increments&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'id'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
         &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'email'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;unique&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;nullable&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
 &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'telphone'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;unique&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
 &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'password'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
 &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;rememberToken&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;timestamps&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
                            &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Nb: ici nous avons ajouter nullable email, pour que ce dernier ne soit pas exiger dans le remplissage de la table. &lt;br&gt;
En suite taper la commande&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="n"&gt;php&lt;/span&gt; &lt;span class="n"&gt;artisan&lt;/span&gt; &lt;span class="n"&gt;migrate&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Etape4: modifier le middleware RedirectIfAuthenticated
&lt;/h2&gt;

&lt;p&gt;Copiez ce bout de code dans votre middleware.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;App\Http\Middleware&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Closure&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Support\Facades\Auth&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;RedirectIfAuthenticated&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="cd"&gt;/**
         * Handle an incoming request.
         *      *
     * @param  \Illuminate\Http\Request  $request
     *      * @param  \Closure  $next
     * @param  string|null  $guard
     *      * @return mixed
     */&lt;/span&gt;
     &lt;span class="o"&gt;*&lt;/span&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;handle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;Closure&lt;/span&gt; &lt;span class="nv"&gt;$next&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$guard&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
     &lt;span class="o"&gt;*&lt;/span&gt;        &lt;span class="p"&gt;{&lt;/span&gt;
     &lt;span class="o"&gt;*&lt;/span&gt;                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Auth&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;check&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
     &lt;span class="o"&gt;*&lt;/span&gt;                            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;redirect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/home'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
     &lt;span class="o"&gt;*&lt;/span&gt;                                    &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Etape5: modifier le controlleur
&lt;/h2&gt;

&lt;p&gt;Maintenant faisons quelques changements dans notre Controller loginController&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;App\Http\Controllers\Auth&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;App\Http\Controllers\Controller&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Foundation\Auth\AuthenticatesUsers&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Http\Request&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;App\Http\Requests&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;App\User&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;LoginController&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Controller&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="cm"&gt;/*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    |
    */&lt;/span&gt;

    &lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;AuthenticatesUsers&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="cd"&gt;/**
     * Where to redirect users after login.
     *
     * @var string
     */&lt;/span&gt;
    &lt;span class="k"&gt;protected&lt;/span&gt; &lt;span class="nv"&gt;$redirectTo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'/home'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="cd"&gt;/**
     * Create a new controller instance.
     *
     * @return void
     */&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;__construct&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;middleware&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'guest'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;except&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'logout'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;login&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Request&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="c1"&gt;//validation du numéro de téléphone, &lt;/span&gt;
        &lt;span class="nc"&gt;Vous&lt;/span&gt; &lt;span class="n"&gt;pouvez&lt;/span&gt; &lt;span class="n"&gt;changer&lt;/span&gt; &lt;span class="n"&gt;à&lt;/span&gt; &lt;span class="n"&gt;vos&lt;/span&gt; &lt;span class="n"&gt;préférences&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt; 

        &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="s1"&gt;'phone'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required|regex:/[0-9]{10}/|digits:10'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;   

        &lt;span class="p"&gt;]);&lt;/span&gt;

        &lt;span class="c1"&gt;// Get user record&lt;/span&gt;
        &lt;span class="nv"&gt;$user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;where&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'phone'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'phone'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;first&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

        &lt;span class="c1"&gt;// vérifier l'existence du mot de passe&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'phone'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;phone&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="nc"&gt;Session&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;put&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'errors'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'numéro de téléphone introuvable.!!'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;back&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;        

        &lt;span class="c1"&gt;// Set Auth Details&lt;/span&gt;
        &lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="nc"&gt;Auth&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;login&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="c1"&gt;// Redirect home page&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;redirect&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'home'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dans ce cas nous validons le numéro avec le nombre total de 10 chiffres. Vous pouvez améliorer cette validation à vos préférences. &lt;/p&gt;

&lt;h2&gt;
  
  
  Étape 6: modification du fichier blade login
&lt;/h2&gt;

&lt;p&gt;Modifions notre blade d'enregistrement afin de pouvoir réagir en cas d'erreur.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;extends&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'layouts.app'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nf"&gt;section&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'content'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"container"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"row"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"col-md-8 col-md-offset-2"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"panel panel-default"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"panel-heading"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nc"&gt;Login&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"panel-body"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;form&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"form-horizontal"&lt;/span&gt; &lt;span class="n"&gt;method&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"POST"&lt;/span&gt; &lt;span class="n"&gt;action&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"{{ route('login') }}"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nf"&gt;csrf_field&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;
                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"form-group{{ &lt;/span&gt;&lt;span class="nv"&gt;$errors-&amp;gt;has&lt;/span&gt;&lt;span class="s2"&gt;('phone ') ? ' has-error' : '' }}"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;label&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"phone"&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"col-md-4 control-label"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nc"&gt;Entrer&lt;/span&gt; &lt;span class="n"&gt;le&lt;/span&gt; &lt;span class="n"&gt;numéro&lt;/span&gt; &lt;span class="n"&gt;de&lt;/span&gt; &lt;span class="n"&gt;téléphone&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"col-md-6"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;input&lt;/span&gt; &lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"phone"&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"form-control"&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"phone"&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"{{ old('phone') }}"&lt;/span&gt; &lt;span class="n"&gt;required&lt;/span&gt; &lt;span class="n"&gt;autofocus&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$errors&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;has&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'phone'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
                                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;span&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"help-block"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;strong&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;$errors&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;first&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'phone'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;strong&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                                    &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;span&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;endif&lt;/span&gt;
                            &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"form-group"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"col-md-6 col-md-offset-4"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"checkbox"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;input&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"checkbox"&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"remember"&lt;/span&gt; &lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nf"&gt;old&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'remember'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="s1"&gt;'checked'&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nc"&gt;Remember&lt;/span&gt; &lt;span class="nc"&gt;Me&lt;/span&gt;
                                    &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"form-group"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"col-md-8 col-md-offset-4"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;button&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"submit"&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"btn btn-primary"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                                    &lt;span class="nc"&gt;Login&lt;/span&gt;
                                &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;button&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

                                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"btn btn-link"&lt;/span&gt; &lt;span class="n"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"{{ route('password.request') }}"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                                    &lt;span class="nc"&gt;Forgot&lt;/span&gt; &lt;span class="nc"&gt;Your&lt;/span&gt; &lt;span class="nc"&gt;Password&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;
                                &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;form&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;endsection&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Nous voilà avec une connexion par téléphone bien gérée, sans pour autant recommencer tout à zéro.&lt;br&gt;
J'espère que l'article vous a été utile. N'oubliez pas de vous abonner pour ne pas manquer mon prochain article. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>A quoi sert un Service Web?</title>
      <dc:creator>kisenga jocelin | lushidev</dc:creator>
      <pubDate>Mon, 21 Mar 2022 20:48:49 +0000</pubDate>
      <link>https://forem.com/jocelin_kisenga/a-quoi-sert-un-service-web-1a4</link>
      <guid>https://forem.com/jocelin_kisenga/a-quoi-sert-un-service-web-1a4</guid>
      <description>&lt;p&gt;__À quoi sert un Service Web?&lt;/p&gt;

&lt;p&gt;Les applications professionnelles modernes utilisent diverses plates-formes de programmation pour développer des applications Web. Certaines applications peuvent être développées en Java, d’autres en .Net, d’autres en Angular JS, Node.js, etc.&lt;/p&gt;

&lt;p&gt;Le plus souvent, ces applications hétérogènes nécessitent une sorte de communication entre elles. Comme ils sont construits avec différents langages de développement, il devient très difficile d’assurer une communication entre ces applications.&lt;/p&gt;

&lt;p&gt;Donc c’est là où les services Web entrent en jeu. Les services Web constituent une plate-forme commune qui permet à plusieurs applications basées sur différents langages de programmation de communiquer entre elles.&lt;br&gt;
Dans ce tutoriel, nous expliquerons plus en détail les services Web, les différents éléments qui les constituent et les principes de l’architecture SOA (Service Oriented Architecture).&lt;/p&gt;

&lt;p&gt;Qu’est-ce qu’un service Web?&lt;br&gt;
Un service Web est un support normalisé permettant de propager la communication entre client et serveur sur le World Wide Web(WWW).&lt;/p&gt;

&lt;p&gt;Un service Web est un module logiciel conçu pour effectuer un certain ensemble de tâches.&lt;/p&gt;

&lt;p&gt;Les services Web peuvent être recherchés sur le réseau et peuvent également être appelés en conséquence. Lorsqu’il est appelé, le service Web peut fournir une fonctionnalité au client qui appelle ce service Web.&lt;/p&gt;

&lt;p&gt;L’image ci-dessus montre une vue très simpliste du fonctionnement réel d’un service Web. Le client invoquerait une série d’appels de service Web via des requêtes adressées à un serveur qui hébergerait le service Web réel.&lt;br&gt;
Ces requêtes sont effectuées par des appels de procédure distante. Remote Procedure Calls(RPC) sont des appels aux méthodes hébergées par le service Web correspondant.&lt;/p&gt;

&lt;p&gt;Le composant principal d’un service Web est constitué par les données transférées entre le client et le serveur, c’est-à-dire XML. XML (Extensible Markup Language) est un équivalent du HTML et qui est un langage intermédiaire compris par de nombreux langages de programmation.&lt;/p&gt;

&lt;p&gt;Ainsi, lorsque les applications se communiquent, elles communiquent en fait en XML. Ceci fournit une plate-forme commune pour que les applications développées dans divers langages de programmation puissent communiquer entre elles.&lt;/p&gt;

&lt;p&gt;Les services Web utilisent SOAP (Simple Object Access Protocol) pour envoyer des données sous forme d’XML entre les applications. Les données sont envoyées via HTTP. Les données envoyées par le service Web à l’application sont appelées des messages SOAP. Le message SOAP n’est qu’un document écrit en XML. L’application client qui fait appel au service Web peut être écrite dans n’importe quel langage de programmation.&lt;/p&gt;

</description>
      <category>php</category>
    </item>
    <item>
      <title>python developper road-map</title>
      <dc:creator>kisenga jocelin | lushidev</dc:creator>
      <pubDate>Mon, 04 Oct 2021 19:17:46 +0000</pubDate>
      <link>https://forem.com/jocelin_kisenga/python-developper-road-map-5e2j</link>
      <guid>https://forem.com/jocelin_kisenga/python-developper-road-map-5e2j</guid>
      <description>&lt;p&gt;Here i will show you how you can learn and master Python in just some months.&lt;br&gt;
This road map helped me as a developper to become a good desktop application developer, yes i'm not perfect but helped me to do things by following so routes.&lt;br&gt;
The plan&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;history of python&lt;br&gt;
Read the begin of each thing you want or language you whant to learn it helps to get a solid base of information even in interviews you will know what to respond if you get a question about that.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;variables, conditions, loops&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There are the basic of each programming language logic make sure you get real information about it, the are the real world you will never pass them.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Lists, Dictionaries, sets, tuples&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Out of simple variables these are more large storage variables in python. Learn and practice on these.&lt;/p&gt;

&lt;p&gt;4.Function&lt;/p&gt;

&lt;p&gt;They are ones those makes programs more readeble and more indented, they return values for a given instruction, learn to make function in python, and learn how to use built-in functions&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;File Handling&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Python is one of the language that manipulates files simply, so learn how to read, write from files, this will add to your storing data, files store a huge of data.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;OOP (object oriented programming)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The good thing in python is that you can do better programs just by using procedural programming , but python comes with another way of programming wich reduces the DRY (don't repeat your self). By there learn Classes, attributes, getters,setters, decorators, inheritance, polymorphism etc.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Error handling&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Learn how to handle error by using some tools debugger and make awesome programs.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Read Documentation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Python is one of the languages with a big community, and alot of documentation are wrote on top of it.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Practice and make simple projects&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The only way to learn and master a programming language is by practing and making simple projects, so with this road map learng how to read list, dictionaries,tuples by using loops. practice on how to handle errors.&lt;/p&gt;

&lt;p&gt;Thank you!!!&lt;/p&gt;

&lt;p&gt;Next Post .....&lt;br&gt;
invite friends and let's build a big community &lt;/p&gt;

</description>
      <category>python</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>How to become a good developper</title>
      <dc:creator>kisenga jocelin | lushidev</dc:creator>
      <pubDate>Wed, 30 Jun 2021 19:48:44 +0000</pubDate>
      <link>https://forem.com/jocelin_kisenga/how-to-become-a-good-developper-3oa3</link>
      <guid>https://forem.com/jocelin_kisenga/how-to-become-a-good-developper-3oa3</guid>
      <description>&lt;p&gt;A lot of people think like programming needs a much knowledge of maths, what's an ironic idea, yes maths are basics but to become a good developper we need to practice&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;We need to know basics of algorithm (variables, structures,lists, trees, etc)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;2.We need to think logically.&lt;br&gt;
3.When starting to learn a new language, try to understand basics of each language(variables, instructions, functions, conditions, arrays, tuples, lists, file system).Make sure you understand the basics before.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Practice , when learning a course about programming practice is the good way to preview and see the result of each code, but when practing try to use your own variables and don't try to copy and paste, just practice!!!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After learning basics try to go to advanced and make projects, yes real projects of course&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;6.After all good teacher, good programmer, try to help, teach, train others, that's the way you will get more confortable.&lt;/p&gt;

&lt;p&gt;"Sorry for my bad english, i speak french basically, and english is my third language, next time i will try my best"&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devops</category>
      <category>database</category>
    </item>
  </channel>
</rss>
