Suite

Dois-je démarrer un nouveau projet en utilisant l'API Silverlight ?


Je suis sur le point de démarrer un nouveau projet de cartographie pour un client et j'envisage d'utiliser l'API ArcGIS Server Silverlight, car elle offre de nombreuses fonctionnalités requises prêtes à l'emploi (en particulier avec Silverlight Viewer).

Un collègue a suggéré que c'était une mauvaise idée, car "Silverlight est une technologie morte". Il dit que la plupart des nouveaux projets internes de Microsoft passent à HTML5 au lieu de Silverlight.

Il s'agit d'un petit projet, donc je n'ai pas le luxe de tout développer à partir de zéro, ce qu'implique l'API JavaScript. En utilisant Silverlight Viewer, je peux faire fonctionner la fonctionnalité de base presque immédiatement.

Quelqu'un a-t-il des opinions/informations privilégiées pour savoir si Silverlight est une bonne idée pour un nouveau site Web ArcGIS Server ?


N'avez-vous pas entendu? HTML6 est la dernière nouveauté. Pourquoi ne vous développez-vous pas là-dedans ?
- Le moral ici, c'est comme acheter un nouvel ordinateur. Vous pouvez toujours attendre la prochaine meilleure chose, mais il y a toujours quelque chose de mieux au coin de la rue. (voir aussi les commentaires dans cet article).

J'aime aussi le résumé de James Fee de la question Q&A pour UC2011, qui est en quelque sorte liée:

Q : Comment Esri envisage-t-il de prendre en charge HTML5 ? R : J'adore la réponse, fondamentalement, HTML5 est génial, mais ils se rendent compte que la plupart de leur base d'utilisateurs est bloquée sur d'anciennes versions d'IE. Aussi impressionnant que cela puisse être, ce n'est pas le cas.

IMO, l'option la plus sûre et la plus évolutive sera Javascript, puisant plus tard dans HTML5 là où c'est nécessaire.

Vous n'avez pas mentionné vos besoins, donc je ne sais pas pourquoi vous pensez que vous devrez faire autant de travail avec Javascript.
Ne pouvez-vous pas tirer parti de frameworks comme Dojo/ExtJS pour faire le gros du travail ?
Ces frameworks complètent Javascript pour correspondre à Silverlight, non ?

Je suis moi-même un fan de Flex, mais j'ai essayé Silverlight et je l'aime bien.

Votre application aura besoin d'une cure de jouvence dans quelques années de toute façon - si vous pouvez y coder, tirez pour Silverlight !


Je ne suis pas du tout convaincu que Silverlight soit mort. Oui, MS a parlé de HTML5 et de javascript et NON de SL dans leur aperçu de Windows 8, mais en réalité, pour les applications LOB, je pense que Silverlight fournit ce que les autres technologies ne peuvent pas. Mais peut-être que c'est juste moi.

Quelques autres faits - il y a la rumeur selon laquelle il existe un accord entre Apple et MS pour qu'Apple prenne en charge SL sur les iPhones et les iPads. SL EST la plate-forme de développement pour Windows 7 Phone. Nokia livrera ses téléphones avec Windows 7 uniquement. Les smartphones (ils disent) est (ou sera) le nouveau PC. De grandes entreprises comme SAP ont déplacé une partie de leurs applications vers Silverlight. Peut-être que c'est juste moi, mais pour moi, tous ces sons comme SL sont loin d'être déclarés morts.


Les rumeurs sur la mort prématurée de Silverlight ont déjà été soigneusement examinées et démystifiées.

Voici un article sur la prise en charge de XAML (le langage utilisé pour fournir le front-end des applications Silverlight) dans Windows 8 :

http://davidburela.wordpress.com/2011/06/14/premature-cries-of-silverlight-wpf-skill-loss-windows-8-supports-all-programming-models/

Citant :

Je suis plus enthousiasmé par les nouvelles possibilités offertes par le nouveau modèle de programmation Jupiter XAML que par l'idée fausse que HTML+JS est le seul moyen de créer des applications.

Voici quelques informations supplémentaires sur la croissance actuelle de l'emploi dans les postes Silverlight :

https://softwareengineering.stackexchange.com/questions/15857/did-microsoft-kill-silverlight/75841#75841

En ce qui concerne votre question sur le démarrage d'un projet avec l'API ArcGIS pour Silverlight, il convient de noter qu'il s'agit d'une API primée qui existe depuis plus de 2 ans et qui reçoit un soutien important d'ESRI.

Comme alternative à l'apprentissage de l'API, ArcGIS Viewer for Silverlight fournit une bonne solution prête à l'emploi pour créer une visionneuse de carte sans écrire de code source.


Doit-on choisir Java plutôt que C# pour un nouveau projet ? [dupliquer]

Nous avons une équipe de développeurs .NET (C#) avec une expérience allant de 2 à 6 ans. Au cours des dernières années, nous avons développé des applications Silverlight, ASP.NET MVC et WPF. Cependant, il y a un nouveau projet de deux ans qui signifie que nous développerons une application HTML5 sur Linux.

L'entreprise pour laquelle je travaille souhaite que tous les développeurs de leurs bureaux utilisent le même langage de programmation, Java. Bien qu'il soit question d'utiliser Mono, mais utiliser le même langage et partager des modules, services, etc. déjà créés en Java est la principale raison du passage à Java.

Certains des développeurs ici sont contrariés. Comment trouver quelque chose de positif à déménager qui convaincra les autres développeurs ?

Il y aura un budget de formation, mais l'idée d'apprendre à travailler avec des bibliothèques Java et une nouvelle plate-forme (Linux) fera peur à beaucoup de gars.


Espérons que votre application utilise le modèle MVVM pour pouvoir fabriquer des données Blend. Je crois que c'est l'approche recommandée. Si vous ne le connaissez pas, prenez le temps de vous familiariser avec.

J'ai inclus quelques extraits de code ci-dessous, mais ne vous inquiétez pas trop du code, suivez simplement le modèle.

Configurez MMVM dans votre projet et dans le constructeur du modèle de vue, vérifiez si vous êtes dans Blend. Transmettez un agent qui s'occupera d'obtenir les données pour vous.

Nous avons une interface pour remplir la vue, appelée IUserAgent, et deux implémentations, une pour un appel de service et une pour la conception (fausses données) :

Ensuite, nous avons deux classes d'implémentation, une qui récupère les données du service :

Et un autre qui fabrique des données pour le concepteur :

Chaque implémentation renvoie le même type de DTO, pour le concepteur les données sont fabriquées :

Maintenant, vous pouvez transférer votre application à Blend et elle se remplira de données sans utiliser d'appel de service WCF afin que l'interface utilisateur puisse être conçue et rendue avec des données.


Vérification des erreurs dans votre navigateur

L'API Maps JavaScript écrit des messages d'erreur dans window.console . Cette section explique comment vérifier la sortie window.console dans Google Chrome. Si vous utilisez d'autres navigateurs, veuillez consulter la documentation développeur de votre navigateur. Pour votre référence, voici une liste d'outils pour vérifier la sortie window.console dans d'autres navigateurs.

Dans Chrome, vous pouvez utiliser la console JavaScript pour vérifier la sortie window.console comme suit.

  1. Pour ouvrir les outils de développement, sélectionnez l'icône de menu > Plus d'outils > Outils de développement.
  2. Pour ouvrir la console JavaScript, appuyez sur la touche ÉCHAP de votre clavier. La touche ESC fera basculer la console JavaScript. Si vous fermez la console, appuyez à nouveau sur la touche ESC pour l'ouvrir.

Si des erreurs ou des avertissements se sont produits lors du chargement de l'API Maps JavaScript, ils apparaissent sous la forme d'une ou plusieurs lignes dans la console. Un message d'erreur ou d'avertissement a le format suivant :

Erreur API Google Maps : [CODE D'ERREUR] [Lien vers le document API]
ou alors
Avertissement de l'API Google Maps : [CODE D'ERREUR] [Lien vers le document API]

Vous pouvez consulter le tableau des codes d'erreur ci-dessus pour trouver le code d'erreur dans le message d'erreur. Vous pouvez également trouver les détails du message d'erreur dans le document API lié à partir du message.

Noter: Vous pouvez écouter les erreurs d'authentification par programmation.


Que dois-je faire pour mon projet SIG ?

par Joseph Kerski

Beaucoup d'entre nous ont été confrontés à la question suivante de la part des étudiants : « Que dois-je faire pour mon projet SIG ? » Ou, peut-être êtes-vous cet étudiant à la recherche d'un projet SIG. Bien que le meilleur projet soit celui que les élèves élaborent eux-mêmes, des suggestions sont parfois utiles pour commencer. Ci-dessous et dans cette vidéo, vous en trouverez quelques-unes que j'ai fournies à des étudiants en SIG à plusieurs reprises dans le passé.

J'encourage toujours l'élève à discuter de ses réflexions avec moi ou avec ses pairs plutôt que de fournir une simple liste. J'encourage les étudiants à commencer par les problèmes qui les passionnent le plus. Ne choisissez pas quelque chose où vous pouvez facilement trouver des données, ou même quelque chose qui intéresse votre professeur. Choisissez quelque chose qui vous intéresse. Pour en savoir plus du point de vue des étudiants, voir mon essai ici.

Les objectifs du Millénaire pour le développement des Nations Unies fournissent un bon cadre et un bon point de départ, car ces objectifs qui traitent de la pauvreté, de la santé, de l'éducation et d'autres peuvent tous bénéficier de la perspective spatiale et de l'analyse spatiale via le SIG (http://www.un.org/ objectifs du millénaire/). Les objectifs de développement durable des Nations Unies fournissent un excellent cadre connexe.

Le long de ces lignes sont les questions soulevées par les livres dans des domaines particuliers, comme mon propre livre Essentials of the Environment. Dans ce livre, j'aborde les biocarburants, les écotones (les « limites » des écorégions), le climat et la météo, les risques naturels, la qualité et la quantité de l'eau, l'érosion des sols et d'autres sujets du niveau local au mondial, ainsi que des problèmes d'ordre technique et pédagogique, tels que en comparant les méthodes de collecte de données sur le terrain. Une autre riche source d'idées est constituée par les Esri Map Books annuels. Chaque entrée de ce livre présente un problème résolu grâce à l'application du SIG, ancré dans des centaines de disciplines, de l'agriculture à la zoologie. Les pages de l'industrie Esri (http://www.esri.com/industries), sont une autre bonne source, donnant une idée des domaines dans lesquels le SIG est utilisé, des détails et des études de cas racontés à travers des histoires écrites et des vidéos.

Toujours coincé? Essayez les suggestions suivantes :

  1. Parcourez les récents actes de la conférence des utilisateurs d'Esri (https://proceedings.esri.com/library/userconf/index.html), de www.scgis.org, et les conférences d'autres organisations pour avoir des idées sur les problèmes auxquels les gens sont confrontés, les données utilisées et les méthodes employées.
  2. Consultez le livre Esri ArcGIS (https://learn.arcgis.com/en/arcgis-book/) pour des idées supplémentaires qui pourraient découler de votre enquête sur les nombreuses cartes intrigantes qui s'y trouvent.
  3. Parcourez certains articles sur https://scholar.google.com/ en utilisant une variété de termes de recherche.

J'encourage les étudiants à lire des revues spécialisées et spécialisées, et à parcourir les blogs SIG, les pages Facebook (comme le groupe Esri Higher Education) et à rechercher des idées sur les services d'actualités Web SIG tels que Directions Magazine, GIS User, GIS Café, www.esri .com/news et autres. J'encourage les étudiants à lire les nouvelles locales, régionales, nationales et internationales pour avoir une idée des problèmes d'une importance critique. Dans ma communauté locale, les principaux problèmes en ce moment sont de décider quelles écoles fermer à la suite de déficits budgétaires, et d'atténuer et de faire face aux conséquences des récents incendies de forêt dans les contreforts des montagnes. Dans mon État du Colorado, les principaux problèmes incluent l'infestation de dendroctone du pin, la conception de voies vertes urbaines, l'extraction de gaz naturel et de schiste bitumineux, et un problème qui nous concerne depuis 150 ans : la qualité et la disponibilité de l'eau. Regardez autour de vous. Les événements actuels tels que la santé, l'instabilité politique et les catastrophes naturelles, les inégalités économiques, l'énergie, l'eau et bien d'autres sont des bases valables sur lesquelles construire des projets SIG.

Comment répondez-vous à la question « que dois-je faire pour mon projet SIG ? » Certaines de mes meilleures idées viennent de quand je suis sur le terrain, comme ici dans l'Utah.


Codes d'état de l'API

Les codes d'état sont renvoyés avec chaque demande adressée à un serveur Web. Les codes d'état indiquent des informations sur ce qui s'est passé avec une demande. Voici quelques codes pertinents pour AVOIR demandes :

  • 200 : Tout s'est bien passé, et le résultat a été renvoyé (le cas échéant).
  • 301 : Le serveur vous redirige vers un autre point de terminaison. Cela peut se produire lorsqu'une entreprise change de nom de domaine ou qu'un nom de point de terminaison est modifié.
  • 400 : Le serveur pense que vous avez fait une mauvaise requête. Cela peut arriver lorsque vous n'envoyez pas les bonnes données, entre autres.
  • 401 : Le serveur pense que vous n'êtes pas authentifié. De nombreuses API nécessitent des informations d'identification de connexion, cela se produit donc lorsque vous n'envoyez pas les bonnes informations d'identification pour accéder à une API.
  • 403 : La ressource à laquelle vous essayez d'accéder est interdite : vous n'avez pas les autorisations nécessaires pour la voir.
  • 404 : La ressource à laquelle vous avez essayé d'accéder n'a pas été trouvée sur le serveur.
  • 503 : Le serveur n'est pas prêt à traiter la requête.

Vous remarquerez peut-être que tous les codes d'état qui commencent par un « 4 » indiquent une sorte d'erreur. Le premier nombre de codes d'état indique leur catégorisation. C'est utile - vous pouvez savoir que si votre code d'état commence par un "2", il a réussi et s'il commence par un "4" ou "5", il y a eu une erreur. Si vous êtes intéressé, vous pouvez en savoir plus sur les codes de statut ici.


Utiliser le processus d'analyse SIG en cinq étapes

par Suzanne-Boden

Cet article montre comment appliquer un processus en cinq étapes pour terminer un projet d'analyse à l'aide d'ArcMap (la même analyse pourrait être effectuée tout aussi facilement dans ArcGIS Pro). Supposons que vous souhaitiez analyser l'accès aux services de santé dans les comtés de Riverside et de San Bernardino, dans le sud de la Californie.

Les cinq étapes du processus d'analyse sont les suivantes :

Étape 1. Cadrez la question
Cette étape semble simple car généralement vous êtes affecté à un projet pour obtenir des informations spécifiques. Certains projets impliquent de répondre à plusieurs questions dérivées d'une question de haut niveau. La façon dont vous formulez les questions aide à déterminer les outils et méthodes SIG que vous utilisez pour l'analyse.

Dans cet exemple, vous pouvez formuler une question préliminaire de haut niveau : la répartition des établissements de santé est-elle cohérente avec la répartition de la population à Riverside-San Bernardino, en Californie ? Cette question peut être décomposée en les sous-questions suivantes :

Étape 2. Explorer et préparer les données
Cette étape peut être la plus longue. Si vous ne disposez pas de toutes les données nécessaires à un projet d'analyse, vous devez les collecter. L'Atlas vivant ArcGIS du monde est une excellente source de données spatiales de haute qualité. Aux États-Unis, le Census Bureau dispose d'une multitude de données spatiales, démographiques et démographiques. Les centres d'échange de données d'État sont une autre ressource utile.

Étape 2a : Explorer les données
Pour chaque jeu de données, explorez la géographie des caractéristiques, les attributs et les métadonnées pour déterminer si les données seront utiles pour votre analyse et quel type de préparation, le cas échéant, peut être nécessaire. Les questions à poser sur les données comprennent :

Pour cet exemple, les ensembles de données suivants ont été utilisés. Tous utilisent le système de coordonnées géographiques WGS 1984.

Étape 2b : préparer les données
Pour commencer, vous devez décider du format de données à utiliser. Les données du projet n'ont pas besoin d'être toutes dans le même format, mais cela peut faciliter les choses. L'important est de vérifier que les outils d'analyse que vous devez utiliser acceptent votre format de données et déterminez également si vous diffuserez les données créées par l'analyse. Vous pouvez utiliser les outils de géotraitement de la boîte à outils ArcToolbox Conversion Tools pour convertir rapidement les données dans un autre format. Si vous avez accès à l'extension ArcGIS Data Interoperability, vous pouvez travailler directement avec de nombreux formats de données.

L'organisation des données dans un dossier de projet permet de simplifier les tâches d'analyse (vous pouvez spécifier un espace de travail en entrée par défaut pour tous les outils de géotraitement).

Si vous travaillez avec des classes d'entités stockées dans différentes géodatabases, vous pouvez les copier ou les importer dans une seule géodatabase de projet basée sur un fichier. Vous pouvez également souhaiter créer des dossiers ou des géodatabases distincts pour stocker les données intermédiaires (temporaires) issues des opérations d'analyse ainsi que les données finales.

L'extraction des données pour qu'elles aient la même étendue que la zone d'étude permet d'accélérer le temps de traitement et d'améliorer la visualisation des données dans ArcMap. Dans cet exemple, les ensembles de données du projet couvrent l'ensemble des États-Unis.

Afin de découper les données, vous pouvez créer une couche de sélection des comtés de Riverside et de San Bernardino uniquement, ou simplement sélectionner les deux comtés sur la carte. Si vous prévoyez d'utiliser la même zone d'étude pour plusieurs projets d'analyse, il est conseillé d'exporter les entités sélectionnées et les couches de sélection vers leur propre fichier de formes ou classe d'entités de géodatabase. De cette façon, vous disposez des données des caractéristiques de votre zone d'étude prêtes à l'emploi. Pour cet exemple, nous sélectionnerons simplement les deux comtés d'intérêt.

Voici les tâches de préparation des données pour ce projet :

Répétez les étapes pour couper les hôpitaux.

Une fois l'opération de découpage terminée, une couche représentant les hôpitaux de la zone d'étude est ajoutée à la table des matières.

Les tâches de préparation des données sont maintenant terminées.

Étape 3. Choisissez les méthodes et outils d'analyse

Pour choisir les méthodes et les outils appropriés pour un projet d'analyse, examinez les questions formulées à l'étape 1 et documentez les méthodes et les outils qui répondront à chacun.

Question Méthodes et outils
Où se trouvent les établissements qui dispensent des soins de santé ?Examinez la répartition des hôpitaux sur la carte.
Quelle est la répartition de la population dans la zone d'étude?Symboliser la couche de codes postaux en fonction de la densité de population à l'aide de couleurs graduées.
Les zones à plus forte densité de population ont-elles le plus grand nombre d'équipements ?Faites d'abord une analyse visuelle de la carte pour avoir une idée générale, puis faites une opération de jointure spatiale entre les Hôpitaux et les codes postaux. La sortie de la jointure spatiale sera un enregistrement pour chaque hôpital et les attributs de code postal.
Dans la zone d'étude, y a-t-il des zones à forte population mais sans établissements de santé ?Résumez le champ ZIP dans la table de sortie de la jointure spatiale. Le tableau récapitulatif comprendra un nombre d'hôpitaux dans chaque code postal contenant un hôpital, ainsi que des données sur la population pour chaque code postal.

Il est utile à cette étape de schématiser l'analyse. Le diagramme n'a pas besoin d'être sophistiqué (même si cela peut l'être si vous aimez ce genre de chose). Une chose facile est de dessiner rapidement sur du papier ou un tableau blanc comme l'exemple ci-dessous.

Étape 4. Effectuer l'analyse
Si vous avez schématisé le processus à l'étape 3, alors dans cette étape, vous suivez simplement le schéma, en accomplissant chaque tâche dans l'ordre. Pour les analyses complexes, vous souhaiterez peut-être créer un modèle dans ModelBuilder pour automatiser le processus. Un modèle vous permet également de modifier rapidement un paramètre et d'exécuter à nouveau le modèle pour explorer différents scénarios.

  • Examinez la distribution des caractéristiques de l'hôpital sur la carte. Zoomez et déplacez-vous au besoin.
  • Symboliser les codes postaux avec des couleurs graduées en fonction de l'attribut POP07_SQMI (densité de population 2007).

Une analyse visuelle des données montre que le plus grand nombre d'hôpitaux et les codes postaux les plus densément peuplés (dans des tons de vert plus foncé sur la carte ci-dessous) se trouvent dans la partie sud-ouest de la zone d'étude.

Vous pouvez obtenir plus d'informations en effectuant une jointure spatiale entre les couches Hôpitaux et Codes postaux.

  • Cliquez avec le bouton droit sur Hôpitaux et cliquez sur Jointures et relations > Joindre.
  • Dans la boîte de dialogue, choisissez de joindre les données d'une autre couche en fonction de l'emplacement spatial.
  • Choisissez Codes postaux dans la liste déroulante des couches, spécifiez le nom et l'emplacement de la classe d'entités en sortie, puis cliquez sur OK.

La sortie de la jointure spatiale est une nouvelle couche de points qui contient toutes les caractéristiques de l'hôpital ainsi que les attributs du code postal de chaque établissement. Le champ ZIP contient le code postal à cinq chiffres dans lequel se trouve l'hôpital, et le champ PO_NAME contient le nom du bureau de poste (correspond au nom de la ville) pour ce code postal. Le champ POP07_SQMI affiche la densité de population associée au code postal de chaque hôpital.

Le tri du champ PO_NAME révèle que plusieurs hôpitaux sont situés dans certains codes postaux.

La dernière étape consiste à résumer le champ ZIP. Cette opération produira une table contenant un enregistrement pour chaque code postal contenant un hôpital, ainsi qu'un champ contenant le nombre d'hôpitaux dans chaque code postal. Vous pouvez également choisir de générer des statistiques pour les champs numériques (tels que POP07_SQMI).

  • Dans la table jointe, cliquez avec le bouton droit sur le champ ZIP et choisissez Résumer.
  • Pour les statistiques récapitulatives, cochez Prénom et Nom pour NOM (il s'agit du nom de l'hôpital) et cochez Moyenne pour POP2007 (population totale) et POP07_SQMI.
  • Spécifiez un emplacement de sortie et un nom, puis cliquez sur OK.
  • Choisissez d'ajouter la table de résultats à la carte et ouvrez-la.

Étape 5. Examiner et affiner les résultats

Alors, quelles informations le tableau récapitulatif fournit-il ?

Le champ Count_ZIP vous indique le nombre d'hôpitaux dans chaque code postal qui contient un hôpital.

Le tri du champ POP07_SQMI révèle que tous les codes postaux qui ont plus de 2 000 personnes par mile carré ont au moins un établissement de santé.

L'analyse montre que la répartition des services de santé est généralement conforme à la répartition de la population dans la zone d'étude, c'est-à-dire que la plupart des établissements sont situés là où la population est la plus dense. Vous pouvez affiner cette analyse en tenant compte du nombre de patients que chaque établissement peut desservir et d'autres variables d'intérêt. Vous pourriez également étendre le projet pour analyser si l'accès aux services de santé dans les zones à faible population est adéquat. La carte actuelle indique que les résidents des codes postaux à faible densité de population peuvent avoir à parcourir une grande distance pour atteindre un hôpital.

Vous voulez en savoir plus sur l'exécution d'analyses dans ArcGIS ? Découvrez ces options de formation :


3 réponses 3

Existe-t-il une référence simple étape par étape à MVVM ?

MVVM est-il un super-ensemble ou un sous-ensemble de MVC ?

MVVM appartient à la famille MVC, donc, si vous pouvez dire cela, c'est un sous-ensemble. C'est une variante pour découpler l'interface utilisateur de la logique métier en dessous. Je le décrirais comme un frère de MVC. Depuis les premiers jours de la POO, les gens ont cherché des moyens de dissocier l'interface utilisateur de leur logique. MVC a été le premier archétype qui a évolué. C'est assez simple, même si la plupart des gens ne le comprennent pas bien. La vue n'est qu'un observateur du modèle et l'appelle si nécessaire. Le contrôleur n'est qu'une stratégie permettant à la vue de communiquer avec le modèle, par exemple lorsque vous avez besoin d'un comportement échangeable (c'est-à-dire ReadonlyController, AdminController). MVC a beaucoup de succès et c'est vraiment une bonne pratique de l'appliquer.

MVVM est un type spécialisé de modèle MVP, tel que décrit par Martin Fowler. MVP essaie de garder la vue aussi stupide que possible (tout en prenant les entrées de l'utilisateur, etc.), améliorant ainsi la testabilité. Il vise une abstraction de la vue et de la logique d'interaction qui est à mettre dans le présentateur. Le présentateur communique uniquement avec le modèle/la logique métier et met à jour la vue. Martin Fowler décrit à peu près MVVM dans son modèle de modèle de présentation.

La vue est complètement abstraite dans un ViewModel. Lorsque la vue a besoin d'une propriété, le ViewModel doit également l'avoir. Il (le ViewModel) est censé être complètement indépendant de la technologie d'interface utilisateur sous-jacente, une abstraction. Afin de communiquer entre View et ViewModel, un modèle de synchronisation doit être utilisé (c'est-à-dire Observer). Ce n'est pas facile à réaliser dans un environnement Web sans état. MVVM diffère de MVP, car la vue ne se lie plus à votre modèle/logique métier mais à un ViewModel.

Quel modèle est moderne et lequel dois-je choisir pour les versions Windows et Web de mon application ?


Exécuter, déboguer et apporter des modifications

Choisir la IIS Express dans l'IDE pour créer et exécuter l'application en mode Débogage. (Vous pouvez également appuyer sur F5, ou choisissez Déboguer > Démarrer le débogage dans la barre de menus.)

Si vous obtenez un message d'erreur indiquant Impossible de se connecter au serveur Web 'IIS Express', fermez Visual Studio, puis ouvrez-le en utilisant le Exécuter en tant qu'administrateur à partir du menu contextuel ou du clic droit. Ensuite, exécutez à nouveau l'application.

Vous pouvez également recevoir un message vous demandant si vous souhaitez accepter un certificat IIS SSL Express. Pour afficher le code dans un navigateur Web, choisissez Oui, puis choisissez Oui si vous recevez un message d'avertissement de sécurité de suivi.

Visual Studio lance une fenêtre de navigateur. Vous devriez alors voir Domicile, À propos de, et Contact pages dans la barre de menus. (Si ce n'est pas le cas, choisissez l'élément de menu "hamburger" pour les afficher.)

Choisir À propos de à partir de la barre de menus.

Entre autres, le À propos de page dans le navigateur restitue le texte qui est défini dans le À propos.cshtml fichier.

Revenez à Visual Studio, puis appuyez sur Maj+F5 pour arrêter le mode Débogage. Cela ferme également le projet dans la fenêtre du navigateur.

Dans Visual Studio, choisissez À propos.cshtml. Ensuite, supprimez le mot Additionnel et à sa place, ajoutez les mots fichier et répertoire.

Choisir À propos de.cshtml.cs. Ensuite, nettoyez les directives using en haut du fichier en utilisant le raccourci suivant :

Choisissez l'une des directives utilisant grisées et une ampoule Actions rapides apparaîtra juste en dessous du curseur ou dans la marge de gauche. Choisissez l'ampoule, puis choisissez Supprimer les utilisations inutiles.

Visual Studio supprime les directives using inutiles du fichier.

Ensuite, dans la méthode OnGet(), remplacez le corps par le code suivant :

Notez que deux soulignements ondulés apparaissent sous Environnement et Chaîne de caractères. Les soulignements ondulés apparaissent car ces types ne sont pas dans la portée.

Ouvrez le Liste d'erreurs barre d'outils pour voir les mêmes erreurs qui y sont répertoriées. (Si vous ne voyez pas le Liste d'erreurs barre d'outils, choisissez Vue > Liste d'erreurs dans la barre de menu supérieure.)

Réparons cela. Dans l'éditeur de code, placez votre curseur sur l'une des lignes contenant l'erreur, puis choisissez l'ampoule Actions rapides dans la marge de gauche. Ensuite, dans le menu déroulant, choisissez en utilisant le système pour ajouter cette directive en haut de votre fichier et résoudre les erreurs.

presse Ctrl+S pour enregistrer vos modifications, puis appuyez sur F5 pour ouvrir votre projet dans le navigateur Web.

En haut du site Web, choisissez À propos de pour voir vos modifications.

Fermez le navigateur Web, appuyez sur Changement+F5 pour arrêter le mode Débogage, puis fermez Visual Studio.


Utilisation des API REST

Les rubriques suivantes décrivent comment les API REST Jira sont structurées et comment vous pouvez interagir avec elles.

Expansion

Pour simplifier les réponses de l'API, l'API REST Jira utilise l'extension des ressources. Cela signifie que l'API ne renvoie que des parties de la ressource lorsqu'elle est explicitement demandée. Cela vous permet d'éviter les problèmes qui peuvent survenir lorsque vous demandez trop peu d'informations (par exemple, vous devez faire de nombreuses demandes) ou trop d'informations (par exemple, un impact sur les performances de Jira).

Vous pouvez utiliser le paramètre de requête expand pour spécifier une liste d'entités séparées par des virgules que vous souhaitez développer, en identifiant chacune d'entre elles par son nom. Par exemple, l'ajout de ?expand=names,renderedFields à un URI de problème's demande l'inclusion des noms de champ traduits et des valeurs de champ rendues HTML dans la réponse.

L'exemple suivant développe les champs name et renderFields pour le problème JRA-9 :

Pour savoir quels champs sont extensibles, examinez la propriété expand dans l'objet parent. Dans l'exemple suivant, le champ widgets est extensible :

Vous pouvez utiliser la notation par points pour spécifier l'expansion d'entités au sein d'une autre entité. Par exemple, ?expand=widgets.fringels étendrait la collection de widgets ainsi que la propriété fringels sur chaque widget.

Pagination

Jira utilise la pagination pour limiter la taille de réponse pour les ressources qui renvoient une collection potentiellement importante d'éléments. Une requête à une API paginée entraînera un tableau de valeurs enveloppé dans un objet JSON avec des métadonnées de pagination, par exemple :

  • startAt : – l'élément utilisé comme premier élément dans la page de résultats.
  • maxResults : – nombre d'éléments à renvoyer par page.
  • total : – nombre total d'articles à retourner, sous réserve des limites imposées par le serveur. Ce nombre peut changer au fur et à mesure que le client demande les pages suivantes. Un client doit toujours supposer que la page demandée peut être vide. Les consommateurs de l'API REST doivent également considérer le champ comme facultatif. Dans les cas où le calcul de cette valeur est trop coûteux, il se peut qu'elle ne soit pas incluse dans la réponse.
  • isLastPage : – indique si la page courante renvoyée est la dernière page de résultats.

Les clients peuvent utiliser les paramètres startAt , maxResults et total pour récupérer le nombre de résultats souhaité. Notez que chaque ressource ou méthode d'API peut avoir une limite différente sur le nombre d'éléments renvoyés, ce qui signifie que vous pouvez demander plus que ce qui vous est donné. Le nombre réel d'éléments renvoyés est un détail de mise en œuvre et peut être modifié au fil du temps.

Commande

Certaines ressources prennent en charge le tri par champ spécifique. Ceci est fourni par le paramètre de requête orderBy.

L'ordre peut être ascendant ou descendant. Pour spécifier le type de classement, utilisez les symboles "+" ou "-" pour l'ordre croissant ou décroissant respectivement. Par défaut, l'ordre est croissant. Par exemple, ?orderBy=+name ordonnera les résultats par nom dans l'ordre croissant.

Auto-liens

De nombreux champs ont un lien auto qui vous amène à l'emplacement canonique de cette ressource. Par exemple:

Faire une demande GET au lien self peut parfois vous fournir des informations supplémentaires sur le champ. Par exemple, si nous faisons une demande GET pour le lien self pour le champ reporter ci-dessus, la réponse contiendra des informations supplémentaires sur l'utilisateur, y compris le fuseau horaire et les groupes.

En-têtes de demande et de réponse spéciaux

  • X-AUSERNAME – en-tête de réponse qui contient soit le nom d'utilisateur de l'utilisateur authentifié, soit ɺnonymous'.
  • X-Atlassian-Token – les méthodes qui acceptent les données multipart/form-data ne traiteront que les demandes avec X-Atlassian-Token : en-tête sans vérification.

Réponses d'erreur

La plupart des ressources renvoient un corps de réponse en plus du code d'état. Généralement, le schéma JSON de l'entité renvoyée est le suivant :

Formats de saisie de champ

Résumé: un champ système qui est une seule ligne de texte.

La description: un champ système composé de plusieurs lignes de texte.

Composants: un champ système qui est plusieurs valeurs adressées par 'name'.

Date d'échéance: un champ système qui est une date au format 'YYYY-MM-DD'.

Étiquettes: un champ système qui est un tableau de valeurs de chaîne.

Champ personnalisé de case à cocher: un champ personnalisé qui vous permet de sélectionner plusieurs valeurs dans une liste de valeurs définie. Vous pouvez les adresser par valeur ou par ID.

Champ personnalisé du sélecteur de date: un champ personnalisé qui est une date au format AAAA-MM-JJ.

Champ personnalisé du sélecteur de date et d'heure: un champ personnalisé qui est une date et une heure au format ISO 8601 AAAA-MM-JJThh:mm:ss.sTZD.

Champ personnalisé des libellés: un champ personnalisé qui est un tableau de chaînes.

Champ personnalisé de numéro: un champ personnalisé qui contient un nombre.

Champ personnalisé de bouton radio: un champ personnalisé qui vous permet de sélectionner une valeur unique dans une liste de valeurs définie. Vous pouvez les adresser par valeur ou par ID.


Voir la vidéo: Comment bien construire lAPI de son service? (Octobre 2021).