Commit 44919278 authored by hichbra's avatar hichbra

Fix bug + add comment

parent 85deec89
......@@ -23,11 +23,11 @@ defined('BASEPATH') OR exit('No direct script access allowed');
| a PHP script and you can easily do that on your own.
|
*/
//$config['base_url'] = 'http://website.cs-dc.org/apps/ci1/firediag/';
/* SERVEUR */
//$config['base_url'] = 'http://91.162.19.165:17000/astreos/';
/* LOCAL */
$config['base_url'] = 'http://localhost/astreos/';
//$config['base_url'] = 'https://litis.univ-lehavre.fr/planning/';
//$config['planning_assets'] = 'https://litis.univ-lehavre.fr/planning_assets/';
/*
|--------------------------------------------------------------------------
......
......@@ -445,6 +445,7 @@ class Controller extends MY_Controller {
$this->load->view('fragment/footer');
}
/* Traitement : Effectue l'ajout ou la Modification de l'utilisateur en fonction de l'argument */
public function formUser() {
$type = $this->input->post('type');
$id = $this->input->post('id');
......@@ -460,11 +461,13 @@ class Controller extends MY_Controller {
redirect('/controller/settings', 'settings', 301);
}
/* Traitement : Supprime un utilisateur */
public function removeUser($id){
$this->users->removeUser($id);
redirect('/controller/settings', 'settings', 301);
}
/* Traitement : Execute un script python qui va generer une image et un fichier texte decrivant la progression */
public function executePython() {
$id = $this->input->post('id');
$nom = $this->input->post('nom');
......@@ -477,6 +480,7 @@ class Controller extends MY_Controller {
exec('python '.python("VisualisationComplexe.py").' '.$id.' "'.$debut.'" "'.$fin.'" '.$unite.' '.$limite.' '.$moyMob.' '.$uuidProcess.' "'.$nom.'" > /dev/null 2>&1 &');
}
/* AJAX : Lecture du fichier texte generee par le script python pour connaitre la progression */
public function updatePython($uuid){
if (file_exists(python('log_'.$uuid.'.txt'))){
$lines = file(python('log_'.$uuid.'.txt'));
......@@ -490,6 +494,7 @@ class Controller extends MY_Controller {
echo json_encode($result);
}
/* Page : Affichage de l'image generee par le script python */
public function voirGraphique($uuid){
$this->header();
$data["uuid"] = $uuid;
......@@ -497,6 +502,7 @@ class Controller extends MY_Controller {
$this->load->view('fragment/footer');
}
/* Tratement : Supprime l'image et le fichier texte generee par le script python */
public function purgeGraphique($uuid){
if(file_exists(python('log_'.$uuid.'.txt'))){
unlink(python('log_'.$uuid.'.txt'));
......
<!-- Fragment : Affichage d'un capteur sur la page live-->
<div id="displayCapteur<?php echo $id ?>" class="col-lg-2 animated fadeInDown capteur" style="min-height: 250px">
<div id="capteur<?php echo $id ?>" class="ibox float-e-margins" style="border-style:solid; border-color:white;">
<div class="ibox-title">
......
<!-- Fragment : Pied de page -->
<div class="footer">
<div class="pull-right">
<strong><a href="mailto:hicham.brahimi@laposte.net">Contact</a></strong>
......
<!-- Fragment : En-tete du site, contient le menu principal et les CSS -->
<html>
<head>
......
<!-- Fragment : Barre de recherche sur la page live -->
<nav class="navbar navbar-static-top" role="navigation" style="margin-bottom: 0">
<div class="navbar-header">
<a class="navbar-minimalize minimalize-styl-2" href="#" style="background-color:#22427c;"><div class="barMenu"></div></a>
......@@ -109,6 +110,7 @@
</nav>
<script>
/** GESTION DES NOTIFICATIONS ET DES FILTRES **/
$(document).ready(function() {
$('#notifications').data('open', false);
......
<!-- Mainly scripts -->
<!-- Fragment : Ajout des scripts js necessaire -->
<!-- Script pincipaux -->
<script src=<?php echo js_url("jquery"); ?>></script>
<script src=<?php echo js_url("bootstrap.min"); ?>></script>
<script src=<?php echo js_url("plugins/metisMenu/jquery.metisMenu"); ?>></script>
......
<!-- Page d'accueil -->
<div class="row">
<div class="col-lg-6 animated fadeInDown" style="margin-bottom:10px;">
<a href= "<?php echo base_url() ?>index.php/controller/capteurs">
......@@ -65,6 +67,7 @@
</div>
</div>
<script>
/** Dessin des figures dans les boutons **/
$(document).ready(function(){
var d1 = [[0, 5], [1, 5], [2, 5], [3, 5], [4, 0], [5, 10], [6, 5], [7, 5], [8, 5], [9, 5], [10, 0], [11, 10], [12, 5], [13, 5], [14, 5]];
......
<!-- Page : Page d'ajout d'un nouveau capteur -->
<div id="formulaire" class="col-lg-12">
<?php echo form_open('controller/ajoutCapteur', 'id="form"'); ?>
<div class="row">
......@@ -62,8 +63,9 @@
</form>
</div>
<script>
// inf = Alerte si la valeur est Inférieur au seuil
/** Changement du formulaire a la demande si besoin de rajouter des seuils **/
// inf = Alerte si la valeur est Inférieur au seuil
var nbSeuil = 0 ;
$("#newSeuil").click(function() {
$( "#seuils" ).append(
......
<!-- Page : Connexion -->
<html>
<head>
<meta charset="utf-8">
......
<!-- Page : Visualisation du graphe generee par le script python -->
<h1 id="titre">Visualisation complexe</h1>
<div id="zone" class="progress">
<div id="progress" class="progress-bar progress-bar-striped progress-bar-animated progress-bar-success" style="width: 0%" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100">hy</div>
</div>
<script>
/** Affiche une barre de chargement qui evolue en fonction des informations donnees
par le fichier texte qui est generee avec le script python **/
var stopLoad = false ;
function sleep(ms) {
......
<!-- Page : Live / Affiche les capteurs et leur evolution en direct -->
<div class="row">
<?php foreach ($seuls as $capteur) {
echo $capteur ;
......
<!-- Page : Affiche la liste des dernieres notifications -->
<div id="vertical-timeline" class="vertical-container light-timeline center-orientation">
<?php foreach ($notifs as $notif) { ?>
<div class="vertical-timeline-block">
......
<!-- Page : Options d'administration
Permet d'ajouter, modifier ou supprimer des utilisateurs ou des groupes. Permet de connaitre egalement l'etat des serveurs -->
<div class="col-lg-2 animated fadeInDown" style="min-height: 250px">
<div class="ibox float-e-margins">
<div class="ibox-title">
......
<!-- Page : Visualisation des valeurs en base de donnes -->
<div class="row">
<div class="col-lg-12">
<div class="ibox float-e-margins">
......
<!-- Page : Visualisation d'un capteur,
permet egalement de le modifier/supprimer -->
<div class="row" style="text-align: center;">
<div class="col-lg-6" style="display:inline-block; float:none; text-align:left;">
<select id="modifierGroupe" class="chosen-select">
......@@ -89,6 +91,7 @@
</div>
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script>
/** Affiche les valeurs arriantes en direct. Affichage d'une map si ce sont des donnees GPS, sinon affichage d'un graphe **/
var map, mappingLayer, vectorLayer, selectMarkerControl, selectedFeature;
function onFeatureSelect(feature) {
......
<script>
/** Traitement : Mise a jour des valeurs sur la page de live **/
var client;
var reconnectTimeout = 2000;
......
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script>
/** Traitement : Affichage et mise a jour des valeurs dans la page de visualisation des donnees **/
/** Affichage d'un graphe si les valeurs sont numeriques, sinon affichage d'une map avec des marqueurs **/
var map = null, mappingLayer, vectorLayer, selectMarkerControl, selectedFeature;
var table ;
......@@ -316,7 +318,7 @@ function initMap(){
map.getProjectionObject())
, 13
);
}
function placeMarker(lat, lon, temps){
......
<script>
/** Traitement : Modification d'un capteur sur la page de visualisation d'un capteur
Permet de modifier un capteur, ses seuils ou son groupe, et de le supprimer **/
function supprimerCapteur() {
swal({
title: "Êtes-vous sûr de vouloir supprimer ce capteur ?",
......@@ -107,7 +108,7 @@ function changeTextField() {
$("#newSeuil").css('display', '');
}
$( ".modifiableSuppr" ).each(function( index ) {
$(this).css('display', 'none');
});
......
# Python 2 (ajouter les cast en int() pour python 3)
# En cas de probleme de performance, n'afficher la date que toutes les 1000 valeurs => if i % 1000 == 0 : print(...)
# Version 2: Utilisable avec les fichiers issue du second groupe de test, ou le champ "temps" est ecrit avec une date sous la forme AAAA-MM-JJ HH:mm:SS.ff
# UTILISATION
# sans argument = Toutes les moules
# avec argument =>
# 3 = moule A3
# 4 = moule A4
# 5 = moule A5
# Genere une image du graphe avec matplot. Le traitement est suivie dans un fichier texte.
# Argument =>
# 1 = Id du capteur
# 2 = Date de debut
# 3 = Date de fin
# 4 = Unite de valeur
# 5 = Nombre de valeur max
# 6 = Moyenne glissante
# 7 = Identifiant unique du processus
# 8 = Nom de la legende
import matplotlib
matplotlib.use('Agg')
......@@ -84,7 +82,7 @@ i = 0
for row in cursor.fetchall():
#try:
x.append(row[1])
y.append(int(row[2]))
y.append(float(row[2]))
if i % 10000 == 0:
#print("data_"+str(row[1]))
......@@ -101,9 +99,9 @@ for row in cursor.fetchall():
if (moyenne / CONST_MOYENNE) < axeMin: axeMin = (moyenne / CONST_MOYENNE)
else:
moy.append(int(row[2]))
if int(row[2]) > axeMax: axeMax = int(row[2])
if int(row[2]) < axeMin: axeMin = int(row[2])
moy.append(float(row[2]))
if float(row[2]) > axeMax: axeMax = float(row[2])
if float(row[2]) < axeMin: axeMin = float(row[2])
i = i+1
#except:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment