3D orbits are nothing more than a succession of rendered images captured from a set of cameras rotating around a 3D model of a real-estate operation. The generated images are referenced in a single JSON file, called a manifest. This manifest also contains additional metadata in order to represent and interact with the operation's units.
The viewer accepts a few query parameters to personalize the user-experience:
manifest
(required) the URL to the orbit manifest of a given projectinteractive
a boolean value enabling interactions with lots and the display of the overlay (optional, default tofalse
)redirection
a template URL used to redirect a visitor upon choosing a lot (optional, the feature is deactivated if omitted). Beware of special characters that might need to be encoded (see here for details). This template supports a few placeholders, they are replaced by their corresponding value to make dynamic links:%ID%
the identifier of a lot (usually a randomly generated one, for internal usage, e.g.83765-232
)%SLUG%
the commercial slug of a lot (most likely a combination of a lot's building, floor and index, e.g.A201
)
redirection_label
the text label displayed on the lot redirection button (optional, defaults toVoir les détails
)
The viewer itself is hosted on GitHub Pages at this address: https://habx.github.io/client-orbital. It should remain publicly available as long as GitHub keeps providing its services for free for open-source projects.
The assets are temporarily stored on AWS S3 and served through AWS CloudFront to help you during the transition. You must take actions to host the data on your cloud infrastructure, if you want to avoid an interruption of service.
- Download and extract the archives along with the manifest of your project. You should receive the links from us.
- Upload all files to your hosting solution. The files do not have to be served from the root directory. However, the assets being referenced relatively, the internal structure must remain untouched. The resources must be accessible from the domain where the viewer is hosted. Remember to review your security policies.
- Replace the
manifest
query parameters of your links with the absolute URL to themanifest.json
file.
The source code for the viewer is available on this repository. The project has been developed in Rust and is compiled down to a single Wasm binary loaded with a few other resources to an HTML file. You can download the latest version here.
The default links to 3D orbits (interaction enabled and redirection set when applicable) are listed below. You can edit the query parameters to adapt the viewer to your needs.
- aix-les-bains-victoria
- aix-poesia
- angers-arborescence
- angers-cloitre-des-capucins
- arcueil-avenue-convention
- argeles-sur-mer-castell-del-mar
- argenteuil-labriere
- arssurmoselle
- aubervilliers-president-roosevelt
- bagnolet-ferry
- bezannes-les-toits-du-golf
- bezons-rue-de-villeneuve
- bischheim-urban-green
- bondy-edouard-vaillant
- bordeaux-atelier-dulamon
- bordeaux-brazza
- bordeaux-eterna
- boussy-domaine-de-la-ferme
- brianconlescimes
- caen-detolle-cours-lavalette
- caen-detolle
- cergy-boisselerie
- champs-joliot
- chatenay-malabry-saphir
- creteil-sun-side
- deuillabarre
- epinay-sur-orge-harmonia
- erdeven-nationale
- fabregues-le-faubourg-icade
- fontenay-aux-roses-villa-flora
- francheville-eglise
- guyancourt-commedia
- guyancourt-commedia-scene
- houilles-cityzen
- issy-les-moulineaux-29-hoche
- issy-les-moulineaux-carat
- issy-les-moulineaux-joia
- la-crau-domaine-veraison
- le-cannet-cinq-sens
- le-havre-evasion
- le-plessis-robinson-agapanthe
- les-herbiers-rue-nationale
- liffre-les-allees-silvia
- lille-tweed
- limeil-brevannes-clos-de-l-orme
- loos-lalcove
- lyon-moselle
- lyon-vertuo-part-dieu
- marcy-l-etoile-coeur-marcy
- marseille-vogue8eme
- metz-les-promenades
- montigny-le-bretonneux-terrasses-de-lodyssee
- montpellier-sowood
- nancy-rose-wild
- nantes-be-ile
- nantes-boul-be-green
- nantes-cosmo
- nantes-joneliere
- nice-gare-du-sud-villa-rossa
- noisy-le-grand-villa-verde
- paray-vieille-poste-villa-lumea
- paris13-m9a
- perpignan-bella-vista
- pessac-le-parc-habite
- plaisir-haise
- quetigny-patio-central
- rennes-beaumont
- reze-cardinale-sud
- rillieuxlapape
- romainville-gaston-roussel
- roubaix-rue-racine
- rueil-malmaison-l-imperiale
- rueil-malmaison-sardou
- saint-alban-leysse-bemaz
- saint-cloud-villa-acanthe
- saint-cyr-accord-majeur
- saint-genis-pouilly-le-magnifique
- saint-herblain-sowood
- saint-herblain-westgarden
- sartrouville-11-arpent
- sartrouville-50-roosevelt
- sartrouville-sequana
- sceaux-le-s
- sevran-montceleux
- seynod-jardin-des-sens
- sixfourslesplages
- suresnes-atelier-lumiere
- tassin-la-demi-lune-sphere
- terville-l-atelier
- toulouse-bella-rosa
- toulouse-chemin-du-loup
- toulouse-cymea
- tourcoing-le-residentiel
- tours-le-calice
- trelaze-simone-boisecq
- trois-rivieres-3-rivieres
- vanves-issy
- villeneuve-ascq-fusilles
- villeneuve-la-garenne-asnieres
- villepinte-greenpark
- villeurbanne-green-republique
- villeurbanne-renaissance
- vitrolles-vitrolles-parenthese
- Reorder the fields given the jq transformation
'{ meta, lots, views }'
- Added field
meta.path
that defines the location of the folder containing all images assets - Added fields
lots[].exteriorSurfaceArea
,lots[].images
,lots[].levels
,lots[].name
,lots[].slug
,lots[].surfaceArea
,lots[].typology
,lots[].vat