 |
| Qu'est ce que le Cycle de développement web ? BELZ-DEV (entreprise / société / agence) de développement d'applications web et mobiles, et de progiciel de gestion intégré en Afrique (Sénégal-Dakar) ,Conception site web e-commerce, Conception site web, Conception site web php, Logiciel conception site web, Cout conception site web, Développement web java, Prix conception site web, Concevoir une application web ,Web design, Site expert web , Combien coute un site e-commerce, Cycle de développement web ,Créer un site e-commerce avec PHP/MySQL , Cite e-commerce avantages, Développement web freelance ,Business plan site e-commerce, Site e-commerce cahier des charges, Site e-commerce design, Rapport de stage de développement web, Développement site e-commerce, Développement web WordPress , Développement web mobile et multimédia, Utilisation cms Wordpress, Design web responsive , Développement web frontend Logiciel de gestion école avec WordPress, Wordpress boutique en ligne ,Développement mobile Android, Système de gestion , Etape du développement web , Développement web javascript, Développement web python django, Application web responsive, Développement web avancé, Comptabilité de site de développement web, Langage de programmation(Java,Php,Angular,Css,Bootstrap,Ionic,Jee,Jsp,Jsf),Application mobile, développement d'application web et mobile, mobile développement back end, création application J2E, Application Android studio, Application Android Ionic, Framework php laravel, systèmes informatiques, systèmes d'informations, Développement web base de données, Logiciel de gestion. |
Vous souhaitez améliorer cette question ? Actualisez la question pour qu'elle ne se concentre que sur un seul problème en éditant ce post.Je sais que cela peut paraître un peu vague, alors je vais essayer de l'expliquer un peu plus ...
Après avoir été développeur indépendant pendant de nombreuses années, je suis maintenant à la recherche d'un rôle de développeur web commercial. Ma seule expérience avec les serveurs et l'hébergement est le téléchargement via FTP et un peu de bricolage avec CPanel / WHM. Les rôles que je vise sont le développement web, PHP, MySQL, HTML, CSS, mais lors des derniers entretiens, on m'a posé des questions sur la mise en place de choses sur le serveur dont je n'avais aucune idée, ce qui a été dit ... ce qui n'était pas idéal !
Sans en savoir plus que moi, il est difficile d'expliquer ce que je veux apprendre exactement, mais ce ne sont en fait que les éléments du serveur que je devrais connaître en tant que développeur web ? En tant que développeur web, avez-vous à faire avec le serveur, à part le téléchargement de fichiers, et si oui, avec quoi ? Des choses comme Subversion (SVN) et les systèmes de contrôle de version sont-ils souvent mis en place par l'équipe de développement web ? Est-ce que cela pourrait être ce dont ils ont parlé ?
Développement web php mysql
doublon possible de Que devrait savoir tout programmeur sur le développement web ?
Je pense que c'est au sujet de serveur cependant plus spécifique :)
Je déteste vous le cacher, mais si vous ne pouvez pas configurer un serveur web, vous n'êtes pas un développeur web très valable et ce n'est pas quelque chose que vous pouvez apprendre rapidement dans un livre. Au lieu de passer la moitié de votre temps à apprendre les composants du serveur dans un livre. Vous feriez mieux de perfectionner vos connaissances en PHP et de vous présenter comme programmeur PHP.
@MathewFoscarini, parce que je ne suis pas doué pour ça, je devrais éviter et ne perfectionner que ce que je sais ? Ce conseil n'arrêterait-il pas le monde ? not a very valuable web developerest ce que j'essaie de surmonter, donc je suis content de l'apprendre correctement. Je ne sais tout simplement pas comment aborder au mieux cet apprentissage et sur quels domaines je dois me concentrer en premier.
@john Tu as demandé dans le cadre d'un emploi de développeur web. Si c'est ce pour quoi vous voulez être embauché, essayez certainement, mais ne vous attendez pas à une solution à court terme pour répondre aux questions d'un entretien. Je m'attendrais à ce que l'employeur essaie d'écarter les candidats qui n'ont pas d'expérience professionnelle pratique sur les serveurs. Ce que j'ai retenu de votre question, c'est que vous essayez de trouver un travail que vous ne pouvez pas faire en tant que freelance. Vous pouvez essayer de trouver un client qui est prêt à payer pour que vous appreniez ces compétences de serveur.
Il s'agit d'une grande série de questions, mais je suppose que de nombreuses personnes doivent y faire face, en particulier lorsqu'elles commencent à progresser dans une carrière qui a commencé avec un fort accent sur le front-end.
Vous mentionnez que vous choisissez un rôle qui implique le développement PHP et MySQL. Ce sont des choses qui doivent être exécutées sur le serveur. Pour pouvoir prendre de bonnes décisions techniques en tant que développeur, vous devez comprendre comment ces choses fonctionnent sur le serveur et comment elles interagissent avec le front-end web. Vous devez donc absolument développer une compréhension du serveur.
Plutôt que d'essayer de trouver à l'avance les connaissances précises dont vous pourriez avoir besoin sur le serveur, je vous recommande de vous immerger et de créer quelque chose vous-même, y compris l'installation de tous les logiciels côté serveur. Une excellente façon de vous mouiller les pieds est d'installer Linux sur votre ordinateur. Vous pouvez utiliser quelque chose comme VirtualBox pour le faire fonctionner à côté de votre système d'exploitation actuel. Installez MySQL, installez et configurez le serveur pour PHP et essayez de tout faire fonctionner ensemble. Ce qui est génial aujourd'hui, c'est qu'un ordinateur portable modérément bien équipé peut faire tout cela et être le "serveur", ce qui peut être difficile au début, surtout si vous n'avez aucune expérience de Linux et de la ligne de commande. En tant que développeur, vous devriez en savoir au moins assez pour réussir cet exercice et vous aurez un point de départ rapide pour découvrir comment élargir vos connaissances.
Il y a trois domaines dans lesquels vous devrez probablement vous tenir au courant :
Les bases du système d'exploitation Linux. Commencer peut-être par une distribution facile à installer comme Ubuntu.Installer un serveur web et PHP. L'installation d'Apache est un bon début. Il existe d'autres alternatives, mais c'est par là que la plupart des gens commencent.
Apprendre les bases de l'installation et de l'exécution de MySQL. Au minimum, en tant que développeur, vous devez probablement être en mesure d'écrire des DDL pour créer des tables et d'autres structures dans la base de données, et vous devez certainement être en mesure d'interroger la base de données sur le serveur pour rechercher des données et vous assurer que votre application crache des correspondances contenues dans la base de données.Si vous souhaitez travailler avec Ubuntu, vous pouvez suivre les instructions de base ici pour vous mettre en route. Notez que vous devez faire quelques préparations pour les bases de Linux avant de commencer à installer et à jouer avec les serveurs web / composants de la base de données.
En ce qui concerne la manière dont les développeurs doivent interagir avec le serveur, hormis le téléchargement de fichiers, cela varie considérablement d'une organisation à l'autre.Les développeurs s'occupent souvent de l'administration, au moins de l'environnement de développement. Parfois, ce sont les développeurs qui mettent en place le système de contrôle des révisions (par exemple SVN) et le processus de déploiement (déplacement de code entre les environnements).Les développeurs doivent au moins utiliser un système de contrôle de version qui se trouve sur le serveur.
Ils doivent également consulter les journaux sur un serveur pour voir quels messages sont générés afin de diagnostiquer et de résoudre les problèmes.Il se peut que vous deviez travailler avec une équipe d'infrastructure pour déterminer, par exemple, la configuration du réseau ou la configuration de la mémoire du serveur. Souvent, les problèmes d'application sont une combinaison de configuration et de code.
Le fait est qu'il n'y a pas de réponse unique à la question de savoir exactement comment vous devez toucher le serveur, mais au cours de votre carrière, il ne s'agira certainement pas seulement de télécharger des fichiers via quelque chose comme FTP. Faire les premiers pas en apprenant les bases aidera.
Excellente réponse, merci ! Si je configure "Mamp" pour travailler en local, est-ce la même chose, mais sans accès au monde extérieur ? J'ai installé quelques systèmes d'exploitation Linux et je connais un peu les lignes de commande, mais rien dont je puisse me souvenir facilement. Mes connaissances sur les serveurs sont inexistantes, mais je pense toujours qu'on y accède uniquement par la ligne de commande, et non comme à un système d'exploitation convivial. Est-ce que c'est le cas ?
Il est préférable d'utiliser la ligne de commande. La plupart des "vrais" serveurs web sont des ordinateurs distants sur lesquels aucune interface utilisateur graphique n'est installée.Comme l'a écrit @GrandmasterB, il est utile de prendre en main la ligne de commande. À mon avis, Linux est une bonne plate-forme d'apprentissage, car il vous oblige à vous "approcher du métal" pour apprendre ce que fait le système d'exploitation au-delà de ce que vous voyez à l'écran. Examinez le fichier httpd.conf et découvrez ce que fait réellement le serveur web et comment le module PHP s'y intègre. En acquérant une compréhension de base de la plate-forme, vous deviendrez un meilleur développeur.
Je suis passé de Linux à Windows Server il y a quelques années et je n'ai jamais regardé en arrière. Linux est génial et puissant, mais vous devez choisir les outils qui correspondent le mieux aux exigences du travail.Mon premier conseil est de ne pas se limiter exclusivement à un rôle. C'est formidable d'être un spécialiste et d'avoir une connaissance approfondie de certaines compétences (par exemple PHP). Mais il est tout aussi important d'avoir des connaissances plus larges, qui s'étendent au reste de votre domaine.
D'après mon expérience, la plupart des équipes ne cherchent pas quelqu'un qui a les connaissances nécessaires pour réécrire les fonctionnalités de base de PHP, mais plutôt quelqu'un qui peut faire face à n'importe quel problème qui se présente (bien que ces connaissances ne feraient certainement pas de mal). Ou au moins quelqu'un qui peut aider à résoudre les problèmes que l'équipe rencontre. Imaginez par exemple une situation où votre application tombe en panne et où des clients sont touchés. Vous pouvez soit lever les mains et dire "je n'ai aucune idée de ce qu'il faut faire...", soit exécuter SSH sur le serveur, analyser les journaux, déterminer que l'espace disque d'un système de fichiers particulier est plein et continuer à le nettoyer. Il s'agit d'un petit exemple, mais je pense que le point est clair. Avec ces connaissances de base, en tant que développeur, vous pourriez écrire un script qui surveille ce système de fichiers particulier et le nettoie dès qu'il atteint un certain seuil. Vous êtes maintenant d'autant plus précieux pour votre supérieur.
Une autre chose que j'ai apprise dans ma carrière, c'est que les choses évoluent rapidement et que si vous ne suivez pas, vous serez laissé pour compte. Plus vous en savez sur l'ensemble de votre environnement (y compris les aspects commerciaux), plus vous êtes performant. Cela ne signifie pas que vous devez être un expert dans tout ce que vous faites, mais que vous devez au moins avoir les connaissances nécessaires pour ne pas être considéré comme ignorant. Plus vous êtes familier, plus vous êtes adaptable et plus vous êtes précieux pour votre entreprise.
Pour répondre de manière ciblée à vos questions ...
Quels sont les éléments du serveur que je dois connaître en tant que développeur ?
Familiarisez-vous avec l'ensemble de la pile d'applications. Savoir quels serveurs web, bases de données, mécanismes de mise en cache, etc. sont utilisés. Et quelles versions également. Familiarisez-vous suffisamment pour pouvoir recréer l'environnement sur votre propre serveur. Ce qui, en soi, est vital. Vous devriez viser plus ou moins les mêmes environnements en développement et en production afin d'éviter les surprises ( http://12factor.net/dev-prod-parity ).
En tant que développeur, qu'est-ce que vous avez à faire avec le serveur ?
Cela dépend vraiment de l'équipe. Dans mon cas particulier, les développeurs jouent un grand rôle dans la mise en scène des environnements. Nous connaissons le mieux le fonctionnement de l'application et sommes donc les mieux placés pour déterminer quelles technologies de serveur sont disponibles pour exécuter l'application. J'imagine que toutes les équipes n'ont pas une telle approche pratique. Cependant, disposer de connaissances suffisantes pour pouvoir participer aux discussions est un atout majeur. En ce qui concerne le contrôle de version en particulier, vous êtes, en tant que développeur, fortement concerné par le choix de la technologie (Git, Subversion, Mercurial, etc.) et devriez donc faire l'effort de vous impliquer dans le processus de décision.
Alors, que faire maintenant ?
En ce qui concerne ma suggestion sur la meilleure façon de procéder pour apprendre tout cela ? Bougez vos pieds . Ne vous inquiétez pas si vous essayez de lire tout ce que vous pouvez sur ce sujet. La plupart de ces informations ne sortiront probablement pas de votre cerveau avant que vous n'ayez terminé. Commencez plutôt à développer quelque chose à partir de zéro. Commencez par Vagrant ; De cette manière, vous pouvez facilement créer et gérer une machine virtuelle que vous pourrez utiliser comme nouveau terrain de jeu. Installez ensuite un serveur web et une base de données et commencez à créer. Si vous avez une idée d'application, faites-la parfaitement. Si ce n'est pas le cas, trouvez un tutoriel ou essayez de recréer une app existante. Il s'agit simplement de se familiariser avec l'ensemble du processus. En tant que développeur PHP, vous devriez aussi absolument essayer PHP : The Right Way... il contient vraiment beaucoup d'excellentes infos. Et surtout, ne vous stressez pas. J'imagine que vous avez suivi la voie d'un développeur parce que c'est quelque chose qui vous plaît et qui vous passionne ... ne perdez pas cela de vue !
Concentration sur Que devez-vous savoir sur les serveurs pour être un développeur web ? ...
En fait, étonnamment peu de choses. Vos principales connaissances devraient être la programmation, le HTML, le PHP, etc.Ce que vous devez savoir, c'est comment exécuter des choses localement et, si vous le faites, vous utilisez votre boîte comme "serveur". Ainsi, lorsque vous exécutez localement, vous utilisez un navigateur web pour afficher les pages, comme pour n'importe quel autre site Internet ... sauf votre http://localhostoderhttp://127.0.0.1
En ce qui concerne la configuration de CGI, HTTP, etc., je pense qu'il n'est pas nécessaire de le savoir. Vous pouvez toujours consulter un livre général sur la configuration d'un serveur web pour le système d'exploitation dans lequel vous travaillez. Cela suffirait pour connaître les conditions générales.Pour une vue d'ensemble plus large, je vous recommande de vous familiariser avec Linux et d'apprendre à installer et à configurer des machines comme les serveurs web. Mais seulement si vous avez vraiment un intérêt pour ces choses. Pas seulement pour impressionner lors d'interviews.
Pour finir, je vous recommanderais de prendre des notes lors des interviews sur les domaines dans lesquels vous n'en savez pas assez. Il serait utile que votre question soit plus précise : quels sont les termes, etc. vous ne connaissez pas. Je vous remercie beaucoup. J'aimerais de toute façon apprendre, si le temps le permet. Est-ce qu'un livre type "Linux pour les nuls" m'aiderait ici. Je vais bientôt déménager. Est-ce que l'hébergement Amazon AWS Cloud est quelque chose qui me serait utile avec un peu de travail, ou est-ce complètement différent ?
Je n'utiliserais pas un livre pour les nuls. Beaucoup de choses peuvent ne pas être pertinentes. J'essaierais de survoler quelque chose comme la gestion des serveurs web.oui, démarrez Linux comme votre machine de développement et configurez un serveur web dessus. Habitue-toi à jouer avec et à le configurer. Vous en apprendrez suffisamment de cette manière. En gros, c'est comme ça que vous apprenez sur votre lieu de travail. La moitié du matériel est sous le contrôle de sysadmins, ce qui peut être une bonne chose au début, mais lorsque vous progresserez, vous préférerez avoir plus de contrôle sur la configuration elle-même.
Vous devez savoir les choses suivantes pour achever le cycle de développement web.
1) IDE (Netbeans et Eclipse, etc.)
2) N'importe quel langage de programmation pour le codage. (PHP, Java, etc.)
3) Technologie frontale pour la conception des pages (HTML, CSS, etc.)
4) Base de données sécurisée pour le stockage et la récupération des données. (MySQL, etc.)
3) Système de contrôle de version pour vérifier et récupérer votre dépôt de code-formulaire.
4) Outil de construction pour compiler le code avec des fichiers dépendants. (Ameise, Maven)
6) Serveur web pour déployer et exécuter le code.
7) Vous devez connaître le processus de déploiement de base via des serveurs afin de pouvoir exécuter et tester vos composants Web et EJB. (Tomcat, serveur Web-Logic)
Outre la réponse de DemetriKots, j'aimerais également expliquer les solutions de déploiement automatisé et d'intégration continue. La configuration initiale du serveur n'est qu'une étape, et le déploiement via FTP est douloureux et sujet aux erreurs. Il n'existe pas de solution appropriée pour réinitialiser les déploiements erronés.
BELZ-DEV (entreprise / société / agence) de développement d'applications web et mobiles, et de progiciel de gestion intégré en Afrique (Sénégal-Dakar).
Enregistrer un commentaire