Partage
  • Partager sur Facebook
  • Partager sur Twitter

aide dans le choix d'une techno pour un projet

    21 septembre 2018 à 18:00:43

    Bonjour à tous,

    Je doit réaliser un projet, en gros c'est un générateur de recettes de cuisines.... En terme d'architecture j'ai choisis de créer un système avec une API. Comme ça je pourrais afficher les données dans une appli mobile ou un site web etc... Mon problème, c'est que je suis perdu quand au choix des technologies à utiliser. Je suis assez néophite en développement, j'ai des notions dans les technologies que je vais citer, mais je compte me spécialiser une fois mon choix fait.

    Pour la création de mon API j'hésite entre ses technos :

    {"Symfony3.5", "FosRESTbundle", "MySQL", "Doctrine"}

    ou

    {"nodejs", "expressJS", "mongoDB", "Mongoose"}

    A votre avis quel est le meilleur choix technique pour un projet de potentiel envergure ?

    • Partager sur Facebook
    • Partager sur Twitter

    "Si je peux le rêver, je peux le faire"

      21 septembre 2018 à 18:50:36

      Ni l'un ni l'autre.

      Dans ton 1er choix, MySQL est un tres mauvais choix

      Dans ton 2eme choix, MongoDB est un tres mauvais choix

      Ensuite, bah PHP quoi :-°

      Si tu veux un systeme avec les reins solides, pourquoi ne pas sortir l'artillerie lourde avec

      Elixir (serveur web)

      PostgreSQL (db relationnelle)

      Redis [Ou autre k/v noSQL in memory] (db cache)

      Tu te retrouverais avec un serveur sous OTP gérant des centaines d'instances.

      • Partager sur Facebook
      • Partager sur Twitter

      Architecte logiciel - Software craftsmanship convaincu.

        21 septembre 2018 à 20:29:45

        Merci pour ta réponse, elle m'a aider pour ce qui est du système de sgbdr, en effet si on compte gérer de gros volumes il est préférable de choisir posgreSQL.

        Pour se qui est des langages par contre j'ai déja capitaliser un savoir en javascript et en php (langages que j'aime beaucoup), et j'ai une forte contrainte de temps, j'hésite donc toujours entre express et symfony avec le fosrestbundle.

        J'ai une autre question pourquoi mongoDB serait un mauvais choix ?

        • Partager sur Facebook
        • Partager sur Twitter

        "Si je peux le rêver, je peux le faire"

          22 septembre 2018 à 0:04:22

          Car dans 90% des cas, tes données sont relationnel, et que mongo perd en efficacité pour ce genre de donnée.

          En 2 ans j'ai migré 3 projets de Mongo a PostgreSQL ou MariaDB pour problème de perf.

          Mongo est pourtant très rapide . . . Pour gérer des documents non relationnel ;) 

          • Partager sur Facebook
          • Partager sur Twitter

          Architecte logiciel - Software craftsmanship convaincu.

            22 septembre 2018 à 1:19:04

            Tu peux me donner un exemple d'utilisation adaptée pour mongoDB ? J'ai du mal à imaginer un système avec une base de données non-relationel
            • Partager sur Facebook
            • Partager sur Twitter

            "Si je peux le rêver, je peux le faire"

              22 septembre 2018 à 2:15:10

              Le truc qui me vient à l'esprit ce serait des factures par exemple. Bon, évidemment ça peut être mis sous forme relationnelle aussi, mais j'imagine assez bien mongodb pour cet usage.

              Après c'est aussi pratique quand on a besoin de souplesse sur le format de données. Dans une BDD relationnelle, c'est assez bordélique de gérer des données qui varient beaucoup (ou alors il faut les mettre sous forme de texte brut, mais ça retire l'intérêt du SGBDR), alors que dans une base orientée document, on colle tout en vrac.

              • Partager sur Facebook
              • Partager sur Twitter

              Blond, bouclé, toujours le sourire aux lèvres...

                22 septembre 2018 à 11:02:37

                Merci pour ta réponse, mais en gros j'ai pas l'impression que mongo db soit très utile avec ce que vous me dites.

                Du coup pour la techno de l'api elle même je n'ai pas de retour, avez vous une idée ?

                De prime à bord j'aurais tendance a choisir symfony 3.4 et fosrestbundle, car j'ai pas mal de ressources à disposition pour me perfectionner. En revanche quand je vois expressJs j'ai l'impression que symfony est très lourd comparativement pour se genre de projet.

                • Partager sur Facebook
                • Partager sur Twitter

                "Si je peux le rêver, je peux le faire"

                  22 septembre 2018 à 11:53:44

                  Pour tout ce qui est log, reservations, transactions, cache longue durée, est utile avec MongoDB.

                  Niveau langage, je te déconseille fortement PHP, pourquoi te faire du mal fin 2018?

                  Je te conseille:

                  - Ruby [Langage tres facile, Rapide pour ecrire du code, Lent pour l'executer, beaucoup de lib web]

                  - Python [Langage facile, Grande communaute, Beaucoup de lib hors web]

                  - NodeJS [Langage dificile, Grande communaute, Asynchrone par defaut]

                  - Elixir [Langage dificile, Facilite de faire de l'asynchrone, paralelisme, se base sur OTP (99.9999999% de fiabilite)]

                  - PHP [Langage moyen, baser sur une logique entre le C et le Perl, mais plus simple que ces dernier, standard incoherent]

                  - Java [Langage moyen, Grande communaute, tres utilise en grande entreprise, support Oracle]

                  - C# [Langage moyen/facile, utilise dans pas mal d'entreprises lie a Microsoft, support Microsoft]

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Architecte logiciel - Software craftsmanship convaincu.

                    22 septembre 2018 à 12:08:23

                    Merci beaucoup pour ta réponse, mais peut-être me suis-je mal exprimer.

                    Je ne recherche pas à trouver un nouveau langage (si je devais choisir j'apprendrais le python ^^). Pour mieux expliquer ma situation, je suis en fin de formation d'un titre pro de développeur web. J'ai un dernier projet à réaliser en fin de parcours, j'ai capitaliser des connaisances basiques pour les deux technos avec lesquelles j'hésite, je n'ai malheureusement pas le temps d'en apprendre de nouvelles.

                    Donc quel est le meilleur choix entre express et symfony selon vous et pourquoi ?

                    ps : mais qu'est ce que vous avez tous avec PHP !?, c'est super comme langage xd 

                    • Partager sur Facebook
                    • Partager sur Twitter

                    "Si je peux le rêver, je peux le faire"

                      22 septembre 2018 à 16:28:13

                      jbty a écrit:

                      Merci pour ta réponse, mais en gros j'ai pas l'impression que mongo db soit très utile avec ce que vous me dites.

                      Si, quand même, et je peux ajouter aussi que c'est censé être facilement mis en cluster (répartir les données sur plusieurs machines) par rapport à une base SQL. Ça peut être un avantage. En pratique je sais pas ce que ça donne, j'ai jamais eu de contraintes de perfs si fortes pour justifier ça.

                      jbty a écrit:

                      Donc quel est le meilleur choix entre express et symfony selon vous et pourquoi ?

                      ps : mais qu'est ce que vous avez tous avec PHP !?, c'est super comme langage xd 

                       Perso je fais ni PHP ni JS, donc je suis mal barré pour te conseiller sur ce point.

                      Pour les défauts de PHP, il en a pas mal, on peut en retrouver dans ce sujet même s'il est vieux : https://openclassrooms.com/forum/sujet/pourquoi-on-ne-devrait-plus-utiliser-php-12666

                      Maintenant certains ont peut-être été réglés depuis, d'autres n'ont pas été cités. Bref, c'est pas très grave, mais c'est juste pour info, on a des langages qui ont une conception meilleure, et c'est pratique de le savoir parce que si jamais tu as le choix du langage pour un de tes projets futur, ça peut être malin de pas partir sur PHP par habitude.

                      Faut pas forcément en faire une obsession non plus sinon on passe son temps à passer d'un langage à un autre en espérant trouver le langage parfait, mais il y e na quand même qui sont mieux conçus que d'autres.

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Blond, bouclé, toujours le sourire aux lèvres...

                        22 septembre 2018 à 16:33:23

                        Merci pour toutes ces explications, je prends bonne note. Mais je suis toujours pas avancé dans mon choix.
                        • Partager sur Facebook
                        • Partager sur Twitter

                        "Si je peux le rêver, je peux le faire"

                          22 septembre 2018 à 18:23:04

                          Tu peux y aller un peu au feeling, il y a tellement de langages de programmation qu'il n'y a pas toujours un choix strictement meilleur qu'un autre.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Blond, bouclé, toujours le sourire aux lèvres...

                            22 septembre 2018 à 18:35:40

                            Bonsoir,

                            PHP n'est pas capable ou non adapté pour un générateur de recettes de cuisines ? bonne blague...

                            Demande à necros211 qui sort les bazookas de peur, à moins qu'il ne propose le turbo pascal.

                            ps: pour une fois on est en weekend, et je suis justement entourée chez moi de quelque développeurs de métier ('apéro yes), donc les bla bla bla sur PHP allez-y, ça nous fera passer un bon moment, et c'est déjà commencé, merci necros211 :)

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean
                              22 septembre 2018 à 19:20:52

                              Au feeling je pense que je vais donc choisir le fosrestbundle de symfony, j'éspere juste que se n'est pas obselète comme technos. 

                              Pour ce qui et de PHP ,il y a quand meme wikipedia et facebook qui tournent majoritairement avec, et ils fonctionnent bien, se qui prouve que sxe n'est pas nomplus un langage dépassé.

                              Je pense que c'est comme tout, il faut savoir utiliser les technos adaptées à ses besoins. Si on l'utilise mal, le meilleur des outils sera toujours moins performant que le pire des outils utilisé par des mains habiles. Pour ma part et vue mon niveau je pense que je ne suis pas capable d'exploiter les performances d'un langage comme elixir ou go mieux que php. Merci quand meme pour vos conseils car à l'avenir je ferais preuve d'ouverture d'espirt quand aux choix de technos pour un projet.

                              • Partager sur Facebook
                              • Partager sur Twitter

                              "Si je peux le rêver, je peux le faire"

                                22 septembre 2018 à 19:40:55

                                Par contre il me semble que facebook soit maintenant passé à une autre techno...
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean
                                  22 septembre 2018 à 19:47:43

                                  En Hack qui en est un derivé
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  "Si je peux le rêver, je peux le faire"

                                    22 septembre 2018 à 20:37:26

                                    jbty a écrit:

                                    Au feeling je pense que je vais donc choisir le fosrestbundle de symfony, j'éspere juste que se n'est pas obselète comme technos. 

                                    Pour ce qui et de PHP ,il y a quand meme wikipedia et facebook qui tournent majoritairement avec, et ils fonctionnent bien, se qui prouve que sxe n'est pas nomplus un langage dépassé.

                                    Ou wordpress, drupal...

                                    Les critiques de PHP ou de n'importe quel langage ne portent pas sur ce qu'on peut ou ne peut pas faire avec.

                                    Les critiques que j'ai en mémoire c'était la gestion de l'unicode et le typage faible avec conversions implicites qui peuvent être un peu casse gueule.

                                    Bon, moi je maîtrise pas trop la critique de PHP vu que j'en fais pas, mais pour te donner un exemple de comportements bizarres dans un langage que je pratique au quotidien (du Python) :

                                    >>> True == 1
                                    True
                                    >>> True == 0
                                    False
                                    >>> False == 0
                                    True

                                    Quand on compare deux types différents on s'attend, selon la rigueur du langage, à ce que ce soit faux, voire à ce que ça plante dans un langage très strict comme Haskell par exemple.

                                    Je me rend compte que l'exemple de la comparaison est pas le plus choquant, par contre celui-ci l'est beaucoup plus :

                                    >>> True + 25
                                    26

                                    C'est quand même cool que l'interpréteur ou le compilateur te hurle dessus dans ce genre de situation, parce qu'en général c'est pas volontaire d'additionner un entier avec un booléen.

                                    Après il existe des systèmes pour compenser ça quand c'est pas de base dans le langage. En Python j'utilise flake8 et mypy par exemple. En PHP il doit certainement y avoir des équivalents, peut-être même plus avancés vu le nombre d'utilisateurs de PHP.

                                    pipelette13 a écrit:

                                    ps: pour une fois on est en weekend, et je suis justement entourée chez moi de quelque développeurs de métier ('apéro yes), donc les bla bla bla sur PHP allez-y, ça nous fera passer un bon moment, et c'est déjà commencé, merci necros211 :)

                                    Ah, alors ce qui suit va peut-être leur plaire alors :

                                    PHP est un langage complet mais à l'origine c'était un langage de template, le code PHP était mis dans la page HTML, bref, tout le monde sait ça...

                                    Maintenant le "fun fact", c'est quand on visite la doc de symfony sur les templates, ils parlent d'abord des PHP templates, puis on tombe sur cette perle :

                                    Doc Symfony :

                                    But Symfony packages an even more powerful templating language called Twig. Twig allows you to write concise, readable templates that are more friendly to web designers and, in several ways, more powerful than PHP templates

                                    PHP est visiblement tellement un bon langage de templates que l'un des plus gros frameworks PHP propose de faire des templates avec autre chose !

                                    Et comme d'autres frameworks comme Laravel proposent aussi de faire les templates sans PHP, c'est visiblement un constat récurrent parmi les devs PHP eux-même :D

                                    Bon apéro, et ragez pas trop sur la supériorité évidente de Python :ninja:

                                    -
                                    Edité par LoupSolitaire 22 septembre 2018 à 20:39:54

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Blond, bouclé, toujours le sourire aux lèvres...

                                      22 septembre 2018 à 21:42:21

                                      Ce qui tes titille et les ennuis c'est la critique, comme tu l'a dit aucun langage n'est parfait.

                                      Donc comme ils me l'on dit (une fois de plus), ils s'adaptent au langage qui leur est sois imposé, sois suffisant pour tel ou tel projet + raison d'économie.

                                      Donc en fait ils se moquent du langage, leur job se résume au mot d'adaptation. Concernant le faible typage, c'est visiblement volontaire à la base, mais la V7 vient combler cette lacune apparemment, mais seuls ceux qui s'y intéresse le savent, donc pas forcément les amateurs.

                                      je ne peux pas les contredire, ce savent ce qu'ils disent par expérience. Quand à Python ils confirme que ce langage mérite plus de place car d'après eux la France est en retard sur le langage par rapport à d'autres pays.

                                      ps: merci, le dessert arrive :)

                                      -
                                      Edité par pipelette13 22 septembre 2018 à 21:42:53

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean

                                      aide dans le choix d'une techno pour un projet

                                      × 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