pnecrins / geosites Goto Github PK
View Code? Open in Web Editor NEWApplication WEB permettant de consulter l'inventaire du patrimoine géologique
Application WEB permettant de consulter l'inventaire du patrimoine géologique
Actuellement l'application ne dispose que d'une URL, du coup le contenu des fiches ne sera pas référencé par les moteurs de recherche.
Une alternative à cela semble être pushState - http://www.ocpsoft.org/java/seo-friendly-angularjs-with-html5-pushstate-rewrite-and-twelve-lines-of-code/
Il y a d'autres trucs à creuser pour être sur que les moteurs de recherche arrivent bien à accéder au contenu des pages, pas visible directement avec AngularJS - https://www.searchenginejournal.com/warning-youre-killing-seo-efforts-using-angular-js/142031/
http://www.angularonrails.com/get-html5-pushstate-working-angular-rails/
Dès qu'on clique sur le bouton Afficher détails
en dessous d'un site dans la liste de la sidebar, une modal s'ouvre et on a l'affichage dans une modal de détails plus précis concernant le site ainsi que pour certains sites un pdf consultable pour encore plus de précisions.
Piste à suivre : récupérer l'id grace à ng-click
Si on collapse le bloc documents, et qu'on l'ouvre de nouveau, le "Chargement en cours..." s'affiche.
Mettre un gif de chargement tant que tous les éléments ne sont pas chargés.
Il faut faire comme pour les documents pdf et créer un fichier php de génération du json afin d'afficher les intérêts liés à un site.
permettre le chargement des json via des vues avec un select * FROM mavue
dans un seul et même fichier php.
Certaines images sont trop lourdes car redimensionnées avec le style css.
Soit en zippant les pdf à la volée. Soit en préparant un pdf complet.
Lorsque l'on masque la sidebar avec la box en bas à gauche, une bande grise apparaît sur la partie droite de la carte.
Il faut utiliser invalidateSize() pour mettre à jour l'affichage.
Le BRGM propose un wms des cartes geologiques de France mais les premiers tests de chargement des tuiles n'aboutissent pas 👍 En ajoutant ceci au data/map.json
les requetes vers le service renvoient : "Aborted". A creuser et corriger si le service est toujours disponible.
{
"name": "Carte géologique",
"type": "wms",
"url" : "http://geoservices.brgm.fr/geologie",
"active" : false,
"options": {"layers":"SCAN_F_GEOL250","transparent":"true","format":"image/png"}
}
La carte est à moitié sur la liste.
Après avoir fini de chargé l'appli et dès que le loadingMask disparaît, il faut ouvrir par défaut une modal d'informations concernant l'application.
Collapser les principaux sous-titre : document, description, accès, interêts, etc... et permettre leur ouverture avec un "lire la suite" ou un click sur le titre (sans lien mais un ng-click dans la div)
Faire une collapse en dessous de chaque titre important et qui contient le contenu à afficher.
Lorsque l'on clique sur un Marker de la carte, la vue dans la liste de la sidebar se positionne sur le site correspondant.
Piste à suivre : $anchorScroll
Les déplacer au dessus de la liste de résultats pour qu'ils soient plus visibles.
L'affichage de la carte ne marche pas, à corriger.
Créer un fichier de config qui contiendra les variables à modifier pour le fonctionnement générique de l'application :
La vue, la connexion à la BDD...
Mettre quelque part dans la sidebar un système de filtrage sur les éléments de la couche.
Piste à suivre : le filtre sur ng-mapCreator-fp
renommer les controllers pour que les noms soient explicites et génériques
modalController.js --> modalNavbarController.js
modalDetailsController.js = ok
S'assurer que les sites sensibles sont exclus de la vue permetttant la création du geojson
Quand on choisi un site sur la carte, il s'allume en rouge dans la liste mais si dans la foulée on choisi un site dans la liste, le site en rouge reste rouge
L'interaction carte --> liste est en place.
Mettre en l'interraction liste --> carte (affichage du popup sur la carte lors du choix d'un site dans la liste.)
cf #2
Mettre un style sur toute la div du collapse. Actuellement le style "backgroud gris dense + texte blanc" n'est que sur le texte
Permettre le visionnage d'une série d'images du site (s'il y en a) dans la modale du site.
Ajouter une image du site en vignette
Régler problème de collapse en lien avec le scroll.
LOrsque l'on clique sur un marqueur ça scroll bien sur le site dans la liste mais le site ne s'ouvre pas.
Voir code commenté qui si on l'active, ouvre la div mais elle ne se referme pas si on ouvre un autre site.
et mettre le lieu dit ensuite
Ajouter d'autres fonds de cartes et ajouter Layer Control.
Pour permettre de switcher entre les différents fonds de carte.
Lorsque l'on zoome sur la carte, les sites qui sont absents de la carte s'estompent dans la liste. Trouver un style css qui les estompent et l'événement leaflet à utiliser pour qu'à chaque action de zoom et dézoom une fonction qui recalcule l'affichage de la liste se déclanche.
Au moins un template pour la liste à gauche.
Un template pour la popup de détails du site.
Un template pour les filtres (futurs).
voir les classes panel-heading ou panel surcouchées
Si besoin, faire un
ou
Le fichier dbconnect.php.sample
n'est plus utile.
Pas mal de paramètres sont dans /data/htmlContent.json
. Les mettre dans un dossier de config ou au moins créer une version sample, faire le gitignore et le mentionner dans la doc.
Et renommer 'Conditions d'accès' en 'Accès'
Voir si besoin de permettre le choix entre plusieurs fonds : non prioritaire.
Faire un loading pour le chargement des documents et pour le chargement des intérêts.
Si on ouvre pls pdf et d'autant plus s'ils viennent de plusieurs sites, on ne sait plus ce qui correspond à quoi. Voir s'il est possible d'ouvrir les pdf sans quitter l'onglet de l'application.
Par exemple un fond gris dense et le texte/nom du site en blanc
Les params de config de connexion à la base de données sont dans deux fichiers.
config.php et dbconnect.php
Ne conserver qu'un fichier pour la config :
mettre les variables de connexion dans le config.php
dans le dbconnect.php include le config.php et faire directement la connexion en supprimant les variables.
Déporter le code spécifique dans des templates et ne mettre dans l'index que l'appel des fichiers js et css ainsi que l'appel des templates. Notion de layout (page de maquette).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.