IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 PHP Discussion :

Débutant ne sait pas démarrer son projet


Sujet :

PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 24
    Points : 12
    Points
    12
    Par défaut Débutant ne sait pas démarrer son projet
    Bonjour à tous, je débute sous symfony 4

    Alors voila, j'ai plus ou moins suivi les étapes du polycopié que j'ai à ma disposition (symfony 3)
    Et concrètement je ne sais pas précisément ce dont j'ai besoin pour réaliser mon projet ?
    Avec quoi est couplé Symfony ? je prend l'IDE que je veux ? NetBeans ? Je peux prendre simplement un éditeur de texte ? Atom ?

    En realité j'ai réellement eu du mal à initier le projet (je suis sur linux) il y a eu des conflit (la commande symfony new projet ne marche plus par exemple, il a fallu que j'installe un Composer.phar) au final j'ai réussi a générer le squelette
    sauf que c'est vide, je n'ai aucune page, je n'ai meme pas de dossier "twig" ou "doctrine" comment les obtenirs ? Je n'ai aucune vue.

    Concrètement je ne sais pas comment "voir" ce "nouveau projet" de mes propres yeux et commencer à travailler dessus ! je semble n'avoir rien compris ! ça me frustre ! dois-je avoir besoin de phpmyadmin ? comment y mettre une base de donnée ?

    Je suis perdu !

    a la base je veux simplement réalisé une application d'inscription, avec une base de donnée (seulement une table) pour pouvoir maitriser l'aspect de "controleur frontal" des vues, des routes, de doctrine etc... Sauf que je ne comprend rien !
    Quelqu'un peut-il m'éclairer ???

    Je vous remercie d'avance de la considération que vous porterai à mon message.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 211
    Points
    20 211
    Par défaut
    Citation Envoyé par Aztharos Voir le message
    j'ai plus ou moins suivi les étapes du polycopié que j'ai à ma disposition (symfony 3)
    En 2018 on fait des documentation en ligne
    http://symfony.com/doc/current/getti...ted/index.html

    T'as déjà fait du PHP ? parce que vu tes questions ça semble pas être le cas.
    Si non, commencer par symfony , ça me semble compliqué ...
    Symfony c'est un framework relativement complexe qui , à mon avis, nécessite des notions avancées de PHP,SQL,HTTP , etc ...

    En ce qui concerne l'editeur , il est conseiller d'utiliser un IDE (netbean , phpstorm, etc ...) mais pas obligatoire. Tu peux utiliser notepad si ça te chante.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Et le meilleur tutoriel d'introduction à Symfony (le reste du cours est payant, mais cette partie est gratuite).:

    https://knpuniversity.com/screencast/symfony3

    Même si c'est Symfony 3, il n'y a pas de grosses différences avec Symfony 4, dont le screencast est en préparation ici: https://knpuniversity.com/screencast/symfony

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Merci à vous deux pour les réponses et les docs
    Oui j'ai déjà fais du php si pour vous "réaliser un formulaire, une connexion PDO" c'est faire du php (depuis j'ai rouillé un peu je suis étudiant et on voit les choses une par une avant de passer à une autre )
    Ce qui me posait le plus problème c'était que je comprenais bien comment cela marche, que ce sont des petites briques qui s'emboîtent (twig pour les vue, un contrôleur frontal pour les actions etc...) mais c'est l'aspect "plateau de jeu" que j'ai du mal à cerner (je vais lire les doc) ce qu' il faut pour que tout puisse cohérer et qu'on puisse bosser dessus

    Merci à vous je repasserai si il le faut

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    @Tsilefy Sur le tuto il y a une bannière qui informe "qu'une version plus récente de ce tutoriel est disponible" (Symfony 4) les chapitres n'ont pas le meme nom, selon vous je dois faire directement la dernière version, les 2 en commençant par la 3, ou c'est strictement la meme chose et faire les 2 ne m'apportera rien de spécial ?

    @grunk pour revenir la dessus, je ne débute pas l'informatique en me disant "tiens symfony ça sonne bien j'me lance" j'ai déjà codé en C, C#, html, Python (les rudiments, paradigme procédural et objet avec C#) mais je dois avouer qu'aux TP/cours PHP j'étais un peu à la ramasse, les $_FETCH[], les $_POST[], les connexion PDO, ca m'avait largué, ça remonte à quelques mois mais je n'en suis pas a mon premier pas (disons que je suis plus proche de mon premier pas sur PHP/Symfony) que sur l'informatique en général...

    Si : mon but est de faire cette appli toute bete avec une interface graphique, un menu :
    "inscription de personne" -> base de donnée
    "déposer un commentaire" -> base de donnée 2eme table
    " une petite vitrine pour présenter les personnes du staff"

    Alors Que dois-je aller fouiner ?
    (exemple : je suis toujours preneur de TP 'facile' qui font prendre la main, par exemple je n'en ai pas trouvé d'adapté pour moi en PHP, niveau trop avancé ou trop faible (rudiment de la programmation, calcul, boucle, conditions)) en dehors des liens que vous m'avez poster ici (faites comme si je partais de 0, j'ai une façon de travailler tres spéciale, j'ai besoin de bien voir ou je vais pour pouvoir foncer !) considérez que les documents sont tous acquis dès lors où vous aurez lu ce message, mais j'ai un peu de mal avec la théorie : tantot on croit la comprendre alors que ce n'est pas le cas, tantot on pense ne rien avoir compris alors que c'est pas si catastrophique que ça (effet Dunning-Kruger)

    merci à vous en tout cas !

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Le tutoriel récent (qui est le tuto Symfony 4) n'est pas encore complet. Il y a quelques différences entre les deux, mais pas importantes (surtout au niveau de la mise en place initiale: Symfony jusqu'à v3 est un framework complet, et à partir de v4 c'est plus un micro-framework à agrandir soi-même).

    Si tu veux quelque chose de plus facile à prendre en main et si tu n'as pas un besoin immédiat d'apprendre Symfony, regarde plutôt Laravel. Personnellement je ne l'utilise pas parce que l'approche Laravel ne me convient pas, mais c'est extrêmement facile à apprendre, orienté débutants et c'est "battery included" (tout compris), à la différence de Symfony où tu dois en plus apprendre l'écosystème pour vraiment pouvoir faire quelque chose de bien rapidement.

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Salut,

    Si tu veux rester dans la famille symfony tout en étant plus léger il y a silex qui est un micro framework basé sur les modules de symfony. Par contre je ne saurai pas te dire s'il est plus ou moins facile d'accès que Laravel conseillé plus haut.

    Une petite lecture ici sur le modèle MVC utilisé par de nombreux framework, cela te permettra de mieux comprendre le terrain de jeux.

    Sinon utiliser un framework ou un micro framework juste pour faire tes trois pages, ce ne sera pas forcément rentable. Surtout si le dépôt de commentaire ne sert qu'à enregistrer du texte plat (non formaté), cette fonctionnalité peut se résumer à un simple formulaire, tout comme l'enregistrement des inscriptions d'ailleurs. Reste la partie Vitrine qui peut être une simple page html. Bref niveau fonctionnalités, et si cela s'arrête là, tu pourrais tout coder à la main et tu irais certainement plus vite que d'avoir à apprendre l'utilisation d'un framework.

    Par contre si tu dois intégrer un wysiwyg pour pouvoir faire des mises à jour un peu élaborées ou un système de gestion des pages depuis le site lui-même, les modules d'un framework te feront certainement gagner du temps.

    Sinon il y a aussi les solutions toutes faites de type wordpress.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Bonjour, merci encore à tous

    J'ai déjà extremement mieux compris les concepts et le framework en lui même.
    c'est une façon de travaillé détachée de ce que j'ai pu voir jusqu'à aujourd'hui, c'est pour ça qu'en venant ici la semaine dernière, je ne savais absolument pas démarrer un projet.

    Désormais je sais qu'il faut :
    - générer le AppBundle par défaut et qu'il possède tous les sous dossier nécessaire.
    - Si on travail avec une base de donnée, on fait le mapping ORM pour que cela créer les tables/chants qui s’appelleront les entités (enfin je crois puisque j'ai aussi cru comprendre que les entités étaient des classes métiers)
    - Je défini mes routes pour les actions que je veux traiter
    - j'écris mes controlleurs pour les actions à réaliser
    - je réalise ma vue qui affichera le résultat

    Seulement j'ai 2 questions :
    1 - j'entend/lis partout qu'il faut que les traitements de données ne se fassent pas dans les controlleurs, mais dans le modèle. où est-il ? comment je le reconnait ? comment ça se traduit "d'écrire les traitements de données dans le modèle et non le controlleur" ? à ce moment là à quoi sert le controlleur ?

    2- j'ai un problème ! j'ai fait en sorte d'afficher les résultat de la base sur mon navigateur dans un tableau (il s'agit betement de personnes : noms, prénoms, email, genre)
    J'ai créer ma vue html.twig, j'ai défini ma route.
    Le TP me demande de laisser le choix, par ajout d'une extention dans la barre URL par l'utilisateur (.html par défaut ) mais si il rentre .csv , il est censé affiché le format csv.

    voici mon routing.yml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    personne:
        path:   /personne/list.{_format}
        defaults:
          _controller: AppBundle:Personne:list
          _format: "html"
        requirements:
          _format: "html|csv|txt"
    voici mon controlleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    namespace AppBundle\Controller;
     
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use AppBundle\Entity\Personne;
    /**
     * Description of DateController
     */
    class PersonneController extends Controller
    {
     
     
        public function listAction($_format) {
     
            $em = $this->getDoctrine()->getManager();
            $personnes = $em->getRepository(Personne::class)->findList();
            return $this->render("personne/list.$_format.twig", ['personnes' => $personnes]);
       }
     
    }
    Voici ma vue csv :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    {% autoescape true %}
    genre,nom,prenom,email,abonnement
    {{genre}}{{nompersonne}}{{prenompersonne}}{{email}}{{personneabonnement}}
    {% endautoescape %}
    lorsque je rentre l'URL projet/app_dev.php/personne/list il m'affiche bien le html par defaut, un petit tableau bien présenté.
    Lorsque j'ajoute l'extention .html pareil, c'est bien pris en compte
    Mais lorsque je rentre /list.csv
    Le navigateur me retourne (fichier list.csv not found)

    Or ma vue csv.twig est située exactement dans le meme dossier que la vue html.twig
    je n'ai rien trouvé sur internet là dessus, c'est beaucoup plus compliqué en général (les gens travaillent sur de vrais projets, ils ont interet a faire des conversion et des export/import) mais dans mon cas du TP, je suis censé ne pouvoir affiché qu'une simple vue csv. Pourtant ma route est bonne...

    Si vous avez des pistes je suis preneur !!

    merci encore à vous !

    Pour Silex et Laravel ils étaient en dehors des compétences à travailler, il était bien stipuler "symfony" mais ça va je comprend beaucoup mieux ! meme si ce problème me rend fou !

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Up

    Lorsque je me suis rendu compte que des ' , ' étaient manquante entre mes champs {{ champ }} {{ champ }} j'ai cru que j'avais enfin trouvé le probleme et qu'il allait etre résolu.

    Malheureusement il s'agit du meme message du "file not found" ... je sèche, je n'ai aucune idée je vais abandonné le csv, cela semble incompatible contrairement à ce que me dit le polycopié sur lequel je m'entraine (Symfony 3.4)

  10. #10
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    j'entend/lis partout qu'il faut que les traitements de données ne se fassent pas dans les controlleurs, mais dans le modèle. où est-il ? comment je le reconnait ? comment ça se traduit "d'écrire les traitements de données dans le modèle et non le controlleur" ? à ce moment là à quoi sert le controlleur ?
    Le modèle peut être une entité (pour faire des opérations sur une donnée à la fois, ex: une entrée dans une base de données), une repository (pour faire des opérations sur un groupe de données, ex. une liste d'enregistrements dans une base de données, avec jointures etc ), ou n'importe quelle autre classe en fonction de la nature du traitement et des données (e.g. si tes données proviennent d'une API et pas d'une base, ce sera une classe liée à l'API). Parfois ces classes sont générées par l'ORM, parfois il faudra que tu les créés.

  11. #11
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Citation Envoyé par ABCIWEB Voir le message
    Si tu veux rester dans la famille symfony tout en étant plus léger il y a silex
    Depuis Symfony 4, Silex c'est fini.

    https://symfony.com/blog/the-end-of-silex

  12. #12
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    @Tsilefy Merci de l'info, je comptais le regarder plus en détails un de ces jours, ça m'évitera de perdre du temps.

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    J'ai réussi à obtenir l'aide d'un professionnel, c'était loins d'etre évident pour moi et j'ai encore du mal a prendre du recul

    il s'agissait de récupérer des données pour les mettre dans un tableau.
    La vue html.twig l'affichait avec un "{ if personnes } suivi des {table.champ}

    J'avais essayé de faire la meme chose sur ma vue csv avant de mettre cette version sur le forum. mais ça ne mettait "not found" quand meme

    et la on m'a apprit à faire
    il n'aimais apparemment pas mes champs.. c'est la que le pro dit que pour cette situation il fallait faire un "for" et pas un "if" et magie, ça a marché

    (pourquoi mon "if personnes" marche sur ma vue html mais pas sur ma vue csv ?)

    je continue d'avancer

Discussions similaires

  1. Réponses: 11
    Dernier message: 13/02/2014, 23h09
  2. Réponses: 5
    Dernier message: 10/08/2011, 12h16
  3. [Débutant] - Démarrer un projet jeu
    Par Lucier dans le forum Débuter
    Réponses: 9
    Dernier message: 29/01/2009, 10h59
  4. [Débutant] Télécharger une ressource hors de son projet
    Par kramer Mc Barreth dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 26/08/2008, 19h50
  5. tomcat ne veut pas démarrer mon projet
    Par diamonds dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 10/12/2006, 02h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo