Skip to content

Commit

Permalink
Lancement du calcul dès le lancement du serveur
Browse files Browse the repository at this point in the history
  • Loading branch information
laem committed Feb 13, 2020
1 parent fe75885 commit 74230d1
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 48 deletions.
3 changes: 1 addition & 2 deletions Classement.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import React, { useState, useEffect } from 'react'
import villesListRaw from 'js-yaml-loader!./villes.yaml'
import { Link } from 'react-router-dom'
import APIUrl from './APIUrl'
import Logo from './Logo'
import villesList from './villesClassées'

let villesList = villesListRaw.slice(0, 25)
export function Classement() {
let [villes, setVilles] = useState({})

Expand Down
19 changes: 12 additions & 7 deletions server.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import cors from 'cors'
import fs from 'fs'
import path from 'path'
import compression from 'compression'
import villes from './villesClassées'

const cacheDir = __dirname + '/cache'

Expand Down Expand Up @@ -33,7 +34,7 @@ let getVille = (id, scoreOnly = true, res) => {
let data = JSON.parse(json)
res.json(data)
} else {
computeAndCacheCity(id, fileName, res, scoreOnly)
computeAndCacheCity(id, res, scoreOnly)
}
})
} else {
Expand All @@ -45,13 +46,14 @@ let getVille = (id, scoreOnly = true, res) => {
let data = JSON.parse(json)
res.json(data)
} else {
computeAndCacheCity(id, fileName, res, scoreOnly)
computeAndCacheCity(id, res, scoreOnly)
}
})
}
}

const computeAndCacheCity = (id, fileName, res, scoreOnly) => {
const computeAndCacheCity = (id, res, scoreOnly) => {
let fileName = path.join(cacheDir, id)
console.log('ville pas encore connue : ', id)
Promise.all([
compute(id),
Expand All @@ -65,7 +67,7 @@ const computeAndCacheCity = (id, fileName, res, scoreOnly) => {
JSON.stringify({ ...data, geoData }),
function(err) {
if (err) {
console.log(err) || res.status(400).end()
console.log(err) || (res && res.status(400).end())
}
console.log("C'est bon on a géré le cas " + id)

Expand All @@ -75,9 +77,9 @@ const computeAndCacheCity = (id, fileName, res, scoreOnly) => {
err
) {
if (err) {
console.log(err) || res.status(400).end()
console.log(err) || (res && res.status(400).end())
}
res.json(scoreOnly ? meta : data)
res && res.json(scoreOnly ? meta : data)
})
}
)
Expand All @@ -88,10 +90,12 @@ const computeAndCacheCity = (id, fileName, res, scoreOnly) => {
}

let resUnknownCity = (res, id) =>
res &&
res
.status(404)
.send(`Ville inconnue <br/> Unknown city`)
.end() && console.log('Unknown city : ' + id)
.end() &&
console.log('Unknown city : ' + id)

app.get('/api/ville/:ville', function(req, res) {
const id = req.params.ville
Expand All @@ -113,4 +117,5 @@ app.listen(port, function() {
console.log(
'Allez là ! Piétonniez les toutes les villles ! Sur le port ' + port
)
villes.map(ville => computeAndCacheCity(ville, null, true))
})
39 changes: 0 additions & 39 deletions villes.yaml

This file was deleted.

42 changes: 42 additions & 0 deletions villesClassées.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
const villes = [
// Le critère du périphérique est pas mal du tout pour exclure les grands parcs en dehors de la ville !
// Celui du Havre y resterait, certains de Rennes partiraient, Vinennes et Boulogne aussi, Toulouse la base aussi, Brest à voir
// Plus compliqué pour Strasbourg...

'Paris',
// Pas mal de trottoirs à Paris, faut-il les inclure ? Pas celui-là :
// https://www.openstreetmap.org/way/664721499
// Rues piétonnes privées rue des Vignoles
// le père lachaise doit-il être compté dans son entiereté où comme un enesemvle de chemins ?
'Marseille',
'Lyon',
'Toulouse',
// Base de la ramée
// Retirer l'aéroport lol
'Nantes',
// Différence entre vert et rouge ...
'Montpellier',
'Strasbourg',
'Bordeaux',
'Lille',
'Rennes',
// Forme étrange sur le périf à gauche, parking
'Reims',
'Saint-Étienne',
'Le Havre',
'Toulon',
'Grenoble',
// Parc louche en haut à droite et à droite autour d'une rotonde
'Dijon',
'Angers',
// Parc très louche en haut à gauche
'Nîmes',
'Villeurbanne',
'Saint-Denis',
'Aix-en-Provence',
'Le Mans',
'Clermont-Ferrand',
'Brest'
]

export default villes

0 comments on commit 74230d1

Please sign in to comment.