services:notice_technique_du_siflore

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
services:notice_technique_du_siflore [2016/12/07 15:49]
anais.just@fcbn.fr [La version (v1) proposée utilise:]
services:notice_technique_du_siflore [2022/03/07 12:00] (Version actuelle)
Ligne 2: Ligne 2:
  
 ====== Généralités sur l'application ====== ====== Généralités sur l'application ======
 +===== Notice technique d'installation=====
 +[[services:notice_technique_du_siflore|La notice technique d'installation se trouve ici]]
 +
  
 ===== Contexte du projet/Outils ===== ===== Contexte du projet/Outils =====
Ligne 13: Ligne 16:
  
  
-  * le framework php [[http://symfony.com/|Symfony2:] basé sur le standard de Modèle Vue Controller MVC +  * le framework php [[http://symfony.com/|Symfony2:]] basé sur le standard de Modèle Vue Controller MVC 
  
 >Les « distributions » Symfony2 sont des applications entièrement fonctionnelles qui incluent les bibliothèques du coeur de Symfony2, une sélection de bundles utiles, une arborescence pratique et une configuration par défaut. Une distribution Symfony2 est un squelette d'application qui peut être immédiatement utilisé pour commencer à développer. >Les « distributions » Symfony2 sont des applications entièrement fonctionnelles qui incluent les bibliothèques du coeur de Symfony2, une sélection de bundles utiles, une arborescence pratique et une configuration par défaut. Une distribution Symfony2 est un squelette d'application qui peut être immédiatement utilisé pour commencer à développer.
Ligne 53: Ligne 56:
 ==== La version (v2) proposée: ==== ==== La version (v2) proposée: ====
  
-Elle utilise les mêmes librairies/outil que la V1. La partie SIFLore (NewSIFLoreBundle) a évolué. La partie SIVeg a été intégrée (NewSIVegBundle).+Elle utilise les mêmes librairies/outils que la V1. La partie SIFLore (NewSIFLoreBundle) a évolué. La partie SIVeg a été intégrée (NewSIVegBundle).
  
 ===== Arborescence du projet sous Symfony ===== ===== Arborescence du projet sous Symfony =====
Ligne 83: Ligne 86:
       *   src\Fcbn\…\Service : regroupes les classes avec un but précis – côté serveur       *   src\Fcbn\…\Service : regroupes les classes avec un but précis – côté serveur
       *   src\Application : Bundles Sonata (Bundles spécifique orienté CMS)       *   src\Application : Bundles Sonata (Bundles spécifique orienté CMS)
-  *   vendor -->librairies utilisées par le projet (ex: fos, sonata, swiftmailer, symphony, doctrine...) ATTENTION : NE JAMAIS MODIFIER VENDOR DIRECTEMENT+  *   vendor -->librairies utilisées par le projet (ex: fos, sonata, swiftmailer, symphony, doctrine...) **ATTENTION : NE JAMAIS MODIFIER VENDOR DIRECTEMENT**
   *   web --> contient les fichiers assets globaux qui concernent tout le projet(css, javascript...) par ex: bootstrap (NB : tous les assets installés de src/ sont copiés dans web/ ils sont rafraichis avec la commande  php app/console assetic:dump)   *   web --> contient les fichiers assets globaux qui concernent tout le projet(css, javascript...) par ex: bootstrap (NB : tous les assets installés de src/ sont copiés dans web/ ils sont rafraichis avec la commande  php app/console assetic:dump)
  
Ligne 155: Ligne 158:
 |maille_display|Affiche le champ quand on est en mode maille (5 ou 10km)|false| |maille_display|Affiche le champ quand on est en mode maille (5 ou 10km)|false|
 |commune_display|Affiche le champ en mode commune|false| |commune_display|Affiche le champ en mode commune|false|
-|label|Libellé à afficher en haut de la colonne|index du champ en remplaçant les @_par des espaces|+|label|Libellé à afficher en haut de la colonne|index du champ en remplaçant les **_** par des espaces|
 |field_name|Partie du SELECT qui sera utilisée pour récupérer le champ en SQL|index du champ| |field_name|Partie du SELECT qui sera utilisée pour récupérer le champ en SQL|index du champ|
-|header_classes|Classes CSS à appliquer au @thde la colonne| | +|header_classes|Classes CSS à appliquer au **th** de la colonne| | 
-|body_classes|Classes CSS à appliquer aux @tdde la colonne| |+|body_classes|Classes CSS à appliquer aux **td** de la colonne| |
 |roles|Rôles requis pour voir ce champ| | |roles|Rôles requis pour voir ce champ| |
 |not_roles|Rôles exclus pour voir ce champ| | |not_roles|Rôles exclus pour voir ce champ| |
Ligne 184: Ligne 187:
 </code> </code>
  
-Le titre de la colonne serait "id flore fcbn" car aucun @labeln'est défini (l'index du champ *id_flore_fcbn* est utilisé et les @_sont remplacés par des espaces).+Le titre de la colonne serait "id flore fcbn" car aucun **label** n'est défini (l'index du champ *id_flore_fcbn* est utilisé et les **_** sont remplacés par des espaces).
  
 <code class="yml"> <code class="yml">
Ligne 203: Ligne 206:
  
 Ici on définit 2 fois la même donnée mais pour différencier 2 comportements. Ici on définit 2 fois la même donnée mais pour différencier 2 comportements.
-Ainsi les utilisateurs non connectés verront le champ @date_premiere_obs_year(juste l'année) et les autres verront @date_premiere_obs(date complète)+Ainsi les utilisateurs non connectés verront le champ **date_premiere_obs_year** (juste l'année) et les autres verront **date_premiere_obs** (date complète)
  
 ===== Requêtes (en base de donnée) ===== ===== Requêtes (en base de donnée) =====
Ligne 209: Ligne 212:
 Les requêtes vers les données SIFlore sont stockées dans le fichier source:/src/Fcbn/NewSIFloreBundle/Services/QueryService.php Les requêtes vers les données SIFlore sont stockées dans le fichier source:/src/Fcbn/NewSIFloreBundle/Services/QueryService.php
  
-Elles utilisent la connexion *siflore* (paramétrée dans [[Wiki#Bases-de-données|config.yml]]) avec des "requêtes préparées":http://www.php.net/manual/fr/pdo.prepared-statements.php.+Elles utilisent la connexion **siflore** (paramétrée dans [[services:notice_technique_du_siflore#bases_de_donnees|config.yml]]) avec des "requêtes préparées":http://www.php.net/manual/fr/pdo.prepared-statements.php.
  
 Le fichier est un "service":http://symfony.com/fr/doc/current/book/service_container.html Symfony contenant une fonction par requête. Le fichier est un "service":http://symfony.com/fr/doc/current/book/service_container.html Symfony contenant une fonction par requête.
Ligne 216: Ligne 219:
  
 L’accès à ces requêtes est sécurisé dans source:/src/Fcbn/NewSIFloreBundle/Controller/QueryController.php L’accès à ces requêtes est sécurisé dans source:/src/Fcbn/NewSIFloreBundle/Controller/QueryController.php
-Par exemple c'est ici qu'on interdit l’accès aux commentaires. Attention, ça ne conditionne pas l'affichage (onglets, boutons, ...) l'affichage est géré dans les [[Wiki#Templates|templates]]. +Par exemple c'est ici qu'on interdit l’accès aux commentaires. Attention, ça ne conditionne pas l'affichage (onglets, boutons, ...) l'affichage est géré dans les [[services:notice_technique_du_siflore#templates_affichage|templates]]. 
-La partie **SELECT** de chaque requête qui concerne une grid (Synthèses & Observations) est construite à partir de la [[wiki#Synthèses-38-Observations|configuration correspondante]]+La partie **SELECT** de chaque requête qui concerne une grid (Synthèses & Observations) est construite à partir de la [[services:notice_technique_du_siflore#syntheses_observations|configuration correspondante]]
  
 ===== Layers ===== ===== Layers =====
Ligne 224: Ligne 227:
  
 Les layers sont stockés dans la base de donnée du portail. Les layers sont stockés dans la base de donnée du portail.
-La table s’appelle @maplayers@.+La table s’appelle **maplayers**.
 On peut y configurer notamment: On peut y configurer notamment:
  
Ligne 235: Ligne 238:
  
 L'appel et le paramétrage des fonds cartographiques est fait dans le fichier source:/src/Fcbn/NewSIFloreBundle/Resources/public/js/sifloremaps.js L'appel et le paramétrage des fonds cartographiques est fait dans le fichier source:/src/Fcbn/NewSIFloreBundle/Resources/public/js/sifloremaps.js
 +
 +Un flux de cartes WMS est généré à partir de [[http://docs.qgis.org/testing/en/docs/user_manual/working_with_ogc/ogc_server_support.html|QGIS mapserveur]] (version 1.3,  aujourd'hui le projet s'appelle qgisserver et est en version 2.0) avec un projet carto QGIS enregistré dans la version 1.8 \\P
 +Le projet se trouve ici /home/fcbn/htdocs/fond_carto/fond_carto_si_flore.qgs avec tous les shapefiles qui l'accompagnent.
  
 ==== Fixtures (Layers d'origine) ==== ==== Fixtures (Layers d'origine) ====
Ligne 337: Ligne 343:
  
   * Pour l'envoi des mails de réinitialisation de mot de passe, Symfony a besoin d'un destinataire.   * Pour l'envoi des mails de réinitialisation de mot de passe, Symfony a besoin d'un destinataire.
-Celui-ci est réglé dans source:app/config/config.yml dans la section @fos_user.from_email@+Celui-ci est réglé dans source:app/config/config.yml dans la section **fos_user.from_email**
   * Par défaut, Symfony utilise le SMTP local, donc il doit y en avoir un d'installé sur la machine ("exemple Postfix":https://www.digitalocean.com/community/articles/how-to-install-and-setup-postfix-on-ubuntu-12-04)   * Par défaut, Symfony utilise le SMTP local, donc il doit y en avoir un d'installé sur la machine ("exemple Postfix":https://www.digitalocean.com/community/articles/how-to-install-and-setup-postfix-on-ubuntu-12-04)
   * Quand un utilisateur demande un nouveau mot de passe, la date est stokée dans la table des utilisateurs ce qui l’empêche de faire une 2eme demande   * Quand un utilisateur demande un nouveau mot de passe, la date est stokée dans la table des utilisateurs ce qui l’empêche de faire une 2eme demande
Ligne 360: Ligne 366:
  
 ==== Récupérer le projet ==== ==== Récupérer le projet ====
- 
- 
-Au préalable la clé ssh doit avoir été envoyée à l'admin. 
- 
-=== Générer une clé SSH === 
- 
- 
-Si aucune clé n'a encore été créée 
- 
-<code>$ ssh-keygen</code> 
- 
-Laisser toutes les valeurs par defaut (Enter à chaque fois). 
-Afficher le contenu de la clé publique: 
- 
-<code> 
-$ cd 
-$ cat .ssh/id_rsa.pub 
-</code> 
- 
-Copier/coller le resultat dans un mail pour l'admin 
- 
-=== Cloner === 
- 
  
 La récupération du projet se fait en clonant le repository avec git La récupération du projet se fait en clonant le repository avec git
  
-<code>git clone fcbn@dev.masao.eu:fcbn.git</code> +<code>https://github.com/fedecbn/sifloreveg.git</code>
- +
-Si le message suivant aparait +
- +
-> Agent admitted failure to sign using the key. +
- +
-Vous devrez ajouter votre clé à l'agent SSH +
- +
-<code>$ ssh-add</code>+
  
 === Racine du projet === === Racine du projet ===
- 
  
 À partir d'ici, lancer toutes les commandes à la racine du projet: À partir d'ici, lancer toutes les commandes à la racine du projet:
Ligne 416: Ligne 390:
  
 ===== Installer les extensions php ===== ===== Installer les extensions php =====
- 
  
 <code>$ sudo apt-get install php5-cli php5-intl php5-gd php5-json php5-pgsql</code> <code>$ sudo apt-get install php5-cli php5-intl php5-gd php5-json php5-pgsql</code>
Ligne 429: Ligne 402:
  
  
-À la [[Wiki#Racine-du-projet|racine du projet]]+À la racine du projet
 <code> <code>
 $ curl -s https://getcomposer.org/installer | php $ curl -s https://getcomposer.org/installer | php
 </code> </code>
  
-Si @curln'est pas présent, l'installer:+Si **curl** n'est pas présent, l'installer:
 <code> <code>
 $ sudo apt-get install curl $ sudo apt-get install curl
Ligne 464: Ligne 437:
 Utiliser l'éditeur de texte nano et recopier dedans le vhost indiqué plus bas Utiliser l'éditeur de texte nano et recopier dedans le vhost indiqué plus bas
 <code>$ sudo nano /etc/apache2/sites-available/fcbn.conf</code> <code>$ sudo nano /etc/apache2/sites-available/fcbn.conf</code>
-Si @nanon'est pas present, l'installer:+Si **nano** n'est pas present, l'installer:
 <code>$ sudo apt-get install nano</code> <code>$ sudo apt-get install nano</code>
 Coller le vhost ci-dessous dans nano Coller le vhost ci-dessous dans nano
 <code class="xml"> <code class="xml">
 <VirtualHost *:80> <VirtualHost *:80>
-    ServerAdmin cestmoil@admin.net+    ServerAdmin cestmoil**admin.net
  
     DocumentRoot "/var/www/fcbn/"     DocumentRoot "/var/www/fcbn/"
Ligne 500: Ligne 473:
 <code>$ echo "ServerName localhost" | sudo tee -a /etc/apache2/apache2.conf</code> <code>$ echo "ServerName localhost" | sudo tee -a /etc/apache2/apache2.conf</code>
  
-===== Activer le module @rewrite=====+===== Activer le module **rewrite** =====
  
  
-@rewritepermet de modifier les chemins de requête HTTP en temps réel+**rewrite** permet de modifier les chemins de requête HTTP en temps réel
 <code>$ sudo a2enmod rewrite</code> <code>$ sudo a2enmod rewrite</code>
  
Ligne 512: Ligne 485:
  
  
-Faire pointer @/var/www/fcbn/sur le repertoire contenant @app.phpet @app_dev.php@+Faire pointer **/var/www/fcbn/** sur le repertoire contenant **app.php** et **app_dev.php**
 <code>$ sudo ln -s ~moi/fcbn/web/ /var/www/fcbn</code> <code>$ sudo ln -s ~moi/fcbn/web/ /var/www/fcbn</code>
-Remplacer @~moi/fcbn/web/par le chemin d'installation de l'application (en y incluant le répertoire @web@)+Remplacer **~moi/fcbn/web/** par le chemin d'installation de l'application (en y incluant le répertoire **web**)
  
 ===== Activer le vhost ===== ===== Activer le vhost =====
Ligne 545: Ligne 518:
  
  
-<code>$ php app/console fos:user:create --super-admin admin cestmoil@admin.net pass</code>+<code>$ php app/console fos:user:create --super-admin admin cestmoil**admin.net pass</code>
  
 ===== Vérifier l'installation ===== ===== Vérifier l'installation =====
  • services/notice_technique_du_siflore.1481122145.txt.gz
  • Dernière modification: 2022/03/07 12:00
  • (modification externe)