Comment migrer une application Angular.Js vers Angular ?

Affluences propose deux applications web :

un portail d’administration à destination des établissements partenaires

et un site de réservation proposé aux visiteurs afin qu’ils puissent réserver en deux clics une salle de travail ou un atelier.

Ces deux applications ont commencés à être développées à partir de 2015. Nous avions fait le choix d’utiliser Node.Js pour le backend et l’API. Côté frontend, nous avions décidé d’utiliser Angular.Js. Ces deux outils nous semblaient être les plus adaptés à nos besoins mais également en adéquation avec nos affinités technologique.

Mais nos besoins ont évolué au fur et à mesure que nos utilisateurs se faisaient de plus en plus nombreux. Nous avions besoin d’outils plus robustes nous permettant de proposer toujours plus de nouvelles fonctionnalités tout en garantissant la stabilité et la montée en charge de nos applications.

Côté backend et API, nous avons traduit notre base de code Javascript en Typescript pour profiter des améliorations apportées par ce langage (compilation, typage fort, …). Ce changement étant invisible d’un point de vue utilisateur, nous avons pu l’opérer petit à petit en parallèle de la mise en production de nouvelles fonctionnalités. Côté frontend, nous avions décidé de passer sur Angular, l’évolution majeure d’AngularJs. Contrairement aux apparences, la migration vers Angular depuis Angular.Js n’est pas naturelle et implique plusieurs changements structurels comme le passage à des composants web qui a nécessité l’implémentation d’outils supplémentaires comme NgRx par exemple. C’est pourquoi nous avons élaboré un plan de migration pour chacune de nos applications.

Nous avons d’abord commencé par le site de réservation. Celui-ci représentant peu de pages par rapport au portail d’administration, nous avons décidé de réécrire complètement la base de code. Hormis le fonctionnement général de l’application, l’un des points sur lequel nous avons porté notre attention concernait la compatibilité des URL entre les deux versions. Angular proposant son propre routeur, nous avons dû assurer la redirection des anciens formats d’URL vers le nouveau. Cette problématique représentait un réel besoin puisque le service se base sur la vérification de l’adresse mail de l’utilisateur à travers un lien qui lui est envoyé lorsqu’il effectue sa réservation.

Le passage vers Angular a également été l’occasion de réactualiser le design général.

Forts de ce retour d’expérience, nous avons élaboré un plan différent pour le portail d’administration. Celui-ci représentant une complexité plus importante de par son nombre de pages et par le nombre d’interactions possibles, nous avons décidé de faire cohabiter Angular.Js et Angular en traduisant petit à petit les différents modules de l’ancien framework vers le nouveau. Nous avons dans un premier temps re-développé les modules communs (header, footer, éléments de navigation, …) afin que la passage d’une version à l’autre soit le plus transparent possible pour l’utilisateur. En s’appuyant sur ces composants, nous traduisons maintenant chaque module dès qu’une nouvelle fonctionnalité doit y être ajoutée.

Chacune de ces méthodes propose donc certains avantages: la traduction complète assure une migration définitive mais peut s’avérer complexe dans le cadre de projets avec beaucoup de pages. La cohabitation des deux frameworks peut quant à elle être utile pour assurer une migration progressive de gros projets mais ne doit pas perdurer dans le temps sous peine de devoir maintenir deux fois plus de code.

Bien choisir un bar pour son afterwork à Paris

Que ce soit pour la rentrée ou pour préparer les fêtes de fin d’année, il y a toujours une excuse pour organiser un afterwork avec vos collègues ou vos amis.

Mais pour être sûr de trouver une place dans un bar près de chez vous, Affluences vous a préparé quelques conseils pour passer une bonne soirée en toute sérénité ! Trouver une date : simple et complexe à la fois surtout si vous êtes nombreux.

Envoyer un Rsvp pour définir le nombre de place dont vous aurez besoin. Un petit rappel la veille ne fait jamais de mal !

Choisir un lieu stylé pour étonner vos amis. Vous pouvez consulter la liste des meilleurs lieux pour un afterwork.

Penser à réserver un bar en quelques clics surtout si vous êtes nombreux ou si vous voulez être certain d’avoir de la place.

Organiser une activité pour faire du team building : à la Gamelle, vous pouvez par exemple faire une partie de bowling. Il y a également un terrain de pétanques et des babyfoots !

Boire avec modération, les Perrier-citron c’est bien aussi 😉

Enfin, si vous voulez croiser l’équipe d’Affluences, vous pouvez nous trouver régulièrement ici :

Le Bistrot Pop, 3 avenue de la République 75011 Paris

Le Comptoir Général, 80 Quai de Jemmapes, 75010 Paris

John und Tommy’s Place, Charlottenstraße 2 10969 Berlin

Comment bien choisir sa salle de sport ?

C’est la rentrée, l’heure des objectifs et du bilan. Vous avez décidé de vous mettre au sport, bravo !

Vous venez de rejoindre les 65% des français qui font du sport au moins une fois par semaine et les 4,8 millions de personnes adeptes de la musculation ! Affluences vous donne quelques conseils pour bien choisir votre salle de sport et rester motivé toute l’année :

  1. Proche de vous (domicile ou travail) pour pouvoir enchainer métro-boulot-abdos-dodo.
  2. Des horaires d’ouverture élargis.
  3. Un nombre d’adhérents limités pour ne pas avoir à faire la queue aux machines.
  4. Des cours collectifs avec des coach sympas et de la place pour pouvoir faire ses étirements tranquillement.
  5. De bonnes machines et des espaces propres.
  6. Pas trop cher pour éviter de se ruiner mais assez cher pour éviter de sécher.

N’hésitez pas à nous partager votre salle de sport préférée ! Et pour connaitre l’affluence en temps réel dans votre salle de sport, c’est par .

Comment assurer la transition entre une application native et une application hybride Flutter ?

Process de migration des données locales, phase de tests, différences entre les builds release et debug, …

Aperçu de l'application mobile Affluences nouvelle génération
Aperçu de la nouvelle application mobile Affluences : téléchargez-la !

Nous vous parlions il y a quelques temps de la toute nouvelle version de l’application faite avec Flutter, qui était en développement et bientôt disponible au publique.

C’est chose faite ! Nous avons pour l’instant lancé une publication progressive sur le Play Store et l’App Store (bientôt complète) !
Le but de cet article est d’expliquer comment nous avons fait la transition de notre version native (Android et iOS) à la version cross-platform Flutter.

Nous voulions par exemple garder certaines préférences de l’utilisateur afin d’assurer une transition “fluide”. Nous utilisons le plugin “SharedPreferences” sur Flutter pour stocker ces préférences. Malheureusement, ce plugin n’utilise pas le même fichier que notre version native. Nous avons donc dû écrire du code natif (Kotlin et Swift), spécifique à notre besoin pour pouvoir récupérer les anciennes préférences et les stocker dans les nouvelles.

Le fait de devoir migrer ces données nous a notamment permis de découvrir un bug dû à ProGuard sur les versions natives qui, heureusement, n’a pas été bloquant sur la migration. En effet, le modèle concernant certaines préférences était obfusquées. Les clés du JSON sauvegardé n’étaient donc plus identiques (ex: “app_startup” devenait “a”). Nous avons contourné ce problème en utilisant les valeurs offusquées pour migrer les données.

Au tout début du développement, Flutter était à la version 1.2.1, au fur et à mesure nous mettions Flutter à jour, pour aujourd’hui être à la version 1.6.3. Cela a notamment permis de corriger certains bugs, comme par exemple les minutes des TimePicker qui n’était pas sélectionnées automatiquement.

Il n’y a rien de pire que de publier une mise à jour qui rend inutilisable une application. C’est pourquoi, différentes phases de tests ont eu lieu avant la publication afin de nous assurer que la migration des données fonctionne correctement et qu’aucun bug n’est présent. Il y a eu dans un premier temps des BETA toutes les deux semaines, restreintes à quelques personnes, puis des Release Candidate toutes les semaines, avec un nombre d’utilisateurs un peu plus important. Cela nous a permis d’identifier des bugs restants et certains points à améliorer, que ce soit niveau UI ou UX. En complément, nous avons mis en place différents tests unitaires ainsi que des tests d’intégration afin d’assurer la pérennité de l’application et éviter d’éventuelles régressions dans les futures mise à jour.

Malgré le changement majeur de technologie et l’ajout de nombreuses nouvelles fonctionnalités, tous ces mécanismes nous ont permis de lancer cette nouvelle version tant attendue avec sérénité. Cette base solide va nous permettre de consolider notre cycle de développement et de proposer de nouvelles fonctionnalités toujours plus rapidement !

Affluences pendant la Nuit des musées 2019

Samedi 18 mai 2019 aura lieu la Nuit des musées. L’occasion d’aller explorer de nouveaux lieux et de redécouvrir des grands classiques.

Affluences vous propose 2 parcours parisiens et quelques idées de sorties en Ile-de-France avec toujours l’affluence en temps réel !

Musée Picasso Paris

L’entrée du musée et de l’exposition Calder-Picasso sera gratuite de 18h à minuit.

Toute la soirée, Yoann Bourgeois et le CCN2-Centre chorégraphique national de Grenoble viendront également performer dans la cour du musée pour un instant magique tout en équilibre.

Attention aux files d’attente qui risquent d’être longue dans le quartier !

Programme complet disponible sur le site du musée.

Centre Pompidou

Une fois sortis du musée Picasso, n’hésitez pas à remonter vers la Seine pour passer par le Centre Pompidou, les collections seront ouvertes gratuitement jusqu’à 1h du matin !

Musée en Herbe

En remontant les rives de la Seine, arrêtez-vous par le musée en Herbe, un jeu de piste pour petits et grands sera organisé dans l’exposition Monstres, Manga et Murakami.

Monnaie de Paris

Juste en face, de l’autre côté du fleuve, vous entendrez jouer la fanfare qui aura élu domicile dans ce lieu emblématique.

L’exposition Thomas Schütte et les collections permanentes seront aussi ouvertes jusqu’à minuit.


Musée du service de santé des armées

Si vous préférez une visite plus insolite et confidentielle, rendez-vous près au Jardin du Luxembourg au musée du service de santé des armées. Le musée sera ouvert jusqu’à 23h !

Musée du Luxembourg

Puis traversez le jardin pour vous rendre au musée du Luxembourg pour visiter l’exposition sur les Nabis. Un concert des élèves du Conservatoire du 6e arrondissement de Paris aura lieu jusqu’à minuit.

Aux portes de Paris

Musée français de la carte à jouer

Ouvert jusqu’à minuit, le musée fait revivre Victor Hugo à travers des spectacles et des jeux. L’occasion également de découvrir la collection de cartes à jouer de la BnF datant du XVe au XXe siècle.

Musée d’Archéologie nationale

Résolvez les mystères liés à la mort d’Henri II ! Le musée vous propose une énigme à travers l’exposition dédiée au fils de François Ier. De quoi vous tenir en haleine toute la soirée.

Les musées spécial Famille

Traumatisant pour certains, vocation pour d’autres, tous les enfants ont déjà mis au moins une fois le pied au musée en sortie scolaire ou avec leurs parents. 

Pour vous faciliter la vie et vous permettre de choisir des lieux sans trop d’affluence, on vous a préparé une liste de musées kids friendly ! 

Et si ça ne vous suffit pas, vous pouvez toujours aller consulter le site de Mom’art.

Les informations ci-dessous sont en temps réel mais n’hésitez pas à télécharger Affluences pour voir les prévisions !

Fondation Louis Vuitton

Avant de visiter la Fondation Courtauld, pourquoi pas tester l’application Archimoi de la Fondation pour explorer l’architecture de Frank Gehry.

La fondation propose également des ateliers en famille tous les samedis et dimanches pour découvrir les oeuvres de la Fondation Courtauld.

Musée du Louvre

La Petite Galerie du musée du Louvre propose des expositions courtes et ludiques sur des sujets variés qui vous transportent à travers toute l’Histoire de l’art. Jusqu’au 1er juillet, découvrez l’exposition L’archéologie en Bulles 

Vérifier le temps d’attente actuel au musée du Louvre ou sur https://www.affluences.com/louvre

Cité des Sciences et de l’Industrie

On ne présente plus la Cité des enfants qui accueille chaque année des milliers d’enfants pour découvrir et apprendre en s’amusant.

N’hésitez pas à profiter également de l’exposition Cabanes jusqu’au 5 janvier 2020 ou Robots qui vient d’ouvrir.

Vérifier le temps d’attente actuel à la Cité des sciences ou sur http://www.cite-sciences.fr/fr/infos-pratiques/horaires/

Musée en Herbe

Le musée en Herbe est situé en plein coeur de Paris dans le premier arrondissement.

Vous pouvez actuellement y découvrir une exposition sur les monstres et même organiser un goûter d’anniversaire !

Musée de la Gendarmerie nationale

Jusqu’au 22 septembre, le musée de la Gendarmerie nationale propose un parcours ludique sur les animaux et la Gendarmerie. L’occasion d’en apprendre plus sur le métier à travers des anecdotes drôles et touchantes.

Visiter la Cité des sciences sans file d’attente

Vous venez visiter la Cité des sciences avec vos enfants ?

Ne perdez pas patience et choisissez le meilleur moment pour vous y rendre grâce à Affluences !

Les données ci-dessous correspondent à la situation en temps réel. N’hésites pas à consulter l’application Affluences pour voir les prévisions.

Taux d’occupation des espaces :
Temps d’attente à l’entrée :

La nouvelle application Affluences

Comme nous l’avons annoncé dans notre précédent article, la prochaine version majeur de l’application Affluences sera développée avec Flutter, un SDK permettant de réaliser des applications cross-platform avec le langage Dart.

