The Handmaid's Tale: Chapter 25 analysis, red and white tulips in a garden

The Handmaid’s Tale: Chapter 25 analysis

That was in May. Spring has now been undergone. The tulips have had their moment and are done, shedding their petals one by one, like teeth. One day I came upon Serena Joy, kneeling on a cushion in the garden, her cane beside her on the grass. She was snipping off the seed pods with a pair of shears. I watched her sideways as I went past, with my basket of oranges and lamb chops. She was aiming, positioning the blades of the shears, then cutting with a convulsive jerk of the hands. Was it the arthritis, creeping up? Or some blitzkrieg, some kamikaze, committed on the swelling genitalia of the flowers? The fruiting body. To cut off the seed pods is supposed to make the bulb store energy.
Saint Serena, on her knees, doing penance.
I often amused myself this way, with small mean-minded bitter jokes about her; but not for long. It doesn’t do to linger, watching Serena Joy, from behind.
What I coveted was the shears.

Well. Then we had the irises, rising beautiful and cool on their tall stalks, like blown glass, like pastel water momentarily frozen in a splash, light blue, light mauve, and the darker ones, velvet and purple, black cat’s-ears in the sun, indigo shadow, and the bleeding hearts, so female in shape it was a surprise they’d not long since been rooted out. There is something subversive about this garden of Serena’s, a sense of buried things bursting upwards, wordlessly, into the light, as if to point, to say: Whatever is silenced will clamour to be heard, though silently. A Tennyson garden, heavy with scent, languid; the return of the word swoon. Light pours down upon it from the sun, true, but also heat rises, from the flowers themselves, you can feel it: like holding your hand an inch above an arm, a shoulder. It breathes, in the warmth, breathing itself in. To walk through it in these days, of peonies, of pinks and carnations, makes my head swim.

The willow is in full plumage and is no help, with its insinuating whispers. Rendezvous, it says, terraces; the sibilants run up my spine, a shiver as if in fever. The summer dress rustles against the flesh of my thighs, the grass grows underfoot, at the edges of my eyes there are movements, in the branches; feathers, flittings, grace notes, tree into bird, metamorphosis run wild. Goddesses are possible now and the air suffuses with desire. Even the bricks of the house are softening, becoming tactile; if I leaned against them they’d be warm and yielding. It’s amazing what denial can do. Did the sight of my ankle make him lightheaded, faint, at the checkpoint yesterday, when I dropped my pass and let him pick it up for me? No handkerchief, no fan, I use what’s handy.

Winter is not so dangerous. I need hardness, cold, rigidity; not this heaviness, as if I’m a melon on a stem, this liquid ripeness.

The Handmaid’s Tale, chapter 25.

The Garden of (Serena) Joy

Abundance and life

Spring is the time of birth of nature. Abundance is conveyed by the number of adjectives. The narrator drowns in this garden – “makes my head swim” – and light seems to come from everywhere.

The passing of time is never recorded precisely: ellipses of several days/weeks. Chronology is not always respected, through the use of analepses and prolepses.

The passing of time is marked by seasons, the natural time and flora.

The garden as a fruiting body

The environment becomes consistent: the garden is like a body. The importance of softness is emphasized by the alliteration in [s].

The thread of the present is marked by the changing flora and the narrator’s gradual metamorphosis is modeled on that of Nature’s.

Serena as the disturbing element

Serena is seen as the disturbing element in this Garden of Eden.

Birth of the narrator as a human being, conscious of herself

Presence of feminity, necessary to the birth process

Feminity is needed for the birth and the whole garden is seen as a fruiting body.

Lyricism opposes the sense of osmosis felt by the “pathetic fallacy”: when natural elements are attributed with human attitudes. The garden shows the image of a natural world, which is everything Gilead has lost.

Pathetic fallacy is a literary technique that corresponds to a personification with natural elements.

Thanks to Offred’s heightened literary imagination, she can respond to the beauty of the garden and see the poetics behind the natural: the trees are seen as “birds in full plumage”.

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

Grand Oral, bac, méthode, conseils

Conseils pour bien réussir le Grand Oral du Bac

  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

Quels sont les objectifs du Grand Oral ?

