advance - bulck/bulcky GitHub Wiki

Sommaire

Introduction

Cette page ne concerne que les utilisateurs experts.

Calendriers d'engrais

Introduction

Les fabricants d'engrais peuvent nous soumettre les calendriers de leurs engrais pour qu'ils soient disponibles dans le calendrier de l'utilisateur. Nous nous réservons le droit d'ajouter ou de supprimer les calendriers.

Format du calendrier

Le calendrier est au format XML. Il doit être écrit selon le format d'un flux de syndication ATOM.

Informations obligatoires

Il est nécessaire de spécifier la balise d'en-tête XML, et le nœud racine contenant l'URL du namespace d'Atom. Pour Atom, ce nœud s'appelle feed et le namespace est http://www.w3.org/2005/Atom.

Construction du fichier:

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
</feed>

Date de mise à jour

La date de mise à jour du flux ATOM doit être spécifiée. Elle doit être écrite au format RCF 3339 / ISO 8601.

Exemple de date de mise à jour:

<updated>2008-05-29T13:14:57+02:00</updated>

Identifiant unique

Le flux ATOM doit contenir un identifiant unique. Le plus simple est d'indiquer directement le nom du site web du fabricant.

Exemple d'identifiant:

<id>http://www.cultibox.fr/</id>

Titre

Le flux ATOM doit contenir le titre et le sous titre. Pour notre calendrier:

  • Le titre est le fabricant.
  • Le sous titre est le nom du produit ou de la gamme.

Exemple de titre:

<title>Engrais Top</title>
<subtitle>Engrais numéro 1</subtitle>

Auteur

Le flux ATOM doit contenir un auteur. Pour définir un auteur, il faut utiliser la balise

<author>

. Exemple d'auteur:

<author>
    <name>Cultibox</name>
    <uri>http://www.cultibox.fr/</uri>
    <email>[email protected]</email>
</author>

Catégorie

Cette information est obligatoire. Elle nous permet d'identifier quel type d'engrais est contenu dans ce fichier. Elle permet aussi de séparer le calendrier lunaire des autres calendriers.

La catégorie doit être engrais.

Exemple de catégorie:

<category term = "engrais" label = "engrais">
    [...]
</category>

Si vous voulez que votre engrais soit reconnu et affiché dans la gestion du calendrier il faudra rajouter à cela plusieurs champs:

  • substrat: permettant de définir le type de substrat (Terre, Hydro, Aero, Coco)
  • periode: la période adaptée à l'utilisation de l'engrais (croissance, floraison...). C'est le nom qui est affiché dans le selecteur d'engrais.
  • marque: la marque de l'engrais

Voici un exemple complet:

<category term = "engrais" label = "engrais">
   <substrat>Terre</substrat>
   <periode>croissance</periode>
   <marque>Biocanna</marque>
</category>

Lien

Un lien vers lui même:

Exemple:

<link rel="self" href="www.cultibox.fr/flux.xml" />

Informations non obligatoire

De plus, le fabriquant à la possibilité de définir les rubriques suivantes:

  • Icon
  • Logo
  • Important
  • Droits Ces informations ne sont pas utilisées pour l'instant.

Icon

Le fabricant peut définir une icône. Exemple:

<icon>http://wwww.com/images/icon.png</icon>

Logo

Le fabricant peut définir un logo. Exemple:

<logo>http://wwww.com/images/icon.png</logo>

Important

Le champ nommé important définit ou non un évènement comme important. Une valeur à "1" définit l'évènement comme important, une valeur à 0 (ou l'absence du champ Important) définit l'évènement comme non important

Exemple:

<important>1</important>

Logo

Le fabricant peut définir un logo. Exemple:

<logo>http://wwww.com/images/icon.png</logo>

Droits, copyrights

Cette balise est une construction « texte ».

Exemple:

<rights type = "text">
    © Cultibox, 2013
</rights>

