La synthèse de documents en LLCER : méthode photo 1

La synthèse de documents en LLCER : méthode pour réussir

  1. Réussir la traduction de la spécialité Anglais LLCE
  2. Réussir la transposition en spécialité anglais LLCER du bac
  3. 10 conseils pour bien réussir l’épreuve de Compréhension Orale du bac
  4. La compréhension écrite au bac : la méthode pour réussir
  5. Conseils pour bien réussir l’épreuve d’Expression Orale du bac
  6. Bac : le dossier en spécialité LLCER Anglais
  7. Bac : épreuve orale de spécialité LLCER Anglais
  8. Conseils pour bien réussir le Grand Oral du Bac
  9. La synthèse de documents en LLCER : méthode pour réussir

Voici la fiche méthode pour bien réussir l’épreuve de synthèse de documents en spécialité LLCER.

Nature de l’épreuve de synthèse

Le but est de réaliser à l’écrit un exposé objectif des idées présentées dans chaque document.

Le plan que vous adopterez doit dégager tout en l’analysant la problématique qui les relie, de façon à ce que le lecteur de la synthèse puisse se faire sa propre opinion du sujet, sans avoir à consulter les documents originaux.

C’est pourquoi il ne faut pas introduire de commentaire personnel.

Lecture des documents

Il est très fortement conseillé de réaliser un tableau avec 1 colonne par document.

Pensez également aux surligneurs en adoptant un code couleur pour matérialiser les idées et les documents.

Identifiez la nature des documents et leur source

  • extrait de théâtre, fiction, essai, écrit journalistique, document iconographique…
  • la date et le lieu de publication : est-ce un texte récent ? Est-ce un document historique ? quel journal ?
  • le titre : si le document a un titre (article de presse, par exemple), demandez-vous quel est le rapport entre le titre et le contenu du texte ? Est-ce un titre humoristique, informatif, descriptif… ?
  • l’auteur : pour les textes historiques et journalistiques notamment, est-ce que l’auteur est connu ?

Situez le contexte historique et géographique

Il vous faut contextualiser en quelques mots le document:

  • s’il est publié à une période cruciale de l’humanité (crises politiques, conflits armés civils ou internationaux, guerres mondiales, incidents diplomatiques…).
  • s’il concerne plutôt la Grande-Bretagne , les Etats-Unis, l’Australie… En quoi est-ce que ce dossier est spécifique à ce pays ou cette région du monde (lien avec l’histoire du pays, sa culture, la langue).

Interrogez-vous sur le point de vue adopté (qui parle et voit, parti pris de l’auteur ou au contraire son objectivité) et le but recherché (décrire, informer, expliquer, choquer, persuader, inciter à l’action) par quels procédés (ironie, satire, caricature, appel aux émotions et sentiments ou au raisonnement logique seul).

Analyse des documents

Si cela n’est pas déjà spécifié dans le sujet, déterminez la thématique, l’axe et quelle problématique qui relient les documents entre eux. Chacun peut donner un éclairage qui se complète ou au contraire qui s’oppose à celui des autres.

Cherchez à repérer toutes les idées qui sont en lien avec la problématique. Vous devez reformuler les idées directement en anglais sur votre tableau ou votre brouillon afin d’éviter absolument la paraphrase et les citations trop longues.

La confrontation des documents permet de voir quelles sont les relations qui s’établissent entre les idées contenues dans les différents documents.

Il ne faut pas se contenter de résumer successivement chaque document sans établir de lien entre eux.

Il est attendu du travail demandé qu’il restitue les éléments clefs contenus dans les documents proposés. Chacun peut donner un éclairage qui complète, renforce ou au contraire s’oppose à celui des autres.

Les idées peuvent se compléter : une idée développée dans le document 3 peut se poursuivre dans le document 4 ; une idée énoncée dans le document 2 peut être nuancée dans le document 1.

