1. Architecture

Failed to generate image: PlantUML image generation failed: Invalid path '/plantuml'

node "KreativMedia\n80.74.154.187" as KreativMedia {
  node "DNS"
  database MySQL {

  }
  [Site web] --> MySQL
}

node "DigitalOcean\n46.101.214.30" as DigitalOcean {
  [Apache] --> [Ludanim]
  [Apache] --> [Ludexploit]
  [Ludexploit] --> MySQL
}

node "OneLinkTo" as OneLinkTo {
  [Router]
}

node "AppStore"
node "PlayStore"
node "LetsEncrypt"
node "Firebase"

Mobile --> DNS
Browser --> DNS
DNS --> [Apache] : ludanim.ludesco.ch\napi.ludesco.ch\nappstore.ludesco.ch
DNS -> [Site web] : ludesco.ch
Apache -> OneLinkTo : appstore.ludesco.ch
Apache -> LetsEncrypt : utilise
Router -> PlayStore
Router -> AppStore
Ludexploit -> Firebase
Firebase -> Mobile : notification

note left of "Site web"
  Wordpress
end note

1.1. Composants

KreativMedia

Site web

Le site WEB est basé sur Wordpress et permet la gestion des utilisateurs, du programme et l’inscription aux différents évènements proposés par le festival.

MySQL

La base de données contient toutes les données gérées par le festival

DigitalOcean

DigitalOcean est une entreprise de type "Infrastructure As A Service (IAAS)"".
Elle met à disposition des machines virtuelles vierges que l’ont peut par la suite exploité pour tout type de besoin.
Au 14 février 2017, Ludesco ne dispose pas de compte pour ce service. Arnaud Geiser fournit l’infrastructure avec son compte actuel. Une demande sera sans doute émise afin de disposer d’une infrastructure plus professionnelle.

Ludexploit

Service transversal, il permet de fournir une API à tout type de service afin de pouvoir exploiter les informations de Ludesco. Il correspond à la pièce central qui permet à Ludanim et aux applications mobiles de se fournir en données.

Ludanim

Ludanim est un programme qui est utilisé depuis le stand d’information durant le festival afin d’inscrire de nouvelles inscriptionss, d’imprimer les documents relatifs aux animations et d’envoyer des notifications aux smartphones disposant de l’application Ludesco.

OneLinkTo

OneLinkTo est un service WEB permettant de proposer des redirections en fonction du type de périphérique s’y connectant (smartphone, browser). Il est utilisé afin de gérer la redirection sur les différents stores (AppStore - iOS, PlayStore Android)
Afin de ne pas dépendre directement de ce service, une redirection est effectuée depuis appstore.ludesco.ch

Let’s Encrypt

Let’s encrypt est une autorité de certification fournissant des certificats gratuits. Il a été utilisé afin de fournir de l’HTTPS sur les urls suivantes :

  • ludesco.ch

  • api.ludesco.ch

2. Software Factory

2.1. Langages

2.2. Frameworks

AngularJS

Ludanim

React-Native

Ludesco Mobile

2.3. Build

Lorsqu’une ligne de code est commité sur le repository, une nouvelle version de l’application est automatiquement généré et archivé.

Failed to generate image: PlantUML image generation failed: Invalid path '/plantuml'
actor Developpeur

Developpeur -> Gitlab: Push
Jenkins -> Gitlab: Observe
Jenkins -> Jenkins: Build (leiningen/gradle, gulp/npm)
Jenkins -> Archiva : Archiva

2.4. Déploiement

Le déploiement ne se fait pas de manière automatique. Il se fait au travers de Jenkins. Par défaut, la dernière version est déployée (LATEST)

Failed to generate image: PlantUML image generation failed: Invalid path '/plantuml'
actor Developpeur

Developpeur -> Jenkins : Demande de déploiement
Jenkins -> Archiva: Recherche
Jenkins -> DigitalOcean: Déploie (gradle)

3. Produits

3.1. Ludexploit

Déploiement

3.2. Ludanim

Déploiement

3.4. Ludesco Documentation

Tips & Tricks

  1. Comment modifier les widgets en bas de page (Twitter, vidéos, partenaires principaux) ?

    Apparence ⇒ Widgets ⇒ Prefooter

  2. Comment modifier les champs du formulaire d’inscription ?

    wp-content/themes/bbq/plugins/events-manager/forms/event/attributes-public.php pour les champs en dessous de « Description »
    wp-content/themes/bbq/includes/tp-em-custom-placeholder.php
    + Modifier dans WP sous Evenements ⇒ Paramètres ⇒ chercher un bloc où on retrouve les noms des différents champs où y faire les modifications

  3. Comment modifier les couleurs du menu principal ?

    WP : apparence ⇒ éditeur ⇒ style.css – ligne contenant « #top #navigation .nav li ul li a ⇒ changer les valeurs de background par exemple

  4. Comment afficher le programme dans une nouvelle page?

    Indiquer dans la page [ludescoeventstype]

  5. Comment modifier les filtres catégories et lieux (style, longueur des plages, titre, …​)?

    WP : apparence ⇒ éditeur ⇒ custom.css – locationFilter, dayFilter, categoryFilter

  6. Comment modifier les modes d’inscription?

    A) Sur WP: ACF
    B) Sur le FTP, modifier wp-content/themes/bbq/includes/tp-em-custom-placeholder.php

  7. Comment modifier le texte concernant le paiement?

    wp-content/plugins/events-manager-pro/add-ons/gateways/gateways.php

  8. Comment modifier l’adresse sur la page de contacts ?

    WP: Nice Themes → Contact Information

  9. Comment modifier la date du festival sous le menu ?

    WP: Réglages → General

  10. Comment modifier le nombre d’Info Box ?

    WP: Apparence → Editeur → template-home.php et chercher le 6 (9,12)
    La taille idéal des InfoBox étant de 480x240