Les entrées

Chaque entrée est contenu dans une balise

<entry>

. Les entrées correspondent à des événements du calendrier.

Informations Obligatoires

Titre

Chaque entrée doit contenir le titre. C'est le titre qui sera donné à l’événement du calendrier.

Exemple de titre:

<title>Phase croissance</title>
Date de mise à jour

Chaque entrée doit avoir une date de mise à jour. Elle doit être écrite au format RCF 3339 / ISO 8601.

Exemple de date de mise à jour:

<updated>2008-05-29T13:14:57+02:00</updated>
Identifiant unique

Chaque entrée doit contenir un identifiant unique.

Exemple d'identifiant:

<id>http://www.cultibox.fr/id1</id>

Informations facultatives

Auteur

Le flux ATOM doit contenir un auteur. Comme un auteur est définit dans les balises feed, vous n'êtes pas obligé de redéfinir un auteur. Exemple d'auteur:

<author>
    <name>Cultibox</name>
    <uri>http://www.cultibox.fr/</uri>
    <email>[email protected]</email>
</author>
résumé

Exemple:

<summary>Phase de croissance</summary>

Catégorie

Cette information permet d'identifier quel type d'engrais est contenu dans ce fichier. Les catégories disponibles sont:

term label
bouture Bouturage
vegetation Vegetation
prefloraison prefloraison
floraison floraison
recolte recolte

Exemple de catégorie:

<category term = "bouture" label = "Bouturage" />

Non utilisé.

contenu

C'est cette balise qui contient le texte de l’événement.

Exemple:

<content type = "text">
   N'oubliez pas une dose de XX!
</content>
durée

Cette balise permet de définir la durée de l’événement. La durée est inscrite en jour.

Exemple (3 jours):

<duration>3</duration>
Début de cet événement

Cette balise permet de définir la date de début de l’événement. La durée est inscrite en jour.

Exemple (au bout de 18 jours):

<start>2008-05-29T13:14:57+02:00</start>
Nutriment

Cette balise permet de définir le nom du nutriment et le dosage. Elle peut contenir deux champs : name et dosage.

Exemple:

<nutriment>
  <name>Engrais 1</name>
  <dosage>3ml/l</dosage>
</nutriment>
Couleur

Cette balise permet de définir la couleur qui sera utilisée lors de l'affichage de l’événement dans le calendrier du logiciel. La couleur peut être définie aussi bien par son nom anglais (exemple: red, yellow...) que par son code hexadécimal (exemple: #ffffff, #A485E9 ...)

Exemple:

<color>red</color>
Icône

Cette balise permet de définir une icône qui sera utilisée lors de l'affichage de l’événement dans le calendrier du logiciel. L'icône peut être définie de deux façons: en ne donnant que le nom de l'icône et en plaçant cette icône dans le répertoire htdocs/cultibox/main/modules/img/ ou alors en fournissant une adresse complète. L'affichage est optimisé pour une icône de 15 pixels sur 15 pixels. Exemple:

<icon>moon.png</icon>

ou alors:

<icon>http://voici.une.url.com/icone.png</icon>