Les idées peuvent se renforcer : on peut retrouver la même idée dans deux documents différents (ce qui lui donne de la force) ; on peut ainsi trouver dans le document 3 un exemple qui corrobore l’idée contenue dans le document 2.

Les idées peuvent s’opposer : l’opposition peut être totale (ce qui permet de montrer dans la synthèse que deux courants existent) ; l’opposition peut être partielle (on pourra chercher à voir quels sont les points d’accord et les points de désaccord).

Cette démarche va permettre de faciliter la construction du plan de la synthèse.

Plan de la synthèse

Le plan de la synthèse doit correspondre à la problématique en rendant compte de tous les aspects du problème. Les idées doivent s’enchaîner logiquement, mettant ainsi en évidence sa structure.

Il permet de traiter les documents ensemble, et surtout pas successivement. Les documents sont en réalité présentés dans un ordre aléatoire sur le sujet, il n’y a pas de hiérarchie dans les documents.

Il faut essayer de hiérarchiser l’argumentation plusieurs stratégies s’offrent alors à vous :

  • mettre les idées les plus courantes ou évidentes au début et en terminant par les idées qu’on juge les plus fortes ou importantes.
  • avoir en tête de partir de ce qui est le plus objectif, évident ou factuel pour aller vers le plus subjectif et polémique.

Les types de plans : le choix du plan dépend de la problématique spécifique au dossier. Il n’y a pas de plan ‘universel’. On peut trouver par exemple le plan par opposition ou le plan par enchaînement.

Plan par opposition

  • aspects positifs / aspects négatifs / futur possible

ou encore:

  • avantages / inconvénients / évolution envisagée

Le plan par enchaînement

  • problème / causes / conséquences

ou encore:

  • constatation (d’une situation) / explication(s) / solution(s)

Ce deuxième type de plan est plus adapté. N’utilisez le premier type que si vous n’arrivez pas du tout à faire le deuxième.

Essayez toujours de faire une troisième partie, même dans le premier type de plan au moins pour nuancer le propos.

Lire la suite

Diffuser des vidéos sur une télévision avec la chromecast

Caster des contenus vidéos sur une télévision

Avec la multitude de services de diffusion de contenus comme Netflix, Amazon Prime ou Canal+, il n’est pas rare d’avoir un accès au service depuis une tablette ou un ordinateur mais il n’est pas toujours aisé d’envoyer le contenu vidéo directement sur la télévision.

Voici quelques astuces pour caster vos contenus vidéos sur votre télévision, en quelques secondes et sans prise de tête.

Utiliser Chrome pour caster les vidéos

Hé oui, si vous avez une ChromeCast par exemple, il est vraiment bien plus simple d’utiliser le navigateur Chrome qui possède une option qui s’appelle tout simplement Caster.

Je suis fervent utilisateur de FireFox et il faut bien avouer que là, on ne peut pas rivaliser avec Chrome en ce qui concerne le casting.

Lire une vidéo depuis les services de streaming

Si vous utilisez un service de streaming, lancez le site, choisissez votre film ou série et lancez-la.

Ensuite, cliquer sur l’icône kebab (l’icône avec les trois points verticaux) à côté de votre avatar Google et de la barre de recherche puis sélectionnez l’option Caster:

Caster des contenus vidéos sur une télévision photo
Diffuser sur la TV avec Chrome

Une fenêtre de notification apparaît et vous offre la possibilité de choisir l’appareil vers lequel envoyer la diffusion de la vidéo.

Et c’est tout ! On ne peut pas faire plus simple!

Lire la suite

Calculer la durée totale des vidéos d'un dossier, bash, linux

Calculer la durée totale des vidéos d’un dossier

Dans le cadre d’une formation en ligne, j’ai cherché à connaître la durée totale des fichiers vidéos qui étaient contenus dans un dossier.

Il est toujours intéressant de donner le nombre d’heures de vidéos sur une fiche produit par exemple, pour que le client puisse avoir une idée avant d’acheter.

Pour ce faire, nous avons plusieurs options: ffmpeg d’une part ou alors mediainfo.

J’ai lancé un petit apt install factice sur le serveur : installer ffmpeg revient à installer 110 nouveaux paquets, soit 600 Mo. En comparaison, mediainfo ne requiert que 3 paquets, soit 2.3 Mo.

Nous utiliserons donc mediainfo pour nos tests.

Calculer la durée de chaque fichier

Voici comment calculer la durée de chaque fichier, en format lisible par tous:

 mediainfo --Output="General;%Duration/String%" *.mp4
38 min 6 sCode language: JavaScript (javascript)

Voici comment calculer la durée de chaque fichier, mais cette fois au format timecode (xx:xx:xx.xx) :

 mediainfo --Output="General;%Duration/String3%" *.mp4
00:38:06.12Code language: JavaScript (javascript)

Ces deux commandes nous donnent la durée de chaque fichier MP4 présent dans le répertoire.

Nous allons maintenant voir comment les additionner pour obtenir la durée totale des enregistrements du dossier.

Calculer la durée totale des fichiers d’un dossier

Nous allons utiliser la dernière commande, celle qui nous donne les durées au format timecode, et allons ajouter toutes ces durées pour obtenir la durée totale des enregistrements présents dans notre dossier.

Voici la commande:

mediainfo '--Output=Video;%Duration%\n' *.mp4 | awk '{ sum += $1 } END { secs=sum/1000; h=int(secs/3600);m=int((secs-h*3600)/60);s=int(secs-h*3600-m*60); printf("%02d:%02d:%02d\n",h,m,s) }'Code language: JavaScript (javascript)

Résultat:

21:03:48Code language: CSS (css)

Nous avons donc un peu plus de 21 heures d’enregistrements pour notre cours en ligne :)

Ajouter un lien avec le nombre d'articles et le total du panier WooCommerce photo

Rendre la page panier WooCommerce réactive

Lors de mon dernier projet WooCommerce, j’ai remarqué que la page panier de WooCommerce n’était pas vraiment réactive sous Safari (iPhone, iOS) : le tableau ne s’empile pas comme il le devrait et toutes les colonnes sont comprimées. Les dernières colonnes sont hors du viewport.

Safari sous iOS (iPhone) semble être le seul concerné – je n’ai pas réussi à reproduire ce comportement sur FireFox, Chrome ou Opera.

Le site en question utilise Astra, qui est vraiment bien éprouvé, ainsi qu’Elementor comme constructeur de page.

Voici comment rendre le tableau du panier WooCommerce réactif, en utilisant quelques lignes de CSS.

Forcer la réactivité du panier WooCommerce

J’ai opté pour une solution propre, en CSS, en ne ciblant que les iPhones puisqu’ils sont les seuls concernés (Safari + résolution d’écran).

Voici donc le code utilisé pour rendre le panier WooCommerce réactif:

/*
Plugin Name: Sky WooCommerce Responsive Cart
Plugin URI: https://mattbiscay.com
Description: Make WooCommerce cart responsive
Version: 1.1
Author: Matt Biscay
Author URI: https://mattbiscay.com
*/

/* responsive cart */
@media only screen and ( max-width: 479px ) {
  
  .short-description, .product_meta, body.woocommerce div.product .woocommerce-tabs, body.woocommerce #content div.product .woocommerce-tabs { display: none; }
  body.woocommerce .images { float: none !important; width: auto !important; margin-bottom: 40px !important; clear: both !important; }
  
  table .product-thumbnail { display: none; }
  
  .woocommerce-page #content div.product form.cart .variations { margin-left: 0; }
  
  table.cart th, #content table.cart th, table.cart td, #content table.cart td, table.cart tr, #content table.cart tr, #content-area table tr, #content-area table td, #content-area table th { padding: .857em 0.287em; }
  
  .woocommerce .woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1, .woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 { width: 100% !important; }
  .woocommerce .woocommerce form .form-row, .woocommerce-page form .form-row { width: auto !important; float: none !important; }
  
  #order_review .shop_table { margin-left: 0; }
  
  /* cart: tax on its own line */
  .includes_tax { display: block; }
  
}

