
Adapter un portail en version mobile
24 févr. 2026
Introduction
Les organisations utilisant ServiceNow cherchent souvent à offrir une expérience mobile optimale à leurs utilisateurs. Si l’application mobile native de ServiceNow répond à ce besoin, elle impose des contraintes en termes de personnalisation et de flexibilité visuelle. Nous proposons une alternative : un portail ServiceNow entièrement responsive, basé sur la détection dynamique de la largeur du navigateur, utilisant AngularJS et des bonnes pratiques CSS.
Pourquoi cette approche ?
Avantages :
Flexibilité visuelle : Contrôle total sur le rendu (couleurs, animations, disposition), impossible avec l’appli native.
Maintenance unique : Un seul code pour desktop et mobile, contrairement à une appli native à développer séparément.
Intégration native : Utilise les mécanismes existants de ServiceNow (Portails, AngularJS, Client Scripts).
Coût réduit : Pas de développement iOS/Android supplémentaire.
Limites :
Expérience utilisateur : Moins fluide qu’une appli native (ex : gestures, notifications push).
Performance : Dépendante de la connexion réseau et du navigateur.
Fonctionnalités mobiles : Pas d’accès aux capteurs (GPS, caméra) ou aux stores d’applications.
Principe technique
La solution repose sur :
La détection de la largeur du navigateur via JavaScript (
$window.innerWidth).Le stockage de l’état "mobile" dans
$rootScopepour une accessibilité globale.L’application dynamique de styles avec
ng-styleoung-classet des expressions conditionnelles.La réactivité aux changements de taille via un écouteur d’événement
resize.
Implémentation pas à pas
1. Client Script pour la détection responsive
Ajoutez ce code dans un Client Script AngularJS (ex : dans un Portal Widget ou un UI Page) :
2. Utilisation dans les templates HTML
Appliquez des styles conditionnels avec ng-style :
3. Bonnes pratiques complémentaires
Seuils adaptés : Ajustez le seuil (
700px) selon votre design (ex :600pxpour les tablettes).
Media Queries CSS : Combinez avec des règles CSS pour les éléments non gérés par Angular :
Optimisation des performances : Limitez les calculs dans l’écouteur
resize(ex : utilisez un debounce pour éviter les appels trop fréquents).
Accéder à isMobile depuis n’importe quel composant
Grâce à $rootScope, la variable est accessible partout :
→ Idéal pour adapter dynamiquement des widgets, des formulaires, ou même des requêtes API (ex : charger moins de données en mobile).
Comparatif avec l’appli mobile ServiceNow
Personnalisation visuelle
Comparatif avec l’appli mobile ServiceNow | Critère |
|---|---|
Personnalisation visuelle | Totale (CSS/HTML/JS) |
Coût de développement | Faible (intégré au portail existant) |
Maintenance | Unique (1 codebase) |
Expérience utilisateur | Bonne (mais dépendante du navigateur) |
Accès aux fonctionnalités mobiles | Limité (navigateur) |
Cas d’usage recommandés
Privilégiez le portail responsive si :
Vos utilisateurs ont besoin d’un accès occasionnel en mobilité.
Vous souhaitez une expérience visuelle cohérente avec votre branding.
Votre budget ne permet pas de développer une appli native.
Vous utilisez déjà des portails ServiceNow personnalisés.
Optez pour l’appli native si :
Vos utilisateurs sont 100% mobiles (ex : techniciens sur le terrain).
Vous avez besoin de fonctionnalités spécifiques (GPS, scan de codes-barres).
L’expérience hors ligne est critique.
Conclusion
Rendre un portail ServiceNow responsive avec AngularJS offre une solution équilibrée entre flexibilité et simplicité, idéale pour les organisations souhaitant étendre leur expérience mobile sans les contraintes d’une appli native. Cette approche permet de réutiliser les compétences existantes (HTML/CSS/JS) et de s’intégrer parfaitement à l’écosystème ServiceNow.
Prochaines étapes :
Commencez par un prototype sur une page simple (ex : tableau de bord).
Impliquez vos utilisateurs finaux pour des retours terrain.
Combinez avec des Media Queries CSS pour une solution robuste.
Chez Snowlab, nous accompagnons les entreprises dans la conception de portails ServiceNow sur mesure, incluant des solutions responsives adaptées à vos enjeux métiers. Contactez-nous pour en discuter !