Avant de commencer à porter l’application Affluences du natif vers Flutter, nous nous sommes assurés que toutes les fonctionnalités nécessaires étaient disponibles (couche réseau, persistance des données, géolocalisation, traductions, etc). Malgré la jeunesse du projet (la première version stable a été publiée en décembre 2018); Flutter dispose de suffisamment de packages et de librairies pour développer une application nécessitant des fonctionnalités natives. L’autre interrogation majeure que nous avions concernait les performances. Après plusieurs séries de tests, les résultats étaient pleinement satisfaisants avec un framerate stable à 60 fps.


Flutter nous apporte différents avantages. Le plus important est indéniablement le gain de temps que génère l’utilisation d’un framework cross-plateforme, puisque nous utilisons une seule et même base de code pour Android et iOS. D’autres fonctionnalités, comme le Hot-reload, facilitent le processus de développement. Le fonctionnement par Widget permet également de développer des vues uniformes sur iOS et Android. La construction de vues complexes n’a jamais été aussi simple !

Malgré cela, quelques doutes subsistent : certains packages de base, comme l’affichage de contenu sur une carte, semblent encore être en développement. Notre utilisation de ce module étant assez simple, les fonctionnalités disponibles sont suffisantes, mais cet exemple témoigne de la jeunesse du framework que nous avons déjà évoqué. Cependant, nous pouvons d’ores et déjà compter sur une communauté dynamique et grandissante qui aide Flutter à se développer.

Pour développer la nouvelle version de l’application Affluences, nous utilisons VSCode avec le plugin Dart et Flutter. Cet environnement fonctionne parfaitement et est bien moins gourmand comparé à Android Studio.

Avec Flutter, de très belles perspectives s’ouvrent pour l’application mobile Affluences, aussi bien d’un point de vue fonctionnalités que d’un point de vue design. Pour preuve, voici un premier rendu de la prochaine version !

Les bibliothèques de musées

Bibliothèque et musée, jamais l’un sans l’autre.

Le saviez-vous, initialement ce sont des bibliothèques de musées qui sont d’abord rentrées dans l’application mobile Affluences.

Grâce à elles, nous avons été contactés par des musées qui voyaient bien l’intérêt de mettre en avant cet aspect souvent méconnu de leurs collections mais aussi de proposer l’affluence dans leurs salles d’exposition pour simplifier la vie de leurs visiteurs !

Voici une sélection de bibliothèques de musées. Attention, certaines ont des conditions d’accès particulières.

La bibliothèque du Musée Guimet (accessible à tous)

La bibliothèque de la Cité des sciences (accessible à tous)

La bibliothèque du musée de l’Armée (accessible à tous)

La bibliothèque du musée d’Archéologie nationale (accessible à tous)

La bibliothèque du MUCEM (accessible à tous)

La bibliothèque du musée Saint-Raymond (accessible à tous)

La bibliothèque du Musée des Arts décoratifs

La bibliothèque du musée d’Orsay

La bibliothèque du centre Pompidou

La médiathèque du musée du Quai Branly

La médiathèque du musée d’art et d’histoire du Judaïsme

Les bibliothèques du musée de la Marine

N’hésitez pas à nous en suggérer d’autres !

Les musées à petits prix

Visiter les musées sans se ruiner

C’est possible ! On vous liste ci-dessous une sélection de vos avantages :

  1. L’accès aux collections permanentes des musées de la ville de Paris est gratuit pour tous.
  2. Le premier dimanche du mois, les collections permanentes des musées et monuments nationaux sont gratuites pour tous.
  3. D’autres musées proposent des tarifs préférentiels en fin de journée. C’est le cas du musée des Arts et métiers dont la nocturne du jeudi (18h-21h30) est en entrée libre, ou encore au musée d’Orsay qui passe en tarif réduit à partir de 16h30 (sauf le jeudi, à partir de 18h).
  4. La plupart des musées proposent des tarifs préférentiels, voire même la gratuité, pour les ressortissants de l’Union Européenne âgés de moins de 26 ans.

Enfin certaines occasions ne sont pas à rater. C’est le cas des journées du patrimoine en septembre, de la nuit des musées en mai, la nuit blanche en octobre, etc…

Certains musées organisent des événements spéciaux et gratuits. Par exemple, venez découvrir le Quai Branly de manière originale lors d’un de ses before.

Vous n’êtes pas les seuls à être attirés par la gratuité! Un conseil, vérifiez le taux d’occupation et le temps d’attente des lieux culturels avant de vous y rendre avec l’application Affluences. Bonne visite !