Le Grand oral exige tout au long de l’année que vous définissiez deux questions liées à vos deux enseignements de spécialité et que vous prépariez des réponses argumentées à ces questions.

Dans la filière générale, les questions portent sur les enseignements de spécialité que vous avez suivis en terminale. En revanche, dans la filière technologique, elles se rapportent à l’enseignement de spécialité dans lequel vous avez mené une étude approfondie ou un projet.

Le jour de l’épreuve, vous devez remettre au jury une feuille signée par vos professeurs de spécialité, contenant les énoncés des deux questions. Le jury en sélectionne une, et vous disposez alors de 20 minutes pour préparer votre présentation. Le Grand oral est l’une des cinq épreuves finales du baccalauréat.

Cette épreuve vous entraîne à parler en public de manière claire et convaincante. Elle vous permet également d’utiliser vos connaissances, notamment celles liées à vos spécialités, pour construire un argumentaire démontrant leur importance pour votre projet d’études supérieures et même votre projet professionnel.

Comment choisir vos deux questions ?

Pour votre épreuve du grand oral, vous devez en effet choisir et préparer deux questions portant sur les programmes de vos spécialités. Vous pouvez par exemple prendre une question pour chaque spécialité, ou bien choisir des questions qui couvrent les deux disciplines.

Quelques conseils pour choisir une question pertinente :

  • Prenez un sujet qui vous intéresse, sur lequel vous avez envie de réfléchir, de faire des recherches pour le grand oral. Par exemple, un thème que vous aurez envie d’approfondir tout au long de l’année.
  • Choisissez un sujet riche mais qui sera simple à problématiser, c’est-à-dire une thématique sur laquelle vous pourrez facilement trouver des documents, des supports pour vos recherches mais qui implique une problématique claire et pas trop large.
  • Enfin, prenez une question en cohérence avec votre projet d’études.

Remarque : n’oubliez pas que vos questions pour le grand oral devront être validées par vos professeurs, alors n’hésitez pas à leur demander conseil en cas de doute sur la pertinence de vos problématiques.

Les critères d’évaluations du Grand Oral

Le jour de l’épreuve, le jury observera plus particulièrement certains aspects de la prestation des candidats. Il faut donc se préparer en centrant son entraînement sur ces attendus du jury, à savoir :

  • La qualité de sa prestation orale, c’est-à-dire sa capacité à capter l’attention, soutenir un discours, etc…
  • La qualité de sa prise de parole en continu, c’est-à-dire sa gestion du temps, la ponctuation du discours, etc… 
  • La qualité de ses connaissances.
  • La qualité de son interaction avec les membres du jury, c’est-à-dire sa capacité à réagir à une interrogation, à la reformuler, à prendre l’initiative dans l’échange, etc…
  • La qualité et la construction de son argumentation et de sa démonstration.

Lire la suite

Cloudflare, logo, banner

Résoudre l’erreur “HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR”

Le serveur héberge plusieurs sites et l’un d’entre eux, Utopique, retournait l’erreur curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1) lorsqu’on le visitait avec Chrome mais fonctionnait sans souci avec Firefox.

Le plus drôle dans l’histoire (enfin drôle, j’ai passé deux jours à éplucher mes server blocks, les logs et la configuration SSL), c’est que ce site utilise le même modèle de server blocks que les autres. Je soupçonnais principalement la configuration NginX alors qu’en fait, elle n’y était pour rien!

Le problème se situe en fait au niveau de Cloudflare, et apparaît notamment avec le réglage suivant: Caching > Configuration > Browser Cache TTL > Respect Existing Headers.

Pour résoudre le problème, il faut choisir un autre réglage que “Respect Existing Headers”.

On creuse un peu à l’aide de curl pour comprendre ce qu’il se passe:

curl -vvv -I https://utopique.net --http2Code language: JavaScript (javascript)

