advance - bulck/bulcky GitHub Wiki
Cette page ne concerne que les utilisateurs experts.
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.
Le calendrier est au format XML. Il doit être écrit selon le format d'un flux de syndication ATOM.
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>
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>
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>
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>
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>
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>
Un lien vers lui même:
Exemple:
<link rel="self" href="www.cultibox.fr/flux.xml" />
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.
Le fabricant peut définir une icône. Exemple:
<icon>http://wwww.com/images/icon.png</icon>
Le fabricant peut définir un logo. Exemple:
<logo>http://wwww.com/images/icon.png</logo>
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>
Le fabricant peut définir un logo. Exemple:
<logo>http://wwww.com/images/icon.png</logo>
Cette balise est une construction « texte ».
Exemple:
<rights type = "text">
© Cultibox, 2013
</rights>
Chaque entrée est contenu dans une balise
<entry>
. Les entrées correspondent à des événements du calendrier.
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>
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>
Chaque entrée doit contenir un identifiant unique.
Exemple d'identifiant:
<id>http://www.cultibox.fr/id1</id>
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>
Exemple:
<summary>Phase de croissance</summary>
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é.
C'est cette balise qui contient le texte de l’événement.
Exemple:
<content type = "text">
N'oubliez pas une dose de XX!
</content>
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>
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>
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>
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>
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>
<?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>
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.
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.
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.
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.
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.
- 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
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