Exemple de fichier

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <updated>2013-11-03T10:37:57+02:00</updated>
   <id>http://www.cultibox.fr/</id>
   <title>House and Garden Standard Terre</title>
   <subtitle></subtitle>
   <author>
      <name>Cultibox</name>
      <uri>http://www.cultibox.fr/</uri>
      <email>[email protected]</email>
   </author>
   <category term = "engrais" label = "engrais">
    <substrat>Terre</substrat>
    <periode>Standard</periode>
    <marque>House and Garden</marque>
   </category>
   <link rel="self" href="www.cultibox.fr/House and Garden_Terre.xml" />
   <icon></icon>
   <logo></logo>
   <rights type = "text">
    © Cultibox, 2013
   </rights>
    <entry>
      <title>S1 Croissance</title>
      <summary>S1 Croissance</summary>
      <updated>2008-05-29T13:14:57+02:00</updated>
      <id>http://www.cultibox.fr/id1</id>
      <category term = "vegetation" label = "Vegetation" />
      <content type = "text"></content>
      <ec>1,2</ec>
      <duration>7</duration>
      <start>0</start>
      <facultative>0</facultative>
      <nutriment>
        <name>Roots Excelurator</name>
        <dosage>0,3 ml/l</dosage>
      </nutriment>
      <nutriment>
        <name>Terre A B</name>
        <dosage>1,5 ml/l</dosage>
      </nutriment>
      <nutriment>
        <name>Amino Treatment</name>
        <dosage>0,25 ml/l</dosage>
      </nutriment>
      <nutriment>
        <name>Algen extract</name>
        <dosage>1 ml/l</dosage>
      </nutriment>
      <color>#98FB98</color>
      <icon>House_and_Garden.png</icon>
   </entry>
    <entry>
      <title>S2 Croissance</title>
      <summary>S2 Croissance</summary>
      <updated>2008-05-29T13:14:57+02:00</updated>
      <id>http://www.cultibox.fr/id1</id>
      <category term = "vegetation" label = "Vegetation" />
      <content type = "text"></content>
      <ec>1,2</ec>
      <duration>7</duration>
      <start>7</start>
      <facultative>0</facultative>
      <nutriment>
        <name>Roots Excelurator</name>
        <dosage>0,3 ml/l</dosage>
      </nutriment>
      <nutriment>
        <name>Terre A B</name>
        <dosage>1,5 ml/l</dosage>
      </nutriment>
      <nutriment>
        <name>Amino Treatment</name>
        <dosage>0,35 ml/l</dosage>
      </nutriment>
      <nutriment>
        <name>Algen extract</name>
        <dosage>1 ml/l</dosage>
      </nutriment>
      <color>#9ACD32</color>
      <icon>House_and_Garden.png</icon>
   </entry>
</feed>

Ajouter un test Sélénium

Introduction

Sélénium est un environnement de test qui permet de valider notre logiciel. Ce chapitre ne concerne que les personnes qui souhaitent participer au développement et à l'amélioration du logiciel.

Sélénium IDE

Avant toutes choses, il vous faut Mozilla Firefox. Ensuite téléchargez le plug-in sélénium pour Firefox: http://release.seleniumhq.org/selenium-ide/2.0.0/selenium-ide-2.0.0.xpi

Autorisez l'installation puis suivez les instructions.

Enregistrer un test

Lancez Firefox. Dans le menu Firefox puis Développement Web, cliquez sur Selenium IDE. Une interface s'affiche.

Cliquez sur le rond rouge pour démarrer ou arrêter l’enregistrement de votre test.

Ensuite, il faut enregistrer votre suite de test. Cliquez sur fichier, enregistrez la suite de test sous (et non pas sauver le test sous). Vous devez enregistrer chacun des fichiers pour chaque test puis enregistrer le fichier qui contient la suite de test.

Archiver le test

Pour pouvoir lancer le test, il est nécessaire d'archiver le test dans SVN. Il faut ajouter un dossier dans le dossier trunk/01_software/03_test/01_selenium avec votre test, puis coller les fichiers Selenium à l'intérieur. N'oubliez pas de commiter.

Créer le test dans Jenkins

Dans Jenkins, dans la vue test, cliquez sur "nouveau job". Puis cliquez sur "Copier un job existant". Entrez test_selenium dans "Copier à partir de". Le nom de votre job doit être le même que le nom du dossier. Dans la partie "Exécuter un script shell" de la section build, changez les chemins pour qu'ils pointent vers votre test.