Voici le résultat de la commande:

 Trying 2606:4700:3036::ac43:dc02:443…
 TCP_NODELAY set
 Connected to utopique.net (2606:4700:3036::ac43:dc02) port 443 (#0)
 ALPN, offering h2
 ALPN, offering http/1.1
 successfully set certificate verify locations:
 CAfile: /etc/ssl/certs/ca-certificates.crt
 CApath: /etc/ssl/certs
 TLSv1.3 (OUT), TLS handshake, Client hello (1):
 TLSv1.3 (IN), TLS handshake, Server hello (2):
 TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
 TLSv1.3 (IN), TLS handshake, Certificate (11):
 TLSv1.3 (IN), TLS handshake, CERT verify (15):
 TLSv1.3 (IN), TLS handshake, Finished (20):
 TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
 TLSv1.3 (OUT), TLS handshake, Finished (20):
 SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
 ALPN, server accepted to use h2
 Server certificate:
 subject: C=US; ST=CA; L=San Francisco; O=Cloudflare, Inc.; CN=sni.cloudflaressl.com
 start date: Jul 10 00:00:00 2020 GMT
 expire date: Jul 10 12:00:00 2021 GMT
 subjectAltName: host "utopique.net" matched cert's "utopique.net"
 issuer: C=US; O=Cloudflare, Inc.; CN=Cloudflare Inc ECC CA-3
 SSL certificate verify ok.
 Using HTTP2, server supports multi-use
 Connection state changed (HTTP/2 confirmed)
 Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
 Using Stream ID: 1 (easy handle 0x564540aecc80) 
   HEAD / HTTP/2
   Host: utopique.net
   user-agent: curl/7.68.0
   accept: <em>/</em>
      TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
   TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
   old SSL session ID is stale, removing
   Connection state changed (MAX_CONCURRENT_STREAMS == 256)!
   http2 error: Invalid HTTP header field was received: frame type: 1, stream: 1, name: [access-control-allow-headers "origin, x-requested-with, content-type, accept"], value: []
   HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)
   stopped the pause stream!
   Connection #0 to host utopique.net left intact
   curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)    Code language: PHP (php)

Lire la suite

The Handmaid's Tale saison 1 photo

The Handmaid’s Tale: Chapter 5 analysis

A group of people is coming towards us. They’re tourists, from Japan it looks like, a trade delegation perhaps, on a tour of the historic landmarks or out for local colour. They’re diminutive and neatly turned out; each has his or her camera, his or her smile. They look around, bright-eyed, cocking their heads to one side like robins, their very cheerfulness aggressive, and I can’t help staring. It’s been a long time since I’ve seen skirts that short on women. The skirts reach just below the knee and the legs come out from beneath them, nearly naked in their thin stockings, blatant, the high-heeled shoes with their straps attached to the feet like delicate instruments of torture. The women teeter on their spiked feet as if on stilts, but off balance; their backs arch at the waist, thrusting the buttocks out. Their heads are uncovered and their hair too is exposed, in all its darkness and sexuality. They wear lipstick, red, outlining the damp cavities of their mouths, like scrawls on a washroom wall, of the time before.

I stop walking. Ofglen stops beside me and I know that she too cannot take her eyes off these women. We are fascinated, but also repelled. They seem undressed. It has taken so little time to change our minds, about things like this.

Then I think: I used to dress like that. That was freedom.

Westernized, they used to call it.

The Japanese tourists come towards us, twittering, and we turn our heads away too late: our faces have been seen.

There’s an interpreter, in the standard blue suit and red-patterned tie, with the winged-eye tie pin. He’s the one who steps forward, out of the group, in front of us, blocking our way. The tourists bunch behind him; one of them raises a camera.

“Excuse me,” he says to both of us, politely enough. “They’re asking if they can take your picture.”

I look down at the sidewalk, shake my head for No. What they must see is the white wings only, a scrap of face, my chin and part of my mouth. Not the eyes. I know better than to look the interpreter in the face. Most of the interpreters are Eyes, or so it’s said.

I also know better than to say Yes. Modesty is invisibility, said Aunt Lydia. Never forget it. To be seen – to be seen – is to be – her voice trembled – penetrated. What you must be, girls, is impenetrable. She called us girls.

Beside me, Ofglen is also silent. She’s tucked her red-gloved hands up into her sleeves, to hide them.

The interpreter turns back to the group, chatters at them in staccato. I know what he’ll be saying, I know the line. He’ll be telling them that the women here have different customs, that to stare at them through the lens of a camera is, for them, an experience of violation.

I’m looking down, at the sidewalk, mesmerized by the women’s feet. One of them is wearing open-toed sandals, the toenails painted pink. I remember the smell of nail polish, the way it wrinkled if you put the second coat on too soon, the satiny brushing of sheer pantyhose against the skin, the way the toes felt, pushed towards the opening in the shoe by the whole weight of the body. The woman with painted toes shifts from one foot to the other. I can feel her shoes, on my own feet. The smell of nail polish has made me hungry.

“Excuse me,” says the interpreter again, to catch our attention. I nod, to show I’ve heard him.

“He asks, are you happy,” says the interpreter. I can imagine it, their curiosity: Are they happy? How can they be happy? I can feel their bright black eyes on us, the way they lean a little forward to catch our answers, the women especially, but the men too: we are secret, forbidden, we excite them.

Ofglen says nothing. There is a silence. But sometimes it’s as dangerous not to speak.

“Yes, we are very happy,” I murmur. I have to say something. What else can I say?

The Handmaid’s Tale, chapter 5.

Introduction

“Gilead is within you” – Offred has absorbed Gilead’s values, yet the assimilation is not complete. She is off-balanced and torn between two sets of values. It is freedom she chooses although she is very reasonable.

The narrator invites the reader to follow her gradual evolution from external focalizer to internal focalizer: she describes but knows the system and therefore is able to criticize it.

The dramatic confrontation of two opposite worlds

Distinct versus indistinct

The focalization is external: she has swallowed the whole of Gilead’s values and viewpoints. As a consequence:

  • tourists are regarded as aliens
  • she has become a stranger to the Japanese tourists
  • there is an opposition between Gilead and the western world

The Japanese tourists are distinct:

  • they have a voice of their own, as well as an interpreter
  • they are allowed to live their own existence

Conversely, Handmaids are indistinct, all similar: “she called us girls”. They are not allowed to have a face and are reduced to symbols and images, there are no human beings any longer. They are also denied a voice: “I nod”, “murmur”.

Lire la suite

The Handmaid's Tale : Chapter 2 analysis photo, Offred in her room

The Handmaid’s Tale: Chapter 2 analysis

A chair, a table, a lamp. Above, on the white ceiling, a relief ornament in the shape of a wreath, and in the centre of it a blank space, plastered over, like the place in a face where the eye has been taken out. There must have been a chandelier, once. They’ve removed anything you could tie a rope to.

A window, two white curtains. Under the window, a window seat with a little cushion. When the window is partly open – it only opens partly – the air can come in and make the curtains move. I can sit in the chair, or on the window seat, hands folded, and watch this. Sunlight comes in through the window too, and falls on the floor, which is made of wood, in narrow strips, highly polished. I can smell the polish. There’s a rug on the floor, oval, of braided rags. This is the kind of touch they like: folk art, archaic, made by women, in their spare time, from things that have no further use. A return to traditional values. Waste not want not. I am not being wasted. Why do I want?

On the wall above the chair, a picture, framed but with no glass: a print of flowers, blue irises, watercolour. Flowers are still allowed. Does each of us have the same print, the same chair, the same white curtains, I wonder? Government issue?

Think of it as being in the army, said Aunt Lydia.

A bed. Single, mattress medium-hard, covered with a flocked white spread. Nothing takes place in the bed but sleep; or no sleep. I try not to think too much. Like other things now, thought must be rationed. There’s a lot that doesn’t bear thinking about. Thinking can hurt your chances, and I intend to last. I know why there is no glass, in front of the watercolour picture of blue irises, and why the window only opens partly and why the glass in it is shatterproof. It isn’t running away they’re afraid of. We wouldn’t get far. It’s those other escapes, the ones you can open in yourself, given a cutting edge.

So. Apart from these details, this could be a college guest room, for the less distinguished visitors; or a room in a rooming house, of former times, for ladies in reduced circumstances. This is what we are now. The circumstances have been reduced; for those of us who still have circumstances.

But a chair, sunlight, flowers: these are not to be dismissed. I am alive, I live, I breathe, I put my hand out, unfolded, into the sunlight. Where I am is not a prison but a privilege, as Aunt Lydia said, who was in love with either/or.

The bell that measures time is ringing. Time here is measured by bells, as once in nunneries. As in a nunnery too, there are few mirrors.

