WPF (Window Presentation Foundation) est un Framework permettant pour les applications de bureau de réaliser une interface utilisateur simplement. WPF utilise le langage XAML pour la partie interface utilisateur et C# pour la réalisation des fonctionnalités d’une application. J’utilise WPF régulièrement depuis le début de mon alternance pour la réalisation de l’application Helios.
Comme expliqué précédemment, j’utilise cette compétence pour la réalisation du projet principal de mon alternance Helios. Helios est une application principale regroupant plein d’applications. Une des applications que j’ai pu réaliser est une application permettant de vérifier si un équipement est bien configuré et le cas échéant de le configurer. Helios étant développé pour la partie interface utilisateur avec WPF, il est donc nécessaire de développer les autres interfaces utilisateur aussi avec WPF. Avec WPF j’ai réalisé une interface utilisateur conforme aux normes de Helios en respectant la charte graphique du projet est ainsi j'ai ajouté une nouvelle application permettant aux utilisateurs d’obtenir un contrôle sur leurs équipements.
J’ai également utilisé le WPF lors de la réalisation de mon projet Locadax réalisé au cours de mon semestre 3 à l'ESIEA. Dans ce projet, j'ai participé à la réalisation d'une application de bureau. Pour cela, j'ai réalisé différentes pages de l'application, par exemple la page des locaux. Pour réaliser cette page, j'ai mis en place plusieurs éléments dans ma page comme des "labels" permettant d'afficher les données textuelles mais également des zones pour afficher les images. Le vrai challenge pour les images c'était qu'un local pouvait comprendre entre une et trois images et pour cela, j'ai mis en place une liste d'élément qui créer autoimatiquement un élément image pour chaque composant de cette liste permettant ainsi d'avoir un affichage précis pour les images de l'application. C'est grâce à mes connaissances sur le WPF que j'ai pu réaliser cette partie de l'application offrant ainsi un produit de la meilleure qualité possible à notre client.
Je pense avoir un bon niveau sur la maîtrise de cette compétence, je me situe à un niveau autonome pour la réalisation de tâches concernant le WPF. Je suis capable de réaliser différentes pages pour une application en regroupant les éléments similaires pour améliorer la compréhension et l'optimisation de l'application. Néanmoins, j'ai encore du mal à réaliser des interfaces complexes ayant des éléments précis devant réagir différemment en fonction de l'action effectuée par l'utilisateur. Cette compétence fonctionne de la même façon peu importe le type de projet, cette technologie est utilisée pour le développement des interfaces sur les logiciels. Je pense pouvoir progresser encore plus en continuant de développer des applications et en comprenant mieux les interactions entre les différentes parties composant une page. Cette compétence a une place, une importance très grande dans mon profil d'ingénieur, d'autant plus que je veux continuer à développer des logiciels et étant majoritairement utilisé pour cela, je dois continuer d'apprendre et de progresser pour cette compétence.
Concernant mon recul sur cette compétence, si je devais me donner des conseils, je me dirais de me tourner vers la documentation microsoft qui est très bien rédigé et qui permet une très bonne compréhension de la syntaxe et des différentes possibilités offertes par ce langage. Mais également de pratiquer pour comprendre les différentes intéractions entre les données venant du backend de l'application et la façon dont elles sont affichées en fonction du type de la donnée mais également de l'élément WPF qui va gérer son affichage. Cette compétence comme cité précédemment est très importante dans mon projet professionnel, je souhaiterais devenir expert dans la maîtrise de cette compétence et je pense pouvoir atteindre ce niveau en cinq ans. Pour atteindre ce niveau, je vais continuer de développer et d'apprendre de mes collègues de travail me permettant d'apprendre tous les jours sur cette compétence.