Warnit APP
Warnit représente une étape importante dans mon parcours de développement logiciel, mettant en lumière ma capacité à répondre aux besoins spécifiques des agents du CDG 82 en matière de sécurité et de réactivité. Initialement conçue en collaboration avec mes camarades à l’Intech comme une application pour PC, Warnit a évolué pour devenir une application mobile dédiée à la gestion des alertes en temps réel sur le terrain, spécifiquement pour la plateforme Android. L’objectif fondamental de Warnit est de permettre aux agents de signaler rapidement et efficacement les situations d’urgence aux autres agents à proximité. Grâce à une interface conviviale et intuitive, l’application offre aux utilisateurs la possibilité de sélectionner le type d’alerte (santé, vigilance, intervention, attentat), tout en fournissant un système de progression pour une communication fluide et coordonnée. En combinant mes compétences en développement logiciel avec mon expérience passée, Warnit vise à améliorer la sécurité et l’efficacité des opérations de terrain des agents du CDG 82. En fournissant une solution adaptée aux besoins spécifiques de l’organisation, Warnit contribue à renforcer la communication et la coordination en situation d’urgence, facilitant ainsi la prise de décisions rapides et éclairées pour garantir la sécurité de tous les agents impliqués.
Contexte
Warnit a été conçu en réponse au besoin crucial des agents du CDG 82 d’avoir un outil fiable et réactif pour gérer les situations d’urgence sur le terrain. Initialement développé comme un logiciel de bureau en C#/WPF, Warnit a été le fruit d’un défi technique majeur, exigeant notamment l’exploration de techniques avancées telles que le lancement automatique et l’écoute en arrière-plan pour une application Windows, notamment à travers l’utilisation de services. Ce projet a également nécessité une compréhension approfondie des besoins de l’utilisateur final, conduisant à une collaboration étroite avec notre commanditaire pour développer une base de données logique répondant aux exigences spécifiques du projet. Cette collaboration a été essentielle pour surmonter les défis liés à mon manque d’expérience dans le développement de logiciels Windows, démontrant ainsi ma capacité à apprendre et à m’adapter rapidement. Par la suite, Warnit a été adapté vers une architecture API en préparation de son portage sur la plateforme mobile Android. Bien que je n’aie pas été directement impliqué dans cette phase du projet, mes connaissances préalables acquises grâce à des projets antérieurs, tels que Cappsule, m’ont permis de contribuer efficacement à cette transition vers une nouvelle plateforme. Le portage mobile de Warnit a constitué un nouveau défi, notamment en ce qui concerne la mise en place d’un système d’écoute en arrière-plan et de notifications sur les appareils mobiles, mais j’ai pu apporter mon expertise pour garantir le bon déroulement du projet.
Etapes
Conception des Interfaces Utilisateur
J’ai entrepris la création des interfaces utilisateur de l’application Warnit en m’appuyant sur mon expérience préalable, notamment acquise lors du développement de Cappsule. Cette expérience m’a permis d’accélérer considérablement le processus de conception en appliquant des concepts et des pratiques déjà maîtrisés. Les maquettes de haute qualité fournies par mon collègue chargé du design ont également été d’une grande aide, me permettant de me concentrer sur leur intégration efficace dans l’application. En plus d’intégrer les éléments visuels, j’ai également incorporé l’icône et la charte graphique préétablies, incluant la police de caractères et les couleurs, offrant ainsi une cohérence visuelle et une expérience utilisateur harmonieuse. De plus, j’ai mis en place des thèmes clairs et sombres pour répondre aux préférences des utilisateurs en matière de luminosité, offrant ainsi une flexibilité supplémentaire en termes de personnalisation visuelle.
Connexion à l’API
Après avoir été initié à l’API par mes collègues en charge de son développement, j’ai entrepris de connecter l’application à cette dernière. Fort de mon expérience précédente avec l’intégration d’API, notamment lors du développement de Cappsule où j’ai manipulé une API météo, cette étape s’est avérée relativement simple. J’ai rapidement saisi les différents endpoints disponibles ainsi que les méthodes d’appel nécessaires pour récupérer et envoyer les données requises. Ma compréhension préalable des requêtes et de la manipulation des données d’API a grandement facilité cette phase du développement.
Intégration des Fonctionnalités
J’ai procédé à l’intégration des fonctionnalités essentielles de l’application, notamment les boutons de lancement d’alertes et la gestion des alertes. Cette phase du développement a consisté à relier les actions de l’utilisateur sur l’interface aux appels appropriés à l’API pour déclencher les alertes et effectuer les actions associées. De plus, la mise en place de la connexion utilisateur a représenté un défi intéressant, car je n’avais pas d’expérience préalable dans ce domaine sur Android. Cela m’a conduit à découvrir les différents champs préexistants sur la plateforme Android et à apprendre leur gestion, notamment pour notifier l’utilisateur en cas d’erreur de mot de passe. Cette expérience s’est avérée enrichissante et m’a permis d’élargir mes compétences dans le développement d’applications mobiles.
Mise à Jour de l’Interface pour le Suivi des Alertes
J’ai enrichi l’interface de l’application en y ajoutant des fonctionnalités de suivi des alertes, permettant ainsi aux utilisateurs de suivre l’état des alertes qu’ils ont lancées. Pour ce faire, j’ai exploité les webhooks mis à disposition par mon collègue en charge de l’API, ce qui a permis à l’application de recevoir des mises à jour en temps réel sur l’état des alertes. Lors de cette phase de développement, j’ai pu m’appuyer sur l’application PC existante pour identifier les différents états et les affichages nécessaires, tels que les alertes en cours, les alertes prises en charge, ou encore les alertes annulées. Cette approche m’a facilité la conception d’une interface mobile cohérente et fonctionnelle pour le suivi des alertes.
Création de Notifications
Pour garantir une expérience utilisateur optimale, j’ai développé un système de notifications permettant d’informer les utilisateurs en temps réel lorsqu’ils reçoivent de nouvelles alertes ou lorsque l’état des alertes change. Ces notifications ont été soigneusement conçues pour être à la fois discrètes et informatives, assurant ainsi aux utilisateurs de rester informés même lorsqu’ils ne sont pas activement dans l’application. Cette étape a représenté un défi pour moi, car je n’avais pas encore d’expérience préalable avec la mise en place de notifications. Cependant, grâce à la disponibilité de nombreux tutoriels et à la documentation fournie, j’ai pu surmonter cette difficulté. De plus, la structure préexistante de l’application PC m’a fourni une base solide sur les informations à inclure dans les notifications, ce qui a facilité leur mise en œuvre sur la plateforme mobile Android.
Implémentation du Système d’Écoute en Arrière-Plan
Pour assurer une réactivité maximale de l’application Warnit, j’ai développé un système d’écoute en arrière-plan. Cette fonctionnalité permet à l’application de recevoir des alertes même lorsque l’utilisateur ne l’utilise pas activement. Cette étape est intervenue après avoir constaté que les notifications fonctionnaient uniquement lorsque l’application était ouverte. Après des recherches approfondies, j’ai découvert les bonnes pratiques et les permissions nécessaires pour maintenir une connexion constante en arrière-plan. J’ai ensuite mis en œuvre cette fonctionnalité dans ma dernière contribution au projet Warnit. Cette tâche a nécessité une gestion efficace des ressources du système et une optimisation pour garantir que l’application reste réactive et performante en toutes circonstances. Grâce à cette fonctionnalité, Warnit offre une expérience utilisateur fluide et continue, même lorsque l’application n’est pas au premier plan.
Acteurs
Moi-même : En tant que développeur Android, j’ai joué un rôle clé dans la conception et la mise en œuvre de l’application Warnit. J’ai travaillé sur le développement de l’interface utilisateur, l’intégration des fonctionnalités essentielles telles que les alertes et les notifications, ainsi que sur la gestion des interactions avec l’API. Mon implication a contribué à assurer la qualité et la fonctionnalité de l’application.
Équipe de développement : Notre équipe comprenait un chef de projet chargé de la gestion et de la coordination, des développeurs travaillant sur les versions de bureau et mobile, un concepteur graphique pour les aspects visuels, et moi-même en tant que développeur Android. Ensemble, nous avons collaboré pour concevoir et développer Warnit, en nous appuyant sur nos compétences complémentaires pour créer une application efficace et intuitive.
CDG 82 : Le commanditaire du CDG a fourni des directives et des spécifications pour le projet, tandis que le lead developer et le responsable réseau du CDG ont apporté leur expertise technique pour garantir la compatibilité et la sécurité de l’application. Leur implication a été cruciale pour que Warnit réponde aux besoins spécifiques des agents du CDG 82 en matière de sécurité et de réactivité, tout en assurant sa disponibilité et sa connectivité.
Résultats
Warnit a été une solution cruciale pour renforcer la sécurité des agents du CDG. Pour ma part, ce projet a été une occasion de consolider et d’étendre mes compétences en développement Android. J’ai contribué à la mise en place de fonctionnalités essentielles telles que l’interface de connexion utilisateur, l’envoi et la réception de notifications, ainsi que la mise en œuvre d’un système d’écoute en arrière-plan. De plus, Warnit a été un projet de grande envergure nécessitant un travail d’équipe cohérent et efficace, ce qui a été une expérience enrichissante pour moi.
Lendemains
Warnit a commencé comme un test interne au CDG 82. Une fois le concept validé, le logiciel a été proposé à notre école et attribué à mon équipe. Cela a abouti à un logiciel d’alerte satisfaisant les attentes de nos commanditaires, nous invitant même à un stage d’un mois au sein du CDG 82 pour peaufiner le logiciel. Par la suite, dès le semestre suivant, alors que l’application de bureau était déjà en phase de test au sein du CDG, une autre équipe de ma classe a été chargée de l’adapter en API en préparation d’une version mobile. Une fois cette étape franchie, le semestre suivant, j’ai pu prendre part à la création de cette version mobile, satisfaisant une fois de plus notre commanditaire. Cela nous a valu une nouvelle invitation à un stage de fin de semestre pour peaufiner l’application, désormais prise en charge par le CDG 82. Ce projet a donc été un succès mené sur le long terme, et je suis heureux d’avoir pu suivre son évolution jusqu’à sa forme actuelle. Bien que je ne connaisse pas son statut actuel d’utilisation, je sais que les attentes de notre commanditaire ont été remplies et que le projet a probablement continué à se développer grâce aux tests et aux améliorations menés par le CDG depuis la restitution du code.
Synthèse
Dans le cadre du projet Warnit, j’ai pu mettre en pratique mes compétences en développement Android tout en travaillant de manière autonome. Cette expérience m’a permis de démontrer ma polyvalence et ma capacité à apprendre rapidement de nouvelles technologies, notamment en ce qui concerne le développement d’interfaces utilisateur, la navigation et les thèmes Android. De plus, j’ai également développé mes compétences en coopération, ayant constaté que mon autonomie pouvait s’associer harmonieusement au travail d’équipe, comme cela s’est manifesté dans nos deux groupes au fil des semestres, où le partage des tâches a été bénéfique. Warnit a représenté une étape significative dans l’amélioration des processus de sécurité pour les agents du CDG 82. Bien que le nombre d’utilisateurs ait été limité au départ, l’application a eu un impact positif sur la sécurité et la réactivité des opérations sur le terrain. En fournissant des fonctionnalités telles que les notifications en temps réel et l’écoute en arrière-plan, Warnit a amélioré l’efficacité opérationnelle et a permis une communication fluide entre les agents en situation d’urgence. Cette expérience m’a également permis d’approfondir mes compétences en gestion de projet, en tirant des enseignements des exemples de mes chefs de projet et en travaillant sur la coordination des différentes phases de développement de l’application. Warnit représente ainsi une réussite significative pour moi-même et pour l’équipe, démontrant notre capacité à répondre aux besoins spécifiques de notre commanditaire tout en développant nos compétences techniques et transversales pour relever de nouveaux défis dans le développement logiciel.