/* cart weird bug on Safari: cart table is not collapsing */
/* this corrects the bug on iphones */

@media (max-width: 768px){
  .iphone .woocommerce table.shop_table_responsive tr,
  .iphone .woocommerce-page table.shop_table_responsive tr {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
    flex: 1;
  }
  
  .woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before {
    content: attr(data-title) ' ';
    font-weight: 700;
    float: left;
  }
  
  p.no-shipping-options {
    clear: both;
    margin-top: 3rem;
  }
}
Code language: CSS (css)

Lire la suite

Créer un site staging pour WordPress sur un sous-domaine photo

Créer un site staging pour WordPress sur un sous-domaine

Le Centre de Kriya Yoga France n’avait pas de site staging, ce site de développement et de test qui permet de tester, développer ou mettre à jour de nouvelles extensions, sans affecter le site principal.

Une des extensions a eu besoin d’être débugguée par ses concepteurs mais pour des raisons de confidentialité, il nous est apparu intéressant et plus sécurisé de donner accès à un site de développement, fraîche copie du site original, pour le débuggage.

Si vous avez besoin de créer un site staging pour votre site WordPress et que votre hébergeur ne le propose pas, voici comment faire.

Étape 1 : créer un sous-domaine au niveau DNS

Nous choisissons la solution la plus simple: servir le site STAGING depuis un sous-domaine. Il suffit de créer un nouvel enregistrement DNS sous la forme:

staging IN A xxx.xxx.xxx.xxxCode language: CSS (css)

staging represente le sous-domaine et xxx.xxx.xxx.xxx représente l’adresse IPv4 du serveur.

Étape 2 : créer le server block sous NginX

Le domaine étant déjà actif, j’ai uniquement rajouté ce server block:

### STAGING ###
 server {
 listen              443 ssl http2;
 listen              [::]:443 ssl http2;
 server_name staging.kriyayoga.fr;
 root /home/www/kriyayoga/staging/public_html;
 set $root /home/www/kriyayoga/staging/public_html;
 index index.php index.htm index.html;
 error_log /var/log/nginx/kriyayoga_staging_error.log;
 #SSL
 ssl_certificate        /etc/nginx/ssl/kriyayoga.fr/fullchain.pem;
 ssl_certificate_key    /etc/nginx/ssl/kriyayoga.fr/privkey.pem;
 include snippets/mime-types.conf;
 #Exclusions
 include snippets/exclusions.conf;
 #Security
 include snippets/security.conf;
 #Static Content
 include snippets/static-files.conf;
 #Fastcgi cache rules
 include snippets/fastcgi-cache.conf;
 include snippets/limits.conf;
 include snippets/nginx-cloudflare.conf;
 #Gzip
 include snippets/gzip.conf;
 location / {
 try_files $uri $uri/ /index.php?$args;
 }
 location ~ .php$ {
 try_files $uri =404;
 include snippets/fastcgi-params.conf;
 fastcgi_pass unix:/run/php/php7.4-fpm.sock;
 #Skip cache based on rules in snippets/fastcgi-cache.conf.
 fastcgi_cache_bypass $skip_cache;
 fastcgi_no_cache $skip_cache;
 #Define memory zone for caching. Should match key_zone in fastcgi_cache_path above.
 fastcgi_cache kriyayoga;
 #Define caching time.
 fastcgi_cache_valid 60m;
 #increase timeouts
 fastcgi_read_timeout 6000;
 fastcgi_connect_timeout 6000;
 fastcgi_send_timeout 6000;
 proxy_read_timeout 6000;
 proxy_connect_timeout 6000;
 proxy_send_timeout 6000;
 send_timeout 6000;
 #these lines should be the ones to allow Cloudflare Flexible SSL 
 #to be used so the server does not need to decrypt SSL if you wish
 proxy_set_header X-Forwarded-Host $host;
 proxy_set_header X-Forwarded-Server $host;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-Forwarded-Proto https;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-NginX-Proxy true;
 }
 #Protect WooCommerce upload folder from being accessed directly.
 #You may want to delete this config if you are using "Redirect Only" method for downloadable products.
 #Place this config towards the end of "server" block in NginX configuration.
 location ~* /wp-content/uploads/woocommerce_uploads/ {
   if ( $upstream_http_x_accel_redirect = "" ) {
     return 403;
     }
     internal;
 }
 }Code language: PHP (php)

