Créer un champs sélection avec le moteur Elgg

Aller zou, on passe sur Elgg, ce moteur de réseau social open source. Cela fait partie d'une serie d'article à venir, car j'ai pas trop mal bossé avec.

Donc création d'un champs select => 2 manieres de faire, soit avec option et value, soit juste option

echo elgg_view('input/dropdown', array( 
    "id" => "color_mine", 
    "value" => "Dropdown", // valeur par default 
    "name" => "color", 
    "options" => array("Rouge", "#0000ff", "#008000", "#6600ff") // rouge, bleu, vert, violet ));


echo elgg_view('input/dropdown', array( 
    "id" => "color_mine", 
    "value" => "Dropdown", // valeur par default "name" => "color", 
    "options_values" => array("ff0000"=>"Rouge", "#0000ff", "#008000", "#6600ff") // rouge, bleu, vert, violet ));

 

Installation PhpMyAdmin

Installation

Dans le cadre d'un projet passé, j'ai eu besoin d'installer PhpMyAdmin pour l'utiliser en complément de LAMP. C'est bête comme chou, mais y'a comme toujours un petit truc qui fait que ça marche pas toujours.

Prêt ?? GO:

  1. Ouvrez un terminal [ctrl+atl+t] .
  2. Tapez sudo apt-get install phpmyadmin
  3. La console va vous demander sur quel serveur web l'appliquer, moi c'était Apache 2.
  4. Ensuite il va demander le mot de passe de l'utilisateur de votre serveur MySQL.
  5. Le mot de passe necessaire à l'acces PHPMyAdmin
  6. pi c'est tout (enfin normalement).

Si vous tapez dans l'URL :

127.0.0.1/phpmyadmin

Normalement vous devez y acceder, si c'est pas le cas, il reste un petit parametrage à faire.

 

DEBUG MODE

 

enfaite Apache n'as pas acces à la configuration de PHPMyAdmin. Pour remédier à cela on ouvre le fichier de conf d'Apache, avec gEdit ou VIM ou encore nano pour les plus maso d'entre vous cheeky .

sudo gedit /etc/apache2/apache2.conf

Puis on ajoute cette ligne à la fin:

Include /etc/phpmyadmin/apache.conf

On save et on redemarre Apache:

sudo /etc/init.d/apache2 restart

 

Normalement c'est tout bon.

Bye 'cha

Supprimer toutes les images docker sur un système

Docker c'est génial, mais bon le temp d'apprendre on peut multiplier les instances sans trop faire gaffe, donc pour ça y'a une commande magique.
Par contre attention car ça déménage :

    #!/bin/bash
    # Delete all containers
    docker rm $(docker ps -a -q)
    # Delete all images
    docker rmi $(docker images -q)

/!\ supprime tout sans possibilité de récuperation

src: https://techoverflow.net/2013/10/22/docker-remove-all-images-and-containers/

 

Installation d’Elgg sur Raspian

Si on veut installer Elgg, ou un autre site d'ailleurs, pour du développement, il faut suivre quelques étapes simple.

D'abord installer Raspbian.

[[inserer tuto installe Raspbian, quand je n’aurais plus la flemme]]

Installer MariaDB.

le probleme sur Raspian, c'est que mysql est accessible que depuis root car il utilise la socket unix pour s'y connecter, il faut alors créer un nouvel utilisateur, de toute façon c'est une bonne pratique de séparer les utilisateurs.

CREATE USER `newuser`@`localhost` IDENTIFIED BY `password`;

Lui donner les autorisations, comme c'est pour du dev on peut y aller franco:

GRANT ALL PRIVILEGES ON *.* TO `newuser`@`localhost`;

// on pousse les modifs, (pas sûr que cela soit obligatoire)

FLUSH PRIVILEGES;

Une fois les fichiers copiés dans le webroot, il faut lancer l'installe. Lors de la vérification d'usage, il faut que le module rewrite soit activé.

a2enmod rewrite

S'il reste un problème de rewriting, il faut édité le fichier /etc/apache2/apache2.conf et changer le

AllowOverride None => All

on restart le apache avec :

service apache2 restart

On peut aussi installer phpmyadmin pour facilité la gestion des BDD.

apt-get phpmyadmin

ajouter une ligne de commande dans le /etc/apache2/apache2.conf:

Include /etc/phpmyadmin/apache.conf


et comme d'hab
service apache2 restart

Installer Etherpad

Etherpad est un système de traitement de texte en ligne collaboratif. Il permet de rédigé des documents à plusieurs en temps réel, du moment que la mise en page reste legere. Il est OpenSource, écrit en NodeJS et extensible avec des plugins de la communauté.

Il est possible de l'installer sur 2 types de serveur, Windows ou Linux.

Logiciel prérequis :

  • git
  • nodejs

Il faut ensuite télécharger les sources disponible sur mon repo github. ou sur l'officiel.

Il y a un bug sur la release officielle avec le fichier de compilation windows. Il n'arrive pas a compilé, une pull request est en cours.

 

Pour une installation Windows:

il suffit de lancer le fichier installOnWindows.bat qui se trouve dans le répertoire bin.

Une fois l'installation faite il ne reste plus qu'a lancer le start.bat

Attention tout de même, il y a un peu de paramétrage à faire. Par défaut, il utilise dirtyBD qui n'est pas une vrai BDD à l'instar de SQLite. Toutes les données sont stockées dans un fichier. Les performances et la stabilité du système ne sont pas assurés, mais ça permet de faire des test facilement sans trop altérer l’environnement.

De même pour les utilisateurs, il est possible de définir des administrateurs des utilisateurs lamdba pour gérer les accés au pad.

Pour une installation Linux:

TODO

 

Fonctionnalité supplémentaire(Plugin):

Il existe une multitude de plugins plus ou moins stable pour etherpad, il est possible de directement les installer depuis l'interface admin, depuis l'adresse : serverIP/admin/plugins.

 

Voici une petite liste de plugin pratique:

 

Préparer sa Recalbox

Préparer sa Recalbox.

Il faut suivre quelques étapes simple mais qui peuvent poser un peu probleme si on est pas trop familier avec l'informatique. Déjà il faut acheter les différentes pieces.

  1. Un raspeberry 3 (le plus puissant)
  2. un transfo 5V avec connectique microUSB
  3. une carte Micro SD
  4. et c'est tout.

Il est toujours possible, suivant le projet final(console retro, mamecab) d'acheter certains accessoires supplémentaires comme un boitier en plastique pour protéger la bête, un système de refroidissement (radiateur, ventillo), etc. Il existe pas mal de kit raspberry le seul probleme c'est que souvent la carte fourni est de failble capacité (8Go) toujours suivant le projet, ça peut être court (600Mo pour un jeu Playstation, ~1Go pour la DreamCast), je vous laisse seul juge.

Préparer la carte microSD

Ensuite une fois assemblé, il faut passer à la partie logiciel. L'installation est simple mais la partie formatage peut poser problème.

  • Si vous avez une carte 8 Go, pas trop de souci, il faut seulement la formater au format Fat32.
  • Si c'est une carte avec 32 ou plus, il faut utilisé un logiciel du type partition magique ou Mini Tool partition Wizard. Il faut alors créer une partition de 8 Go Fat32, en partition principale (bootable).
  • Ensuite il suffit de télécharger l'OS sur Github, décompresser le fichier, copier contenu sur la carte, remetre la carte dans la machine et booter.

L'installation se fait de maniere automatique, l'installateur repartionne la carte comme il faut.

Type Accès Entité dans Elgg

Type d'acces pour les entitées dans Elgg

–  « ACCESS_PRIVATE«  (value: 0) Privé.
–  « ACCESS_LOGGED_IN«  (value: 1) Utilisateur logué.
–  « ACCESS_PUBLIC«  (value: 2) Public.
–  « ACCESS_FRIENDS«  (value: -2) Le propriétaire et ses contacts.

– (value: 4)

 

A utilisé lors de la creation avec elgg_extract:

$access_id = elgg_extract('access_id', $vars, ACCESS_DEFAULT);