Partage
  • Partager sur Facebook
  • Partager sur Twitter

MOOC Découvrez le framework PHP Laravel

    16 mai 2015 à 11:08:37

    Es-tu sûr de bien télécharger le code du bon exercice (Dans le chapitre "Les bases de Laravel" ?) ?

    Le premier exercice a les fichiers dans le répertoire resources/files

    Le second nous demandera d'utiliser une base de données.

    • Partager sur Facebook
    • Partager sur Twitter
      16 mai 2015 à 12:42:42

      Bonjour,

      Tout d'abord bravo pour ce cours sur Laravel, il me réconcilie avec PHP :)

      J'ai une question, dans le cours sur les ressources, on parle de créer un contrôleur de base pour se simplifier la vie par la suite.

      Serait-il possible d'avoir le code ? Je m'y perds un peu avec les injections à mettre en place.

      Merci d'avance !

      -
      Edité par Cdams 16 mai 2015 à 12:44:11

      • Partager sur Facebook
      • Partager sur Twitter
        16 mai 2015 à 13:53:51

        @phil89

        S'il n'y a que ça dans le dossier resources il faut contacter quelqu'un d'OpenClassroom parce qu'il y a normalement beaucoup plus de choses.

        • Partager sur Facebook
        • Partager sur Twitter
          16 mai 2015 à 17:23:55

          Bonjour,

          Je travaille avec xampp sous ubuntu 14.04 et j'ai un problème pour l'installation de laravelcollective/html . Aprés avoir lancé la commande composer update. Voila l'affichage:

          installing sebastian/version (1.0.5)

          downloading 100%

          removing sebastian/environment (1.2.1)

          installing sebastian/environment (1.2.2)

          [error exception]

          touch(): utime failed: Operation not permitted

          Puis une liste de update s'affiche en vert.

          Quelqu'un peut il m'aider ? Merci d'avance

          • Partager sur Facebook
          • Partager sur Twitter
            16 mai 2015 à 18:16:46

            @notyag

            Bonjour,

            Il semble y avoir un problème avec les droits d'écriture. Laravel nécessite que le serveur puisse écrire dans les dossiers storage et vendor.

            • Partager sur Facebook
            • Partager sur Twitter
              16 mai 2015 à 23:43:37

              Salut bestmomo,

              Je suis en plein milieu de la partie "Les ressources (2/2) et les erreurs", et c'est la première fois que tu parles de la fonction compact() de PHP.

              J'arrive à suivre parce que, dans les laracasts officiels, ils en parlent abondamment, mais comme c'est une fonction de PHP que j'ignorais (Et que jusqu'à présent, tu n'utilisais pas dans la génération de vues), il serait bon de l'introduire à ce moment.

              • Partager sur Facebook
              • Partager sur Twitter
                16 mai 2015 à 23:47:14

                (Et soit dit en passant, j'attends toujours de pouvoir corriger d'autres exos : on n'est que deux à avoir passé la première étape ?)
                • Partager sur Facebook
                • Partager sur Twitter
                  17 mai 2015 à 0:01:36

                  J'ajoute aussi que, à moins d'avoir mal configuré, j'ai eu des soucis avec laravelcollective/html, soucis qui semblent s'être corrigés en utilisant illuminate/html.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 mai 2015 à 0:44:26

                    je "bloque" un peu sur la partie "Les ressources (2/2) et les erreurs" : je ne comprends pas ce qu'a changé le fait d'ajouter la fonction setAdmin.

                    Si je la désactive dans mon code, ma BDD est pourtant bien renseignée avec les valeurs correctes ?

                    • Partager sur Facebook
                    • Partager sur Twitter
                      17 mai 2015 à 8:30:13

                      @captain_torche

                      Dans ce cours je suis parti du principe de ne pas donner d'explication sur PHP, c'est pour ça que je ne l'ai pas fait pour la fonction compact(). Mais c'est vrai qu'elle n'est pas très connue et je pourrais prévoir un petit couplet pour elle.

                      En ce qui concerne la méthode setAdmin ça fonctionne sans elle parce que j'ai prévu dans la migration une valeur par défaut pour le champ admin mais uniquement pour store, parce que pour update il faut prévoir la mise à jour du champ.

                      D'autre part laravelcollective/html devrait bien fonctionner, il est structuré de la même manière que illuminate/html et ne m'a jamais donné de souci. En plus il a de nombreux helpers supplémentaires bien pratiques.

                      Comme le cours vient tout juste d'ouvrir il est effectivement fort possible qu'il y ait encore peu de monde à avoir atteint la partie 2.

                      Cordialement

                      -
                      Edité par bestmomo 17 mai 2015 à 11:34:55

                      • Partager sur Facebook
                      • Partager sur Twitter
                        17 mai 2015 à 13:48:10

                        moteur de recherche sous laravel

                        Bonjour je cherche à intégrer un moteur sur mon site web pour pouvoir accéder er rechercher mes déférente article par une simple recherche mais je sais pas comment procédé ya 'til qq un qui a une idé ??? merci

                        • Partager sur Facebook
                        • Partager sur Twitter
                          18 mai 2015 à 15:37:24

                          Salut Hidouche6666, je pense que cette conversation devrait t'éclairer : https://laracasts.com/discuss/channels/general-discussion/looking-for-a-search-engine-for-my-laravel-app?page=1
                          • Partager sur Facebook
                          • Partager sur Twitter
                            18 mai 2015 à 23:22:16

                            Bonjour,

                            J'essaye de comprendre la relation n:n avec Eloquant.

                            Si je comprend bien, c'est à nous de créer la table pivot, puis l'ORM va la reconnaître et va l'utiliser automatiquement. Pour que l'ORM la reconnaisse, il faut absolument la nommer de sorte que le nom soit composé des deux noms des tables au singulier pris dans l'ordre alphabétique. Tout ça c'Est pas une convention entre humains mais bel et bien une condition pour que Eloquant retrouve la table. 

                            Est ce que j'ai bien compris. Sinon corrigez moi SVP.

                            Ma deuxième question, c'est que la relation expliquée dans le cours est une relation many to many simple. Y a t'il un exemple qui traite une relation many to many avec attributs. 

                            Par exemple la relation entre une table commande et une table produit. Une commande concerne plusieurs produits et un produit est concerné par plusieurs commandes. Ici l'attribut de la relation sera le prix et la quantité. Comment on gère ça avec Eloquant.

                            Merci bien. 

                            • Partager sur Facebook
                            • Partager sur Twitter
                              18 mai 2015 à 23:53:02

                              Je viens de contacter OpenClassrooms pour essayer de comprendre.

                              Je serai le seul à avoir ce problème ? ...

                              @captain_torche J'ai téléchargée le zip http://storage.googleapis.com/oc-courses-files/Laravel/partie_1_exo.zip indiqué dans l'exo "Activité_partie 1"

                              • Partager sur Facebook
                              • Partager sur Twitter
                                19 mai 2015 à 0:14:30

                                @coder_overnight

                                Bonsoir,

                                La convention de nommage n'est pas une obligation mais elle simplifie la syntaxe. Si on ne la suit pas il faut préciser le nom de la table pivot comme deuxième paramètre de la relation. Il en est de même pour le nommage des clés étrangères qu'on peut aussi passer en paramètre.

                                On peut ajouter des attributs à une table pivot en cas de besoin et on peut facilement les mettre à jour, cette partie de la documentation explique comment. Dans le cours je suis resté simple pour ne pas alourdir, l'important étant de comprendre les principes de base.

                                Cordialement,

                                Maurice

                                -
                                Edité par bestmomo 19 mai 2015 à 0:14:58

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  19 mai 2015 à 11:09:32

                                  Vous pouvez aussi voir http://www.grafikart.fr/formations/laravel/eloquent-belongstomany ya pas mal de détail

                                  -
                                  Edité par hidouche6666 19 mai 2015 à 11:12:13

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    19 mai 2015 à 13:12:54

                                    Hello, moi j'ai un bug.

                                    Je suis toujours dans la partie 1, et au moment de l'installation de laravelcollective/html, dans la console ça me sort un Fatal error.

                                    PHP Fatal error: Call to undefined method Illuminate\Foundation\Application::getCachedCompilePath() in /var/www/tutos/web/lara/vendor/laravel/framework/src/Illuminate/Foundation/Console/ClearCompiledCommand.php on line 28

                                    Ensuite en rouge dans la console :

                                    Script php artisan clear-compiled handling the post-update-cmd event returned with an error

                                    Une idée pour résoudre ce problème ?

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      19 mai 2015 à 13:14:22

                                      Bonjour,

                                      Ma config : Ubuntu, Apache, Php 5

                                      Je ne parviens pas à installer correctement le framework.

                                      J'ai toujours une page blanche dans le navigateur.

                                      Par contre lorsque que dans la console je fais depuis le répertoire /public

                                      php index.php

                                      j'ai le code html qui s'affiche bien :

                                      <html>
                                      	<head>
                                      		<title>Laravel</title>
                                      		
                                      		<link href='//fonts.googleapis.com/css?family=Lato:100' rel='stylesheet' type='text/css'>
                                      
                                      		<style>
                                      			body {
                                      				margin: 0;
                                      				padding: 0;
                                      				width: 100%;
                                      				height: 100%;
                                      				color: #B0BEC5;
                                      				display: table;
                                      				font-weight: 100;
                                      				font-family: 'Lato';
                                      			}
                                      
                                      			.container {
                                      				text-align: center;
                                      				display: table-cell;
                                      				vertical-align: middle;
                                      			}
                                      
                                      			.content {
                                      				text-align: center;
                                      				display: inline-block;
                                      			}
                                      
                                      			.title {
                                      				font-size: 96px;
                                      				margin-bottom: 40px;
                                      			}
                                      
                                      			.quote {
                                      				font-size: 24px;
                                      			}
                                      		</style>
                                      	</head>
                                      	<body>
                                      		<div class="container">
                                      			<div class="content">
                                      				<div class="title">Laravel 5</div>
                                      				<div class="quote">Simplicity is an acquired taste. - Katharine Gerould</div>
                                      			</div>
                                      		</div>
                                      	</body>
                                      </html>

                                       Cela vient -il des droits d'écriture du serveur sur le rep /storage ?

                                      Comment lui donner ces droits ?

                                      Merci de votre aide

                                      Chien stupide

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        19 mai 2015 à 13:46:31

                                        TheCereal-Killer

                                        Bonjour,

                                        Il doit y avoir un fichier compiled.php dans vendor ou dans storage/framework, il faut le supprimer et après tout devrait bien se passer.

                                        @ChienStupide

                                        Bonjour,

                                        Les dossiers storage et vendor doivent avoir les droits d'écriture pour le serveur. Je n'utilise pas Linux mais il doit y avoir une commande dans ce genre :

                                        sudo chmod -R 777 .../laravel/app/storage



                                        -
                                        Edité par bestmomo 19 mai 2015 à 13:46:50

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          19 mai 2015 à 16:25:57

                                          Merci Pour vos réponse Maurice et Rahani,

                                          Ça fait du sens maintenant. :)

                                          Le fait qu'en renseigne la table pivot m'a rendu perplexe car sur doctrine, on ne doit pas le renseigner, c'est doctrine même qui le crée. Personnellement je préfère le setter moi même car je préfère avoir le contrôle sur ce qui se passe dans le code plutôt que laisser l'ORM faire sa magie dans son coin.

                                          Maurice, merci pour la série d'article sur votre blog, ainsi que le code publié sur GitHub. Ça aide beaucoup !

                                          Fahmi

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            20 mai 2015 à 11:12:46

                                            Bonjour tout le monde, 

                                            J'ai un soucis avec l’exercice n°2 !

                                            Tout de suite après son installation (dezippage -> Composer install) j'obtiens une erreur,  qui est la suivante 

                                            ErrorException in Factory.php line 147:
                                            array_merge(): Argument #2 is not an array

                                            je ne peux donc pas accéder a l'index auquel je suis censé accéder. Comment puis-je régler ce problème ?

                                            Edit : j'ai procédé a une réinstallation qui n'a pas pas résolue le problème

                                            Merci par avance 

                                            -
                                            Edité par Crazyweedz 20 mai 2015 à 11:16:23

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              20 mai 2015 à 11:57:51

                                              @Crazyweedz

                                              Bonjour,

                                              Comme l'application n'est pas terminée il arrive logiquement une erreur. Le repository n'est pas complètement codé, c'est justement le but de l'activité d'effectuer ce codage. L'application bute immédiatement sur la méthode non codée getPaginate($n) du repository qui doit renvoyer tous les sondages existants. Il faut commencer par coder cette méthode pour avoir déjà la page d'accueil qui fonctionne.

                                              Cordialement,

                                              Maurice

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                20 mai 2015 à 12:05:18

                                                Oula autant pour moi, ça m'apprendra à ne lire les choses qu'à moitié....

                                                Merci de votre réponse en tous cas

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  20 mai 2015 à 15:17:01

                                                  bestmomo a écrit:

                                                  TheCereal-Killer

                                                  Bonjour,

                                                  Il doit y avoir un fichier compiled.php dans vendor ou dans storage/framework, il faut le supprimer et après tout devrait bien se passer.


                                                  Merci bestmomo pour la solution, ça m'a permis de pouvoir continuer à avancer. Mais j'aimerais comprendre à quoi c'est dû, ce fichier était là avant les manips ou pas ? Qu'est-ce qui fait que ça l'a fait chez moi et pas chez les autres ?

                                                  Mon objectif étant de comprendre pourquoi j'ai eu ce "bug".

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    21 mai 2015 à 9:48:44

                                                    @TheCereal-Killer

                                                    Bonjour,

                                                    compiled.php a pour objectif d'optimiser les classes pour rendre le framework plus performant. Sa composition dépend de la version du framework. Si on installe dans une version et qu'ensuite on fait un update il vaut mieux commencer par supprimer ce fichier qui risque de ne plus correspondre. La suppression manuelle n'est pas obligatoire parce qu'il existe la commande php artisan clear-compiled. D'autre part on peut recréer ce fichier avec php artisan optimize. Moralité : pour faire une mise à jour sereine la "bonne" procédure est :

                                                    php artisan down
                                                    php artisan clear-compiled
                                                    composer update --no-dev
                                                    php artisan optimize
                                                    php artisan up

                                                    Cordialement.

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      21 mai 2015 à 17:02:30

                                                      Yop je reporte les soucis de la partie 2.

                                                      Tout d'abord dans la vue index il y a le lien vers update quand on est en admin et là il y a un soucis génération de la route :

                                                      {!! link_to_route('poll.edit', 'Modifier', [$poll->id], ['class' => 'btn btn-warning btn-block' . (in_array($poll->question, $polls_voted)? ' disabled' : '')]) !!}

                                                      il faut que le deuxieme argument de in_array soit tableau donc ajouter [] à $polls_voted

                                                      c'est un petit détails ;) 

                                                      -
                                                      Edité par Echyzen 21 mai 2015 à 17:06:58

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        21 mai 2015 à 21:01:24

                                                        @Echyzen

                                                        Bonsoir,

                                                        Remarque judicieuse sauf si $polls_voted est elle-même déjà un tableau ;).

                                                        Le but de l'activité est de coder le repository et il y a une méthode bien pratique du Query Builder pour récupérer un tableau, pour ne pas la nommer il s'agit de lists. C'est celle que j'ai utilisée dans le corrigé, d'où l'absence des crochets dans le code cité.

                                                        Cordialement,

                                                        Maurice

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          22 mai 2015 à 7:41:39

                                                          Hello,

                                                          déjà un grand merci pour  ce cours. J'ai fini le 1er exercice et corrigé les 3 qu'on m'a donné. Et c'est là que je me suis rendu compte que je me suis compliqué la vie :) (avec injection de dépendances et tout.. )

                                                          Bref, j'ai quand même réussi je pense :D Voila, pas de question, juste merci :) 

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            22 mai 2015 à 9:53:33

                                                            @mrjenkins

                                                            Bonjour,

                                                            Il y a toujours de nombreuses manières d'aboutir au résultat, surtout avec un framework aussi tolérant que Laravel :). J'ai mis de nombreux commentaires pour guider vers une solution simple mais l'essentiel est que le codage adopté soit fonctionnel.

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            MOOC Découvrez le framework PHP Laravel

                                                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                            • Editeur
                                                            • Markdown