Testez la nouvelle configuration:

nginx -t

Puis redémarrez NginX:

service nginx reload

Note: il est important de noter que je n’ai pas besoin de créer de certificat SSL puisque mes certificats sont wildcard par défaut. Si ce n’est pas le cas chez vous, pensez à en générer pour votre sous-domaine.

Lire la suite

Serveur dédié: gérez comptes et alias email avec PostfixAdmin photo

Serveur dédié: gérez comptes et alias email avec PostfixAdmin

Si vous possédez et gérez votre propre serveur email, il peut être très intéressant de proposer des comptes emails et des alias pour vos utilisateurs.

J’ai écrit il y a quelques années un tutoriel qui faisait cela à la main avec une base SQL et des domaines virtuels mais il y a aujourd’hui beaucoup plus simple avec PostfixAdmin.

PostfixAdmin

PostfixAdmin est une interface web open-source qui permet de gérer des comptes mails, des domaines et des alias sur un serveur mail Postfix.

il s’intègre avec

  • Postfix
  • un server IMAP/POP3 comme Dovecot ou Courier
  • une base de données (sqlite, mysql, postgresql)
  • Fetchmail (optionnel)

Il est très utile pour créer des alias à la volée ou des comptes mail rapidement.

Création du sous-domaine

Je trouve cela plus simple de créer un sous-domaine pour ce type d’application. Dans votre gestionnaire DNS, il suffit d’ajouter un enregistrement de type A:

XXXXX.EXAMPLE.COM IN A xxx.xxxx.xxx.xxxCode language: CSS (css)

XXXXX est votre sous-domaine sur EXAMPLE.COM et xxx.xxx.xxx.xxx l’adresse IPv4 de votre serveur.

Création de la base de données

Nous utilisons MySQL/MariaDB pour postfix donc on s’identifie sur la console mysql :

mysql -u root -p 

[MOT DE PASSE ROOT]Code language: CSS (css)

Et on lance:

CREATE DATABASE postfix; 
CREATE USER 'mymailadmin'@'localhost' IDENTIFIED WITH mysql_native_password BY '1nyXI7Y)$spmslgz4HhdE4Lc_vm&)Gh!MsZFf64645fek'; 
GRANT ALL PRIVILEGES ON postfix.* TO 'mymailadmin'@'localhost'; 
FLUSH PRIVILEGES; EXIT;Code language: PHP (php)

Nous avons donc un nouvel utilisateur et une nouvelle base de données, spécifiques pour PostfixAdmin.

Configuration NginX pour PostfixAdmin

On crée un nouveau server block spécifique à PostfixAdmin:

nano /etc/nginx/sites-available/postfixadmin.conf

Lire la suite

Installation de Nextcloud: votre propre service de cloud chez vous photo 1

Nextcloud: mise en place du cron et des alertes emails

Mise en place du cron

Sur votre instance Nextcloud, il est important de mettre en place un cron qui va permettre de lancer les tâches de maintenance à intervalles réguliers.

Dans Paramètres > Administration > Paramètres de base, sélectionnez l’option Cron pour les tâches de fond:

Nextcloud cron

Ensuite, créez un fichier pour l’utilisateur www-data depuis le terminal:

crontab -u www-data -e

et à la fin du fichier on ajoute une tâche qui va se lancer toutes les 5 minutes:

*/5  *  *  *  * php -f /home/www/nextcloud/cron.phpCode language: JavaScript (javascript)

Pensez à changer le chemin pour celui de votre installation Nextcloud.

Et redémarrez le service cron pour appliquer les changements:

service cron restart

Notification automatique des nouvelles versions

Maintenant que le cron est en place, nous allons pouvoir planifier une tâche qui vérifiera chaque semaine s’il existe une nouvelle version de Nextcloud.

Cela peut sembler fou mais Nextcloud ne vous prévient pas lorsque de nouvelles mises à jour sont disponibles et il faut donc le mettre en place soi-même.

Nous ouvrons donc le fichier crontab pour notre utilsateur www-data :

crontab -u www-data -e

et nous ajoutons cette ligne, qui permet la vérification et notification des nouvelles versions par email, tous les vendredis à 19h:

0 19 * * 5 php /home/www/nextcloud/occ update:check # nextcloud update check, at 19:00 every FridayCode language: PHP (php)

Pensez à changer le chemin pour celui de votre installation Nextcloud.

Mise à jour automatique de votre installation Nextcloud

Être notifié des mises à jour, c’est bien – mais nous pouvons faire bien mieux : pourquoi ne pas installer automatiquement les mises à jour de NextCloud de manière à toujours avoir la dernière version ainsi que tous les correctifs de sécurité?

Ajoutez un nouveau cron:

0 20 * * 5 php /home/www/nextcloud/updater/updater.phar --no-interaction # automatic nextcloud upgrade, at 20:00 every FridayCode language: PHP (php)

Et redémarrez le service cron pour appliquer les changements:

service cron restart

Mise en place des alertes par email

Nextcloud est capable de vous alerter pour les mises à jour de sécurité ainsi que la gestion des mots de passe perdu pour les comptes utilisateurs mais encore faut-il qu’il soit configuré pour utiliser votre serveur mail correctement. Par défaut, rien n’est configuré.

Lire la suite

Installation de Nextcloud: votre propre service de cloud chez vous photo 1

Nextcloud: solutions pour les erreurs occ pour PHP, le mode maintenance et la base de données

Dans Nextcloud, la page Paramètres > Administration > Vue d’ensemble vous permet d’avoir un bon aperçu des tâches de maintenance à effectuer sur votre installation Nextcloud.

This version of Nextcloud is not compatible with > PHP 7.4

C’est une erreur – et non un avertissement – qui bloque toutes les commandes suivantes dans le terminal. Elle apparaît lorsqu’une version de PHP plus récente est installée sur votre serveur.

Chez moi, par exemple, j’ai PHP 7.4 pour les sites en production et pour Nextcloud mais aussi PHP 8 pour les plateformes de développement.

Voici le message d’erreur:

This version of Nextcloud is not compatible with > PHP 7.4.

You are currently running 8.0.0

Ce message apparaît parce que Nextcloud lance un rapide php -v pour déterminer la version de PHP installée. Cela ne reconnaît par contre que la version la plus récente installée.

Voici ce que donne la commande :

PHP 8.0.0 (cli) (built: Nov 27 2020 12:26:22) ( NTS )
 Copyright (c) The PHP Group
 Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
     with Zend OPcache v8.0.0, Copyright (c), by Zend TechnologiesCode language: CSS (css)

La solution consiste à modifier manuellement la version retournée par php -v, à l’aide de la commande update-alternatives :

update-alternatives --set php /usr/bin/php7.4Code language: JavaScript (javascript)

Si on relance php -v, voici le résultat:

PHP 7.4.13 (cli) (built: Nov 28 2020 06:24:59) ( NTS )
 Copyright (c) The PHP Group
 Zend Engine v3.4.0, Copyright (c) Zend Technologies
     with Zend OPcache v7.4.13, Copyright (c), by Zend TechnologiesCode language: CSS (css)

Avec cela, vous êtes parés pour les commandes occ de Nextcloud.

Nextcloud reste bloqué en mode maintenance

Cela peut arriver lors d’une mise à jour, pour diverses raisons.