Changer le numéro de la prise 3500W

  • Débranchez la Cultibox
  • Branchez la prise 3500W
  • Appuyez sur le petit bouton en façade pendant au moins 10s jusqu’à ce que la LED clignote.
  • Relâchez le bouton puis appuyez une fois sur le bouton.
  • La prise clignote deux fois
  • Ouvrez le fichier pluga
  • changez la première ligne. Mettre 001.
  • Mettre le numéro pour la prise sur la deuxième ligne (typiquement 004)
  • Branchez la Cultibox
  • Allez dans le menu Param --> Émetteur --> reg prise
  • Cliquez sur le bouton gauche pour éteindre la prise
  • Appuyez un coup sur le petit bouton de la prise. Elle doit clignoter
  • Rapidement, appuyez sur le bouton droite de la Cultibox.
  • La prise doit clignoter deux fois
  • Si la procédure ne fonctionne pas, refaites les étapes 10 à 13

Fichier de configuration du logiciel

Un fichier de configuration (htdocs/cultibox/main/libs/config.php) permet de définir les variables gérant le comportement du logiciel. Ces options sont a modifier avec précaution.

  • SOFT_PORT : port utilisé pour se connecter au logiciel
  • LIST_GRAPHIC_COLOR : couleurs utilisées pour l'affichage des courbes
  • LIST_RECORD_FREQUENCY : liste des temps servant à définir à quelle période enregistrer les fichiers de logs
  • NB_MAX_PLUG : nombre de prise maximal qui peut être définit dans le logiciel
  • NB_SELECTABLE_PLUG : nombre de prise maximale gérée par la cultibox (10 actuellement)
  • NB_MIN_PLUG : nombre de prises minimale (3 actuellement)
  • NB_MAX_SENSOR_LOG : le nombre maximal de capteurs disponible pour les logs (4 actuellement)
  • NB_MAX_SENSOR_PLUG : le nombre maximal de capteur utilisable par la cultibox (6 actuellement)
  • NB_MAX_CANAL_DIMMER : nombre de canaux disponibles pour les prises variateurs
  • LIST_UPDATE_FREQUENCY : choix des fréquences de mise à jour de la cultibox
  • LIST_GRAPHIC_COLOR_PROGRAM : liste des couleurs pour les programmes
  • LIST_SUBJECT_CALENDAR : liste des sujet de base disponible lors de l'ajout d'un evènement du calendrier
  • DEBUG_TRACE : permet d'activer le mode 'debug' si mise à true. Le mode debug affiche des statistiques de génération des pages, la taille mémoire utilisée...
  • PLUGA_DEFAULT : adresse des prises par défaut
  • PLUGA_DEFAULT_3500W : adresse des prises 3500W par défaut
  • FIRST_LOG_YEAR : première année de recherche pour les logs
  • UPDATE_FILE : fichier de vérification des mises à jour disponibles
  • WEBSITE : adresse du site web à afficher si une mise à jour a été trouvé
  • REMOTE_SITE : adresse du site pour vérifier la connexion possible et la recherche de mises à jour
  • MODULE_IMPORT_EXPORT : permet d'activer ou désactiver les modules d'import/export
  • LOG_SEARCH : liste du nombre de mois disponible pour la recherche de logs
  • LIST_GRAPHIC_COLOR_SENSOR_XXXXX : liste des dégradés de couleur en fonction de la couleur choisie pour les courbes
  • GRAPHIC_COLOR_GRID_XXXXX : liste de la couleur des grilles des graphiques
  • LIST_GRAPHIC_COLOR_CALENDAR : liste des couleurs utilisés pour le calendrier
  • REMOTE_DATABASE : adresse pour l'envoi des informations statistiques du logiciel
  • WIFI_KEY_TYPE_LIST : liste des clefs wifi supportés par le logiciel
  • SENSOR_DEFINITION : définition des capteurs gérés par la cultibox
  • PLUGV_MAX_CHANGEMENT : nombre de changement maximum autorisé par les prises
⚠️ **GitHub.com Fallback** ⚠️