Bonjour à tous,
Comme le décrit le titre du sujet, je voulais savoir ce qui vous fait dire: je vais choisir cette technologie pour ce projet !

Mine de rien , l'intérêt du choix technologique à une influence sur la réussite (ou non) d'un projet.

Je voulais avoir des avis de développeurs, chefs de projets, de tous pour me faire une idée.

Merci à tous ! ;)

17 réponses


otakodes
Réponse acceptée

ma vision de choses est la suivante et c'est totalement subjectif selon mon expérience et les personnes rencontrés et mes connaissances :)

  • la techno n'influ pas sur la réussite, tout comme l'idée ne fait pas le success d'une startup / projet mais la réalisation de cette idée le fait

  • si tu prends une techno que tu ne connais pas tu perdra plus de temps que une techno que tu connais

  • on dit pas ici : fais un logiciel PC en PHP (oui c'est possible en PHP) car on sait très bien que le PHP n'est pas fais pour ça

  • on te dis fait un logiciel PC et tu as le choix entre : C, C++, Python, JAVA... et tu connais l'un d'entre eux, il est claire qu'il est plus logique et mieux à moyen terme de prendre une techno que tu connais adapté au contexte (web, logiciel, mobile, jeux vidéo, embarqué...)

  • sur le long terme si ton projet fonctionne de fou, bien sûr que tu pourra switcher car tu aura plus de ressources (argent, compétences...)

Il ne faut pas croire mais le dev aussi subit le marketing, Symfony 2 et Laravel ne sont pas "leader" aujourd'hui juste car ilssont bons

CakePHP, CodeIgniter 3, FuelPHP, PhalconPHP... et Mother Fucking ZEND sont aussi très bon chacun dans son contexte mais ont subi moins de marketing (c'est mon avis je le redis mais avis basé sur de longues recherches)

Laravel 3 était très bon, mais Laravel n'a pété qu'après la version 4, Zend à chuté après la version 2, PHP a perdu en popularité face à Ruby (entre 2011 et 2014 d'après des sondages stats etc) alors que le Ruby existe depuis... euh.. bien longtemps lol

il faut prendre ce qu'il faut en fonction des ressources que tu as et du contexte. Popularité, tendances, tout ça ne vaut pas grand chose face à la vrai charge de travail devant.

Facebook a fait sa première app en html5 alors qu'ils auraient pu la faire en native, ils ont fait ça pour le "hype" du html5, bah il se sont bien trompé vu qu'ils ont changé au bout d'un ou deux ans lol. Pourtant aujour'dhui en 2015 l'hybride reviens en force, pourquoi ?

Car quand un dev ios ou android coûte cher et que le temps pour faire une app native prends souvent plus de temps qu'en hybride, pour un prototype du moins, car en hybride (html, css, js) il y a des milliers de plugins, de framework css etc

Facebook à pris du PHP pûre pour faire un site aussi gros alors qu'ils aurait pu prendre un Framwork ou du JAVA qui était déjà bien implanté pour le web à l'époque et utilisé par la majeur partie des grosses entreprises solides,malgré ça Facebook à pris du PHP.

Pourquoi ? (raisons que je connais) : il voulait un truc très web, il connaissait bien PHP vu qu'il l'utilisé pour faire des petites pages persos (facesmash, son blog...), mais surtout ca il était à l'aise au qu'au début ça ne partait pas pour être ce que c'est aujd.

Aujourd'hui facebook n'est plus sur MySQL / Postgre comme à l'époque, aujd ils sont surtout sur du NoSQL car le projet à évolué et donc les technos utlisé aussi.

Ce qui me fait dire : je vais utilisé cette technologie c'est

  • le contexte (deadline, supoort : web, logiciel...)
  • le but : pour du perso (side project, tests, portfolio) ? pour du pro (projet client...) ?
  • mes ressources : compétences actuels, type serveur disponible, travailler seul on en équipe ?
  • type de réalisation : blog, intranet, extranet, e-commerce, beaucoup de visite ? beacoup de calcule ?

Voilà

PS : si tu prends un truc et que après il n'est plus maintenu (plugin) bah tu le changera et tu le maintiendra, si c'est un gros truc, peu de chance qu'il ne soit plus maintenu après 1.. 2 ou 5 ans (sinon ce serait précisé au moment ou tu l'a choisi)

CodeIgniter a prévenu qu'ils ne maintiendrai plus leurs versions antérieures dans les 2 années à venir
Angularjs 1 dit grosso modo la même chose pour 2 à 3 ans (tant que la V2 est pas sortie)
Apple préviens toujours que quoique vous fassiez aujd prévoyez que dans 4ans la version sur laquelle vous bossez ne sera plus maintenu etc etc

Ben tous depend du projets en faite, si par exemple tu as un site, un blog ou une applications web standard je prendrais php avec des framework comme laravel ou symfony ( choix fait selon l'affinité au framework )

si par contre mon projet a besoin de communication temps réel, d'une api pour les mobile, d'analitycs je me penche sur du nodejs avec express socket.io et mongodb

apres c'est un choix personnel qui est dicté par ma propre vision des choses

Salut,
Je ne suis pas d'accord avec ta deuxième phrase "l'intérêt du choix technologique à une influence sur la réussite (ou non) d'un projet". Car, la réussite d'un projet dépend en premier lieu de l'idée (et du concept) de base. Ensuite, si par exemple tu développes ton projet sous un framework que tu ne connais pas du tout, l'autoformation va te prendre du temps et le résultat ne sera peut-être pas de la même qualité que si tu avais pris un framework que tu connaissais.

Mais je dirai quand même que tout dépend le projet de base, il faut que tu détermines les dépendances que tu vas avoir et les limites des technologies.

Ensuite, avec ça tu vas déjà pouvoir identifier tes besoins.

Ce que je te conseils ayant été dans ton cas il y a peu, choisi le framework que tu maîtrises le mieux et c'est grâce à ça que tu auras le meilleure résultat souhaité.

prenons un exemple : je decide de choisir un framework qui est en vogue en ce moment pour monter mon application. rien ne me dit que ce framework sera supporté a long terme. en restant dans ce cas, je devrai a terme modifier toute l'architecture de mon appli pour qu'elle soit fonctionnelle. je vois les choses comme ca. bien sur cela n'est qu'un exemple

Si tu vois ça comme ça ce n'est pas forcemment la bonne approche :P
Les framework en "vogue" en ce moment (Symfony, CakePHP, Ruby on Rails, Django, etc) sont des frameworks populaires qui ne vont pas disparaitre du jour au lendemain (la communauté derrière est là et sera là pendant un bon moment).

Après tout dépend ce que tu entends par "long terme" si c'est +10ans là dans le web tu vois trop loin ^^

[@shinix]()
quand je dis en vogue, ce n'est pas forcément un framework aussi connu mais plutot une lib trouvée sur Github et maintenu par une seule personne.

Dans ce cas le je te déconseille de partir là dessus pour créer ton site internet. Enfin de nouveau si tu parles par exemple d'un simple plugin qui irait sur Symfony ou autres la encore, tu peux toi même la remettre à jour, mais si c'est pour un framework trouvé sur Github et maintenu par une personne, c'est pas l'idéal

a moins que ce soit une techno que tu connais bien bien et que tu puisse aider cette personne a la maintenir ou toi meme continuer a maintenanir le framework ou la librairie plus tard si il arrete le maintient

Merci à vous deux. ce sujet est très vaste (mon avis). Je sais qu'on peut aussi utiliser la matrice SWOT pour déterminer le choix de la technologie en suivant ces 3 principes: le cout, le délai et le temps . Qu'en dites-vous ?

@clamarque je dirais plutot : (le coût et les ressources car lié), (le délai et le temps c'est pareil), le type de projet

@darkylmnx
Effectivement je me suis trompé. je voulais dire : coût, délai et qualité. Et tu as toute à fait raison. Je connaissais l'exemple de l'application Facebook HTML5 vers le natif. Je sais aussi qu'au lieu de tous réunir en une même application, ils ont décidé de les séparer (Exemple de Messenger). Merci de m'avoir répondu , ta vision m'aide beaucoup à y voir clair.

@clamarque de rien, après c'est très subjectif hein mais je m'appuie sur des histoires de personnes qui ont eu du succès en lisant on se rends vite compte que certains ont juste choisi ceux avec quoi ils étaient à l'aise et voilà, Steve jobs à pris son pote qui était bon au lieu de faire les choses lui même (ressources), les mecs de airbnb ce sont plus appuyé sur une bonne UX et com que spécialement la techno etc etc

le contexte détermine le tout. Si ça peut t'aider https://www.youtube.com/watch?v=QaqBRX8aCQA c'est un peu le même genre de question et ça https://medium.com/@danjacobs/which-web-technology-should-i-use-bfbe9c2cfb25

bonne lecture :)

" I’ll start by saying that if you have a strong technical co-founder on board, then you should trust their judgement to build in whatever language and platform they are comfortable with. " - Doug Petkanics

http://blog.dougpetkanics.com/what-technology-should-i-use-to-build-my-product/

Je trouve très bonne l'analyse de darkylmnx même si je trouve que le contexte est plus large que l'environnement web. (Equipe, compétence du staff, coté client aussi, prestataire, etc.)

@galyb comme la question était :
" Comme le décrit le titre du sujet, je voulais savoir ce qui vous fait dire: je vais choisir cette technologie pour ce projet ! "

Il n'a pas spécialement précisé web ou pas donc je suis allé large mais en soi mon post précédent résume quand même comment choisir. Être à l'aise et faire avec ses ressources, le temps étant souvent un facteur si tu n'a pas le temps d'apprendre une techno debrouille toi avec une que tu connais :)

@galyb
Effectivement, mon sujet ne se concentre pas que le sur web mais de manière générale.
@darkylmnx
Encore une fois, je te remercie de ta compréhension :)

@clamarque de rien :), je tiens à dire aussi que ces réponses ont plus ou moins valable pour la question : quel est le meilleur framewrok PHP haha, en général ça reste globalement subjectif mais basé sur ce qui est dit plus haut