Solution 1: avec la commande occ

cd /home/www/nextcloud 
sudo -u www-data php ./occ maintenance:mode --off 

Solution 2: éditer le fichier config.php

1. Editez le fichier config.php:

nano /home/www/nextcloud/config/config.php

2. trouvez:

'maintenance' => true,Code language: PHP (php)

3. remplacez par:

'maintenance' => false,Code language: PHP (php)

Enregistrez le fichier, l’assistant de mise à jour est alors capable de reprendre là où il s’était arrêté, automatiquement.

Lire la suite

Jethro Tull - Aqualung photo

Local : importer une base de données depuis le shell

Local possède une version d’Adminer dans les options de chaque site qui est très utile puisqu’elle permet d’accéder rapidement à la base de données, ou d’importer une petite base de données.

Par contre, s’il s’agit d’importer une base qui fait plus de 80 Mo, mieux vaut se tourner vers un outil un peu plus robuste: le shell.

Accéder au shell depuis Local

Et cela tombe bien : Local possède son propre shell, accessible sur simple clic-droit sur le nom du site sur lequel vous souhaitez ouvrir une fenêtre de terminal:

local open site shell new 1280x787

Voici la marche à suivre : Démarrez votre site > sélectionnez le nom du site > clic-droit > Open Site Shell

Importer une base de données dans un site Local

Lorsque j’ai besoin de répliquer un site rapidement, je copie la base données dans le répertoire app du site Local en question.

Pour mon site de test (skyminds-2020 ), le chemin sur ma machine est /Users/matt/Local Sites/skyminds2020/app . C’est dans ce dossier que je place le fichier SQL à importer.

Ensuite, dans le shell Local, il suffit de faire un simple import SQL dans la base qui, par défaut, s’appelle local (et ce, pour tous vos sites Local, bien qu’elles soient toutes indépendantes).

L’utilisateur est root et le mot de passe root également, ce qui est plutôt pratique.

Le shell est par défaut sous app/public donc on remonte d’un cran dans l’arborescence pour pointer vers notre fichier (qui se trouve dans /app ).

Voilà ce que cela nous donne:

mysql -u root -proot local < ../db.sql

Résultat:

mysql: [Warning] Using a password on the command line interface can be insecure.
bash-3.2$Code language: HTTP (http)

L’importation de la base de données SQL ne prend que quelques secondes, alors que cela se plante allégrement lorsque l’on utilise Adminer.

A utiliser sans modération, cela ne vaut vraiment pas le coup de s’embêter avec une interface graphique (ou à placer le fichier dans le répertoire d’adminer comme il l’indique sur la page d’importation).

Installation de Nextcloud: votre propre service de cloud chez vous photo 1

Installation de Nextcloud: votre propre service de cloud chez vous

Cela fait quelques temps que j’utilise une instance Nextcloud sur le serveur. Cela vous permet de créer votre propre service de cloud: vous gérez vous-mêmes vos données (images, documents, fichiers…) sans passer par un service tiers.

Vous gardez donc entièrement la main sur vos données : plus besoin de Google Drive ou Dropbox (ou autre), c’est vous qui gérez. Nextcloud possède même ses applications mobiles pour pouvoir accéder à vos données à tout moment, sur tous supports.

Ce tutoriel est réalisé sous Ubuntu Server mais il est facilement transposable à votre système d’exploitation sous Linux.

Installation de Nextcloud

Voici les paquets PHP nécessaires pour installer Nextcloud:

  • PHP (7.2, 7.3 or 7.4)
  • PHP module ctype
  • PHP module curl
  • PHP module dom
  • PHP module GD
  • PHP module hash (only on FreeBSD)
  • PHP module iconv
  • PHP module JSON
  • PHP module libxml (Linux package libxml2 must be >=2.7.0)
  • PHP module mbstring
  • PHP module openssl
  • PHP module posix
  • PHP module session
  • PHP module SimpleXML
  • PHP module XMLReader
  • PHP module XMLWriter
  • PHP module zip
  • PHP module zlib

Nextcloud est maintenant capable de tourner sous PHP 7.4 donc vous pouvez installer les paquets PHP qui lui sont nécessaires:

apt install php7.4 php7.4-cli php7.4-gd php7.4-imap php7.4-mysql php7.4-soap php7.4-apcu php7.4-common php7.4-gmp  php7.4-intl php7.4-opcache php7.4-xml php7.4-apcu-bc php7.4-curl php7.4-igbinary php7.4-json php7.4-readline  php7.4-zip php7.4-bcmath php7.4-fpm php7.4-imagick php7.4-mbstring php7.4-redisCode language: CSS (css)

On télécharge Nextcloud, depuis la page Téléchargement ou via la ligne de commande:

wget https://download.nextcloud.com/server/releases/nextcloud-22.0.0.zipCode language: JavaScript (javascript)

On décompresse l’archive:

unzip nextcloud-22.0.0.zipCode language: CSS (css)

Et on déplace ensuite le répertoire dans un dossier public lisible par le serveur de fichiers:

mv nextcloud /var/www/html/Code language: JavaScript (javascript)

et on lui donne ensuite les bonnes permissions:

chown -R www-data:www-data /var/www/html/nextcloudCode language: JavaScript (javascript)

Lire la suite

Jethro Tull - Aqualung photo

Local : résoudre l’erreur “missing zlib extensions”

A la suite d’une mise à jour de Local, j’ai eu la surprise d’obtenir le message d’erreur suivant au moment d’installer un plugin manuellement, par upload du fichier zip:

Unpacking the packageAbort class-pclzip.php : 
Missing zlib extensionsCode language: CSS (css)

Toutes les machines docker fonctionnent sous PHP 7.4.1 et cela ne s’était jamais produit auparavant. Local est installé sur ma machine MacOS.

Si cela vous arrive, voici comment régler le problème en quelques minutes.

Marche à suivre pour Local (MacOS)

Ce sont les Lightning Services qu’il faut mettre à jour: comme ils ne peuvent être mis à jour via l’auto-updater, nous allons devoir les supprimer et les réinstaller pour notre version de PHP.

1. Quittez Local si le programme est en cours d’utilisation.

2. Dans le terminal, lancez la commande suivante:

rm ~/Library/Application\ Support/Local/lightning-services/php-7.4* -rf Code language: JavaScript (javascript)

Notez que l’on cible ici les versions 7.4.x de PHP.

3. Relancez Local.

4. Ajoutez un nouveau site lambda (j’ai appelé le mien testing mais il pourra être supprimé dès la fin de cette procédure) sous Local qui utilise PHP 7.4. Cela lancera le téléchargement et l’installation des Lightning Services, avec la mise à jour zlib.

5. Lancez maintenant votre site Local, qui tourne sous PHP 7.4 : vous n’avez maintenant plus de problèmes pour installer plugins et thèmes manuellement, avec des fichiers zip.

Et voilà, vous pouvez de nouveau installer des thèmes et plugins manuellement. Cela devrait être corrigé dans une nouvelle version de Local – surtout que PHP 8 vient de sortir il y a quelques semaines.

Vanilla JS : créer des éléments aux couleurs aléatoires photo

Vanilla JS : créer des éléments aux couleurs aléatoires

On a souvent besoin de distinguer des éléments rapidement et c’est très simple de le faire visuellement, avec des couleurs, pour bien différencier les blocs.

Voici une solution simple et élégante pour créer des éléments aux couleurs aléatoires, en utilisant du javascript natif, que l’on appelle Vanilla JS.

Cela devrait vous permettre d’obtenir ceci – des blocs dont la couleur est générée aléatoirement et qui change à chaque rafraichissement de la page.

J’inclus ici un bouton qui permet de rafraîchir aléatoirement les couleurs de notre bloc:

  • Color 1
  • Color 2
  • Color 3
  • Color 4
  • Color 5
  • Color 6

Lire la suite