I get up out of the chair, advance my feet into the sunlight, in their red shoes, flat-heeled to save the spine and not for dancing. The red gloves are lying on the bed. I pick them up, pull them onto my hands, finger by finger. Everything except the wings around my face is red: the colour of blood, which defines us. The skirt is ankle-length, full, gathered to a flat yoke that extends over the breasts, the sleeves are full. The whitewings too are prescribed issue; they are to keep us from seeing, but also from being seen. I never looked good in red, it’s not my colour. I pick up the shopping basket, put it over my arm.

The door of the room – not my room, I refuse to say my – is not locked. In fact it doesn’t shut properly. I go out into the polished hallway, which has a runner down the centre, dusty pink. Like a path through the forest, like a carpet for royalty, it shows me the way.

The carpet bends and goes down the front staircase and I go with it, one hand on the banister, once a tree, turned in another century, rubbed to a warm gloss. Late Victorian, the house is, a family house, built for a large rich family. There’s a grandfather clock in the hallway, which doles out time, and then the door to the motherly front sitting room, with its flesh tones and hints. A sitting room in which I never sit, but stand or kneel only. At the end of the hallway, above the front door, is a fanlight of coloured glass: flowers, red and blue.

There remains a mirror, on the hall wall. If I turn my head so that the white wings framing my face direct my vision towards it, I can see it as I go down the stairs, round, convex, a pier-glass, like the eye of a fish, and myself in it like a distorted shadow, a parody of something, some fairy-tale figure in a red cloak, descending towards a moment of carelessness that is the same as danger. A Sister, dipped in blood.

At the bottom of the stairs there’s a hat-and-umbrella stand, the bentwood kind, long rounded rungs of wood curving gently up into hooks shaped like the opening fronds of a fern. There are several umbrellas in it: black, for the Commander, blue, for the Commander’s Wife, and the one assigned to me, which is red. I leave the red umbrella where it is, because I know from the window that the day is sunny. I wonder whether or not the Commander’s wife is in the sitting room. She doesn’t always sit. Sometimes I can hear her pacing back and forth, a heavy step and then a light one, and the soft tap of her cane on the dusty-rose carpet.

The Handmaid’s Tale, chapter 2.

Chapter 2 of The Handmaid’s Tale shows a fragmented vision of the room and details the layout of the house. Offred seems to have a very clear awareness although nothing is explicit. However fragmented she is, she is clearsighted about Gilead in very strategic places in the text, in a very subtle way so she would not be accused if she ever happened to be discovered.

This passage is the beginning of the second chapter of The Handmaid’s Tale by Margaret Atwood. Offred, the main character, is alone in a bedroom. First, we will see how she describes her environment. Then, we will focus on how Offred reflects on Gilead and the Handmaids’ behaviour. Finally, we will analyze Offred’s coping with the system.

Strategic story-telling: a narrator that knows but who “intends to last”

The room

Impression of nudity due to the use of noun phrases at the beginning of:

  • paragraph 1: “a chair, a table, a lamp”
  • paragraph 2: “a window, two white curtains”
  • paragraph 3: “a print of flowers, blue irises, watercolour”
  • paragraph 5: “a bed”
  • paragraph 6: “so”.

Paragraphs 1 and 2 could be seen in black and white. Colour only appears in paragraph 3 with “blue irises”.

This scene can be imagined filmed. The camera would follow the different elements of the description that tend to transform the room into a prison cell.

The house (inside)

Description of the way she takes to go from her room to the hallway: “hallway” (upstairs) and “pink carpet”, “staircase”, “the clock”, “the mirror”, “hat-and-umbrella stand”. All of these elements show she lives in a wealthy house.

As Offred describes her environment, she makes some reflections on Gilead. There is a shift from perception to thought.

Lire la suite

Scottish flag and the Union Jack

Scotland: the Road to Independence

  1. Scotland: the State, the Nation, Home Rule, and Devolution
  2. The Act of Union of 1707
  3. Scottish Home Rule
  4. The rise of the Scottish National Party (SNP)
  5. The Scottish Parliament
  6. Scotland: the Road to Independence

Scottish Independence Referendum, 2014

