{"id":74955,"date":"2020-03-22T08:42:23","date_gmt":"2020-03-22T05:42:23","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu"},"modified":"2020-03-22T08:42:23","modified_gmt":"2020-03-22T05:42:23","slug":"kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","title":{"rendered":"Comment lire et corriger 100 000 lignes de code en une semaine","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Comment lire et corriger 100 000 lignes de code en une semaine\" src=\"\/wp-content\/uploads\/2020\/03\/9d646716cc8d6eb1f9c49cb8539d7422.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nIl est toujours difficile de naviguer dans un grand projet ancien au d\u00e9but. L'\u00e9valuation de l'architecture est l'une des activit\u00e9s de l'architecte. On doit g\u00e9n\u00e9ralement travailler sur de grands projets anciens et les r\u00e9sultats doivent \u00eatre fournis en une semaine.<\/p>\n<p>Comment \u00e9valuer un projet de 100 000 lignes de code ou plus en une semaine tout en fournissant des r\u00e9sultats r\u00e9ellement utiles pour le client.<\/p>\n<p>La plupart des architectes et des chefs techniques ont \u00e9t\u00e9 confront\u00e9s \u00e0 ce genre d'\u00e9valuations de projets. Cela peut sembler \u00eatre un processus semi-formel ou un service distinct comme cela se fait dans notre entreprise, quoi qu'il en soit, la plupart d'entre vous ont d\u00e9j\u00e0 eu affaire \u00e0 cela.<\/p>\n<p>L'original en anglais pour vos amis non russophones se trouve ici : <noindex><a rel=\"nofollow\" href=\"http:\/\/alexandvira.com\/architecture\/architecture-assessment-read-and-fix-100000-lines-of-code-in-a-week\/\">Architecture Assessment in a week<\/a><\/noindex>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Approche dans notre entreprise<\/h2>\n<p>\nJe vais vous expliquer comment cela fonctionne dans notre entreprise et comment j'agis dans de telles situations, mais vous pouvez facilement adapter cette approche en fonction des besoins de votre projet et de votre entreprise.<\/p>\n<p>Il y a deux types d'\u00e9valuation de l'architecture.<\/p>\n<p><b>Interne<\/b> \u2013 nous le faisons g\u00e9n\u00e9ralement pour des projets au sein de l'entreprise. Tout projet peut demander une \u00e9valuation de l'architecture pour plusieurs raisons :<\/p>\n<ol>\n<li>L'\u00e9quipe pense que leur projet est parfait et c'est suspect. Nous avons eu des cas comme \u00e7a et souvent dans ces projets, tout n'est pas si parfait.<\/li>\n<li>L'\u00e9quipe souhaite v\u00e9rifier son projet et ses solutions.<\/li>\n<li>L'\u00e9quipe sait que tout va mal. Elle peut m\u00eame \u00e9num\u00e9rer les principaux probl\u00e8mes et raisons, mais souhaite obtenir une liste compl\u00e8te de probl\u00e8mes et des recommandations pour am\u00e9liorer le projet.<\/li>\n<\/ol>\n<p>\n<b>Externe<\/b> \u2013 c'est un processus plus formel que l'\u00e9valuation interne. Le client arrive toujours dans un seul cas : quand tout va mal \u2013 tr\u00e8s mal. G\u00e9n\u00e9ralement, le client comprend qu'il y a des probl\u00e8mes globaux, mais ne peut pas identifier les causes correctement et les d\u00e9composer.<\/p>\n<p>L'\u00e9valuation de l'architecture pour un client externe est un cas plus compliqu\u00e9. Le processus doit \u00eatre plus formel. Les projets sont toujours grands et anciens. Ils contiennent de nombreux probl\u00e8mes, bogues et du code mal \u00e9crit. Le rapport des travaux r\u00e9alis\u00e9s doit \u00eatre pr\u00eat dans un d\u00e9lai maximum de quelques semaines, avec les principaux probl\u00e8mes et des recommandations pour am\u00e9liorer. Donc, si nous comprenons l'\u00e9valuation externe du projet, alors l'interne ne sera qu'une simple formalit\u00e9. Prenons le cas le plus complexe.<\/p>\n<h2>\u00c9valuation de l'architecture d'un projet d'entreprise<\/h2>\n<p>\nUn projet typique pour une \u00e9valuation est un grand projet ancien, d'entreprise, avec de nombreux probl\u00e8mes. Le client vient vers nous et demande de r\u00e9parer son projet. C'est comme un iceberg, le client ne voit que le sommet de ses probl\u00e8mes et n'a aucune id\u00e9e de ce qui se cache sous l'eau (dans les profondeurs du code).<\/p>\n<p>Probl\u00e8mes dont le client peut se plaindre et dont il peut \u00eatre conscient :<\/p>\n<ul>\n<li>Probl\u00e8mes de performance<\/li>\n<li>Probl\u00e8mes d'utilisation de l'application (Usabilit\u00e9)<\/li>\n<li>D\u00e9ploiement prolong\u00e9<\/li>\n<li>Absence de tests unitaires et autres tests<\/li>\n<\/ul>\n<p>\nProbl\u00e8mes dont le client n'est probablement pas conscient, mais qui peuvent exister dans le projet :<\/p>\n<ul>\n<li>Probl\u00e8mes de s\u00e9curit\u00e9<\/li>\n<li>Probl\u00e8mes de conception<\/li>\n<li>Architecture incorrecte<\/li>\n<li>Erreurs algorithmiques<\/li>\n<li>Technologies inappropri\u00e9es<\/li>\n<li>Dette technique<\/li>\n<li>Processus de d\u00e9veloppement incorrect<\/li>\n<\/ul>\n<p><\/p>\n<h2>Processus formel d'\u00e9valuation de l'architecture<\/h2>\n<p>\nC'est un processus formel que nous suivons dans l'entreprise, mais vous pouvez l'adapter en fonction de votre entreprise et de votre projet.<\/p>\n<h3>Demande du client<\/h3>\n<p>\nLe client demande une \u00e9valuation de l'architecture du projet actuel. La personne responsable de notre c\u00f4t\u00e9 collecte les informations de base sur le projet et s\u00e9lectionne les experts n\u00e9cessaires. En fonction du projet, il peut s'agir d'experts diff\u00e9rents.<\/p>\n<p><b>Architecte de solutions<\/b> \u2013 personne principale responsable de l'\u00e9valuation et de la coordination (et souvent la seule).<br \/>\n<b>Experts sp\u00e9cifiques \u00e0 la stack<\/b> \u2013 .Net, Java, Python, et autres sp\u00e9cialistes techniques en fonction du projet et des technologies<br \/>\n<b>Experts en cloud<\/b> \u2013 il peut s'agir d'architectes cloud Azure, GCP ou AWS.<br \/>\n<b>Infrastructure<\/b> \u2013 DevOps, Administrateur syst\u00e8me, etc.<br \/>\n<b>Autres experts<\/b> \u2013 tels que big data, machine learning, ing\u00e9nieur performance, expert en s\u00e9curit\u00e9, responsable QA.<\/p>\n<h3>Collecte d'informations sur le projet<\/h3>\n<p>\nVous devez collecter autant d'informations que possible sur le projet. Vous pouvez utiliser diverses techniques en fonction de la situation :<\/p>\n<ul>\n<li>Questionnaires et autres moyens de communication par e-mail. Le moyen le moins efficace.<\/li>\n<li>R\u00e9unions en ligne.<\/li>\n<li>Outils sp\u00e9cialis\u00e9s pour l'\u00e9change d'informations tels que : Google doc, Confluence, d\u00e9p\u00f4ts, etc.<\/li>\n<li>R\u00e9unions 'en direct' sur place. Le moyen le plus efficace et le plus co\u00fbteux.<\/li>\n<\/ul>\n<p>\n<i>Que faut-il obtenir du client ?<\/i><\/p>\n<p><b>Informations de base.<\/b> De quoi parle le projet. Son objectif et sa valeur. Objectifs principaux et plans futurs. Objectifs commerciaux et strat\u00e9gies. Probl\u00e8mes cl\u00e9s et r\u00e9sultats souhait\u00e9s.<\/p>\n<p><b>Informations sur le projet<\/b>. Stack technologique, frameworks, langages de programmation. D\u00e9ploiement sur site ou dans le cloud. Si le projet est dans le cloud, quels services sont utilis\u00e9s ? Quels mod\u00e8les architecturaux et de design ont \u00e9t\u00e9 appliqu\u00e9s ?<\/p>\n<p><b>Exigences non fonctionnelles<\/b>. Toutes les exigences li\u00e9es \u00e0 la performance, la disponibilit\u00e9, la facilit\u00e9 d'utilisation du syst\u00e8me. Exigences de s\u00e9curit\u00e9, etc.<\/p>\n<p><b>Cas d'utilisation de base et flux de donn\u00e9es.<\/b><\/p>\n<p><b>Acc\u00e8s au code source<\/b>. La partie la plus importante ! Vous devez absolument obtenir l'acc\u00e8s aux d\u00e9p\u00f4ts et \u00e0 la documentation sur la mani\u00e8re de constituer le projet.<\/p>\n<p><b>Acc\u00e8s \u00e0 l'infrastructure<\/b>. Il serait bon d'acc\u00e9der \u00e0 l'infrastructure de staging ou de production pour travailler avec un syst\u00e8me \u00ab vivant \u00bb. C'est une grande chance si le client dispose d'outils de surveillance de l'infrastructure et des performances. Nous parlerons de ces outils dans la section suivante.<\/p>\n<p><b>Documentation<\/b>. Si le client a de la documentation, c'est un bon d\u00e9but. Elle peut \u00eatre obsol\u00e8te, mais c'est tout de m\u00eame un bon point de d\u00e9part. Ne croyez jamais la documentation - v\u00e9rifiez-la avec le client, sur l'infrastructure r\u00e9elle et dans le code source.<\/p>\n<h3>Processus d'\u00e9valuation de l'architecture<\/h3>\n<p>\nComment traiter un tel volume d'informations en si peu de temps ? Tout d'abord, parall\u00e9lisez le travail.<\/p>\n<p>Le DevOps devrait jeter un \u0153il \u00e0 l'infrastructure. Le Tech Lead dans le code. L'ing\u00e9nieur en performance devrait examiner les m\u00e9triques de performance. Le sp\u00e9cialiste des bases de donn\u00e9es devrait approfondir les structures de donn\u00e9es.<\/p>\n<p>Mais c'est le cas id\u00e9al, lorsque vous avez beaucoup de ressources. En g\u00e9n\u00e9ral, l'\u00e9valuation d'un projet est r\u00e9alis\u00e9e par une \u00e0 trois personnes. Vous pouvez m\u00eame effectuer l'\u00e9valuation vous-m\u00eame, ce qui se produit souvent si vous avez les connaissances et l'exp\u00e9rience n\u00e9cessaires dans tous les domaines du projet. Dans ce cas, vous devez automatiser tous les processus autant que possible.<\/p>\n<p>Malheureusement, vous devrez lire la documentation manuellement. Avec une exp\u00e9rience ad\u00e9quate, vous pourrez assez rapidement \u00e9valuer la qualit\u00e9 de la documentation. Ce qui est vrai et ce qui ne correspond pas \u00e0 la r\u00e9alit\u00e9. Parfois, vous pouvez rencontrer une architecture dans la documentation qui ne fonctionnera jamais dans la r\u00e9alit\u00e9. C'est un d\u00e9clencheur pour vous interroger sur la mani\u00e8re dont cela fonctionne r\u00e9ellement dans le projet.<\/p>\n<h3>Outils utiles pour l'automatisation de l'\u00e9valuation des projets<\/h3>\n<p>\nL'\u00e9valuation du code est un exercice simple. Vous pouvez utiliser des analyseurs de code statiques qui mettront en \u00e9vidence les probl\u00e8mes de conception, de performance et de s\u00e9curit\u00e9. Voici quelques-uns d'entre eux :<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/structure101.com\/\">Structure 101<\/a><\/noindex> est un excellent outil pour les architectes. Il vous montrera une vue d'ensemble, la d\u00e9pendance entre les modules et les domaines potentiels de refactorisation. Comme tous les bons outils, il co\u00fbte cher, mais vous pouvez profiter d'une version d'essai de 30 jours.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.sonarqube.org\/\">SonarQube<\/a><\/noindex> est un bon vieil outil. Un outil d'analyse statique de code. Il permet d'identifier le mauvais code, les bogues et les probl\u00e8mes de s\u00e9curit\u00e9 pour plus de 20 langages de programmation.<\/p>\n<p>Tous les fournisseurs de cloud disposent d'outils de surveillance de l'infrastructure. Cela vous permettra d'\u00e9valuer correctement l'efficacit\u00e9 de l'infrastructure en termes de co\u00fbt et de performance. Pour AWS, c'est <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/premiumsupport\/technology\/trusted-advisor\/\">trusted advisor<\/a><\/noindex>. Pour Azure, c'est simplement <noindex><a rel=\"nofollow\" href=\"https:\/\/azure.microsoft.com\/en-us\/services\/advisor\/\">Azure Advisor<\/a><\/noindex>.<\/p>\n<p>Une surveillance suppl\u00e9mentaire des performances et de la journalisation aidera \u00e0 identifier les probl\u00e8mes de performance \u00e0 tous les niveaux. Des bases de donn\u00e9es avec des requ\u00eates inefficaces au backend, jusqu'au frontend. M\u00eame si le client n'a pas install\u00e9 ces outils au pr\u00e9alable, vous pouvez les int\u00e9grer assez rapidement dans le syst\u00e8me existant pour identifier les probl\u00e8mes de performance.<\/p>\n<p>Comme toujours, de bons outils ont un co\u00fbt. Je peux vous recommander quelques outils payants. Bien s\u00fbr, vous pouvez utiliser des solutions open-source, mais cela vous demandera plus de temps. Et cela doit \u00eatre fait \u00e0 l'avance, et non lors de l'\u00e9valuation de l'architecture.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/newrelic.com\/\">New Relic<\/a><\/noindex> est un outil d'\u00e9valuation des performances des applications<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.datadoghq.com\/\">Datadog<\/a><\/noindex> est un service cloud de surveillance des syst\u00e8mes<\/p>\n<p>Il existe de nombreux outils pour tester la s\u00e9curit\u00e9. Cette fois, je vous recommande un outil gratuit pour scanner le syst\u00e8me.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/owasp.org\/www-project-zap\/\">OWASP ZAP<\/a><\/noindex> est un outil pour scanner les applications web conform\u00e9ment aux normes de s\u00e9curit\u00e9.<\/p>\n<p>Rassemblons le tout.<\/p>\n<h3>Pr\u00e9parez le rapport<\/h3>\n<p>\nCommencez votre rapport par les donn\u00e9es collect\u00e9es aupr\u00e8s du client. D\u00e9crivez les objectifs du projet, les contraintes, les exigences non fonctionnelles. Ensuite, mentionnez toutes les donn\u00e9es d'entr\u00e9e comme le code source, la documentation et l'infrastructure.<\/p>\n<p>\u00c9tape suivante. Indiquez tous les probl\u00e8mes que vous avez trouv\u00e9s manuellement ou \u00e0 l'aide d'outils automatis\u00e9s. Placez les grands rapports g\u00e9n\u00e9r\u00e9s automatiquement \u00e0 la fin dans la section des annexes. Ici, vous devez fournir des preuves br\u00e8ves et concises des probl\u00e8mes identifi\u00e9s.<br \/>\nPriorisez les probl\u00e8mes identifi\u00e9s sur une \u00e9chelle de error, warning, info. Vous pouvez choisir votre propre \u00e9chelle, mais celle-ci est largement accept\u00e9e.<\/p>\n<p>En tant que v\u00e9ritable architecte, vous devez fournir des recommandations pour r\u00e9soudre les probl\u00e8mes trouv\u00e9s. D\u00e9crivez les am\u00e9liorations et la valeur pour l'entreprise que le client obtiendra. Comment montrer la valeur pour l'entreprise de <noindex><a rel=\"nofollow\" href=\"http:\/\/alexandvira.com\/architecture\/architecture-refactoring-and-design-refactoring-how-to-sell-it-client\/\">refactorisation de l'architecture<\/a><\/noindex> que nous avons discut\u00e9 pr\u00e9c\u00e9demment.<\/p>\n<p>Pr\u00e9parez une feuille de route avec de petites it\u00e9rations. Chaque it\u00e9ration doit inclure le temps n\u00e9cessaire, une description, le nombre de ressources n\u00e9cessaires pour l'am\u00e9lioration, la valeur technique et la valeur pour l'entreprise.<\/p>\n<h3>Nous terminons l'\u00e9valuation de l'architecture et fournissons au client un rapport.<\/h3>\n<p>\nNe vous contentez jamais d'envoyer simplement le rapport par email. Il peut soit ne pas \u00eatre lu du tout, soit \u00eatre lu sans compr\u00e9hension ad\u00e9quate sans explications appropri\u00e9es. En r\u00e9sum\u00e9, la communication en direct aide \u00e0 \u00e9liminer les malentendus entre les personnes. Vous devriez organiser une r\u00e9union avec le client et discuter des probl\u00e8mes identifi\u00e9s en mettant l'accent sur les plus significatifs. Attirez l'attention du client sur les probl\u00e8mes dont il n'avait peut-\u00eatre m\u00eame pas connaissance, comme les probl\u00e8mes de s\u00e9curit\u00e9, et expliquez comment ils peuvent affecter les affaires. Montrez votre feuille de route avec des am\u00e9liorations et discutez des diff\u00e9rentes options plus adapt\u00e9es au client. Cela peut inclure le temps, les ressources, ou le volume de travail.<\/p>\n<p>Comme conclusion de votre r\u00e9union, envoyez au client votre rapport.<\/p>\n<h2>En conclusion<\/h2>\n<p>\nL'\u00e9valuation de l'architecture est un processus complexe. Pour effectuer l'\u00e9valuation correctement, vous devez avoir suffisamment d'exp\u00e9rience et de connaissances.<\/p>\n<p>C'est r\u00e9alisable - fournir des r\u00e9sultats utiles au client et \u00e0 son entreprise en seulement une semaine. M\u00eame si vous le faites seul.<\/p>\n<p>D'apr\u00e8s mon exp\u00e9rience, de nombreuses am\u00e9liorations \u00e9taient abandonn\u00e9es \u00e0 mi-chemin, et parfois elles n'ont m\u00eame jamais commenc\u00e9. Ceux qui optaient pour un juste milieu et r\u00e9alisaient certaines am\u00e9liorations maximales utiles pour l'entreprise avec un minimum d'efforts augmentaient consid\u00e9rablement la qualit\u00e9 de leur produit. Ceux qui ne faisaient rien pouvaient, apr\u00e8s quelques ann\u00e9es, m\u00eame devoir fermer leur projet.<\/p>\n<p>Votre objectif est de montrer au client les meilleures am\u00e9liorations au meilleur prix.<\/p>\n<p>D'autres articles de la section <noindex><a rel=\"nofollow\" href=\"http:\/\/alexandvira.com\/category\/architecture\/\">architecture<\/a><\/noindex> peuvent \u00eatre lus pendant votre temps libre.<\/p>\n<p>Je vous souhaite du code propre et de bonnes solutions architecturales.<\/p>\n<p>Notre groupe Facebook \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.facebook.com\/groups\/206130407152602\/\">Architecture et D\u00e9veloppement Logiciel<\/a><\/noindex>.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/493226\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0442\u044f\u0436\u0435\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u0438 \u0441\u0442\u0430\u0440\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435. Architecture assessment \u2014 \u044d\u0442\u043e \u043e\u0434\u043d\u0430 \u0438\u0437 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u0430. \u041e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438, \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430\u0434\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e. \u041a\u0430\u043a \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 100\u043a \u0438 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0438 \u0442\u0435\u0445 \u043b\u0438\u0434\u043e\u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":74956,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-74955","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0442\u044f\u0436\u0435\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c 100,000 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0442\u044f\u0436\u0435\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-22T05:42:23+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-22T05:42:23+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Comment lire et corriger 100 000 lignes de code en une semaine | ProHoster","description":"Au d\u00e9but, il est toujours difficile de s'y retrouver dans.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c 100,000 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e | ProHoster","og:description":"\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0442\u044f\u0436\u0435\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432.","og:url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-22T05:42:23+00:00","article:modified_time":"2020-03-22T05:42:23+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"74955","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:04:26","updated":"2022-10-02 00:18:18","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/74955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=74955"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/74955\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/74956"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=74955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=74955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=74955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}