1 <!DOCTYPE html> |
|
2 <html lang="fr"> |
|
3 <head> |
|
4 <meta charset="utf-8" /> |
|
5 </head> |
|
6 <body> |
|
7 <script> |
|
8 var TOPIC_COUNT = 15, WORDS_PER_TOPIC = 20, SEGMENT_COUNT = 200; |
|
9 |
|
10 /* Thésaurus IEP Lyon |
|
11 http://doc.sciencespo-lyon.fr/Signal/index.php?r=motcle/search |
|
12 JSON.stringify($('.treeview>li>ul>li>ul>li:visible').map(function() { return { "words": $(this).find("span").map(function() { return $(this).text().trim()}).get().filter(function(a) { return (a.length && a.length < 20) })}}).get().filter(function(a){return a.words.length > 10})) |
|
13 * */ |
|
14 |
|
15 var thesaurus = [{ |
|
16 "words" : ["administration", "acte administratif", "bureaucratie", "centralisation", "commune", "communauté urbaine", "maire", "municipalité", "département", "région", "décentralisation", "déconcentration", "délégation", "titre de séjour", "domaine public", "bien public", "fonction publique", "agent contractuel", "fonctionnaire", "haut fonctionnaire", "gestion publique", "intérêt général", "marché public", "appel d'offres", "médiateur", "ministère", "personne publique", "politique publique", "préfet", "préfet de région", "service public", "concession", "protection civile", "technocratie", "usager"] |
|
17 }, { |
|
18 "words" : ["finances publiques", "budget de l'Etat", "cour des comptes", "déficit budgétaire", "dépenses publiques", "dépenses de santé", "dépenses militaires", "dépenses sociales", "dette extérieure", "dette publique", "financement public", "finances locales", "loi de finances", "recettes publiques", "subvention", "trésor public"] |
|
19 }, { |
|
20 "words" : ["fiscalité", "contribuable", "douane", "droit fiscal", "évasion fiscale", "fiscalité locale", "impôt", "impôt direct", "impôt foncier", "impôt indirect", "impôt sur le revenu", "redevance", "politique fiscale", "taxe"] |
|
21 }, { |
|
22 "words" : ["construction", "développement local", "droit de préemption", "droit de propriété", "droit foncier", "eau potable", "équipement", "infrastructure", "marché foncier", "propriété", "expropriation", "propriété foncière", "travaux publics"] |
|
23 }, { |
|
24 "words" : ["transport", "accident", "aéroport", "canal", "port", "réseau de transport", "autoroute", "stationnement", "moyen de transport", "automobile", "avion", "bateau", "métro", "train", "transport aérien", "compagnie aérienne", "transport en commun", "transport fluvial", "transport maritime", "transport public", "transport routier", "sécurité routière", "transport urbain", "circulation urbaine", "piéton"] |
|
25 }, { |
|
26 "words" : ["urbanisme", "aménagement urbain", "gestion urbaine", "immeuble", "marché immobilier", "reconstruction", "urbanisation", "vie urbaine", "ville", "banlieue", "centre ville", "ghetto", "quartier", "village", "ville nouvelle", "zone"] |
|
27 }, { |
|
28 "words" : ["culture", "animation", "culture de masse", "équipement culturel", "francophonie", "identité culturelle", "culture populaire", "langue", "langue maternelle", "langue régionale", "minorité culturelle", "pluralisme culturel", "festival", "spectacle", "mécénat", "patrimoine culturel", "monument historique", "pratique culturelle", "lecture", "public", "vie culturelle"] |
|
29 }, { |
|
30 "words" : ["droit", "clandestinité", "droit comparé", "droit d'asile", "asile politique", "droit international", "droit communautaire", "droit européen", "droit privé", "droit civil", "droit pénal", "droit public", "droit administratif", "nationalité", "naturalisation", "nom", "régime juridique", "responsabilité", "sécurité juridique", "sources du droit", "accord", "charte", "constitution", "constitutionnalité", "contrat", "convention", "coutume", "décret", "directive", "législation", "code", "légalité", "loi", "ordonnance", "quota", "règlement", "réglementation", "résolution", "traité", "statut", "tutelle"] |
|
31 }, { |
|
32 "words" : ["justice", "contentieux", "arbitrage", "condamnation", "décision judiciaire", "immunité", "indemnisation", "jurisprudence", "médiation", "prescription", "preuve", "procédure", "procédure pénale", "procès", "recours", "juridiction", "cour d'appel", "cour d'assises", "juridiction suprême", "tribunal", "tribunal d'instance", "magistrature", "avocat", "juge", "sanction", "expulsion", "extradition", "peine", "peine de mort", "prison", "détenu", "saisie", "système judiciaire"] |
|
33 }, { |
|
34 "words" : ["ordre public", "amnistie", "arrestation", "autodéfense", "infraction", "abus sexuel", "blanchiment", "crime", "crime de guerre", "délit", "escroquerie", "espionnage", "fraude", "génocide", "massacre", "meurtre", "piratage", "prise d'otage", "récidive", "torture", "trafic", "trafic de drogue", "viol", "milice", "police", "répression", "sécurité", "victime"] |
|
35 }, { |
|
36 "words" : ["accord commercial", "accord économique", "aide économique", "aide technique", "balance commerciale", "commerce extérieur", "embargo", "exportation", "importation", "libéralisation", "libre échange", "marché commun", "protectionnisme", "échange inégal", "sanction économique", "union économique", "zone franche"] |
|
37 }, { |
|
38 "words" : ["monnaie", "change", "marché des changes", "taux de change", "convertibilité", "déflation", "deutschmark", "dévaluation", "dollar", "écu", "euro", "franc", "inflation", "marché monétaire", "masse monétaire", "paiement", "moyen de paiement", "politique monétaire", "système monétaire", "union monétaire", "yen", "zone monétaire"] |
|
39 }, { |
|
40 "words" : ["aide publique", "analyse économique", "choix économique", "déréglementation", "disparité régionale", "nationalisation", "plan", "contrat de plan", "planification", "pouvoir économique", "privatisation", "réforme économique", "régulation", "relance économique"] |
|
41 }, { |
|
42 "words" : ["activité économique", "compétitivité", "crise économique", "cycle économique", "marché", "concurrence", "demande", "monopole", "offre", "stocks", "pénurie", "production", "produit", "productivité", "vie économique"] |
|
43 }, { |
|
44 "words" : ["système économique", "commerce équitable", "économie de marché", "économie dirigée", "économie du savoir", "économie numérique", "économie ouverte", "économie régionale", "économie locale", "économie sociale", "économie socialiste", "économie solidaire", "modèle économique", "secteur d'activité", "secteur primaire", "secteur privé", "secteur public", "secteur secondaire", "secteur tertiaire"] |
|
45 }, { |
|
46 "words" : ["système financier", "assurances", "assurance vie", "banque", "banque centrale", "bourse des valeurs", "action boursière", "cours des valeurs", "second marché", "valeur mobilière", "capitalisation", "créance", "crédit", "microcrédit", "crise financière", "don", "endettement", "épargne", "financement", "fonds de pension", "hypothèque", "investissement", "marché financier", "obligation", "place financière", "placement financier", "prêt", "spéculation", "système bancaire", "taux d'intérêt"] |
|
47 }, { |
|
48 "words" : ["entreprise", "actionnariat", "actionnaire", "chef d'entreprise", "droit commercial", "faillite", "management", "concentration", "restructuration", "association", "coopérative", "entreprise publique", "filiale", "mutuelle", "organisme", "droit des sociétés", "vie de l'entreprise"] |
|
49 }, { |
|
50 "words" : ["industrie", "bien d'équipement", "groupe industriel", "industrialisation", "industrie chimique", "industrie de base", "industrie du papier", "industrie mécanique", "industrie nucléaire", "industrie spatiale", "industrie textile", "ingénierie", "délocalisation", "produit industriel", "brevet", "qualité", "sous traitance"] |
|
51 }, { |
|
52 "words" : ["agriculture", "agriculteur", "milieu rural", "pêche", "politique agricole", "production agricole", "élevage", "produit agricole", "alcool", "tabac", "produit alimentaire", "viticulture", "structure agraire", "réforme agraire"] |
|
53 }, { |
|
54 "words" : ["environnement", "animal", "barrage", "sécheresse", "séisme", "climat", "cours d'eau", "désert", "espace", "forêt", "île", "incendie", "inondation", "irrigation", "lac", "littoral", "mer", "milieu naturel", "mine - gisement", "montagne", "paysage", "terre", "végétation"] |
|
55 }, { |
|
56 "words" : ["déchet", "ordures ménagères", "écologie", "espèce protégée", "nuisance", "parc naturel", "patrimoine naturel", "pollution", "amiante", "pollution de l'eau", "protocole de Kyoto", "recyclage", "traitement de l'eau"] |
|
57 }, { |
|
58 "words" : ["commission", "indépendance", "pouvoir exécutif", "chef de l'Etat", "président", "gouvernement", "ministre", "premier ministre", "projet de loi", "pouvoir judiciaire", "pouvoir législatif", "parlement", "assemblée nationale", "député", "proposition de loi", "sénat", "sénateur", "pouvoir local", "réforme"] |
|
59 }, { |
|
60 "words" : ["mouvement politique", "alliance politique", "droite", "extrême droite", "extrême gauche", "gauche", "homme politique", "mouvement étudiant", "mouvement ouvrier", "parti politique", "parti communiste", "parti conservateur", "parti démocrate", "parti écologiste", "parti libéral", "parti nationaliste", "parti radical", "parti républicain", "parti socialiste", "parti travailliste", "programme politique", "stratégie politique"] |
|
61 }, { |
|
62 "words" : ["régime politique", "apartheid", "autodétermination", "autonomie", "démocratie", "démocratisation", "social démocratie", "Etat", "fédéralisme", "théorie de l'Etat", "monarchie", "nation", "pouvoir politique", "régime de Vichy", "régime présidentiel", "régime totalitaire", "dictature", "parti unique", "république", "système politique"] |
|
63 }, { |
|
64 "words" : ["vie politique", "alternance", "cohabitation", "altermondialisation", "boycott", "carrière politique", "citoyenneté", "citoyen", "civisme", "collaboration", "contestation", "dissident", "grève de la faim", "identité européenne", "identité nationale", "manifestation", "militantisme", "négociation", "politisation", "revendication", "conférence", "congrès", "forces politiques", "gouvernance", "groupe de pression", "légitimité", "majorité politique", "propagande", "situation politique", "troubles politiques", "attentat", "coup d'Etat", "crise politique", "mai-68", "état d'exception", "insurrection", "rébellion", "révolution", "révolte", "scandale", "terrorisme"] |
|
65 }, { |
|
66 "words" : ["famille", "adoption", "célibat", "divorce", "droit de la famille", "filiation", "garde des enfants", "mariage", "maternité", "parent", "paternité", "politique familiale", "union libre", "veuvage", "vie familiale"] |
|
67 }, { |
|
68 "words" : ["migration", "diaspora", "émigration", "émigré", "exil", "exode", "exode des cerveaux", "exode rural", "immigration", "immigré", "rapatrié", "réfugié", "réfugié politique"] |
|
69 }, { |
|
70 "words" : ["population", "âge", "embryon", "enfant", "ethnie", "relations ethniques", "tribu", "jeune", "métis", "minorité", "Indiens", "Kurdes", "Noirs", "Tsiganes", "mort", "naissance", "personne âgée", "peuple", "population rurale", "population urbaine", "sexe", "femme", "homme"] |
|
71 }, { |
|
72 "words" : ["emploi", "chômage", "contrat de travail", "création d'emploi", "démission", "emploi précaire", "licenciement", "marché du travail", "plein emploi", "nomination", "politique salariale", "recrutement", "retraite", "personne retraitée"] |
|
73 }, { |
|
74 "words" : ["comité d'entreprise", "conflit social", "droit de grève", "droit social", "droits des salariés", "employeur", "grève", "partenaires sociaux", "patronat", "syndicalisme", "syndicat"] |
|
75 }, { |
|
76 "words" : ["travail", "bénévolat", "absentéisme", "accident du travail", "congé", "durée du travail", "flexibilité", "lieu de travail", "travail au noir", "travail féminin", "travail saisonnier", "travail temporaire"] |
|
77 }, { |
|
78 "words" : ["défense", "armée", "armée de l'air", "armée de métier", "armée de terre", "marine", "armement", "arme", "arme nucléaire", "commerce des armes", "mine - arme", "désarmement", "base militaire", "cessez le feu", "dissuasion", "gendarmerie", "militaire", "pouvoir militaire", "service national", "service civil", "services secrets", "stratégie militaire"] |
|
79 }, { |
|
80 "words" : ["action humanitaire", "aide internationale", "camp", "colonie", "colonisation", "décolonisation", "confédération", "conflit armé", "déportation", "guérilla", "guerre", "guerre civile", "guerre d'Algérie", "guerre du Golfe", "guerre froide", "résistance", "accords de Schengen", "défense européenne", "fonds structurels", "pacte de stabilité", "sommet européen", "coopération", "convention de Lomé", "diplomatie", "ambassade", "consulat", "diplomate", "droit de la mer", "droit humanitaire", "frontière", "eaux territoriales", "impérialisme", "ingérence étrangère", "bombardement", "mondialisation", "neutralité", "non alignement", "adhésion", "élargissement", "paix", "politique commune", "politique étrangère", "relations Est-Ouest", "relations Nord-Sud", "G7-G8", "réunification"] |
|
81 }, { |
|
82 "words" : ["protection sociale", "politique sociale", "prévention", "sécurité sociale", "assurance sociale", "cotisation sociale", "charges sociales", "prestation sociale", "allocation sociale", "service social", "aide sociale", "travail social"] |
|
83 }, { |
|
84 "words" : ["santé", "alimentation", "famine", "malnutrition", "clinique", "hôpital", "handicapé", "hygiène", "maladie", "cancer", "épidémie", "malade", "maladie mentale", "sida", "médecine", "médecine préventive", "profession médicale", "médecin", "recherche médicale", "bioéthique", "secours d'urgence", "soins", "avortement", "contraception", "don d'organes", "euthanasie", "médicament"] |
|
85 }, { |
|
86 "words" : ["mode de vie", "cadre de vie", "comportement", "homosexualité", "mode", "modernisation", "modernité", "moeurs", "nomadisme", "sédentarisation", "sexualité", "tradition", "vie privée", "vie quotidienne"] |
|
87 }, { |
|
88 "words" : ["problèmes sociaux", "corruption", "criminalité", "mafia", "délinquance", "dopage", "drogue", "esclavage", "harcèlement", "mendicité", "pédophilie", "pornographie", "prostitution", "suicide", "toxicomanie", "violence"] |
|
89 }, { |
|
90 "words" : ["relations sociales", "condition féminine", "discrimination", "antisémitisme", "racisme", "xénophobie", "égalité", "égalité des sexes", "exclusion", "féminisme", "inégalités", "inégalité sociale", "intégration sociale", "justice sociale", "marginalité", "parité", "popularité", "socialisation", "solidarité"] |
|
91 }, { |
|
92 "words" : ["structure sociale", "caste", "catégorie sociale", "déshérité social", "élite", "intellectuel", "artisan", "cadre", "ouvrier", "profession libérale", "civilisation", "classe sociale", "aristocratie", "bourgeoisie", "classe dirigeante", "classe moyenne", "classe ouvrière", "lutte des classes", "communauté", "enfance", "hiérarchie", "jeunesse", "mobilité sociale", "organisation", "institution", "personnalité", "pouvoir", "société civile", "statut social", "vieillesse"] |
|
93 }]; |
|
94 |
|
95 var topics = [], |
|
96 topicPeaks = [], |
|
97 allwords = Array.prototype.concat.apply([], thesaurus.map(function(t) { return t.words })), |
|
98 awl = allwords.length, |
|
99 peaknums = [], |
|
100 peakf = 6 * TOPIC_COUNT; |
|
101 |
|
102 for (var i = 0; i < TOPIC_COUNT; i++) { |
|
103 var words = [], |
|
104 n = Math.floor(awl * Math.random()), |
|
105 wordindexes = [n], |
|
106 weightsum = 0; |
|
107 for (var j = 0; j < WORDS_PER_TOPIC; j++) { |
|
108 while (wordindexes.indexOf(n) !== -1) { |
|
109 n = Math.min(awl - 1, Math.max(0, Math.floor(n + 16 * Math.random() - 8))); |
|
110 } |
|
111 wordindexes.push(n); |
|
112 var word = allwords[n], weight = Math.random(); |
|
113 words.push({ |
|
114 word : word, |
|
115 weight : weight |
|
116 }); |
|
117 weightsum += weight; |
|
118 } |
|
119 words.sort(function(a, b) { |
|
120 return b.weight - a.weight; |
|
121 }); |
|
122 words.forEach(function(w) { |
|
123 w.weight = w.weight / weightsum |
|
124 }); |
|
125 topics.push({ |
|
126 index : i, |
|
127 words : words |
|
128 }); |
|
129 var peaks = [], peakcount = Math.floor(2 * (1 + Math.random())); |
|
130 for (var j = 0; j < peakcount; j++) { |
|
131 var npeak = Math.floor(peakf * Math.random()); |
|
132 while (peaknums.indexOf(npeak) !== -1) { |
|
133 npeak = Math.floor(peakf * Math.random()); |
|
134 } |
|
135 peaknums.push(npeak); |
|
136 peaks.push({ |
|
137 volume: 5 * (.2 + Math.random()), |
|
138 position: (npeak + Math.random() - .5) / peakf |
|
139 }); |
|
140 } |
|
141 topicPeaks.push(peaks); |
|
142 } |
|
143 |
|
144 var tc = 0, mmsos = [], threshold = .05; |
|
145 |
|
146 for (var i = 0; i < SEGMENT_COUNT; i++) { |
|
147 var duration = Math.floor(Math.random() * 30) + 30, mmso = { |
|
148 start : tc, |
|
149 duration : duration |
|
150 } |
|
151 tc += duration; |
|
152 mmso.end = tc; |
|
153 |
|
154 var localtopics = [], |
|
155 localtopicids = [], |
|
156 pos = i; |
|
157 for (var j = 0; j < TOPIC_COUNT; j++) { |
|
158 var peaks = topicPeaks[j], |
|
159 total = 0; |
|
160 for (var k = 0; k < peaks.length; k++) { |
|
161 var peak = peaks[k], |
|
162 delta = Math.abs(peak.position - i/SEGMENT_COUNT); |
|
163 if (delta < threshold) { |
|
164 total += peak.volume * Math.max(0, .5 * (1 + Math.cos(Math.PI * delta / threshold)) + Math.random()*.2 - .1) * mmso.duration; |
|
165 } |
|
166 } |
|
167 if (total) { |
|
168 localtopics.push({ |
|
169 topic: j, |
|
170 weight: total |
|
171 }) |
|
172 localtopicids.push(j); |
|
173 } |
|
174 } |
|
175 while (localtopics.length < 2) { |
|
176 var n = Math.floor(Math.random() * TOPIC_COUNT); |
|
177 while (localtopicids.indexOf(n) !== -1) { |
|
178 n = Math.floor(Math.random() * TOPIC_COUNT); |
|
179 } |
|
180 localtopics.push({ |
|
181 topic: n, |
|
182 weight: mmso.duration * Math.random() |
|
183 }); |
|
184 localtopicids.push(n); |
|
185 } |
|
186 localtopics = localtopics.sort(function(a,b) { |
|
187 return b.weight - a.weight; |
|
188 }).slice(0,5); |
|
189 var total = localtopics.reduce(function(mem,t) { |
|
190 return mem + t.weight |
|
191 },0); |
|
192 localtopics.forEach(function(t) { |
|
193 t.weight = t.weight / total; |
|
194 }); |
|
195 mmso.tweet_count = Math.floor(total); |
|
196 mmso.topics = localtopics; |
|
197 |
|
198 mmsos.push(mmso); |
|
199 } |
|
200 |
|
201 |
|
202 document.write(JSON.stringify({ |
|
203 topics : topics, |
|
204 segments : mmsos, |
|
205 duration : tc |
|
206 })) |
|
207 |
|
208 </script> |
|
209 </body> |
|
210 </html> |
|