In August 2009 the SNP announced a Referendum Bill would be included in its package of bills to be debated before Parliament in 2009–10, to hold a referendum on the issues of Scottish independence in November 2010.

The bill did not pass due to the SNP’s status as a minority administration, and due to the initial opposition to the Bill from all other major parties in the Scottish Parliament.

Following the Scottish Parliament general election, in 2011 the SNP had a majority in parliament and again brought forward an Independence Referendum Bill.

The Scottish Government also suggested that full fiscal autonomy for Scotland (known as “devo-max”) could be an alternative option in the vote.

The negotiation of the Edinburgh Agreement (2012) resulted in the UK government legislating to provide the Scottish Parliament with the power to hold the referendum.

The “devo-max” option was not included, however, as the Edinburgh Agreement stipulated that the referendum had to be a clear binary choice between independence or the existing devolution arrangements.

The Scottish Independence Referendum (Franchise) Act 2013 was passed by the Scottish Parliament and campaigning commenced. Two days before the referendum was held, with polls very close, the leaders of the three main UK political parties made “The Vow”, a public pledge to devolve “extensive new powers” to the Scottish Parliament if independence was rejected. They also agreed to a devolution timetable proposed by Gordon Brown.

After heavy campaigning by both sides, voting took place on 18 September 2014. Independence was rejected by a margin of 45% in favour to 55% against.

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).

WordPress: retirer l'option de supprimer les plugins dans l'interface d'administration photo

WordPress: retirer l’option de supprimer les extensions dans l’interface d’administration

C’est assez rare comme demande mais je me suis exécuté : comment faire pour retirer le lien qui permet de supprimer les extensions désactivées dans l’interface d’administration, même si l’on est administrateur ?

Et bien c’est assez simple, il suffit de filtrer le tableau des liens. Voici deux exemples simples pour mettre cela en place.

Retirer le lien de suppression pour toutes les extensions

Voici le code qui vous permet de retirer le lien “Supprimer” qui se trouve en dessous de chaque extension sur la page Extensions:

<?php
/*
Plugin Name: Disable Plugin Deletion
Plugin URI: https://www.skyminds.net/wordpress-retirer-option-supprimer-extensions/
Description: Disable all plugins' deletion links on the plugins page.
Version: 1.0
Author: Matt Biscay
Author URI: https://mattbiscay.com
*/
add_filter( 'plugin_action_links', 'sky_disable_plugin_deletion', 10, 4 );
function sky_disable_plugin_deletion( $actions, $plugin_file, $plugin_data, $context ) {
  // Remove delete link for all installed plugins         
  unset( $actions['delete'] );     
  return $actions;
} Code language: HTML, XML (xml)

Retirer le lien de suppression pour des extensions spécifiques

Voici le code qui vous permet de retirer le lien “Supprimer” qui se trouve en dessous des extensions dont vous spécifiez le chemin (dossier et nom du fichier de l’extension à charger) sur la page Extensions:

<?php
 /*
 Plugin Name: Disable Plugin Deletion
 Plugin URI: https://www.skyminds.net/wordpress-retirer-option-supprimer-extensions/
 Description: Disable all plugins' deletion links on the plugins page.
 Version: 1.0
 Author: Matt Biscay
 Author URI: https://mattbiscay.com
 */
 add_filter( 'plugin_action_links', 'sky_disable_plugin_deletion_selected', 10, 4 );
 function sky_disable_plugin_deletion_selected( $actions, $plugin_file, $plugin_data, $context ) {
   // Remove delete link for specific plugins
   if ( array_key_exists( 'delete', $actions ) && in_array( $plugin_file,
   [
     'akismet/akismet.php',
     'redirection/redirection.php',
   ]
   ) ) {
     unset( $actions['delete'] );
   }
   return $actions;
 }Code language: HTML, XML (xml)

Dans ce dernier snippet, pensez à modifier le nom du répertoire et celui du plugin de manière à ce qu’ils coïncident avec les plugins qui ne doivent pas être supprimés.

A l’origine, c’était pour un de mes clients pour éviter que ses collaborateurs ne suppriment des plugins par inadvertance.

Je m’en sers également sous LocalWP pour éviter de supprimer un plugin en cours de développement – on ne sait jamais !

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